Tutorial de programare cu dialog: Pool de module SAP ABAP
SAP-ABAP acceptă două tipuri de programe – Programul de raportare și Programul de dialog.
Dacă programul ABAP solicită intrarea utilizatorului, se utilizează programarea cu dialog.
În acest tutorial veți învăța:
- Diferența dintre programele de raport și de dialog
- Exemplu de procesare a tranzacțiilor în Dialog Programming
- Componentele programului de dialog
Un dialog de utilizator este orice formă de interacțiune între utilizator și program și poate fi oricare dintre următoarele
- Introducerea datelor
- Alegerea unui element de meniu
- Făcând clic pe un buton
- Făcând clic sau dublu clic pe o intrare
Programul de dialog este folosit și atunci când trebuie să navigăm înainte și înapoi între ecrane
Programele de dialog sunt create cu tipul „M” – Pool de module. Acestea nu pot fi executate independent și trebuie atașate la cel puțin un cod de tranzacție în care specificați un ecran inițial.
Diferența dintre programele de raport și de dialog
Programul de raportare:
Un raport este un program care de obicei citește și analizează datele din tabelele bazei de date fără a modifica Baza de date.
Program de dialog:
Un program de dialog vă permite să lucrați interactiv cu sistemul și să modificați conținutul tabelelor bazei de date. Fiecare program de dialog are o anumită secvență de ecrane care sunt procesate de sistem una după alta.
Un exemplu de procesare a tranzacțiilor în Dialog Programming
Componentele programului de dialog
Spre deosebire de raportează care implică în general crearea unui program autonom care poate fi executat independent de alte obiecte, dezvoltarea programului de dialog implică dezvoltarea mai multor obiecte, dintre care niciunul nu poate fi executat singur. În schimb, toate obiectele sunt legate ierarhic la programul principal și sunt executate într-o secvență dictată de programul principal de dialog..
Componentele unui program de dialog sunt:
Cod de tranzacție
- Codul tranzacției începe o secvență de ecran.
- Creați coduri de tranzacție în Browserul de depozit din ABAP Workbench sau folosind Transaction SE93.
- Un cod de tranzacție este legat de un program ABAP și de un ecran inițial.
- Puteți porni o secvență de ecran din orice program ABAP utilizând instrucțiunea CALL SCREEN.
Ecrane
- Fiecare dialog într-un SAP sistemul este controlat de unul sau mai multe ecrane.
- Creați ecrane folosind ecranul Painter în ABAP Workbench prin tranzacția SE51
- Fiecare ecran aparține unui program ABAP.
- Aceste ecrane constau dintr-o „mască de ecran” sau „aspect” și logica sa de flux. Ecranul are un aspect care determină pozițiile câmpurilor de intrare/ieșire și a altor elemente grafice, cum ar fi casetele de selectare și butoanele radio. O logică de flux determină procesarea logică din ecran.
Stare GUI
- Fiecare ecran are o stare GUI care sunt componente independente ale unui program.
- Aceasta controlează barele de meniu, bara de instrumente standard, bara de instrumente a aplicației, cu care utilizatorul poate alege funcțiile din aplicație.
- Le creați în ABAP Workbench folosind Meniu Painter.
Program ABAP
- Fiecare ecran și starea GUI din sistemul R/3 aparține unui program ABAP.
- Programul ABAP conține modulele de dialog care sunt apelate de logica fluxului de ecran și, de asemenea, procesează intrarea utilizatorului din starea GUI.
- Programele ABAP care folosesc ecrane sunt cunoscute și ca programe de dialog.
- Într-un pool de module (program de tip M); primul bloc de procesare care trebuie apelat este întotdeauna un modul de dialog. Cu toate acestea, puteți utiliza ecrane și în alte programe ABAP, cum ar fi programe executabile sau module funcționale. Primul bloc de procesare este apoi numit diferit; de exemplu, de mediul de rulare sau de un apel de procedură. Secvența de ecran este apoi pornită folosind instrucțiunea CALL SCREEN.
Logica fluxului de ecran
Logica de flux de ecran este împărțită în primul rând în patru componente.
- Proces înainte de ieșire (PBO) eveniment: care este procesat înainte ca ecranul să fie afișat
- Proces după introducere (PAI) eveniment: care este procesat după o acțiune a utilizatorului pe ecran
- Proces la cererea de ajutor (P.O.H.): care este procesat atunci când este apăsat F1
- Procesare la cerere de valoare (POV): care este procesat atunci când este apăsat F4
Dynpro
- Un ecran împreună cu logica de flux se numește Dynpro („Program dinamic” deoarece logica fluxului de ecran influențează fluxul programului)
- Fiecare dynpro controlează exact un pas al programului de dialog.
- Ecranele aparținând unui program sunt numerotat. Secvența fluxului ecranului poate fi fie liniară, fie ciclică. Dintr-un lanț de ecrane, puteți chiar să apelați un alt lanț de ecrane și, după procesare, să reveniți la lanțul original. De asemenea, puteți suprascrie ecranul următor definit static din modulele de dialog ale programului ABAP.
Bazin de module ABAP
- La un eveniment PBO sau PAI, Dynpro apelează un program de dialog ABAP. Colecția de astfel de programe este numită grupul de module ABAP.
- De exemplu, modulele apelate la evenimentul PAI sunt folosite pentru a verifica intrarea utilizatorului și pentru a declanșa pașii de dialog corespunzători, cum ar fi sarcina de actualizare.
- Toți dynpros să fie chemați din interior unu tranzacția se referă la un grup comun de module.
Structura unui program de dialog
Fluxul de proces pentru un program de dialog