Nagrywanie transakcji (dla skryptu transakcyjnego)

 

Nagrywanie skryptu transakcyjnego bezpośrednio z poziomu EasyInput.

Aby rozpocząć nagrywanie należy w skoroszycie EasyInput przejść na arkusz EI_Script_TR i wybrać z menu EasyInput opcję Nagraj skrypt .
Po wybraniu przycisku Nagraj skrypt otworzy się okno wyboru transakcji, która będzie nagrywana i trybu skryptu. Wybór transakcji można ułatwić okno wyszukiwania transakcji w systemie SAP (dostępne poprzez przycisk F4). Jeśli transakcja ma tylko wysyłać dane do SAP, najprościej wybrać tryb standardowy. Jeśli transakcja ma odczytywać dane z SAP konieczny będzie tryb rozszerzony (Extended ECATT). Niektóre transakcje nie dają się nagrać w jednym z trybów, należy wtedy spróbować nagrania w drugim trybie.

Jeśli podano poprawny kod transakcji oraz podano właściwe dane połączenia na arkuszu EI_Logon, to po zatwierdzeniu ustawień przyciskiem OK powinien pojawić się ekran SAP GUI z uruchomioną wybraną transakcją. Od tego momentu wszystkie działania użytkownika będą zapisywane w skrypcie (za wyjątkiem wyszukiwania F4). Zazwyczaj warto nagrywanie powtórzyć kilka razy, tak by otrzymać skrypt, bez niepotrzebnych działań użytkownika i nie zawierający komunikatów błędów. Po zakończeniu transakcji nagrywanie również się zakończy. Użytkownik zostanie zapytany, czy chce przejąć skrypt na zakładkę EI_Script_TR, czy odrzucić nagranie (np. jeśli podczas nagrania wystąpiły błędy). W pierwszej linii skryptu oprócz kodu transakcji wstawiony zostaje w kolumnę Wartość pola identyfikator trybu skryptu (B-Standard, C-Rozszerzony).

 

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ść jakiegoś pola z ekranu warto podczas zapisu skryptu dla tego ekranu wcisnąć na tym ekranie klawisz ENTER. Pozwoli to logice transakcji wykonać wszystkie sprawdzenia i doda kolejny ekran w skrypcie, na którym wszystkie wprowadzone przez użytkownika zmiany na ekranie są uwzględnione.

- jeśli chcemy odczytać wartość z jakiegoś pola z ekranu warto (po naciśnięciu Enter opisanego powyżej) na to pole kliknąć myszą. System zapamięta ustawienie kursora na tym polu – linię skryptu, która jest nam niezbędna do odczytu.

 

Znaczenie poszczególnych linii w skrypcie

Choć linii w skrypcie może być wiele, to łatwo można je pogrupować w kilka grup i w ten sposób identyfikować ich znaczenie w SAP. Poniższa tabela przybliża trochę strukturę skryptu:

Pola skryptu

Znaczenie

//T/Transakcja/

Przykład:

//T/FB50/

Informuje, że skrypt jest nagrany dla pewnej transakcji. Występuje zawsze na początku nagranego skryptu. W produkcie EasyInput jeden skrypt może się składać z kliku skryptów nagranych dla różnych transakcji występujących kolejno.

Program/Ekran/X//

Przykład:

SAPMF05A/1001/X//

Informuje o rozpoczęciu obsługi nowego ekranu w skrypcie. Do czasu informacji o kolejnym ekranie lub do zakończenia skryptu wszystkie linie skryptu odnoszą się do tego ekranu.

///BDC_OKCODE/Kod

Przykład:

///BDC_OKCODE/=0005

Opisuje, jaki klawisz/ jaka ikona została wybrana podając przejście do następnego ekranu lub odświeżenie bieżącego.

Najczęściej spotykane kody to =OK lub /00 dla klawisza Enter

///BDC_SUBSCR/ekran podrzędny

Opisuje podekrany zdefiniowane na ekranie głównym. Zazwyczaj pozostawiane bez najmniejszych zmian w skrypcie.

///BDC_CURSOR /pole

Przykład:

///BDC_CURSOR/ ACGL_HEAD-BLDAT

Oznacza ustawienie kursora na danym polu. Wykorzystywane np. do odczytu danych z arkusza. Odczyt można wykonać tylko dla takiej linii skryptu (wymaga wprowadzenia referencji w kolumnach K i L)

///pole /wartość pola

Przykład:

/// ACGL_HEAD-BLDAT / 31.12.2013

Oznacza wprowadzenie wartości do pola. Wykorzystywane do zapisu stałych danych lub zapisu danych kopiowanych z arkusza danych (wymaga wprowadzenie referencji w kolumnach K i L)

 

 

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)      Linie skryptu, których nie chcemy uwzględniać w naszym skrypcie możemy usunąć lub zaznaczyć jako nieaktywne poprzez wprowadzenie „X” w kolumnie „E” arkusza skryptu

b)      Dla linii (typu ///pole / wartość pola), do których chcemy wpisywać dane z arkusza danych dodanie w kolumnach K i L referencji do arkusza danych. Możemy takie linie dodać do skryptu ręcznie sprawdzając wcześniej w transakcji za pomocą klawisza F1 i informacji technicznej nazwy pola ekranu, do którego chcemy wprowadzić dane.

c)       Dla linii (typu ///BDC_CURSOR / pole), z których chcemy odczytywać dane do arkusza danych dodanie w kolumnach K i L referencji do arkusza danych. Możemy takie linie dodać do skryptu ręcznie sprawdzając wcześniej w transakcji za pomocą klawisza F1 i informacji technicznej nazwy pola ekranu, do którego chcemy wprowadzić dane.

d)      Usunięcie z nagranego skryptu np. drugiej linii nagranego dokumentu (bo skrypt powinien zawierać tylko jedną, którą będzie powielał zależnie od danych z arkusza danych).

e)      Dodanie wersji z przerwaniem transakcji dla trybu testowego:
Wprowadzenie na ostatnim ekranie dwóch wariantów zatwierdzenia np.

Rodzaj wykonania

Program

Ekran

ID początku

Nazwa pola

Wartość pola

A - Actual run

 

 

 

BDC_OKCODE

=BU

T - Test run

 

 

 

BDC_OKCODE

/ECNC

Dodanie po ostatnim ekranie linii potwierdzających przerwanie w trybie testowym:

Rodzaj wykonania

Program

Ekran

ID początku

Nazwa pola

Wartość pola

T - Test run

SAPLSPO1

0200

X

                                                                                                                                   

                                                                                                                                    

T - Test run

                                       

   

 

BDC_OKCODE

=YES

Uwaga! Dla wielu transakcji można zastosować wskazówki z tego punktu Zawsze najlepiej jednak nagrać wersję z wykonaniem (actual) i z przerwaniem wykonania transakcji na końcu(test) i porównać skrypty obu transakcji.

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.

 

 

Alternatywne nagranie skryptu z poziomu SAP GUI transakcją SHDB

SHDB to Edytor zapisu transakcji, umożliwiający „nagrywanie”, w postaci skryptu, działań użytkownika w systemie. Taki „nagrany” skrypt można później przekopiować/ wczytać do arkusza EasyInput.

 

Nagrywanie skryptu w transakcji SHDB

Najprostszy sposób uruchomienia transakcji SHDB to wpisanie ciągu SHDB w okno komend SAP GUI i naciśnięcie klawisza Enter.

 

Na głównym ekranie transakcji SHDB należy wybrać opcję Nowy zapis  I podać odpowiednie dane początkowe w pojawiającym się wyskakującym okienku:

Najważniejsze informacje które należy podać to identyfikator nagrywanej transakcji (w przypadku okienka powyżej FB50) oraz nazwa pod którą skrypt zostanie zapisany (TEST_001).


Uwaga! Jeśli nagrywamy dla trybu Standardowego (Batch Input) pozostawiamy domyślne parametry sekcji Parametr zapisu (jak na ekranie powyżej). W przypadku nagrywania dla trybu Extended należy w sekcji Parametr zapisu zmienić następujące ustawienia (pozostałe pozostawiamy domyślne):
- w polu wyboru Tryb CATT wybrać – N – CATT bez sterowania pojedynczymi ekranami
- zaznaczyć checkbox Kontyn. po commit
- zaznaczyć checkbox Bez trybu BI

Następnie należy kliknąć przycisk Rozpoczęcie zapisu. Nastąpi przejście do wybranej do zapisu transakcji. Od tego momentu wszystkie działania użytkownika będą zapisywane w skrypcie. Zazwyczaj warto nagrywanie powtórzyć kilka razy, tak by otrzymać skrypt, bez niepotrzebnych działań użytkownika i nie zawierający komunikatów błędów.

 

Po zakończeniu transakcji system pokaże nam wygenerowany skrypt.

Skrypt składa się z ciągu linii pogrupowanych dla poszczególnych ekranów. Taki skrypt, jeśli jest poprawny warto zapisać i można kawałek po kawałku przekopiować z SAP do arkusza MS Excel ręcznie.

 

Kopiowanie ręczne

Kopiowanie można przeprowadzić za pomocą sekwencji

Ctrl + Y – przejście do trybu zaznaczanie części ekranu SAP

Zaznaczenie myszką obszaru do kopiowania

Ctrl + C – skopiowanie zaznaczonego obszaru do schowka

Przełączenie się na MS Excel i skopiowanie schowka do  kolumn skryptu F-J na arkuszy EI_Script_TR za pomocą skrótu klawiaturowego Ctrl + V.

 

Kopiowanie należy powtórzyć kilka razy, gdyż zazwyczaj skrypt w SAP nie mieści się na jednej stronie ekranu i nie można go zaznaczyć całego za jednym razem.

 

Kopiowanie automatyczne

Najpierw należy nagrać skrypt do pliku za pomocą ikony Export   (Shift + F8) w SAP GUI na ekranie zmiany skryptu.

Następnie w skoroszycie EasyInput, otworzyć arkusz EI_Script_TR i wcisnąć klawisz Zaimportuj plik skryptu w menu wstążki EasyInput i wybrać właściwy plik.
Uwaga! Aby przycisk Zaimportuj plik skryptu pojawił się w menu wstążki EasyInput, należy w ustawieniach Informacje o EasyInput > Ustawienia > Inne odznaczyć pole wyboru Ukryj zaawansowane przyciski konfiguracji skryptu.