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