使用vbscript读取CDPOS / CDHDR Sap表

时间:2019-07-08 16:57:37

标签: vbscript sap rfc

我正在尝试使用rfc + vbs作为缓冲区读取sap更改日志。 我知道我需要使用CHANGEDOCUMENT_READ_HEADERSCHANGEDOCUMENT_READ_POSITIONS函数来执行此操作,但是尚未找到任何研究如何在vbscript的帮助下正确执行此操作。

我已经找到了如何使用BBP_RFC_READ_TABLE来读取普通表,但是它不适用于CDPOS ...

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

首先,如果要使用VBscript与SAP集成,则将使用SAP NWRFC库或SAP .Net Connector 3.0遍历RFC通道,并且必须调用可远程调用的SAP函数或BAPI。不幸的是,.texCHANGEDOCUMENT_READ_HEADERS这两个功能没有远程启用。我可以想象CHANGEDOCUMENT_READ_POSITIONS对您来说很难,因为CDPOS的字段很宽,CDPOS无法处理。

一旦我们与客观挑战保持一致,就有两种选择可以帮助您前进:

  1. 编写您自己的自定义“ Z”功能模块,该模块已启用远程功能,并在函数内部调用BBP_RFC_READ_TABLECHANGEDOCUMENT_READ_HEADERS
  2. 使用第三方商业库(我们的AecorSoft公司为SAP集成开发了ADO.NET兼容库)。

我建议您先探索#1。您可以关注https://blogs.sap.com/2017/02/09/how-to-use-dotnet-connector-nco-inside-vba/这个博客以开始使用。

答案 1 :(得分:0)

关于BBP_RFC_READ_TABLE的唐诺(Dunno),但RFC_READ_TABLE读完CDPOS

enter image description here

如果您需要基于标头的查询,则需要进行2次连续读取:第一次读取CDHDR标头,第二次读取位置,从第一行构造第二个查询。