Prima di leggere questo tutorial, assicurati di cos'è un programma di dialogo ...
CHIAMARE SUBSCREEN
- Una schermata secondaria è una schermata indipendente visualizzata in un'area di un'altra schermata ("principale").
- Gli schermi secondari consentono di incorporare uno schermo all'interno di un altro in fase di esecuzione. È possibile includere più schermate secondarie nella schermata principale.
- Il termine sottoschermo si applica sia allo schermo che incorpori, sia all'area dello schermo principale in cui lo inserisci. Questo tutorial riguarda le aree sottoschermo. Le schermate effettive create tramite la transazione SE51, sono chiamate schermate sottoschermo se definite negli attributi dello schermo.
- Quando si utilizza una schermata secondaria, la logica di flusso della schermata incorporata è anche incorporata nella logica di flusso della schermata principale. Pertanto, l'utilizzo di schermate secondarie sugli schermi è come utilizzare include nei programmi ABAP.
Per utilizzare una schermata secondaria, è necessario seguire tre semplici passaggi
- Definire le aree sottoschermo su uno schermo
- Definire schermate sottoschermo adatte
- Includere lo schermo sottoschermo nell'area sottoschermo.
Inoltre, è necessario regolare la cornice dello schermo secondario e della schermata principale. Devi nominarlo nel campo del nome del campo.
Inoltre, è anche necessario regolare i campi all'interno della schermata secondaria per farli apparire nella schermata principale. Nel caso in cui lo schermo secondario sia definito come più grande dell'area disponibile nella schermata principale, sarà visibile solo la parte dello schermo secondario che si adatta all'area disponibile. L'area viene sempre misurata dall'angolo superiore sinistro dello schermo. Quindi è necessario prestare la dovuta attenzione durante la definizione delle aree secondarie dello schermo e la creazione di schermate secondarie.
ESEMPIO
Ad esempio, qui abbiamo definito due sottoschermi nella schermata principale e abbiamo collegato due diversi sottoschermi alle aree corrispondenti. Ogni volta che viene chiamata la schermata principale, viene chiamato il PBO della schermata principale. Ma prima della visualizzazione, vengono anche chiamati i PBO di ogni schermata collegata con aree secondarie sullo schermo principale.
È possibile includere una schermata della schermata secondaria utilizzando l'istruzione CALL SUBSCREEN nella logica di flusso della schermata principale.
Per includere una schermata sottoschermo nell'area sottoschermo della schermata principale e chiamare la sua logica di flusso PBO, utilizzare la seguente dichiarazione nell'evento PBO della schermata principale:
PROCESSO PRIMA DELL'USCITA.CALL SUBSCREEN COMPRESO [] .
Questa istruzione assegna lo schermo sottoschermo con il numero
Il nome dell'area sottoschermo deve essere inserito direttamente senza virgolette. È possibile specificare i nomi
Per chiamare la logica del flusso PAI della schermata sottoschermo, utilizzare la seguente istruzione nella logica del flusso PAI della schermata principale:
PROCESSO DOPO L'INGRESSO.CHIAMA SUBSCREEN .
Questa istruzione include la logica del flusso PAI della schermata sottoschermo inclusa nell'area sottoschermo nell'evento PBO. Questo può chiamare i moduli PAI del programma ABAP in cui è definita la schermata sottoschermo. I dati vengono trasportati tra i campi denominati in modo identico nella schermata sottoschermo e il programma ABAP quando viene attivato l'evento PAI o nelle corrispondenti istruzioni FIELD nella logica di flusso PAI della schermata sottoschermo.
Punti da ricordare
- I nomi degli elementi delle schermate secondarie all'interno di una schermata dovrebbero essere univoci
- Non dovresti avere OK_CODE o FCODE allegato alla schermata secondaria. L'OK_CODE della schermata principale stessa è OK_CODE della schermata secondaria
- Le schermate secondarie non possono contenere moduli di dialogo contenenti SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN o LEAVE TO SCREEN. Ciò causerà un errore di runtime.
- È necessario chiamarlo nella logica di flusso (sia PBO che PAI) della schermata principale.
- CALL SUBSCREEN non è consentito nelle istruzioni CHAIN… ENDCHAIN e LOOP ENDLOOP
- Non può avere un modulo AT EXIT-COMMAND
- I campi che utilizzi sono i campi globali. Devono essere dichiarati nella parte superiore include
- Se si utilizzano schermate secondarie da un altro programma di dialogo, il trasferimento dei dati non avverrà a meno che non si aggiunga un codice specifico.