Vai al contenuto principale Passa a contenuto complementare

Sub..end sub

L'istruzione di controllo sub..end sub definisce una subroutine che può essere richiamata da un'istruzione call.

Sintassi:  

Sub name [ ( paramlist )] statements end sub

 

Gli argomenti vengono copiati nella subroutine e, se i relativi parametri reali nell'istruzione call corrispondono a un nome di variabile, vengono copiati nuovamente quando si chiude la subroutine.

Se una subroutine presenta più parametri formali di quelli effettivi passati da un'istruzione call, i parametri extra vengono inizializzati su NULL e possono essere utilizzati come variabili locali all'interno della subroutine.

L'istruzione sub è un'istruzione di controllo che termina con un punto e virgola o un fine riga, quindi ciascuna delle due clausole corrispondenti (sub e end sub) non deve superare la lunghezza limite della linea.

Argomenti:  

Argomenti Sub
Argomento Descrizione
name Il nome della subroutine.
paramlist Un elenco separato da virgole di nomi di variabili per i parametri formali della subroutine. Può essere utilizzato come qualsiasi variabile all'interno della subroutine.
statements Qualsiasi gruppo di una o più istruzioni dello script di licenza.

Esempio 1:  

Sub INCR (I,J)

I = I + 1

Exit Sub when I < 10

J = J + 1

End Sub

Call INCR (X,Y)

Esempio 2: - trasferimento parametri

Sub ParTrans (A,B,C)

A=A+1

B=B+1

C=C+1

End Sub

A=1

X=1

C=1

Call ParTrans (A, (X+1)*2)

Dall'esempio precedente risulta che localmente, all'interno della subroutine, A verrà inizializzato su 1, B verrà inizializzato su 4 e C verrà inizializzato su NULL.

Quando si chiude la subroutine, la variabile globale A otterrà 2 come valore (ricopiato dalla subroutine). Il secondo parametro reale “(X+1)*2” non verrà ricopiato dato che non si tratta di una variabile. Infine, la variabile globale C non verrà influenzata dalla chiamata della subroutine.

Ulteriori informazioni

 

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!

Partecipa al programma Analytics Modernization

Remove banner from view

Modernizza senza compromettere le tue preziose app QlikView con il programma Analytics Modernization. Fare clic qui per maggiori informazioni o per contattarci: ampquestions@qlik.com