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

Podsumuj ten post następująco: