Vodič za dijaloško programiranje: Spremnik modula u SAP ABAP

SAP-ABAP podržava dvije vrste programa – Report Program i Dialog Program.

Ako vaš ABAP program zahtijeva korisnički unos, koristi se dijaloško programiranje.

U ovom ćete vodiču naučiti:

Korisnički dijalog je bilo koji oblik interakcije između korisnika i programa i može biti bilo što od sljedećeg

  • Unos podataka
  • Odabir stavke izbornika
  • Klikom na gumb
  • Klik ili dvostruki klik na unos

Dijaloški program također se koristi kada se trebamo kretati naprijed-natrag između ekrana

Dijaloški programi se kreiraju s tipom 'M' – Skup modula. Ne mogu se izvršiti neovisno i moraju biti pridruženi barem jednom kodu transakcije u kojem navedete početni zaslon.

Razlika između izvješća i dijaloških programa

Razlika između izvješća i dijaloških programa

Program izvješća:

Izvješće je program koji obično čita i analizira podatke u tablicama baze podataka bez mijenjanja baza podataka.

Dijaloški program:

Dijaloški program omogućuje vam interaktivni rad sa sustavom i promjenu sadržaja tablica baze podataka. Svaki dijaloški program ima određeni niz ekrana koje sustav obrađuje jedan za drugim.

Uzorak obrade transakcija u dijaloškom programiranju

Uzorak obrade transakcije

Komponente dijaloškog programa

Za razliku od prijaviti koji općenito podrazumijeva stvaranje jednog autonomnog programa koji se može izvršavati neovisno o drugim objektima, razvoj dijaloškog programa podrazumijeva razvoj više objekata od kojih se niti jedan ne može izvršiti sam za sebe. Umjesto toga, svi su objekti hijerarhijski povezani s glavnim programom i izvršavaju se u slijedu koji diktira glavni program dijaloga.

Komponente dijaloškog programa su:

Kod transakcije

  • Šifra transakcije pokreće niz zaslona.
  • Transakcijske kodove kreirate u Repository Browseru u ABAP Workbenchu ​​ili koristeći Transaction SE93.
  • Šifra transakcije povezana je s ABAP programom i početnim zaslonom.
  • Možete pokrenuti sekvencu ekrana iz bilo kojeg ABAP programa koristeći naredbu CALL SCREEN.

Paravani

  • Svaki dijalog u SAP sustavom upravlja jedan ili više ekrana.
  • Zaslone stvarate pomoću Zaslona Painter u ABAP Workbench kroz transakciju SE51
  • Svaki zaslon pripada ABAP program.
  • Ti se ekrani sastoje od "zaslonske maske" ili "rasporeda" i njegove logike toka. Zaslon ima raspored koji određuje položaje ulazno/izlaznih polja i drugih grafičkih elemenata kao što su potvrdni okviri i radio gumbi. Logika toka određuje logičku obradu unutar zaslona.

GUI status

  • Svaki zaslon ima GUI status(e) koji su neovisne komponente programa.
  • Ovo kontrolira trake izbornika, standardnu ​​alatnu traku, alatnu traku aplikacije, pomoću kojih korisnik može odabrati funkcije u aplikaciji.
  • Stvarate ih u ABAP Workbenchu ​​pomoću izbornika Painter.

ABAP program

  • Svaki zaslon i GUI status u sustavu R/3 pripada jednom ABAP programu.
  • Program ABAP sadrži dijaloške module koji se pozivaju logikom toka zaslona, ​​a također obrađuju korisnički unos iz GUI statusa.
  • ABAP programi koji koriste zaslone poznati su i kao dijaloški programi.
  • U skupu modula (program tipa M); prvi blok obrade koji se poziva uvijek je dijaloški modul. Međutim, također možete koristiti zaslone u drugim ABAP programima, kao što su izvršni programi ili funkcijski moduli. Prvi blok obrade tada se naziva drugačije; na primjer, okruženjem vremena izvođenja ili pozivom procedure. Slijed zaslona se tada pokreće korištenjem naredbe CALL SCREEN.

Logika protoka zaslona

Logika Screen Flow prvenstveno je podijeljena u četiri komponente.

  • Proces prije izlaza (PBO) događaj: koji se obrađuje prije nego što se prikaže ekran
  • Proces nakon unosa (PAI) događaj: koji se obrađuje nakon radnje korisnika na zaslonu
  • Proces na zahtjev za pomoć (P.O.H.): koji se obrađuje kada se pritisne F1
  • Proces na zahtjev vrijednosti (POV):koji se obrađuje kada se pritisne F4

Dynpro

  • Zaslon zajedno sa svojom logikom toka naziva se Dynpro ("Dinamički program" budući da logika toka zaslona utječe na tijek programa)
  • Svaki dynpro kontrolira točno jedan korak vašeg dijaloškog programa.
  • Zasloni koji pripadaju programu su numeriran. Slijed toka zaslona može biti linearan ili ciklički. Iz lanca zaslona možete čak pozvati drugi lanac zaslona i, nakon obrade, vratiti se na izvorni lanac. Također možete nadjačati statički definirani sljedeći zaslon unutar dijaloških modula programa ABAP.

Skup modula ABAP

  • Na PBO ili PAI događaju Dynpro poziva dijaloški program ABAP. Skup takvih programa naziva se skup ABAP modula.
  • Na primjer, moduli pozvani u PAI događaju koriste se za provjeru korisničkog unosa i za pokretanje odgovarajućih koraka dijaloga, kao što je zadatak ažuriranja.
  • Svi dynprosi koji se pozivaju iznutra jedan transakcije se odnose na zajednički skup modula.

Struktura dijaloškog programa

Struktura dijaloškog programa

Tijek procesa za dijaloški program

Tijek procesa za dijaloški program