直接读取SAP数据库的权限?

时间:2012-06-21 06:09:29

标签: db2 sap

我们是一家实施SAP的中小企业。我们正在尝试使用SAP中的事务数据为PHP构建另一个系统,用于我们的图形报告等的卡车运输部门。这是因为我们没有内部专业知识ABAP开发,任何SAP修改都很昂贵。

目前,我已经设法通过对Quality Quality服务器的只读访问来实现我们的目标,并且任何写入都转到另一个DB2服务器。我们发现SELECT语句中的CPU使用率是可以接受的,并且用户只能访问特定的表/视图。

SAP's Quality DB2 -> PHP -> Different DB2 client

想以同样的方式从生产中读取是否安全?通过RFC连接器再次实现所有这些看起来非常痛苦。 Master-Slave配置是我们的选择,但同样需要外部咨询。

修改

忘记提及我们的SAP员工不想再建6个月的报告 - 他们希望保持系统完好无损。这就是我们在PHP中构建这个的原因。

1 个答案:

答案 0 :(得分:3)

如果你没有ABAP的专业知识,那就得到它 - it's not that hard,你会得到许多“理所当然”的东西(如“平台提供的那样”)你必须要否则手动实施 - 例如用户身份验证和权限管理以及软件物流(从开发到生产存储库的移动)。有关简短(虽然有偏见)的介绍,请参阅these articles。如果你仍然需要一个外部PHP应用程序,那很好 - 但你真的应该首先尝试ABAP。对于Web应用程序,您可能希望查看Web Dynpro ABAP。使用带有BusinessGraphics元素的IGS内置图表引擎,您将免费获得a ton of the most custom chart types。您也可以使用Adobe Livecycle Designer创建integrate PDF forms

其次,虽然“任何SAP修改都很昂贵”可能是一个很好的方法,但你所建议的不是修改。这是附加开发,并且它既不昂贵也不比任何其他编程语言和/或环境复杂。如果你不能或不想完全使用现有的基础设施来实现自己的应用程序,至少要使用一个像样的界面 - 网络服务,RFC,等等。从ABAP的角度来看,RFC始终是最简单的选择,但您也可以使用SOAP或REST,尽管您必须手动实现后者。它也不是那么难。

永远不要直接访问SAP数据库。只是不要。您必须实现所有约束,如客户端依赖性或检查自己的有效日期和取消标记 - 这几乎不比编写一个体面的接口复杂,并且每次更改结构时都容易中断。如果在某些时候你需要阅读一些更复杂的内容,比如long texts,那你就搞砸了 - 期间。更何况,大多数的内部或外部审计师(如果出现这种情况是与你的公司和/或法律规定的问题)不喜欢这一个,这也可以从引起许多麻烦的关键系统直接访问数据库你真的不想惹人的人。这不值得。