Înainte de a citi acest tutorial, asigurați-vă că este un program Dialog ...
APELĂ SUBSCREEN
- Un subscreen este un ecran independent care este afișat într-o zonă a unui alt ecran („principal”).
- Ecranele de subscriere vă permit să încorporați un ecran în altul în timpul rulării. Puteți include mai multe sub-ecrane pe ecranul principal.
- Termenul de ecran secundar 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 de sub ecran. Ecranele reale create prin tranzacția SE51, se numesc ecrane de subscreen dacă sunt definite în atributele ecranului.
- Când utilizați un ecran secundar, logica fluxului ecranului încorporat este, de asemenea, încorporată în logica fluxului ecranului principal. Prin urmare, utilizarea ecranelor secundare pe ecrane este ca și cum se utilizează includerea în programele ABAP.
Pentru a utiliza un subscreen, trebuie să urmați trei pași simpli
- Definiți zona (zonele) de sub ecran pe un ecran
- Definiți ecrane de subscreen adecvate
- Includeți ecranul de subscreen în zona de subscreen.
De asemenea, trebuie să reglați cadrul sub-ecranului și al ecranului principal. Trebuie să îl denumiți în câmpul cu numele câmpului.
Mai mult, trebuie să ajustați și câmpurile din ecranul secundar pentru a le face să apară în ecranul principal. În cazul în care sub-ecranul este definit ca fiind mai mare decât zona disponibilă în ecranul principal, va fi vizibilă doar partea de ecran secundar care se potrivește î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ă în timp ce definiți zonele sub-ecran și creați sub-ecrane.
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-ul ecranului principal. Dar, înainte de afișare, sunt numite și PBO-urile fiecărui ecran atașat cu zone sub-ecran pe ecranul principal.
Puteți include un ecran de subscreen folosind instrucțiunea CALL SUBSCREEN în logica de flux a ecranului principal.
Pentru a include un ecran de subscreen în zona de subscreen a ecranului principal și a apela logica sa de flux PBO, utilizați următoarea declarație în cazul PBO al ecranului principal:
PROCESUL ÎNAINTE DE IEȘIRE.SUNAȚI SUBSCREEN INCLUSIV [] .
Această declarație atribuie ecranului de subscreen cu numărul
Numele zonei de sub-ecran trebuie introdus direct fără virgule inversate. Puteți specifica numele
Pentru a apela logica de flux PAI a ecranului de subscreen, utilizați următoarea declarație din logica de flux PAI a ecranului principal:
PROCESUL DUPĂ INTRARE.CALL SUBSCREEN .
Această declarație include logica de flux PAI a ecranului de subscreen inclus în zona de subscreen în evenimentul PBO. Aceasta poate apela module PAI ale programului ABAP în care este definit ecranul de subscreen. Datele sunt transportate între câmpurile cu nume identice din ecranul de subscreen și programul ABAP fie atunci când este declanșat evenimentul PAI, fie la instrucțiunile FIELD corespunzătoare din logica de flux PAI a ecranului de subscreen.
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șate cu sub-ecran. OK_CODE al ecranului principal în sine este OK_CODE al sub-ecranului
- Sub-ecranele nu pot avea module de dialog care să conțină SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN sau LEAVE TO SCREEN. Acest lucru va cauza o eroare în timpul rulării.
- Trebuie să-l apelați în logica de flux (atât PBO, cât și PAI) a ecranului principal.
- CALL SUBSCREEN nu este permis în instrucțiunile CHAIN ... ENDCHAIN și LOOP ENDLOOP
- Nu pot avea un modul AT EXIT-COMMAND
- Câmpurile pe care le utilizați sunt câmpurile globale. Acestea trebuie declarate în partea de sus includ
- Dacă utilizați ecranele secundare dintr-un alt program de dialog, transferul de date nu va avea loc decât dacă adăugați un cod specific.