ABAP Subscreens Tutorial: Call Subscreen i SAP

Innholdsfortegnelse:

Anonim

Før du leser denne veiledningen, må du forsikre deg om hva et dialogprogram er ...

RING UNDERSKRIFT

  • En underskjerm er et uavhengig skjermbilde som vises i et område på et annet ("hoved") skjerm.
  • Underskjermbilder lar deg legge inn en skjerm i en annen ved kjøretid. Du kan inkludere flere underskjermer på hovedskjermen.
  • Begrepet subscreen gjelder både skjermen du legger inn, og området på hovedskjermen der du plasserer den. Denne opplæringen handler om underskjermområder. De faktiske skjermbildene som ble opprettet gjennom SE51-transaksjonen, kalles underskjermskjermbilder hvis de er definert i skjermattributter.
  • Når du bruker en underskjerm, er flytlogikken til den innebygde skjermen også innebygd i strømningslogikken til hovedskjermen. Bruk av subscreens på skjermen er som å bruke inkluderer i ABAP-programmer.

For å bruke en underskjerm må du følge tre enkle trinn

  1. Definer underskjermområdet (e) på en skjerm
  2. Definer egnede underskjermer
  3. Ta med underskjermbildet i underskjermområdet.

Du må også justere rammen på underskjermen og hovedskjermen. Du må navngi det i feltnavnfeltet.
Videre må du også justere feltene i underskjermen for å få dem til å vises i hovedskjermen. Hvis underskjermen er definert til å være større enn det tilgjengelige området på hovedskjermen, vil bare den delen av underskjermen være synlig som passer i det tilgjengelige området. Området måles alltid fra øverste venstre hjørne av skjermen. Derfor bør du ta tilstrekkelig forsiktighet mens du definerer underskjermområder og oppretter underskjermer.
EKSEMPEL

For eksempel her har vi definert to underskjermområder på hovedskjermen og har festet to forskjellige underskjermer til tilsvarende områder. Hver gang hovedskjermen blir ringt, kalles PBO for hovedskjermen. Men før visning kalles også PBO-ene til hver skjerm som er festet med underskjermområder på hovedskjermen.

Du kan inkludere et underskjermskjermbilde ved å bruke CALL SUBSCREEN-setningen i flytlogikken til hovedskjermen.
For å inkludere et underskjermskjermbilde i underskjermområdet på hovedskjermen og ringe til PBO-flytlogikken, bruker du følgende uttalelse i PBO-hendelsen på hovedskjermen:

PROSESS FØR UTGANGEN.RING UNDERSKRIFT  INKLUDERT [
] .

Denne uttalelsen tilordner underskjermbildet med nummer til underskjermområdet som heter . Du kan også spesifisere programmet der underskjermbildet er definert (valgfritt). Hvis du ikke spesifiserer programmet eksplisitt, ser systemet etter underskjermbildet i det samme ABAP-programmet som hovedprogrammet. Hvis det ikke finner et tilsvarende underskjermbilde, oppstår en kjøretidsfeil. PBO-flytlogikken til underskjermbildet er også inkludert på samme punkt. Dette kan ringe PBO-moduler i ABAP-programmet der underskjermbildet er definert. På slutten av PBO-skjermbildet overføres de globale feltene fra programmet til alle identiske skjermfelt på underskjermbildet. PBO-strømningslogikken til underskjermbildet kan i seg selv omfatte flere underskjermer.

Navnet på underskjermområdet må legges inn direkte uten omvendte kommaer. Du kan spesifisere navnene og enten som bokstaver eller variabler. Hvis du bruker variabler, må du erklære og fylle variabler som heter identisk i ABAP-programmet. Skjermnummeret må være på fire tegn. Hvis du ikke tilordner en underskjerm til et område, forblir det tomt.
For å ringe PAI-flytlogikken til underskjermbildet, bruk følgende uttalelse i PAI-flytlogikken til hovedskjermen:

PROSESS ETTER INNGANG.RING UNDERSKRIFT .

Denne uttalelsen inkluderer PAI-flytlogikken til underskjermbildet som er inkludert i underskjermområdet i PBO-hendelsen. Dette kan kalle PAI-moduler i ABAP-programmet der underskjermbildet er definert. Data transporteres mellom identisk navngitte felt i underskjermbildet og ABAP-programmet, enten når PAI-hendelsen utløses, eller ved de tilsvarende FIELD-setningene i PAI-flytlogikken til underskjermbildet.
Poeng å huske

  • Navn på elementer på underskjermer i en skjerm skal være unikt
  • Du bør ikke ha OK_CODE eller FCODE tilknyttet underskjermen. OK_CODE på selve hovedskjermen er OK_CODE på underskjermen
  • Underskjermbilder kan ikke ha noen dialogmoduler som inneholder SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN eller LEAVE TO SCREEN. Dette vil føre til kjøretidsfeil.
  • Du må kalle det i flytlogikken (både PBO og PAI) på hovedskjermen.
  • CALL SUBSCREEN er ikke tillatt i CHAIN… ENDCHAIN ​​og LOOP ENDLOOP uttalelser
  • Kan ikke ha en AT EXIT-COMMAND-modul
  • Feltene du bruker er de globale feltene. De må deklareres i toppen inkluderer
  • Hvis du bruker abonnementsskjermbilder fra et annet dialogprogram, vil ikke dataoverføringen skje med mindre du legger til spesifikk kode.