FUNCTION: funzioni già sviluppate in ABAP/4 che svolgono particolari operazioni di uso ricorrente nei programmi ABAP/4 e che il programmatore può richiamare quando lo ritiene necessario.
Le Functions sono gestite dalla transazione SE37 (visualizzazione, modifica e creazione).
Ogni FUNCTIONS può essere richiamata da un programma ABAP/4 tramite l’istruzione CALL FUNCTION. Spesso occorre fornire dei valori in input alla FUNCTION, la quale a sua volta restituisce altri valori ed eventualmente delle possibili condizioni di errore che dovrebbero essere testate dal programma chiamante. A titolo di esempio si può vedere il richiamo della FUNCTION BDC_OPEN_GROUP, utilizzata nella scrittura di programmi di BATCH-INPUT:

Dopo la parola IMPORTING occorre elencare e valorizzare tutti i parametri che sono previsti in input dalla funzione così come sono definiti nella relativa documentazione, analogamente si opera per gli eventuali parametri restituiti dalla funzione che compariranno dopo la parola EXPORTING (nel caso indicato non è stata prevista una restituzione dei parametri e quindi la parola EXPORTING non compare). Infine occorre gestire le eventuali condizioni di errore previste dalla FUNCTION dopo la parola EXCEPTIONS (verificandole nella documentazione), assegnando una valore a ogni possibile caso di errore. Il campo di sistema SY-SUBRC assumerà il valore 0, se l’esecuzione della FUNCTION termina regolarmente, in caso contrario prenderà il valore associato alla situazione di errore verificatasi. Se, ad esempio, un programma richiamasse la funzione di cui sopra impostando in maniera non corretta il parametro CLIENT (cioè con un utente non definito in SAP), allora il campo SY-SUBRC assumerebbe il valore 01. Spesso una funzione non pretende di essere richiamata esplicitando tutti i parametri e tutte le condizioni di errore descritti nella relativa documentazione, ma è possibile elencare e valorizzare solo quelli significativi caso per caso.
In molti sistemi informativi è molto comune la realizzazione di nuove funzioni oltre a quelle standard fornite da SAP.
Per ulteriori approfondimenti si rimanda all’uso dell’help in linea fornito da SAP. |