ABAP Subscreens Tutorial: Call Subscreen i SAP

Innehållsförteckning:

Anonim

Innan du läser den här handledningen, se till att vad ett dialogprogram är ...

RING UNDERBILD

  • En underskärm är en oberoende skärm som visas i ett område på en annan ("huvud") skärm.
  • Med underskärmar kan du bädda in en skärm i en annan under körning. Du kan inkludera flera underskärmar på huvudskärmen.
  • Termen subscreen gäller både skärmen som du bäddar in och området på huvudskärmen där du placerar den. Denna handledning handlar om subskärmsområden. De faktiska skärmar som skapats genom SE51-transaktion kallas för underskärmar om de definieras i skärmattribut.
  • När du använder en subskärm är flödeslogiken för den inbäddade skärmen också inbäddad i flödeslogiken på huvudskärmen. Att använda subskärmar på skärmar är som att använda inkluderar i ABAP-program.

För att använda en underskärm måste du följa tre enkla steg

  1. Definiera underskärmsområdet på en skärm
  2. Definiera lämpliga underskärmsskärmar
  3. Inkludera delskärmsskärmen i delskärmsområdet.

Du måste också justera ramen på underskärmen och huvudskärmen. Du måste namnge den i fältnamnsfältet.
Vidare måste du också justera fälten i underskärmen så att de visas på huvudskärmen. Om underskärmen är definierad som större än det tillgängliga området på huvudskärmen, är endast den del av underskärmen som syns i det tillgängliga området. Området mäts alltid från skärmens övre vänstra hörn. Därför bör du vara noggrann när du definierar underskärmsområden och skapar underskärmar.
EXEMPEL

Här har vi till exempel definierat två underskärmsområden på huvudskärmen och har bifogat två olika underskärmar till motsvarande områden. När huvudskärmen anropas kallas huvudskärmens PBO. Men före visning kallas också PBO: er för varje skärm som är fäst med subskärmsområden på huvudskärmen.

Du kan inkludera en underskärmsskärm med CALL SUBSCREEN-satsen i flödeslogiken på huvudskärmen.
För att inkludera en underskärmsskärm i huvudskärmens underskärmsområde och anropa dess PBO-flödeslogik, använd följande uttalande i PBO-händelsen på huvudskärmen:

PROCESS INNAN UTGÅNGEN.SAMTAL UNDERRUM  INKLUDERANDE [
] .

Detta uttalande tilldelar delskärmsskärmen med numret till det underskärmsområde som heter . Du kan också ange det program där skärmen för underskärmen är definierad (valfritt). Om du inte specifikt anger programmet letar systemet efter skärmen för underskärmen i samma ABAP-program som huvudprogrammet. Om den inte hittar en motsvarande underskärmsskärm uppstår ett körtidsfel. PBO-flödeslogiken för subskärmsskärmen ingår också vid samma punkt. Detta kan anropa PBO-moduler i ABAP-programmet där underskärmen är definierad. I slutet av PBO för subskärmen skickas de globala fälten från programmet till alla identiskt namngivna skärmfält på subskärmen. PBO-flödeslogiken på subskärmsskärmen kan i sig inkludera ytterligare subskärmar.

Namnet på underskärmsområdet måste anges direkt utan inverterade komma. Du kan ange namnen och antingen som bokstäver eller variabler. Om du använder variabler måste du deklarera och fylla variabler med samma namn i ABAP-programmet. Skärmnumret måste bestå av fyra tecken. Om du inte tilldelar en underskärm till ett område förblir det tomt.
För att anropa PAI-flödeslogiken på subskärmsskärmen, använd följande uttalande i PAI-flödeslogiken på huvudskärmen:

PROCESS EFTER INGÅNG.RING SUBSKÄRM .

Detta uttalande inkluderar PAI-flödeslogiken för den underskärmsskärm som ingår i underskärmsområdet i PBO-händelsen. Detta kan anropa PAI-moduler i ABAP-programmet där underskärmen är definierad. Data transporteras mellan identiskt namngivna fält på subskärmsskärmen och ABAP-programmet antingen när PAI-händelsen utlöses, eller vid motsvarande FIELD-satser i PAI-flödeslogiken på subskärmsskärmen.
Poäng att komma ihåg

  • Namnen på element på underskärmar inom en skärm ska vara unika
  • Du ska inte ha OK_CODE eller FCODE bifogade med underskärmen. OK_CODE på själva huvudskärmen är OK_CODE på underskärmen
  • Underskärmar får inte ha några dialogmoduler som innehåller SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN eller LEAVE TO SCREEN. Detta orsakar körtidsfel.
  • Du måste anropa det i flödeslogiken (både PBO och PAI) på huvudskärmen.
  • CALL SUBSCREEN är inte tillåtet i uttalandena CHAIN… ENDCHAIN ​​och LOOP ENDLOOP
  • Kan inte ha en AT EXIT-COMMAND-modul
  • Fälten som du använder är de globala fälten. De måste deklareras högst upp inkluderar
  • Om du använder subskärmar från ett annat dialogprogram kommer dataöverföringen inte att ske om du inte lägger till en specifik kod.