SAP Tree GetAbapImage возвращает одно и то же значение для разных значков, как решить? - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть 3 типа разных значков, которые представляют статус записи.Мне нужно программно (с помощью SAP Scripting) прочитать строки и понять их статусы: enter image description here

Проблема в том, что метод GetAbapImage(key, name) возвращает одинаковое значение @5 для обеих ошибок (красный) и статусы успеха (зеленый).Для необработанных он возвращает значение @B.

Пример кода, который демонстрирует мой подход:

Dim container
Set container = session.findById("wnd[0]/usr/cntlMAIN_CONTAINER/shellcont/shell/shellcont[0]/shell/shellcont[2]/shell")
WScript.echo TypeName(container)        'returns: ISapTreeTarget
WScript.echo container.GetTreeType()    'returns: 2
WScript.echo container.GetAbapImage("        230", "STATUS")        'returns: @B
WScript.echo container.GetAbapImage("        235", "STATUS")        'returns: @5
WScript.echo container.GetAbapImage("        243", "STATUS")        'returns: @5

Где идентификаторы 230, 235 и 243 являются соответствующими идентификаторами для трех строкпоказано выше на скриншоте.

Предложение о том, как более правильно получить статусы строк, очень приветствуется!Спасибо!

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Модифицированный вариант для дерева SAP может выглядеть следующим образом:

myICON = container.getitemtext (" 21","STATUS")
if left(myICON,3) = "@5C" then msgbox "red"
if left(myICON,3) = "@5B" then msgbox "green"
if left(myICON,3) = "@BZ" then msgbox "other"

Параметр «21» является переменным.Что касается других цветов, вы заметите это знакомым образом.

С уважением, ScriptMan

0 голосов
/ 06 февраля 2019

В качестве небольшого предложения я могу перечислить только одно решение из среды сценариев SAP GUI.

, например:

myICON = container.getcellvalue (0, "%_ICON")
if left(myICON,3) = "@5C" then msgbox "red"
if left(myICON,3) = "@5B" then msgbox "green"
if left(myICON,3) = "@BZ" then msgbox "other"

С уважением, ScriptMan

...