Sub..end sub
sub..end sub kontrol ifadesi, bir call deyimiyle çağrılabilecek bir alt yordam tanımlar.
Söz Dizimi:
Sub name [ ( paramlist )] statements end sub
Bağımsız değişkenler alt rutine kopyalanır ve call deyiminde karşılık gelen asıl parametre değişken adıysa alt rutinden çıktıktan sonra tekrar dışarı kopyalanır.
Bir alt rutinin call deyimi ile aktarılan asıl parametrelerden daha fazla biçimsel parametresi varsa ekstra parametreler NULL olarak başlatılır ve alt rutin içerisinde yerel değişken olarak kullanılabilir.
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
name | Alt rutinin adı. |
paramlist | Alt rutinin biçimsel parametreleri için değişken adlarının virgülle ayrılmış listesi. Bunlar alt rutin içinde herhangi bir değişken gibi kullanılabilir. |
statements | Bir veya daha fazla Qlik Sense kod deyiminden oluşan herhangi bir grup. |
Sınırlamalar:
-
sub deyimi bir kontrol ifadesi olduğundan ve bu nedenle noktalı virgülle veya satır sonuyla bittiğinden, iki olası cümlesinin herhangi biri (sub ve end sub) satır sınırını geçmemelidir.
-
Bir kontrol deyiminde Sub..end sub ile if..then gibi bir alt rutin tanımladığınızda, alt rutini yalnızca aynı kontrol deyimi içinden çağırabilirsiniz.
Örnek 1:
Sub INCR (I,J)
I = I + 1
Exit Sub when I < 10
J = J + 1
End Sub
Call INCR (X,Y)
Örnek 2: - parametre aktarımı
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)
Yukarıdakilerin sonucunda yerel olarak, alt rutinin içinde, A 1 olarak başlatılır, B 4 olarak başlatılır ve C de NULL olarak başlatılır.
Alt rutinden çıkarken, A genel değişkeni değer olarak 2'yi alır (alt rutinden geri kopyalanır). İkinci gerçek parametre olan “(X+1)*2” bir değişken olmadığından, geri kopyalanmayacaktır. Son olarak, genel değişken C bu alt rutin çağrısından etkilenmez.