从其他公司的SAP导出数据的最佳方式
Best way to export data from other company's SAP
我需要从我客户的 SAP ECC(SUIM -> Users by Complex Selection Criteria -program RSUSR002)中提取一些数据
通常我会给他们 table 个值,他们必须填写一些字段才能提取我需要的内容。
他们必须从他们的 SAP 中进行 63 次不同的提取(例如,具有不同的对象值 - 但在同一事务中 - 你可以在打印中看到),然后将所有提取的文件发送给我。
您是否知道是否有自动提取的方法,这样他们就不必进行 63 次提取?
我最大的问题是每次都犯错误。要填的东西很多..
我可以创建一个变体并将其发送给他们吗?是否可以导出我的变体,以便他们可以导入它而无需填充 63 倍不同的数据?
谢谢。
您可以在事务 SM35 中创建一个记录。
在那里你填写一个 tcode (SUIM),开始记录,在事务 SUIM 中进行一些输入,然后按 'Execute'。然后你可以返回记录(多次F3),系统会生成一些table的命令(结构为BDCDATA)。您可以删除不需要的部分(即单击 BACK 按钮)并将其保存以用作 'macro'。然后您可以重播这段录音,它会完全按照您的要求进行操作。
也可以将录音 export/import 写入文本文件,因此您可以探索它的结构,编写一些 VBA 脚本以根据您的参数创建此类录音并将其发送给用户。但请记住,空白是有意义的。
这是一个标准工具,因此系统中没有任何编码。
您可以将所选内容另存为变体。
填写选择标准并按保存。
它可以重复使用。
如果变体有特殊名称,您还可以传输变体
如果这是一项每年需要多人付出大量努力的任务,那么它可能值得自动化。
首先,您需要找出该交易从何处获取数据。如果您花一些时间分析和调试交易背后的程序,您肯定会发现哪个 SELECT 在哪个数据库 table(s) 上提供了该数据。运气好的话,说不定还有功能模块呢。
然后您只需要编写一个自己的 ABAP 程序来执行相同的选择。
现在介绍有趣的部分:如何将数据提供给您。这里有几种方法。最好的一个取决于您的要求和您的技术基础设施。一些可能性是:
- 让用户运行程序在前台,使用方法
cl_gui_frontend_services=>gui_download
将数据保存到用户PC上的文件中,让他们通过电子邮件发送给你
- 运行程序在后台运行,文件保存在应用服务器上。然后询问您的系统管理员如何从他们的应用程序服务器获取该文件给您。最简单的方法是只映射一个网络文件服务器,以便它们都写入同一个地方,但可能存在一些组织障碍来阻止这种情况。 (如果我提议允许从我们网络外部访问 SMB 共享,我们的安全人员会说我疯了,但你的里程可能会有所不同)
- 让程序直接通过电子邮件将数据发送给您。您可以使用功能模块
SO_NEW_DOCUMENT_ATT_SEND_API1
从 SAP 系统发送电子邮件。这当然需要系统配置为能够发送电子邮件(您可以使用事务代码 SCOT 执行此操作)。同样,安全考虑适用。当它是 PII 或其他机密数据时,您不应将其通过未加密的电子邮件发送。
- 使用 RFC 调用将数据发送到您自己的聚合数据的 SAP 系统
- 使用网络服务调用将数据发送到您自己的 non-SAP 聚合数据的系统
我需要从我客户的 SAP ECC(SUIM -> Users by Complex Selection Criteria -program RSUSR002)中提取一些数据
通常我会给他们 table 个值,他们必须填写一些字段才能提取我需要的内容。
他们必须从他们的 SAP 中进行 63 次不同的提取(例如,具有不同的对象值 - 但在同一事务中 - 你可以在打印中看到),然后将所有提取的文件发送给我。
您是否知道是否有自动提取的方法,这样他们就不必进行 63 次提取? 我最大的问题是每次都犯错误。要填的东西很多..
我可以创建一个变体并将其发送给他们吗?是否可以导出我的变体,以便他们可以导入它而无需填充 63 倍不同的数据?
谢谢。
您可以在事务 SM35 中创建一个记录。 在那里你填写一个 tcode (SUIM),开始记录,在事务 SUIM 中进行一些输入,然后按 'Execute'。然后你可以返回记录(多次F3),系统会生成一些table的命令(结构为BDCDATA)。您可以删除不需要的部分(即单击 BACK 按钮)并将其保存以用作 'macro'。然后您可以重播这段录音,它会完全按照您的要求进行操作。 也可以将录音 export/import 写入文本文件,因此您可以探索它的结构,编写一些 VBA 脚本以根据您的参数创建此类录音并将其发送给用户。但请记住,空白是有意义的。
这是一个标准工具,因此系统中没有任何编码。
您可以将所选内容另存为变体。
填写选择标准并按保存。
它可以重复使用。
如果变体有特殊名称,您还可以传输变体
如果这是一项每年需要多人付出大量努力的任务,那么它可能值得自动化。
首先,您需要找出该交易从何处获取数据。如果您花一些时间分析和调试交易背后的程序,您肯定会发现哪个 SELECT 在哪个数据库 table(s) 上提供了该数据。运气好的话,说不定还有功能模块呢。
然后您只需要编写一个自己的 ABAP 程序来执行相同的选择。
现在介绍有趣的部分:如何将数据提供给您。这里有几种方法。最好的一个取决于您的要求和您的技术基础设施。一些可能性是:
- 让用户运行程序在前台,使用方法
cl_gui_frontend_services=>gui_download
将数据保存到用户PC上的文件中,让他们通过电子邮件发送给你 - 运行程序在后台运行,文件保存在应用服务器上。然后询问您的系统管理员如何从他们的应用程序服务器获取该文件给您。最简单的方法是只映射一个网络文件服务器,以便它们都写入同一个地方,但可能存在一些组织障碍来阻止这种情况。 (如果我提议允许从我们网络外部访问 SMB 共享,我们的安全人员会说我疯了,但你的里程可能会有所不同)
- 让程序直接通过电子邮件将数据发送给您。您可以使用功能模块
SO_NEW_DOCUMENT_ATT_SEND_API1
从 SAP 系统发送电子邮件。这当然需要系统配置为能够发送电子邮件(您可以使用事务代码 SCOT 执行此操作)。同样,安全考虑适用。当它是 PII 或其他机密数据时,您不应将其通过未加密的电子邮件发送。 - 使用 RFC 调用将数据发送到您自己的聚合数据的 SAP 系统
- 使用网络服务调用将数据发送到您自己的 non-SAP 聚合数据的系统