Tutorial pentru subecranele ABAP: Apelați subecranul în SAP

Înainte de a citi acest tutorial, asigurați-vă că este un program de dialog...

SUBSCREEN DE APEL

  • Un subecran este un ecran independent care este afișat într-o zonă a altui ecran („principal”).
  • Subecranele vă permit să încorporați un ecran în altul în timpul rulării. Puteți include mai multe sub-ecrane pe ecranul principal.
  • Termenul subecran se aplică atât ecranului pe care îl încorporați, cât și zonei de pe ecranul principal în care îl plasați. Acest tutorial este despre zonele subecranului. Ecranele reale create prin tranzacția SE51 sunt numite ecrane subecran dacă sunt definite în atributele ecranului.
  • Când utilizați un subecran, logica de flux a ecranului încorporat este, de asemenea, încorporată în logica de flux a ecranului principal. Prin urmare, utilizarea subecranelor pe ecrane este ca și cum folosiți include în programe ABAP.

Pentru a utiliza un subecran, trebuie să urmați trei pași simpli

  1. Definiți zona (zonele) subecranului pe un ecran
  2. Definiți ecrane secundare adecvate
  3. Includeți ecranul subecranului în zona subecranului.

De asemenea, trebuie să ajustați cadrul subecranului și al ecranului principal. Trebuie să-l denumiți în câmpul cu numele câmpului.

De asemenea, trebuie să ajustați câmpurile din subecran pentru a le face să apară în ecranul principal. În cazul în care subecranul este definit ca fiind mai mare decât zona disponibilă din ecranul principal, va fi vizibilă doar partea din subecran care se încadrează în zona disponibilă. Zona este întotdeauna măsurată din colțul din stânga sus al ecranului. Prin urmare, ar trebui să aveți grijă adecvată atunci când definiți zonele sub-ecranului și creați sub-ecranele.

EXEMPLU

De exemplu, aici am definit două zone sub-ecran pe ecranul principal și am atașat două sub-ecran diferite la zonele corespunzătoare. Ori de câte ori este apelat ecranul principal, este apelat PBO al ecranului principal. Dar, înainte de afișare, sunt numite și PBO-urile fiecărui ecran atașat cu zone secundare pe ecranul principal.

Apelați subecranul SAP

Puteți include un ecran subecran utilizând instrucțiunea CALL SUBSCREEN în logica fluxului ecranului principal.

Pentru a include un ecran secundar în zona subecranului a ecranului principal și a apela logica fluxului PBO al acestuia, utilizați următoarea declarație în evenimentul PBO al ecranului principal:

PROCESS BEFORE OUTPUT.

CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.

Această declarație atribuie ecranului secundar cu un număr în zona subecran numită . De asemenea, puteți specifica programul în care este definit ecranul subecran (opțional). Dacă nu specificați programul în mod explicit, sistemul caută ecranul secundar în același program ABAP ca și programul principal. Dacă nu găsește un ecran secundar corespunzător, apare o eroare de rulare. Logica fluxului PBO a ecranului secundar este de asemenea inclusă în același punct. Aceasta poate apela modulele PBO ale programului ABAP în care este definit ecranul subecran. La sfârșitul subecranului PBO, câmpurile globale din program sunt transmise oricăror câmpuri de ecran cu nume identic din ecranul subecran. Logica de flux PBO a ecranului secundar poate include ea însăși subecranele suplimentare.

Numele din zona subecranului trebuie introdus direct fără virgule. Puteți specifica numele și fie ca literale sau variabile. Dacă utilizați variabile, trebuie să declarați și să completați variabile cu nume identic în programul ABAP. Numărul ecranului trebuie să aibă 4 caractere. Dacă nu atribuiți un ecran subecran unei zone, acesta rămâne gol.

Pentru a apela logica fluxului PAI a ecranului secundar, utilizați următoarea declarație în logica fluxului PAI a ecranului principal:

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

Această declarație include logica fluxului PAI a ecranului subecran inclus în zona subecranului în evenimentul PBO. Aceasta poate apela module PAI ale programului ABAP în care este definit ecranul subecran. Datele sunt transportate între câmpurile cu nume identic din ecranul subecran și programul ABAP fie atunci când evenimentul PAI este declanșat, fie la instrucțiunile FIELD corespunzătoare din logica fluxului PAI a ecranului subecran.

Puncte de reținut

  • Numele elementelor sub-ecranelor dintr-un ecran ar trebui să fie unice
  • Nu ar trebui să aveți OK_CODE sau FCODE atașat la subecran. OK_CODE al ecranului principal în sine este OK_CODE al subecranului
  • Ecranele secundare nu pot avea module de dialog care să conțină SETARE BARĂ DE TITLUL, SETARE STARE PF, SETARE ECRAN, LEAVE SCREEN sau LEAVE TO SCREEN. Acest lucru va cauza o eroare de rulare.
  • Trebuie să îl apelați în logica fluxului (atât PBO, cât și PAI) a ecranului principal.
  • CALL SUBSCREEN nu este permis în instrucțiunile CHAIN..ENDCHAIN ​​și LOOP ENDLOOP
  • Nu se poate avea un modul AT EXIT-COMMAND
  • Câmpurile pe care le utilizați sunt câmpurile globale. Ele trebuie să fie declarate în top include
  • Dacă utilizați subecrane de la altul program de dialog transferul de date nu va avea loc decât dacă adăugați un anumit cod.

Buletin informativ zilnic Guru99

Începe-ți ziua cu cele mai recente și importante știri despre inteligența artificială, livrate chiar acum.