LuckySapGui Швидке введення пароля та графіко-параметричне введення транзакцій у SAP ERP засобами GuiXT

LuckySapGui: Швидке введення пароля та графіко-параметричне введення транзакцій у SAP ERP засобами GuiXT/Viewer, HTML/JS/CSS, C#

У статті http://sapland.ru/articles/stats/2012/1/sozdanie-bistrogo-vvoda-parolya-v-sistemu-sap-erp-ecc-na-storone-klienta.html була описана можливість швидкого введення пароля на основі простого GuiXT-скрипту. Однак подібний підхід, хоч і забезпечує швидке введення пароля, має цілий набір недоліків:

  • зі збільшенням кількості SAP-користувачів, під якими здійснюється вхід з клієнтської машини, захаращується екран;
  • для оновлення пароля потрібно йти до текстового файлу та його редагувати;
  • пароль зберігається у відкритому вигляді;
  • щоб отримати/скопіювати свій пароль, потрібно йти також у файл-скрипт і за кодом скрипта шукати значення.

Однак у описаного підходу - важливий плюс: швидкість та простота створення такого скрипту, легкість його виправлення.

Такий "вінегрет" забезпечить: економне розташування даних на екрані, швидке оновлення пароля у файлі, шифрування пароля (пароль не зберігається у відкритому вигляді), швидке та просте розгортання скриптів у разі потреби.

Також за допомогою цього підходу можна створити графіку в HTML і забезпечити взаємодію з SAP GUI, а також створити так зване графіко-параметричне введення даних.

І цей "вінегрет" я назвав "LuckySapGui ".

Щоб спочатку було ясно, про що мова і навіщо це потрібно, я продемонструю:

Безпосередній опис програми «LuckySapGui » можна знайти за посиланням http://olegbash.ru/luckysapgui.html.

Як LuckySapGui виглядає

Після вибору потрібної системи SAPLogon система відкриває екран для введення користувача/пароля (Мал.1 ). За допомогою скриптів досить просто вибрати користувача зі списку, а решта даних (мандант, пароль, мова) «підтягнеться» автоматично.

введення

Мал.1 Вибір користувача під час використання LuckySapGui

Якщо система вимагатиме змінити пароль, то за допомогою скриптів ми можемо і згенерувати безпечний пароль, і використовувати його. Виглядає це, як представлено наРис.2 і3.

швидке

Рис.2 Екран зміни пароля в SAP ERP

швидке

Мал. 3 Перегляд пароля та його використання

Таким чином, ми можемо використовувати та оновлювати дані скриптів прямо з екранів SAP GUI за допомогою додаткових HTML-вставок без додаткового ABAP-коду.

Також є й інші функції в поточній версії LuckySapGui: зберігання логінів/паролів для доступу до зовнішніх Web-порталів (наприклад, S-user для https://websmp109.sap-ag.de/support), швидкий виклик шаблонних документів, запуск транзакцій та виконання скриптів, та деякі інші. Докладний опис LuckySapGui, як уже було сказано раніше, можна знайти за посиланням http://olegbash.ru/luckysapgui.html.

Також хотів би окремо відзначити функцію графіко-параметричного введення транзакцій. Ідея полягає у наступному. Схема певного бізнес-процесу створюється у програмі MS Visio; потім ми можемо перетворити схему в HTML-файл і додати до нього додатковий код, який ми можемо прив'язати до екрану SAP GUI. Таким чином ми можемо вводити дані, використовуючи не коди транзакцій або ієрархію папок, а графічне відображення схеми.

Ця функція працює тільки з IE10 та вище. Функція використовується так.

Спочатку ми вибираємо потрібну схему (ми можемо це зробити як на екрані входу, так і на екрані SAP Easy Access).

введення

Мал. 4 Вибираємо потрібну схему зі списку

Потім вибираємо потрібний блок інтерактивної схемою.

пароля

Мал. 5 Вибір блоку в інтерактивній схемі

Така інтерактивна схема може містити посилання інші схеми, опис кроку, вказівку на інструкції та іншу інформацію (Рис.6 ).

На екрані з'являються транзакції, які можна вибрати. Після вибору транзакції натискаємо кнопку "Задати параметри".

luckysapgui

Рис.6 Додаткова інформація про крок бізнес-процесу на інтерактивній схемі

luckysapgui

Мал. 7 Вибір транзакції залежно від кроку бізнес-процесу

Після натискання кнопки "Задати параметри" в полі "Параметри для скрипта" "підтягнуться" відповідні параметри, потім після натискання на кнопку "Створити і виконати" система створить скрипт з урахуванням параметрів і виконає його. У випадку з прикладом, показаним на Рис.8 система запустить транзакцію ME53 N .

введення

Мал. 8 Параметри для скрипту

Аналогічно ми можемо «прив'язати» виконання будь-якого іншого скрипта.

Як LuckySapGui реалізований

LuckySapGui передбачає роботу трьох частин:

  • GuiXT та GuiXTViewer;
  • HTML-файли із підключеними js-файлами;
  • exe-файл, здатний приймати параметри від GuiXT та оновлювати HTML та js-файли.

На схемі нижче показано взаємодію цих трьох частин із SAP GUI.

luckysapgui

Схема 1. Взаємодія елементів LuckySapGui та SAP GUI

Зроблю пояснення у тому, що необхідно взаємодії елементів.

Взаємодія SAP GUI та надбудов Synactive (GuiXT, Viewer, InputAssistant)

Ця взаємодія вже передбачається лише на рівні SAP GUI. У екрані SAP GUI потрібно активувати GuiXT (Мал.9 ), а у профілі Synactive"Встановити галочки" навпроти компонентів: GuiXT, InputAssistant, Viewer (Рис.10 ).

швидке

Мал. 9 Активація GuiXT у SAP GUI

пароля

Мал. 10 Налаштування GuiXT Profile

Актуальну версію Synactive GuiXT можна встановити з сайту http://www.synactive.com із розділу Download. Після завантаження, встановлення та активації Synactive GuiXT рекомендується перезавантажити комп'ютер.

швидке

Мал. 11 Літерно-цифровий код системи

Взаємодія Synactive (GuiXT, Viewer, InputAssistant), HTML/JS/CSS та exe-файлу C#

Компонент Synactive Viewer призначений для можливості вбудовування HTML-сторінок у скрипт GuiXT. Таким чином, можна створити свій HTML-подекран на стандартному SAP GUI-екрані.

Розглянемо таку взаємодію з прикладу вікна по примусовій зміні пароля (Рис.2 ).

Для підключення HTML-блоку в скрипті GuiXT (ім'я скрипта буде sapmsyst.L 0041.txt, деL - це однолітерне позначення мови) потрібно прописати:

view (2,21) (4,71) "change_pass.html" - floating

Операторview прив'язує html-сторінку до екрана SAP GUI. Числа в дужках задають розташування сторінки в рамках екрана SAP.

Хочу зазначити, що при роботі з html/css/js у Synactive потрібно орієнтуватися на роботу html-сторінок у браузері Internet Explorer. У кожного браузера є свої особливості відображення html-сторінок та виконання js-скриптів. Таким чином, тестування необхідно проводити у IE; Початкову розробку можна проводити там, де зручно.

Усередині файлуchange_pass.html міститься підключення js-файлу:

Усередині цього файлу для передачі даних на екран SAP GUI використовується наступний код

Обмежений доступ

Для прочитанняповноїверсіїстатті необхідно зайти якзареєстрований користувач.