Creazione di un Cruscotto con 4 funzionalità
Per creare un cruscotto, dobbiamo creare un Module Pool,
a cui assoceremo una Dynpro dove inseriremo i 4 pulsanti che richiameranno le 4
funzionalità. Vediamo in dettaglio come fare questo cruscotto.
Richiamiamo la transazione SE80
e selezioniamo dal menu di sinistra, la voce “Repository
Browser” , dal menu a tendina selezioniamo Programma
ed inseriamo nel campo sottostante il nome del programma che vogliamo creare in
questo caso ZFI_GEST_ANTICIPI e premiamo il tasto INVIO, e ci verranno
chiesti la descrizione del programma e la tipologia, il pacchetto e la CR in
cui salvare le modifiche. (RICORDO CHE I MODULE POOL PER ESSERE ESEGUITI DEVONO ESSERE ASSOCIATI A DELLE TRANSAZIONI)
Cliccando sul programma creato,
verrà visualizzato il seguente codice:
*INCLUDE ZFI_GEST_ANTICIPI_TOP . " global Data
* INCLUDE ZFI_GEST_ANTICIPI_O01 . " PBO-Modules
* INCLUDE ZFI_GEST_ANTICIPI_I01 . " PAI-Modules
* INCLUDE ZFI_GEST_ANTICIPI_F01 . " FORM-Routines
Nel nostro caso decommettiamo le
prime 3 righe, e cliccando su ogni include le creiamo. Nel primo include dichiariamo le variabili globali, nel secondo include
inseriamo il codice relativo a quello che deve essere fatto prima della
visualizzazione dell’output del programma, nel terzo include inseriamo il
codice che deve essere richiamato quando l’utente esegue qualche operazione.
A questo punto creiamo la Dynpro
che conterrà i pulsanti delle 4 funzionali. Per creare la Dynpro, nella
finestra di sinistra, selezionare il nome del programma, in questo caso
ZFI_GEST_ANTICIPI, tasto destro e selezionare Creare->Dynpro.
Si creerà la dynpro con il
seguente codice:
PROCESS
BEFORE OUTPUT.
*MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
Decommentiamo le due righe, e
clicchiamo prima su status_0100 che ci chiederà dove crearlo, in questo caso
nell’ INCLUDE ZFI_GEST_ANTICIPI_O01, poi clicchiamo su user_command_0100 ed
anche in questo caso ci chiederà dove crearlo, in questo caso nell’ INCLUDE ZFI_GEST_ANTICIPI_I01.
Clicchiamo sul tab “Lista
Elementi” ed inseriamo il seguente elemento “OK_CODE” che conterrà il valore
corrispondente a tutte le azioni eseguite dall’utente.
ATTENZIONE: questa stessa variabile “OK_CODE” deve essere dichiara
globale nell’ INCLUDE ZFI_GEST_ANTICIPI_TOP
*&------- VARIABILI
GLOBALI ----------*
data: ok_code type sy-ucomm.
Premiamo adesso sul pulsante “Layuot” che consente di aprire la schermata
grafica per creare la dynpro.
Creiamo la Cornice premendo sul
tasto cornice evidenziato in verde, ed inserendo le seguenti proprietà
Creiamo il primo pulsante
premendo sul tasto “Pulsante di comando” evidenziato in verde, ed inserendo le
seguenti proprietà. Importante è il Cd. Fnz che in questo caso abbiamo inserito
FNZ1, e serve per identificare quale pulsante è stato premuto
Creiamo il primo testo associato
al primo pulsante premendo sul tasto “Campo testo” evidenziato in verde, ed
inserendo le seguenti proprietà.
Ripetiamo le stesse operazioni
per creare li altri 3 pulsanti, ricordandoci di cambiare nome degli oggetti che
creiamo e soprattutto il “Cd. Fnz” che identifica i pulsanti premuti.
Nel secondo include “ZFI_GEST_ANTICIPI_O01
“inseriamo ad esempio il seguente codice:
MODULE status_0100
OUTPUT.
set pf-status 'GUI_100'.
set titlebar 'TITOLO_100'.
ENDMODULE. " STATUS_0100 OUTPUT
set pf-status 'GUI_100'.
set titlebar 'TITOLO_100'.
ENDMODULE. " STATUS_0100 OUTPUT
In pratica stiamo dicendo che a
questo programma è associato un titolo, che è quello che comparirà in alto
quando viene eseguito il programma ed un menu di nome “GUI_100”. Adesso
dobbiamo creare il menu ed il titolo.
Per creare il Titolo, nella
finestra di sinistra, selezionare il nome del programma, in questo caso
ZFI_GEST_ANTICIPI, tasto destro e selezionare Creare->Titolo GUI.
Inserire il codice titolo, come
quello inserito nel codice quindi TITOLO_100,
ed il titolo che deve comparire
Per creare il Menu, nella
finestra di sinistra, selezionare il nome del programma, in questo caso
ZFI_GEST_ANTICIPI, tasto destro e selezionare Creare->Stato GUI.
Inserire il codice dello stato,
come quello inserito nel codice quindi GUI_100,
ed un testo breve
Si aprirà una schermata in cui andremo ad inserire la definzione dei soli 3 pulsanti BACK STOP e EXIT, per gestire l'uscita dal programma principale.
Nell’ INCLUDE ZFI_GEST_ANTICIPI_TOP dichiariamo le 4 transazioni (Ad ogni
transazione deve essere legato un programma) che devono essere richiamate quando vengono
premuti rispettivi pulsanti.
*&------- COSTANTI
----------*
CONSTANTS: gc_tcode_1 LIKE sy-tcode VALUE 'ZAFI_GEST_ANTICIPI01',
gc_tcode_2 LIKE sy-tcode VALUE 'ZAFI_GEST_ANTICIPI02',
gc_tcode_3 LIKE sy-tcode VALUE 'ZAFI_GEST_ANTICIPI03',
gc_tcode_4 LIKE sy-tcode VALUE 'ZAFI_GEST_ANTICIPI04'.
CONSTANTS: gc_tcode_1 LIKE sy-tcode VALUE 'ZAFI_GEST_ANTICIPI01',
gc_tcode_2 LIKE sy-tcode VALUE 'ZAFI_GEST_ANTICIPI02',
gc_tcode_3 LIKE sy-tcode VALUE 'ZAFI_GEST_ANTICIPI03',
gc_tcode_4 LIKE sy-tcode VALUE 'ZAFI_GEST_ANTICIPI04'.
Nel terzo include “ZFI_GEST_ANTICIPI_I01
“inseriamo il codice che gestisce i pulsanti premuti dall’utente, in questo
caso se l’utente preme il pulsante 1, la variabile ok_code conterrà il valore “FNZ1”
e quindi verrà richiamata la transazione 'ZAFI_GEST_ANTICIPI01'
e così gli altri. Se l’utente preme i pulsanti “BACK”, “STOP” e “EXIT”
esce dal programma principale
MODULE
user_command_0100 INPUT.
case ok_code.
when 'FNZ1'.
call transaction gc_tcode_1.
when 'FNZ2'.
call transaction gc_tcode_2.
when 'FNZ3'.
call transaction gc_tcode_3.
when 'FNZ4'.
call transaction gc_tcode_4.
when '&BACK' or '&STOP' or '&EXIT'.
leave program.
endcase.
ENDMODULE. " USER_COMMAND_0100 INPUT
when 'FNZ1'.
call transaction gc_tcode_1.
when 'FNZ2'.
call transaction gc_tcode_2.
when 'FNZ3'.
call transaction gc_tcode_3.
when 'FNZ4'.
call transaction gc_tcode_4.
when '&BACK' or '&STOP' or '&EXIT'.
leave program.
endcase.
ENDMODULE. " USER_COMMAND_0100 INPUT
EBOOK: le mie guide sono visualizzabili cliccando sui link:
1. SAP EWM (Extended Warehouse Management)
3. SAP VIM (Vendor Invoice Management)
1. SAP EWM (Extended Warehouse Management)
3. SAP VIM (Vendor Invoice Management)
SE MI CONTATTATE IN PRIVATO, PAGATE LA META' DEL PREZZO DI AMAZON, E POTETE SCEGLIERE IL FORMATO WORD o PDF.
>>> RECENSIONI DEI LIBRI su Amazon Kindle <<<
Ebook: SAP CDS: https://www.amazon.it/dp/B0B9BD1RN3#customerReviews
Ebook: SAP MM: https://www.amazon.it/dp/B0C3MKD9BR#customerReviews
Ebook: SAP MII: https://www.amazon.it/dp/B0C4392MY9#customerReviews
Ebook: SAP VIM: https://www.amazon.it/dp/B0C6FBK8QN#customerReviews
Ebook: SAP MM: https://www.amazon.it/dp/B0C3MKD9BR#customerReviews
Ebook: SAP MII: https://www.amazon.it/dp/B0C4392MY9#customerReviews
Ebook: SAP VIM: https://www.amazon.it/dp/B0C6FBK8QN#customerReviews
Ebook: SAP EWM: https://www.amazon.it/dp/B0CL6TXP1V#customerReviews