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ę:

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

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

Przykładowe przetwarzanie transakcji

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

Struktura programu dialogowego

Przebieg procesu dla programu dialogowego

Przebieg procesu dla programu dialogowego