Sub..end sub

sub..end sub 制御ステートメントは、call ステートメントで呼び出されるサブルーチンを定義します。

Syntax:  

Sub name [ ( paramlist )] statements end sub

 

引数はサブルーチンにコピーされ、call ステートメントで対応する実パラメータが変数名の場合は、サブルーチンの終了後、コピーして戻されます。

サブルーチンに call ステートメントで渡される実パラメータよりも仮パラメータが多い場合は、余分なパラメータは NULL に初期化され、サブルーチン内でローカル変数として使用できます。

sub ステートメントは制御ステートメントであり、セミコロンまたは改行コードで終わっているため、2 つの節 (subend sub) が行をまたぐことはできません。

Arguments:  

引数 説明
name サブルーチンの名前。
paramlist サブルーチンの仮パラメータの変数名のコンマ区切りリスト。これはサブルーチン内の変数として使用できます。
statements 1 つ以上の QlikView スクリプト ステートメントのグループ。

Example 1:  

Sub INCR (I,J)

I = I + 1

Exit Sub when I < 10

J = J + 1

End Sub

Call INCR (X,Y)

Example 2: - パラメータ転送

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)

上記の結果、サブルーチン内でローカルに A は 1、B は 4、C は NULL に初期化されます。

サブルーチンを終了する際、グローバル変数 A は 2 を値として取得します (サブルーチンからコピーして返されます)。2 番目の実パラメータ “(X+1)*2” は変数ではないため、コピーして返されません。最後に、グローバル変数 C はサブルーチン呼び出しの影響を受けません。

See also: