Vodič za podzaslone ABAP: Pozovite podzaslon SAP

Prije nego što pročitate ovaj vodič, provjerite što je dijaloški program...

POZIV PODEKRAN

  • Podzaslon je neovisni zaslon koji se prikazuje u području drugog ("glavnog") zaslona.
  • Podzasloni vam omogućuju da ugradite jedan zaslon u drugi tijekom izvođenja. Na glavni zaslon možete uključiti više podzaslona.
  • Izraz podzaslon odnosi se i na zaslon koji ugradite i na područje na glavnom zaslonu u koje ga postavite. Ovaj vodič govori o područjima podzaslona. Stvarni zasloni kreirani putem SE51 transakcije nazivaju se podzasloni ako su definirani u atributima zaslona.
  • Kada koristite podzaslon, logika toka ugrađenog zaslona također je ugrađena u logiku toka glavnog zaslona. Dakle, korištenje podzaslona na zaslonima je kao korištenje uključuje u ABAP programi.

Za korištenje podzaslona morate slijediti tri jednostavna koraka

  1. Definirajte područja podzaslona na zaslonu
  2. Definirajte odgovarajuće podzaslone
  3. Uključite podzaslon u područje podzaslona.

Također, trebate prilagoditi okvir podzaslona i glavnog zaslona. Morate ga imenovati u polju za naziv polja.

Nadalje, također trebate prilagoditi polja unutar podzaslona kako bi se pojavila na glavnom zaslonu. U slučaju da je podzaslon definiran kao veći od dostupnog područja na glavnom zaslonu, bit će vidljiv samo dio podzaslona koji stane u dostupno područje. Područje se uvijek mjeri od gornjeg lijevog kuta zaslona. Stoga biste trebali biti oprezni pri definiranju područja podzaslona i stvaranju podzaslona.

PRIMJER

Na primjer, ovdje smo definirali dva podzaslona na glavnom ekranu i priložili dva različita podzaslona odgovarajućim područjima. Kad god se pozove glavni zaslon, poziva se PBO glavnog zaslona. Ali prije prikaza pozivaju se i PBO-ovi svakog zaslona koji su povezani s područjima podzaslona na glavnom zaslonu.

Nazovi Subscreen unutra SAP

Zaslon podzaslona možete uključiti pomoću naredbe CALL SUBSCREEN u logici tijeka glavnog zaslona.

Za uključivanje podzaslona u područje podzaslona glavnog zaslona i pozivanje njegove PBO logike toka, upotrijebite sljedeću izjavu u PBO događaju glavnog zaslona:

PROCESS BEFORE OUTPUT.

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

Ova izjava dodjeljuje podzaslon s brojem na podzaslonsko područje tzv . Također možete odrediti program u kojem je definiran podzaslon (opcija). Ako izričito ne navedete program, sustav traži ekran podzaslona u istom ABAP programu kao i glavni program. Ako ne pronađe odgovarajući zaslon podzaslona, ​​javlja se pogreška vremena izvođenja. PBO logika toka podzaslona također je uključena na istoj točki. Ovo može pozvati PBO module programa ABAP u kojem je definiran podzaslon. Na kraju podzaslona PBO, globalna polja iz programa prosljeđuju se svim ekranskim poljima s identičnim nazivom na podzaslonu. PBO logika toka ekrana podzaslona može sama uključivati ​​daljnje podzaslone.

Ime područja podzaslona mora se unijeti izravno bez navodnika. Možete odrediti imena i bilo kao literale ili varijable. Ako koristite varijable, morate deklarirati i ispuniti varijable s istim imenom u ABAP programu. Broj zaslona mora imati 4 znaka. Ako nekom području ne dodijelite podzaslon, ono ostaje prazno.

Da biste pozvali PAI logiku toka zaslona podzaslona, ​​upotrijebite sljedeću izjavu u PAI logici toka glavnog zaslona:

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

Ova izjava uključuje PAI logiku toka podzaslonskog zaslona uključenog u podzaslonsko područje u PBO događaju. Ovo može pozvati PAI module programa ABAP u kojem je definiran podzaslon. Podaci se prenose između polja s identičnim nazivom na podzaslonu i ABAP programu bilo kada se aktivira PAI događaj, bilo u odgovarajućim FIELD izjavama u PAI tokovnoj logici podzaslona.

Zapamtite

  • Imena elemenata podzaslona unutar ekrana trebaju biti jedinstvena
  • Ne biste trebali imati OK_CODE ili FCODE priložen uz podzaslon. Sam OK_CODE glavnog zaslona je OK_CODE podzaslona
  • Podzasloni ne mogu imati dijaloške module koji sadrže POSTAVITE NASLOVNU TRAKU, POSTAVITE PF-STATUS, POSTAVITE ZASLON, NAPUSTI ZASLON ili NAPUSTI ZASLON. To će uzrokovati pogrešku vremena izvođenja.
  • Morate ga pozvati u logici toka (i PBO i PAI) glavnog zaslona.
  • CALL SUBSCREEN nije dopušten u izjavama CHAIN..ENDCHAIN ​​i LOOP ENDLOOP
  • Ne može imati modul AT EXIT-COMMAND
  • Polja koja koristite su globalna polja. Moraju biti deklarirani u vrhu uključivanja
  • Ako koristite podzaslone iz drugog dijaloški program prijenos podataka neće se dogoditi ako ne dodate određeni kod.