Чтение таблиц Sap CDPOS / CDHDR с использованием vbscript - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь прочитать журнал изменений sap, используя rfc + vbs в качестве буфера. Я знаю, что для этого мне нужно использовать функции CHANGEDOCUMENT_READ_HEADERS и CHANGEDOCUMENT_READ_POSITIONS, но я не нашел никаких исследований, как это сделать правильно с помощью vbscript.

Я уже узнал, как читать обычные таблицы, используя BBP_RFC_READ_TABLE, но он не работает с CDPOS ...

Есть идеи?

Ответы [ 2 ]

1 голос
/ 09 июля 2019

Во-первых, если вы хотите использовать VBscript для интеграции с SAP, вы пройдете по каналу RFC, используя библиотеку SAP NWRFC или SAP .Net Connector 3.0, и функции SAP или BAPI, которые вы можете вызвать, должны быть включены удаленно. К сожалению, две функции CHANGEDOCUMENT_READ_HEADERS и CHANGEDOCUMENT_READ_POSITIONS не включены удаленно. Я могу представить, что CDPOS сложно для вас, потому что CDPOS имеет широкие поля, которые не могут быть обработаны BBP_RFC_READ_TABLE.

Как только мы согласуемся с объективными задачами, есть два варианта, которые помогут вам двигаться вперед:

  1. Напишите свой собственный функциональный модуль "Z", который включен удаленно, и вызовите CHANGEDOCUMENT_READ_HEADERS и CHANGEDOCUMENT_READ_POSITIONS внутри функции;
  2. Использование сторонней коммерческой библиотеки (наша компания AecorSoft разработала такую ​​ADO.NET-совместимую библиотеку для интеграции с SAP).

Я бы посоветовал вам сначала изучить # 1. Вы можете следить за этим блогом https://blogs.sap.com/2017/02/09/how-to-use-dotnet-connector-nco-inside-vba/, чтобы начать.

0 голосов
/ 10 июля 2019

Не знаю о BBP_RFC_READ_TABLE, но RFC_READ_TABLE отлично читает CDPOS

enter image description here

Если вам нужен запрос на основе заголовка, вам потребуется 2 последовательных чтения: первое для CDHDR заголовков и второе для позиций, создающих второй запрос из первого.

...