Como saber o tamanho (quantidade de linhas) de uma global com comando direto
Existe algum comando que retorna a quantidade de linhas de uma global?
Exemplo:
^test(1)="aa"
^test(2)="aa"
^test(3)="aa"
^test(4)="aa"
Total de linhas = 4
Comments
Um comando direto eu não conheço, mas você pode tentar um $Order para ler a global e contar a quantidade de níveis.
Exemplo:
Set pass="",cont=0
For {Set pass = $Order(^btest(pass)) Quit:pass="" Set cont = $Increment(cont)}.png)
Pessoal, fiz uma função que retornara quantidade de linhas da global, independente da quantidade de chaves que ela tenha. Com o $order você terá que percorrer cada uma das chaves da global, com o exemplo abaixo, isso não é necessário, o que faz com que a performance da consulta seja melhor.
QuantidadeLinhasGlobal(global,quantidadeLinhas) ;
new cont
;
set (cont,quantidadeLinhas)=""
;
set queryary=$query(@global@(""))
;
for { set queryary=$query(@queryary)
quit:queryary=""
;
set cont=$increment(cont)
;
}
;
set quantidadeLinhas=cont
;
quit 1
Espero ter ajudado de alguma forma.