Net.Data: Guida alla gestione e alla programmazione per OS/400

Chiamata delle funzioni

Utilizzare un'istruzione di chiamata di funzione di Net.Data per richiamare entrambe le funzioni definite dall'utente e le funzioni integrate. Utilizzare il carattere at (@) seguito da un nome blocco FUNCTION o da un nome blocco MACRO_FUNCTION:

@nome_funzione([ argument,... ])

nome_funzione
E' il nome del blocco FUNCTION o del blocco MACRO_FUNCTION da richiamare. La funzione deve risultare già definita nella macro di Net.Data, a meno che non si tratti di una funzione integrata.

argument
E' il nome di una variabile definita, di una stringa di caratteri letterali, di un riferimento di variabile o di una chiamata di funzione. Argument su una chiamata di funzione corrispondono ai parametri su un blocco FUNCTION o su un blocco MACRO_FUNCTION ed ad ogni parametro viene assegnato il valore argument corrispondente mentre il blocco FUNCTION o il blocco MACRO_FUNCTION viene elaborato. I valori di argument devono essere uguali nel numero e nel tipo a quelli dei parametri corrispondenti.

Net.Data elabora il blocco FUNCTION , il blocco MACRO_FUNCTION o le funzioni integrate associate ad una chiamata di funzione nel seguente ordine:

  1. Net.Data elabora i riferimenti delle variabili e le chiamate di funzione nella sezione delle istruzioni eseguibili del blocco FUNCTION. Net.Data sostituisce tutti i riferimenti delle variabili con i valori correnti delle variabili ed esegue e sostituisce tutte le chiamate di funzione con il valore di chiamata di funzione. I riferimenti delle variabili e le chiamate di funzione vengono elaborati nell'ordine in cui sono stati specificati. Net.Data non elabora le funzioni integrate o i blocchi MACRO_FUNCTION durante questa fase.

  2. Il processore del linguaggio nativo elabora la sezione delle istruzioni eseguibili. Per i blocchi FUNCTION, il processore corrisponde all'ambiente di linguaggio specificato sul blocco FUNCTION, come SQL, REXX o Perl. Per i blocchi MACRO_FUNCTION, Net.Data opera come processore di linguaggio ed esegue le istruzioni eseguibili. Alcune funzioni integrate non dispongono di istruzioni eseguibili. Net.Data elabora le funzioni integrate per nome funzione.

    Net.Data trasferisce i parametri della funzione al processore del linguaggio nativo. Net.Data trasferisce i valori al processore di linguaggio nativo solo per i parametri IN e INOUT ed accetta i valori restituiti dal processore di linguaggio nativo solo per i parametri OUT e INOUT.

  3. Net.Data imposta le variabili implicite RETURN_CODE e DTW_DEFAULT_MESSAGE in base al codice di ritorno e al messaggio restituito del processore di linguaggio. Net.Data non imposta queste variabili per i blocchi MACRO_FUNCTION.

  4. Se il blocco FUNCTION o il blocco MACRO_FUNCTION contiene uno o più blocchi REPORT o specifica prospetti predefiniti da generare, Net.Data elabora il prospetto i prospetti utilizzando i nuovi valori dei parametri di emissione a cui si fa riferimento. Net.Data non genera prospetti per le funzioni integrate.

  5. Se il blocco FUNCTION contiene un blocco MESSAGE locale, Net.Data elabora il blocco MESSAGE. Net.Data elabora il blocco MESSAGE globale quando si verifica una delle seguenti condizioni: MACRO_FUNCTION.

  6. Net.Data sostituisce la chiamata di funzione con il valore restituito della funzione. Per i blocchi FUNCTION, il valore può essere:

    valore di parametro RETURNS
    Sostituito per il blocco FUNCTION con una parola chiave RETURNS.

    Stringa vuota ("")
    Sostituito per il blocco FUNCTION senza una parola chiave RETURNS quando RETURN_CODE è zero.

    RETURN_CODE
    Sostituito per il blocco FUNCTION senza una parola chiave RETURNS quando RETURN_CODE non è zero.

    Pe i blocchi MACRO_FUNCTION, i risultati della sezione delle istruzioni eseguibili sostituisce la chiamata di funzione.

    Per le funzioni integrate, il valore dipende dal formato della funzione integrata.


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]