Samouczek programowania w oknie dialogowym: Pula modułów w SAP ABAP
SAP-ABAP obsługuje dwa typy programów – Program Raportowy i Program Dialogowy.
Jeśli Twój program ABAP wymaga wkładu użytkownika, używane jest programowanie Dialog.
W tym samouczku dowiesz się:
- Różnica między programami raportującymi i dialogowymi
- Przykładowe przetwarzanie transakcji w Dialog Programming
- Składniki programu Dialog
Dialog użytkownika to dowolna forma interakcji między użytkownikiem a programem, która może przybierać następujące formy:
- Wprowadzanie danych
- Wybór pozycji menu
- Kliknięcie przycisku
- Kliknięcie lub dwukrotne kliknięcie wpisu
Programu dialogowego używamy także wtedy, gdy musimy poruszać się pomiędzy ekranami
Programy dialogowe tworzone są z typem „M” – Pula modułów. Nie mogą być wykonane niezależnie i muszą być dołączone do co najmniej jednego kodu transakcji, w którym określisz ekran początkowy.
Różnica między programami raportującymi i dialogowymi
Program raportujący:
Raport to program, który zazwyczaj odczytuje i analizuje dane w tabelach bazy danych bez zmiany pliku baza danych.
Program dialogowy:
Program dialogowy umożliwia interaktywną pracę z systemem oraz zmianę zawartości tabel bazy danych. Każdy program dialogowy ma określoną sekwencję ekranów, które system przetwarza jeden po drugim.
Przykładowe przetwarzanie transakcji w programie Dialog Programming
Składniki programu Dialog
w odróżnieniu raport co ogólnie wiąże się ze stworzeniem jednego autonomicznego programu, który może być wykonywany niezależnie od innych obiektów, tworzenie programów dialogowych pociąga za sobą tworzenie wielu obiektów, z których żaden nie może być wykonywany samodzielnie. Zamiast tego wszystkie obiekty są powiązane hierarchicznie z programem głównym i są wykonywane w kolejności określonej przez program główny dialogu.
Składniki programu dialogowego to:
Kod transakcji
- Kod transakcji rozpoczyna sekwencję ekranów.
- Kody transakcji tworzysz w Przeglądarce Repozytorium w ABAP Workbench lub za pomocą Transakcji SE93.
- Kod transakcji jest powiązany z programem ABAP i ekranem początkowym.
- Sekwencję ekranów można rozpocząć z dowolnego programu ABAP za pomocą instrukcji CALL SCREEN.
Screens
- Każde okno dialogowe w pliku SAP system jest kontrolowany przez jeden lub więcej ekranów.
- Tworzysz ekrany za pomocą ekranu Painter w ABAP Workbench poprzez transakcję SE51
- Każdy ekran należy do programu ABAP.
- Ekrany te składają się z „maski ekranu” lub „układu” i jego logiki przepływu. Ekran ma układ, który określa pozycje pól wejścia/wyjścia i innych elementów graficznych, takich jak pola wyboru i przyciski radiowe. Logika przepływu określa logiczne przetwarzanie w obrębie ekranu.
Stan interfejsu graficznego
- Każdy ekran ma status(y) GUI, które są niezależnymi komponentami programu.
- Kontroluje paski menu, standardowy pasek narzędzi, pasek narzędzi aplikacji, za pomocą których użytkownik może wybierać funkcje w aplikacji.
- Tworzysz je w środowisku roboczym ABAP za pomocą Menu Painter.
Program ABAP
- Każdy ekran i status GUI w systemie R/3 należy do jednego programu ABAP.
- Program ABAP zawiera moduły dialogowe wywoływane przez logikę przepływu ekranu, a także przetwarzają dane wejściowe użytkownika ze stanu GUI.
- Programy ABAP korzystające z ekranów nazywane są także programami dialogowymi.
- W puli modułów (program typu M); pierwszym wywoływanym blokiem przetwarzania jest zawsze moduł dialogowy. Można jednak używać ekranów także w innych programach ABAP, takich jak programy wykonywalne lub moduły funkcyjne. Pierwszy blok przetwarzania jest wówczas wywoływany inaczej; na przykład przez środowisko wykonawcze lub wywołanie procedury. Następnie rozpoczyna się sekwencja ekranów za pomocą instrukcji CALL SCREEN.
Logika przepływu ekranu
Logika Screen Flow składa się zasadniczo z czterech komponentów.
- Przetwarzaj przed wyjściem (PBO) zdarzenie: które jest przetwarzane przed wyświetleniem ekranu
- Proces po wprowadzeniu (PAI) zdarzenie: które jest przetwarzane po akcji użytkownika na ekranie
- Przetwarzaj na prośbę o pomoc (PO): który jest przetwarzany po naciśnięciu klawisza F1
- Przetwarzaj na żądanie wartości (POV): który jest przetwarzany po naciśnięciu klawisza F4
Dynpro
- Ekran wraz z logiką przepływu nazywany jest Dynpro („Program dynamiczny”, ponieważ logika przepływu ekranu wpływa na przebieg programu)
- Każdy dynpro kontroluje dokładnie jeden krok Twojego Programu Dialogowego.
- Ekrany należące do programu to numerowane. Sekwencja przepływu przez sito może być liniowa lub cykliczna. Z poziomu łańcucha ekranów możesz nawet wywołać inny łańcuch ekranów i po jego przetworzeniu powrócić do pierwotnego łańcucha. Możesz także zastąpić statycznie zdefiniowany następny ekran z poziomu modułów dialogowych programu ABAP.
Pula modułów ABAP
- W przypadku zdarzenia PBO lub PAI Dynpro wywołuje program dialogowy ABAP. Zbiór takich programów nazywany jest pulą modułów ABAP.
- Na przykład moduły wywoływane w przypadku zdarzenia PAI służą do sprawdzania danych wejściowych użytkownika i wyzwalania odpowiednich kroków okna dialogowego, takich jak zadanie aktualizacji.
- Wszystkie dynpro należy wezwać od wewnątrz pierwszej transakcja odnosi się do wspólnej puli modułów.
Struktura programu dialogowego
Przebieg procesu dla programu dialogowego