Обнаружение идентификаторов компонентов полей транзакции SAP для использования - PullRequest
0 голосов
/ 25 мая 2018

Благодаря большому количеству Google я смог подключиться к SAP и открыть транзакцию из кода VBA.Это не является частью проблемы, поэтому я не буду включать ее здесь.

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

Я предполагаю, что это делается с помощью кода, подобного следующему:

session.findById("wnd[0]/usr/ctxtVendor").Text

Однако часть / usr / ctxtVendor явно неверна.Если я правильно понимаю, это сильно отличается в зависимости от компании.

Одним из решений является использование утилиты «Запись и воспроизведение сценариев SAP» для генерации кода VBA и извлечения имен переменных.К сожалению, я не уполномочен использовать это, и я не буду в ближайшее время, так что это не вариант.

РЕДАКТИРОВАТЬ: Я нашел второе решение: , но это не таккажется, что у меня есть доступ к этому.

Существуют ли другие способы обнаружения идентификаторов для этой и других транзакций?

Спасибо за чтение и, надеюсь, за предоставление ответа.

1 Ответ

0 голосов
/ 25 мая 2018

Извините, я дал вам неверную информацию для имен сценариев VBA.Сделайте ваше окно переменной, например, так:

Dim window As SAPFEWSELib.GuiFrameWindow
Set window = session.FindById("wnd[0]")

Затем перейдите в окно Locals в вашем VBEditor и увидите его здесь:

enter image description here

Для меня область / usr - это элемент 5 дочерних элементов окна, откройте его и найдите все перечисленные поля.Вы можете использовать предоставленный путь.Например, ниже я открыл пункт 2, который является номером счета, и вы видите строку, необходимую в свойстве Id.

enter image description here

Затем вы используете его следующим образом:

window.FindById("usr/ctxtRACCT-LOW").Text = "A123456"
...