Vadnica za ABAP podzaslone: ​​Pokliči podzaslon v SAP

Kazalo:

Anonim

Preden preberete to vadnico, se prepričajte, kaj je program Dialog…

KLICITE NA PODSKRENO

  • Podzaslon je neodvisen zaslon, ki se prikaže na območju drugega ("glavnega") zaslona.
  • Podzasloni omogočajo vdelavo enega zaslona v drugega med izvajanjem. Na glavni zaslon lahko vključite več podzaslonov.
  • Izraz podzaslon velja tako za zaslon, ki ste ga vdelali, kot tudi za območje na glavnem zaslonu, kamor ga postavite. Ta vadnica govori o podzaslonskih področjih. Dejanski zasloni, ustvarjeni s transakcijo SE51, se imenujejo podzasloni, če so opredeljeni v atributih zaslona.
  • Ko uporabljate podzaslon, je logika pretoka vdelanega zaslona vdelana tudi v logiko pretoka glavnega zaslona, ​​zato je uporaba podzaslonov na zaslonih kot uporaba vključenih programov ABAP.

Če želite uporabiti podzaslon, morate slediti trem preprostim korakom

  1. Določite območja podzaslona na zaslonu
  2. Določite primerne podzaslone
  3. Vključite zaslon podzaslona v območje podzaslona.

Prav tako morate prilagoditi okvir podzaslona in glavnega zaslona. Poimenovati ga morate v polju z imenom polja.
Nadalje morate prilagoditi tudi polja na podzaslonu, da se prikažejo na glavnem zaslonu. Če je podzaslon določen kot večji od razpoložljivega območja na glavnem zaslonu, bo viden le tisti del podzaslona, ​​ki ustreza razpoložljivemu območju. Območje se vedno meri od zgornjega levega kota zaslona. Zato morate biti primerno previdni pri določanju podzaslonskih področij in ustvarjanju podzaslonov.
PRIMER

Tu smo na primer na glavnem zaslonu definirali dve podzaslonski področji in na ustrezna področja priložili dva različna podzaslona. Kadarkoli se pokliče glavni zaslon, se pokliče PBO glavnega zaslona. Toda pred prikazom se imenujejo tudi PBO vsakega zaslona, ​​pritrjenega s podzaslonskimi območji na glavnem zaslonu.

Zaslon podzaslona lahko vključite z uporabo stavka CALL SUBSCREEN v logiko pretoka glavnega zaslona.
Če želite v podzaslon glavnega zaslona vključiti podzaslon in poklicati njegovo logiko toka PBO, uporabite naslednji stavek v dogodku PBO glavnega zaslona:

POSTOPEK PRED IZHODOM.KLICITE PODZASLON  VKLJUČNO [
] .

Ta stavek dodeli podzaslon s številko območju podzaslona, ​​imenovane . Določite lahko tudi program, v katerem je definiran podzaslon (neobvezno). Če programa ne določite izrecno, sistem poišče podzaslon v istem programu ABAP kot glavni program. Če ne najde ustreznega podzaslona, ​​pride do napake med izvajanjem. Na isti točki je vključena tudi logika pretoka PBO na podzaslonu. S tem lahko pokličete module PBO programa ABAP, v katerih je definiran podzaslon. Na koncu PBO podzaslona se globalna polja iz programa posredujejo katerim koli poimenovanim poljem zaslona na podzaslonu. Logika pretoka PBO na podzaslonu lahko sama vključuje nadaljnje podzaslone.

Ime območja podzaslona je treba vnesti neposredno brez obrnjenih vejic. Imena in lahko določite bodisi kot literali bodisi kot spremenljivki. Če uporabljate spremenljivke, morate v programu ABAP prijaviti in izpolniti istoimenske spremenljivke. Številka zaslona mora biti dolga 4 znake. Če območju ne dodelite podzaslona, ​​ostane prazen.
Če želite poklicati logiko toka PAI na podzaslonu, uporabite naslednji stavek v logiki toka PAI na glavnem zaslonu:

PROCES PO VHODU.KLICITE PODZASLON .

Ta izjava vključuje logiko toka PAI zaslona podzaslona, ​​vključenega v območje podzaslona v dogodku PBO. To lahko pokliče PAI module programa ABAP, v katerih je definiran podzaslon. Podatki se prenašajo med polji z enakim imenom na podzaslonskem zaslonu in programu ABAP, bodisi ko se sproži dogodek PAI, bodisi v ustreznih stavkih FIELD v logiki toka PAI na podzaslonskem zaslonu.
Točke, ki si jih je treba zapomniti

  • Imena elementov podzaslonov znotraj zaslona morajo biti enolična
  • Na podzaslonu ne bi smeli imeti OK_CODE ali FCODE. Sam OK_CODE glavnega zaslona je OK_CODE podzaslona
  • Podzasloni ne morejo imeti pogovornih modulov, ki vsebujejo SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN ali LEAVE TO SCREEN. To bo povzročilo napako med izvajanjem.
  • Poklicati ga morate v logiki pretoka (tako PBO kot PAI) glavnega zaslona.
  • CALL SUBSCREEN ni dovoljen v stavkih CHAIN ​​... ENDCHAIN ​​in LOOP ENDLOOP
  • Ne more imeti modula AT EXIT-COMMAND
  • Polja, ki jih uporabljate, so globalna. Prijavljeni morajo biti v zgornjem delu
  • Če uporabljate podzaslone iz drugega pogovornega programa, se prenos podatkov ne bo zgodil, če ne dodate posebne kode.