我一直在做一项潜在工作的大量研究,我需要定期(每15分钟)从SAP导出一些特定数据,然后将这些数据导入到单独服务器上的mySQL数据库中。
到目前为止,我已经收集到这可能是工作流程:
1)在SAP服务器上创建ABAP程序,在外部服务器上选择所需数据并输出到文件(sql,csv,制表符分隔等)
2)完成第1步后,在外部服务器上调用php文件,将数据导入mySQL数据库。
我有几个问题:
a)ABAP计划能否安排每15分钟运行一次?从我看到的调度工具的截图中,增量似乎是以小时为单位
b)数据导出并上传到外部服务器后是否有调度通知/事件?这样我就知道何时调用import .php脚本。
c)我只想导入自上次ABAP计划运行以来添加到SAP的新数据,这是否易于实施?
此外,如果有人可以建议改进我的工作流程,那么我很乐意听到它们!
非常感谢
答案 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)这取决于数据。正如我所说,你的方法听起来非常错误,但如果没有进一步的信息,就不可能给出具体的建议。