使用ABAP将SAP数据导出到文件,然后在完成后调用PHP脚本

时间:2013-10-04 12:54:58

标签: php mysql sap abap

我一直在做一项潜在工作的大量研究,我需要定期(每15分钟)从SAP导出一些特定数据,然后将这些数据导入到单独服务器上的mySQL数据库中。

到目前为止,我已经收集到这可能是工作流程:

1)在SAP服务器上创建ABAP程序,在外部服务器上选择所需数据并输出到文件(sql,csv,制表符分隔等)

2)完成第1步后,在外部服务器上调用php文件,将数据导入mySQL数据库。

我有几个问题:

a)ABAP计划能否安排每15分钟运行一次?从我看到的调度工具的截图中,增量似乎是以小时为单位

b)数据导出并上传到外部服务器后是否有调度通知/事件?这样我就知道何时调用import .php脚本。

c)我只想导入自上次ABAP计划运行以来添加到SAP的新数据,这是否易于实施?

此外,如果有人可以建议改进我的工作流程,那么我很乐意听到它们!

非常感谢

3 个答案:

答案 0 :(得分:1)

A)当然,有一些带有步骤的作业,它们应该运行程序,这些程序本身可以用变量进行参数化。灵活性非常好。检查SM36和SM37。

B)不知道。检查C)。

你应该改变方法。 SQL Server可以提供一个模块,该模块在RFC目标(SAP59,TCP / IP连接,Registered Serverprogramm)中从SAP系统调用。 如果通过job设置,SAP将调用sql server,这可以提供一个php模块,可以通过rfc调用(tcp / ip)访问。在sql服务器内调用模块的帮助下,数据通过sap传输。如果您愿意,数据将被翻译为表格。 您不需要在进程之间保存文件。如果你的sap调用另一个模块,并且它返回错误,那么只有那时你可以创建一个文件(或db表中的缓冲区以便下次传输数据)。 C)如果您直接将数据传递给您的SQL服务器,那么您可以通过php决定是否要删除或插入数据。

您应该阅读此处了解更多详情:

http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/5d9fb155-0b01-0010-8e8a-d8703df8bb9e

答案 1 :(得分:1)

你应该看看Winshuttle查询,它不需要快速开发并定位各种数据格式,更重要的是,你可以安排它并包装工作流。

答案 2 :(得分:0)

首先 - 整个“要求”似乎是非常错误的。为什么要将DBMS处理从中央高端系统卸载到某个卫星?你没有给出任何正当理由,我也不想推测。至于你的问题。

a)不知道到目前为止你看过的是什么屏幕截图,但如果你真的想让系统崩溃,调度系统能够每分钟运行一次工作。

b)你们中的一个人在ABAP计划中实施它。

c)这取决于数据。正如我所说,你的方法听起来非常错误,但如果没有进一步的信息,就不可能给出具体的建议。