Migliora L’Acquisizione Dati Utente Con Un Function Module | SapProfession gtag('config', 'AW-858385100');

Migliora L’Acquisizione Dati Utente Con Un Function Module

A volte, gli sviluppatori devono ottenere un valore o valori dall’utente e memorizzarli nel programma per un’ulteriore elaborazione. Questo requisito puo’ essere richiesto sia nei programmi di dialogo, sia report.

Il modulo delle funzioni di SAP POPUP_GETVALUES ci consente di farlo con il minimo sforzo.

Qui, vedremo come utilizzare il modulo funzione e apprenderne i parametri principali e l’output corrispondente. Quindi questo articolo risponderà alle seguenti domande:

  • Quali sono i parametri più importanti del modulo funzione?
  • Quali passi vengono utilizzati per chiamarlo nei programmi ABAP?
  • Come si presenta l’output tipico del modulo?

Utilizzo del modulo funzione POPUP_GETVALUES

Prima di entrare nella chiamata per il modulo function POPUP_GETVALUES, familiarizziamo con i parametri chiave. Il modulo funzionale prende come parametro l’importante parametro FIELDS.

Questo parametro si basa sulla struttura del dizionario SVAL, che ha tre campi importanti: il nome della tabella (TABNAME), il nome del campo (FIELDNAME) e il valore (VALUE). Il nome della tabella e il nome del campo determinano il tipo e la dimensione dei campi di input visualizzati e il valore che l’utente inserisce viene restituito nel campo VALUE

Supponiamo di dover prendere due campi, numero di impiegato e nome, come input dall’utente tramite una finestra di dialogo.

Vediamo ora i passaggi richiesti, compresa la definizione delle variabili necessarie, popolandoli con i nomi dei campi da visualizzare nella finestra di dialogo di input e chiamando il modulo funzionale.

1 Iniziamo definendo una tabella interna basata sulla struttura del dizionario SVAL e nominandola DISPLAYED_FIELDS. Ora definiamo anche una struttura con il nome SINGLE_FIELD. data: display_fields type table of sval. dati: single_field tipo sval.

2 Successivamente, aggiungiamo due righe alla tabella interna. Per ogni campo di input da visualizzare nella finestra di dialogo di input, abbiamo bisogno di una riga separata nella tabella DISPLAYED_FIELDS. Aggiungere due campi, il primo per il PERNR (numero di dipendenti) e il secondo per il nome del dipendente.

single_field-tabname = ‘PA0003’.

single_field-fieldname = ‘PERNR’.  append single_field to displayed_fields.

single_field-tabname = ‘PA0001’.

single_field-fieldname = ‘ENAME’. append single_field to displayed_fields.

Per impostazione predefinita, la sequenza di righe qui determina la sequenza dei campi di input in fase di esecuzione. L’etichetta del campo di input viene anche ricavata dal testo dell’elemento di dati dei campi della tabella. Vale la pena notare che potresti trovare i campi che utilizzerai come base di input in diverse tabelle. Come puoi vedere, nel nostro caso, il campo è dalla tabella PA0001 e l’altra è da PA0003.

3 Chiamiamo ora il modulo function e quindi passiamo la tabella interna come parametro.

call function ‘POPUP_GET_VALUES’

exporting

popup_title = ‘Enter Employee

Details’

tables

fields = displayed_fields

exceptions

error_in_fields = 1 others = 2.

4 Il parametro POPUP_TITLE consente di definire il titolo della casella. Specificare un titolo di dialogo adatto da visualizzare quando il programma viene eseguito.

read table displayed_fields into single_field

with key fieldname = ‘PERNR’.

if sy-subrc = 0.

write single_field-value.

endif.

Il codice completo del programma è mostrato nel Codice di seguito

data: displayed_fields  type table of sval.

data: single_field  type sval.

single_field-tabname = ‘PA0003’.

single_field-fieldname = ‘PERNR’. append single_field  to displayed_fields.

single_field-tabname = PA0001’.

single_field-fieldname = ‘ENAME’. append single_field  to displayed_fields.

call function ‘POPUP_GET_VALUES’

exporting popup_title = ‘Enter Employee Details’

tables

fields = displayed_fields

exceptions

error_in_fields = 1

others = 2.

read table displayed_fields into single_field with key fieldname = ‘PERNR’.

if sy-subrc  = 0.

write single_field-value.

endif.

read table displayed_fields into single_field with key fieldname = ‘ENAME’.

if sy-subrc  = 0.

write single_field-value.

endif.

Quando il programma viene eseguito, viene visualizzata una finestra di dialogo, come mostrato nella Figura 1. L’utente può quindi immettere i valori nei campi pertinenti. Questi valori vengono quindi restituiti nel campo VALUE della tabella interna DISPLAYED_FIELDS.

input function module abap

outputted dialog box

function module abap

outputted data

L’output di questo è mostrato nella seconda Figura. È possibile modificare questo codice sorgente in base alle proprie esigenze individuali.

Click Here to Leave a Comment Below 0 comments
elenco Blog