我一直在为可能的工作做很多研究,我需要定期(每15分钟)从SAP导出一些特定数据,然后将该数据导入到单独服务器上的mySQL数据库中。
到目前为止,我已经收集到这可能是工作流程:
1)在SAP服务器上创建ABAP程序,该程序选择所需的数据并输出到外部服务器上的文件(sql,csv,制表符分隔等)
2)第1步完成后,在外部服务器上调用一个php文件,该文件会将数据导入到mySQL数据库中。
我有几个问题:
a)是否可以安排ABAP程序每15分钟运行一次?从我看到的调度工具的屏幕截图中,增量似乎以小时为单位
b)一旦数据已导出并上传到外部服务器,是否调度了通知/事件?这样,我将知道何时调用import .php脚本。
c)我将只想导入自ABAP程序的上一次计划运行以来添加到SAP的新数据,这容易实现吗?
另外,如果有人可以提出改进我的工作流程的建议,那么我很想听听他们的意见!
非常感谢
最佳答案
A)当然,其中包含有步骤的作业应该运行程序,而程序本身可以通过变体进行参数设置。灵活性非常好。检查SM36和SM37。
B)不知道。检查C)。
您应该更改方法。 SQL Server可以提供一个模块,该模块从SAP系统的RFC目标中调用(SM59,TCP / IP连接,已注册服务器程序)。
如果通过job进行设置,则SAP将调用sql服务器,该服务器可以提供可通过rfc调用(tcp / ip)访问的php模块。 sap借助在sql服务器内部调用模块的帮助来传输数据。如果您愿意,数据可以转换为表格。
您无需在过程之间保存文件。如果您的sap调用了另一个模块,并且返回了错误,则只有这样,您才能创建一个文件(或db表中的缓冲区以下次传输数据)。
C)如果您直接将数据传递到sql服务器,则可以通过php决定数据是删除还是插入。
您应该在这里阅读更多详细信息:
http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/5d9fb155-0b01-0010-8e8a-d8703df8bb9e