Call
Kontrollsatsen call anropar en subrutin som måste vara definierad av en sub-sats på en tidigare plats i skriptet.
Syntax:
Call name ( [ paramlist ])
Argument:
Argument | Beskrivning |
---|---|
name | Subrutinens namn. |
paramlist | En kommaavgränsad lista över de faktiska parametrar som ska skickas till den underordnade rutinen. Varje parameter i listan kan vara ett fältnamn, ett variabelnamn eller ett godtyckligt uttryck. |
Den underordnade rutinen som anropas med hjälp av en call-sats måste vara definierad i en sub-sats som påträffats tidigare under skriptexekveringen.
Parametrarna kopieras in i subrutinen. Om parametern i call-satsen är ett variabelnamn, inte ett uttryck, kopieras dess värde dessutom tillbaka ut igen när subrutinen avslutas.
Begränsningar:
-
Eftersom call-satsen är en kontrollsats och som sådan slutar med ett semikolon eller ett radslut, får den inte korsa en linjegräns.
-
När du definierar en underordnad rutin med Sub..end sub inuti en kontrollsats, till exempel if..then, kan du bara anropa den underordnade rutinen inifrån samma kontrollsats.
Exempel:
I det här exemplet visas alla Qlik-relaterade filer i en mapp och dess undermappar, och filinformationen lagras i en tabell. Vi utgår från att du har skapat en dataanslutning med namnet Apps till mappen.
Den underordnade rutinen DoDir anropas med referensen till mappen 'lib://Apps' som parameter. Inuti den underordnade rutinen finns det ett rekursivt anrop, Call DoDir (Dir), som får funktionen att leta efter filer rekursivt i undermappar.