Пре него што прочитате ово упутство, уверите се шта је програм дијалога ...
ПОЗОВИТЕ ПОДСКРЕН
- Подзаслон је независни екран који се приказује у подручју другог („главног“) екрана.
- Подзаслони вам омогућавају да током извођења уграђујете један екран у други. Можете укључити више под-екрана на главни екран.
- Израз подзаслон односи се и на екран који сте уградили и на подручје на главном екрану у којем сте га поставили. Овај водич говори о подзаслонима. Стварни екрани створени кроз трансакцију СЕ51 називају се подзаслони ако су дефинисани у атрибутима екрана.
- Када користите подзаслон, логика протока уграђеног екрана је такође уграђена у логику протока главног екрана. Стога је коришћење подзаслона на екранима попут коришћења укључује у програмима АБАП.
Да бисте користили подзаслон, морате следити три једноставна корака
- Дефинишите подручја на екрану
- Дефинишите одговарајуће екране на подекрану
- Укључите екран подзаслона у подручје подзаслона.
Такође, треба да прилагодите оквир под-екрана и главног екрана. Морате га именовати у пољу за назив поља.
Даље, такође треба да прилагодите поља у оквиру под-екрана како би се појавила на главном екрану. У случају да је дефинисано да је под-екран већи од доступне површине на главном екрану, биће видљив само део под-екрана који се уклапа у доступно подручје. Површина се увек мери од горњег левог угла екрана. Стога бисте требали бити на опрезу док дефинишете подручја под-екрана и креирате под-екране.
ПРИМЕР
На пример, овде смо дефинисали две области под-екрана на главном екрану и придружили смо два различита под-екрана одговарајућим областима. Кад год се позове главни екран, позива се ПБО главног екрана. Али пре приказа, називају се и ПБО сваког екрана прикаченог са под-екранима на главном екрану.
Можете укључити подзаслон помоћу израза ЦАЛЛ СУБСЦРЕЕН у логику тока главног екрана.
Да бисте укључили подзаслон у подручје подзаслона главног екрана и позвали његову логику протока ПБО, користите следећу изјаву у ПБО догађају главног екрана:
ПРОЦЕС ПРЕ ИЗЛАЗА.ПОЗОВИТЕ ПОДСКРЕН <ареа> УКЉУЧУЈУЋИ [<прог>] <динп>.
Ова изјава додељује подзаслон екрану са бројем <динп> подручју подзаслона званом <ареа>. Такође можете да одредите програм у коме је дефинисан екран под-екрана (опционално). Ако програм не наведете изричито, систем ће тражити подзаслон у истом програму АБАП као и главни програм. Ако не пронађе одговарајући екран подзаслона, појављује се грешка у раду. Логика протока ПБО на подзаслону је такође укључена у истој тачки. То може позвати ПБО модуле АБАП програма у којима је дефинисан подзаслон. На крају ПБО под-екрана, глобална поља из програма прослеђују се у било која идентично названа поља екрана на под-екрану. Логика протока ПБО на подзаслону може сама да укључује додатне подзаслоне.
Име <ареа> подручја подзаслона мора се унети директно без обрнутих зареза. Имена <прог> и <динп> можете навести било као литерале или као променљиве. Ако користите променљиве, морате декларисати и попунити истоимено променљиве у програму АБАП. Број екрана <динп> мора да има 4 знака. Ако не доделите подзаслон неком подручју, он ће остати празан.
Да бисте позвали логику протока ПАИ на подзаслону, користите следећу изјаву у логици протока ПАИ на главном екрану:
ПРОЦЕС ПОСЛЕ УЛАЗА.ПОЗОВИТЕ ПОДСКРЕН <ареа>.
Ова изјава укључује логику протока ПАИ екрана пот-екрана укљученог у подручје под-екрана <ареа> у ПБО догађају. То може позвати ПАИ модуле АБАП програма у којима је дефинисан подзаслон. Подаци се преносе између поља са идентичним именом на екрану под-екрана и програма АБАП, било када се покреће ПАИ догађај, или у одговарајућим изразима ФИЕЛД у ПАИ логици тока под-екрана.
Тачке које треба запамтити
- Имена елемената пот-екрана унутар екрана треба да буду јединствена
- Не би требало да имате ОК_ЦОДЕ или ФЦОДЕ прикључене са под-екраном. ОК_ЦОДЕ самог главног екрана је ОК_ЦОДЕ под-екрана
- Под-екрани не могу имати дијалошке модуле који садрже СЕТ ТИТЛЕБАР, СЕТ ПФ-СТАТУС, СЕТ СЦРЕЕН, ЛЕАВЕ СЦРЕЕН или ЛЕАВЕ ТО СЦРЕЕН. То ће проузроковати грешку у извођењу.
- То треба да позовете у логици протока (и ПБО и ПАИ) на главном екрану.
- ЦАЛЛ СУБСЦРЕЕН није дозвољен у ЦХАИН ... ЕНДЦХАИН и ЛООП ЕНДЛООП изразима
- Не може имати АТ ЕКСИТ-ЦОММАНД модул
- Поља која користите су глобална поља. Морају бити декларисани у врху укључују
- Ако користите подзаслоне из другог дијалошког програма, пренос података се неће догодити ако не додате одређени код.