我想知道是否有任何 RFC 或 BAPI 函数可以根据 SAP 中的输入查询显示更改文档(事务 RSSCD001
)。客户需求是在SAP上实现一个java监控系统,而不需要在SAP服务器上添加任何ABAP功能。
我尝试使用“RFC_READ_TABLE”函数(根据官方文档已弃用)来读取 CDPOS 和 CDHDR 表并将它们连接起来。但正如 vwegert 所说,遍历 CDPOS 表确实非常耗时,因为它包含数十亿的表条目。
我此查询的目的是查找供应商所有银行详细信息的更改。
还有其他想法吗?
非常感谢!
I would like to know whether there is any RFC or BAPI functions to display change documents (transaction RSSCD001
) based on input query in SAP. The customer requirement is to implement a java monitor system on SAP without adding any ABAP functions on the SAP server.
I tried to make use of 'RFC_READ_TABLE' functions, which is deprecated according to the official documents, to read the CDPOS and CDHDR table and join them. But as vwegert said, to traverse the table CDPOS is really time-costing, as it contains billions of table entries.
My intention of this query is to find changes to all bank details of vendors.
Any other thoughts?
Many thanks in advance!
发布评论
评论(2)
执行此操作的资源消耗最少的方法是使用工作流运行时系统在写入更改文档时主动通知 java 应用程序。您不必编写任何 ABAP 函数来执行此操作,只需设置工作流引擎(使用 自动自定义)并自定义事件生成(文档)。然后,您编写一个使用 JCo 和 使用 TCP/IP 类型的目标和注册的程序 ID 注册为 RFC 服务器。该java服务器程序必须提供功能模块处理程序可以从 SAP 系统使用 tRFC 进行调用。最后,添加链接条目来告诉工作流程每次写入更改文档时,运行时系统都会调用您的 java 程序。
当然,这只会记录安装后发生的变化,而不是历史变化。
The least resource-consuming way to do this would be to use the workflow runtime system to actively notify the java application whenever a change document is written. You don't have to write any ABAP functions to do this, just setup the workflow engine (using the automatic customizing) and customize the event generation (documentation). Then, you write a java service that connects to the SAP system using JCo and registers as an RFC server using a destination of Type TCP/IP and a registered program ID. This java server program has to provide a function module handler that can be called using tRFC from the SAP system. Finally, add a linkage entry that will tell the workflow runtime system to call your java program each time a change document is written.
Of course, this will only record the changes that happen after installation, not the historical changes.
警告:我对这个领域不太熟悉。
RFC 函数 BAPI_VENDOR_FIND(BAPI 供应商)似乎用于根据表中的值查找供应商。您可以使用它来检查修改日期。这并不完美,因为没有关系运算符,只有等于,并且您必须检查多个日期......
希望这有帮助
纪尧姆
warning : I'm not very familliar with this field.
The RFC function BAPI_VENDOR_FIND (BAPI Vendor) seems to be used to find vendor based on values in table. You could use it to check gainst the modification date. This is not perfect, as there is no relationnal operator, only equals, and you'll have to check against several dates...
hopes this helps
Guillaume