Call

O comando de controle call chama uma sub-rotina que deve ser definida por um comando sub prévio.

Syntax:  

Call name ( [ paramlist ])

 

Arguments:  

Argumento Descrição
name O nome da sub-rotina.
paramlist Uma lista separada por vírgulas dos parâmetros reais que serão enviados para a sub-rotina. Cada item da lista deve ser um nome de campo, uma variável ou uma expressão arbitrária.

A sub-rotina chamada por uma declaração call deve ser definida por um sub encontrado anteriormente durante a execução do script.

Os parâmetros são copiados na sub-rotina e, se o parâmetro no comando call for uma variável e não uma expressão, serão copiados novamente ao sair da sub-rotina.

Limitations:  

Como o comando call é de controle e, portanto, termina com um ponto e vírgula ou com um fim de linha, ele não deve cruzar um limite de linha.

Example:  

Este exemplo lista todos os arquivos relacionados do Qlik em uma pasta e em suas subpastas, e armazena informações sobre o arquivo em uma tabela. Supõe-se que você tenha criado uma conexão de dados com o nome Apps à pasta.

A sub-rotina DoDir é chamada com a referência à pasta, 'lib://Apps', como parâmetro. Dentro da sub-rotina, há uma chamada recursiva, Call DoDir (Dir), que faz com que a função procure arquivos recursivamente em subpastas.

sub DoDir (Root) For Each Ext in 'qvw', 'qvo', 'qvs', 'qvt', 'qvd', 'qvc', 'qvf' For Each File in filelist (Root&'\*.' &Ext) LOAD '$(File)' as Name, FileSize( '$(File)' ) as Size, FileTime( '$(File)' ) as FileTime autogenerate 1; Next File Next Ext For Each Dir in dirlist (Root&'\*' ) Call DoDir (Dir) Next Dir End Sub Call DoDir ('lib://Apps')