ABAP Subscreens Tutorial: Call Subscreen i SAP

Indholdsfortegnelse:

Anonim

Før du læser denne tutorial, skal du sørge for, hvad et dialogprogram er ...

OPKALD UNDERKOMMEN

  • En underskærm er en uafhængig skærm, der vises i et område på en anden ("hoved") skærm.
  • Underskærme giver dig mulighed for at integrere en skærm inden for en anden under kørsel. Du kan inkludere flere underskærme på hovedskærmen.
  • Udtrykket subscreen gælder både for den skærm, du integrerer, og det område på hovedskærmen, hvor du placerer den. Denne tutorial handler om subskærmområder. De faktiske skærmbilleder oprettet gennem SE51-transaktion kaldes underskærmsskærme, hvis de er defineret i skærmattributter.
  • Når du bruger en subskærm, er flowlogikken for den integrerede skærm også indlejret i flowlogikken på hovedskærmen. Brug af subscreens på skærme er således som at bruge inkluderer i ABAP-programmer.

For at bruge en underskærm skal du følge tre enkle trin

  1. Definer underskærmsområdet på en skærm
  2. Definer egnede underskærme
  3. Inkluder skærmbilledet med subskærm i området med underskærm.

Du skal også justere rammen på underskærmen og hovedskærmen. Du skal navngive det i feltnavnfeltet.
Desuden skal du også justere felterne i underskærmen for at få dem til at vises på hovedskærmen. Hvis underskærmen er defineret til at være større end det tilgængelige område på hovedskærmen, er kun den del af underskærmen synlig, der passer til det tilgængelige område. Området måles altid fra skærmens øverste venstre hjørne. Derfor skal du være tilstrækkelig forsigtig, mens du definerer underskærmsområder og opretter underskærme.
EKSEMPEL

For eksempel har vi her defineret to underskærmområder på hovedskærmen og har knyttet to forskellige underskærme til tilsvarende områder. Når der kaldes på hovedskærm, kaldes PBO på hovedskærm. Men før visning kaldes PBO'erne for hver skærm, der er knyttet til underskærmsområder på hovedskærmen, også.

Du kan medtage en underskærm ved hjælp af CALL SUBSCREEN-sætningen i flowlogikken på hovedskærmen.
For at inkludere en underskærm i hovedskærmens underskærm og kalde dens PBO-flowlogik skal du bruge følgende udsagn i PBO-begivenheden på hovedskærmen:

PROCESS FØR UDGANG.OPKALD SUBSCREEN  INKLUDERENDE [
] .

Denne erklæring tildeler underskærmskærmen med nummeret til underskærmområdet kaldet . Du kan også specificere det program, hvor underskærmbilledet er defineret (valgfrit). Hvis du ikke specifikt angiver programmet, søger systemet efter underskærmen i det samme ABAP-program som hovedprogrammet. Hvis den ikke finder en tilsvarende underskærm, opstår der en runtime-fejl. PBO-strømningslogikken på underskærmen er også inkluderet på det samme punkt. Dette kan kalde PBO-moduler i ABAP-programmet, hvor underskærmbilledet er defineret. I slutningen af ​​PBO-underskærmen sendes de globale felter fra programmet til alle identisk navngivne skærmfelter på underskærmen. PBO-strømningslogikken på underskærmen kan i sig selv omfatte yderligere underskærme.

Navnet på underskærmområdet skal indtastes direkte uden inverterede kommaer. Du kan angive navnene og enten som bogstaver eller variabler. Hvis du bruger variabler, skal du erklære og udfylde variabler med samme navn i ABAP-programmet. Skærmnummeret skal være på fire tegn. Hvis du ikke tildeler et underskærm til et område, forbliver det tomt.
For at kalde PAI-flowlogikken på subskærmskærmen skal du bruge følgende udsagn i PAI-flowlogikken på hovedskærmen:

PROCESS EFTER INPUT.OPKALD UNDERKOMMEN .

Denne erklæring inkluderer PAI-flowlogikken for underskærmskærmen inkluderet i underskærmområdet i PBO-begivenheden. Dette kan kalde PAI-moduler i ABAP-programmet, hvor underskærmbilledet er defineret. Data transporteres mellem identisk navngivne felter i underskærmsskærmen og ABAP-programmet, enten når PAI-begivenheden udløses, eller ved de tilsvarende FIELD-udsagn i PAI-strømningslogikken på underskærmen.
Punkter at huske

  • Navne på elementer på underskærme i en skærm skal være unikke
  • Du skal ikke have OK_CODE eller FCODE knyttet til underskærmen. OK_CODE på selve hovedskærmen er OK_CODE på underskærmen
  • Underskærme kan ikke have nogen dialogmoduler, der indeholder SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN eller LEAVE TO SCREEN. Dette vil medføre runtime-fejl.
  • Du skal kalde det i flowlogikken (både PBO og PAI) på hovedskærmen.
  • CALL SUBSCREEN er ikke tilladt i CHAIN… ENDCHAIN ​​og LOOP ENDLOOP udsagn
  • Kan ikke have et AT EXIT-COMMAND-modul
  • De felter, du bruger, er de globale felter. De skal erklæres i toppen inkluderer
  • Hvis du bruger abonnementsskærme fra et andet dialogprogram, sker dataoverførslen ikke, medmindre du tilføjer en specifik kode.