Как стать автором
Обновить

Комментарии 10

У нас еще горячие клавиши и много чего прикручено. Чтобы быстрее работало все, нужно дерево сессий держать в неком кэше и ловить события их создания/уничтожения для поддержания состояния.
Собственно ловим создание процесса SAP Gui и слушаем события, строим кэши сессий и т.д. Пишем на с++, басик недостаточно быстр. В принципе KNOA работает по такому-же принципу. Почти все недостатки SAP Gui устраняются и появляется много плюшек на любой вкус.
А такой хакерский способ не нарушает соглашение?
SAP даже к базе данных запрещает обращаться сторонними средствами.
Это не хакерский, точно. Это SAP Scripting, активно в CBTA используется, и даже прямо в меню SAP Gui подробный Help: Настройка локального формата->Справка по скриптам SAP Gui.
нет, не хакерский. Более того вы можете через librfc32 (и вообще JCo) написать свой аналог SAPGui.
Ну или реверснуть протокол DIAG.
Запуск скрипта из меню — гениально. Плешь себе проел, колдуя с исключениями при запуске vbscript. А тут — дешево и сердито. Благодарность вам большая, еще пишите.
Некоторое время назад, тоже случайно наткнулся на возможность записи скриптов в SAP. Т.к. моя работа заключалась в занесение информации, то нашёл более простой способ автоматизации практически не имея навыков программирования. Записываем действия — в записанный скрипт добавляем несколько массивов с той информацией которую нужно занести — добавляем цикл for на весь записанный скрипт, находим значения в записанном скрипте которые вводили при записи и заменяем на переменные из массива. Содержимое массивов формируется из электронной таблицы + блокнот с возможностью замены переноса на строку ",", при этом из столбика данных получается строка со значениями разделёнными кавычками с запятой.
Знакомая тема ) Когда работал с SAP, написал отдельный tool для оптимизации работы как отдела продаж, так и отдела финансов(поддержка SAP'a была на глобальному уровне, да к тому же на аутсорсе — практически нечего нельзя было изменить, а что можно было занимало, без шуток, годы). Отчеты, создание заявок из файлов, создание заявок с выбором партий из файла и т.п… Написано всё было на VB, висело себе значком в трее с возможностью задать горячие клавиши на любые команды(можно было и просто из меню по значку в трее вызывать), изменения формата файлов import'а и т.п. мелочи.

«Скрипт не рассчитан на работу с большим количеством материалов (они не влезут в видимую часть таблицы).» — это не проблема, просчитываешь видимую часть и просто делаешь прокрутку на следующую серию строк. Я под себя написал пару вспомогательных функций, которые прикручивал в по мере надобности (вроде выбора активной сессии, расчет экрана )

p.s. Начитал с VBs & VBA, но, как заметили выше — это все работало достаточно медленно, так что когда пришла задача создавать те же ордеры из нескольких десятков файлов за раз — пришлось переходить на что-то более быстрое.
«Скрипт не рассчитан на работу с большим количеством материалов (они не влезут в видимую часть таблицы).» — это не проблема, просчитываешь видимую часть и просто делаешь прокрутку на следующую серию строк. Я под себя написал пару вспомогательных функций, которые прикручивал в по мере надобности (вроде выбора активной сессии, расчет экрана )

Просто в этом макросе позиций обычно немного добавляется в таблицу и они все сразу помещаются. Когда перестанут помещаться — займусь прокруткой. В некоторых других скриптах прокрутка реализована.
НЛО прилетело и опубликовало эту надпись здесь
В интернете полно примеров именно на VBScript, VBA. Да и сам SAP помогает с помощью записи макросов. На VBA в Excel пробовал читать таблицы через RFC, но как-то все очень медленно было, построчно, дальше не стал копать в этом направлении.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории