0

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

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

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

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

我有几个问题:

a) ABAP 程序可以安排为每 15 分钟运行一次吗?从我看到的调度工具的截图来看,增量似乎以小时为单位

b) 数据导出并上传到外部服务器后,是否会发送通知/事件?这样我就知道什么时候调用 import .php 脚本了。

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

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

非常感谢

4

3 回答 3

1

A ) 当然,其中有包含步骤的作业,它们应该运行程序,这些程序本身可以用变体参数化。柔韧性非常好。检查SM36和SM37。

B) 不知道。检查 C)。

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

您应该在此处阅读以获取更多详细信息:

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

于 2013-10-04T13:11:00.493 回答
1

你应该看看Winshuttle查询,它不需要abap开发并且针对多种数据格式,更重要的是,你可以调度它并包装一个工作流。

于 2013-10-05T10:04:31.123 回答
0

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

a) 不知道到目前为止您看到了什么屏幕截图,但是如果您真的想关闭系统,调度系统能够每分钟运行一次作业。

b) 你们中有一个人在你的 ABAP 程序中实现了它。

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

于 2013-10-04T13:13:01.877 回答