Nagrywanie skryptu SAP GUI
O ile po stronie serwera włączono możliwość obsługi skryptów SAP GUI, użytkownik może nagrywać i odtwarzać skrypty SAP GUI, bezpośrednio z narzędzia EasyInput.
Rozpoczęcie nagrywania skryptu SAP GUI jest możliwe, gdy wybrany jest skoroszyt EI_Script_GS, korzystając z menu wstążki EasyInput i ikony Nagraj skrypt . Dodatkową zaletą nagrywania bezpośrednio z narzędzia EasyInput jest ustawienie parametru TestToolMode zgodnie z ustawieniami zakładki EI_Config (TestToolMode pozwala na bardziej spójną obsługę komunikatów podczas nagrywania i odtwarzania). Rekomendowane jest zarówno nagrywanie skryptu, jak i jego późniejsze odtwarzanie z włączoną opcją test tool mode.
Zatrzymanie nagrania skryptu SAP GUI następuje poprzez naciśnięcie ikony Zatrzymaj nagrywanie po stronie EasyInput.
Kilka porad przy nagrywaniu skryptów transakcji:
- należy brać pod uwagę, że aby skrypt był uniwersalny należy przemyśleć specyfikę danych i nagrywanych ekranów (np. w transakcji FB50 warto wprowadzać pozycje transakcji zawsze do pierwszej linii i wprowadzać dodatkową linię pustą powyżej pierwszej przed wprowadzeniem następnej linii – pozwoli to ominąć ograniczenie 10 linii widocznych na ekranie i ustandaryzować wprowadzania danych niezależnie od ilości linii dokumentu)
- warto wprowadzić wartość do wszystkich pól, w których skrypt ma wprowadzać wartość (nawet jeśli ta wartość na ekranie nagrywania jest już wprowadzona). Dzięki temu nie będziemy musieli ręcznie dodawać linii do skryptu.
- jeśli chcemy odczytać wartość z jakiegoś pola z ekranu warto w to pole kliknąć myszą. System zapamięta ustawienie kursora na tym polu – linię skryptu, która jest nam niezbędna do odczytu.
Obróbka ręczna skryptu
Czasem zapisany skrypt można wykorzystać bez wprowadzania ręcznie zmian, ale taka sytuacja zdarza się rzadko. Zazwyczaj skrypt trzeba poprawić nieco ręcznie.
Najczęściej wykonywane poprawki skryptu to:
a) Niepotrzebne linie skryptu mogą być usunięte lub zdezaktywowane poprzez wstawienie „X” w kolumnie „E” arkusza skryptu (EI_Script_GS)
b) Linia skryptu zawierająca najczęściej funkcję skryptu “text = &&” lub po prostu ciąg specjalny "&&" jako parametr metody, to linia, do której można wprowadzić dane przesyłane z Excel do SAP. Dla takich linii ciąg "&&" jest zastępowany podczas wykonania skryptu wartością z kolumny J(wartość pola) lub jeśli podano dane w kolumnach L(WriteData) i M(odwołanie do kolumny arkusza danych) z odpowiedniej kolumny arkusza danych. Jeśli wprowadzono dane w kolumnach L(typ transferu) i M(kolumna odczytu/zapisu), wartość z komórki w kolumnie J(wartość pola) jest ignorowana. Uwaga! W rzadkim przypadku, kiedy trzeba przesłać ciąg "&&" do funkcji skryptu bez podmiany, należy wprowadzić go w postaci "&&".
c) Linie skryptu zawierające funkcję “setFocus” można wykorzystać do odczytu danych z pola ekranu SAP GUI (kolumny K i L). Czasem możemy chcieć specjalnie zamienić wpis „text=&&” na „setFocus”.
d) Usunięcie z nagranego skryptu linii niepotrzebnych np. drugiej linii nagranego dokumentu (bo skrypt powinien zawierać tylko jedną, którą będzie powielał zależnie od danych z arkusza danych).
e) Dla linii skryptu, które czasem są konieczne, a czasem mogą spowodować błąd (np. zamknięcie opcjonalnie pojawiającego się wyskakującego okienka) warto wstawić X w kolumnę ignorowania błędów N arkusza EI_Script_GS.
f) Zastąpienie funkcji skryptu „maximize” funkcją „iconify” sprawi, że podczas wykonywania okno skryptu zostanie zmniejszone do ikony i nie będzie pokazywane. Funkcja ta występuje zazwyczaj w pierwszych liniach skryptu.
g) Dodanie wersji z przerwaniem transakcji dla trybu testowego. Zazwyczaj obie wersje są identyczne, za wyjątkiem kilku ostatnich linii skryptu.
Przykład różnej końcówki skryptu zależnie od rodzaju wykonania:
Rodzaj wykonania |
Obiekt skryptu |
Funkcja skryptu |
Nazwa pola |
Wartość pola |
C - All run types |
("wnd[0]") |
sendVKey 0 |
|
|
T - Test run |
("wnd[0]/tbar[0]/btn[12]") |
press |
|
|
T - Test run |
("wnd[1]/usr/btnSPOP-OPTION1") |
press |
|
|
A - Actual run |
("wnd[0]/tbar[0]/btn[11]") |
press |
|
|
Uwaga! Dla dokumentów zawierających wiele linii dokumentu, podczas nagrywania warto wstawiać pusty wiersz w pierwszej linii dokumentu i tam wprowadzać dane. Tę operację będzie można powtarzać niezależnie od ilości pozycji dokumentów podczas wykonania transakcji.
Komendy specjalne
Oprócz standardowych elementów skryptu SAP GUI, EasyInput dodaje kilka komend specjalnych do tego typu skryptu rozszerzających możliwości narzędzia. Ich użycie może być szczególnie przydatne przy odczytywaniu danych z list ALV.
Uwaga!
Skrypt SAP GUI jest dostępny od wersji SAP Netweaver 6.20 lub wyższej. Aby dozwolić skrypty SAP GUI po stronie serwera parametr sapgui/user_scripting powinien mieć ustawioną wartość TRUE (transakcja RZ11).
Pełna dokumentacja obiektów i metod SAP GUI scripting jest dostępna poprzez SAP GUI:
Alternatywnie użytkownik może nagrywać skrypt SAP GUI w programie SAP GUI korzystając z kolorowej ikony menu SAP GUI “Dostosowanie lokalnego układu”.
Można tutaj ustawić zarówno plik wynikowy, do którego zostanie zapisany nagrany skrypt (plik *.vbs) jak i stronę kodową tego skryptu. Po naciśnięciu czerwonej ikony „zapisz skrypt”, wszystkie akcje użytkownika są nagrywane. Naciśnięcie żółtej ikony “stop” zatrzymuje nagrywanie skryptu. Przygotowany plik skryptu (*.vbs) jest gotowy do importu do arkusza EI_Script_GS.