Article
· Avr 22, 2022 2m de lecture

Comment rechercher de grands strings stockés globalement?

Comment rechercher une globale contenant un string spécifique ?

Vous pouvez afficher les globales dans le Management Portal et effectuer une recherche avec Ctrl + F, mais les grandes globales peuvent prendre du temps et être difficiles à afficher.

Bien sûr, vous pouvez effectuer une boucle en utilisant les fonctions $ORDER et $QUERY pour trouver la chaîne.

Mais il existe un moyen plus simple et plus pratique.

Il s'agit d'une méthode qui utilise la fonction de recherche globale de chaîne de caractères qui peut être effectuée dans le Management Portal.

Cela peut être facilement fait dans [System Explorer]> [Globals] : Rechercher dans le Management Portal.

Par exemple, pour rechercher dans le global ^%ISCLOG une variable contenant l'erreur "Erreur CSP de nettoyage après la page" :

 ↓


Si vous voulez vraiment le faire par programmation en utilisant les fonctions $ORDER et $QUERY :

* S'il y a plusieurs indices, utilisez la fonction $QUERY pour boucler dans plusieurs couches.

set glb="^%ISCLOG"
set glb=$query(@glb@(""))
for {
  if glb="" quit
  
  if @glb [ "CSP error cleaning up after page" {
     write glb,"=",@glb,! ;; <= you can take values with @glb
  }
  set glb=$query(@glb)
}


Le résultat de l'exécution est le suivant (la routine ci-dessus est enregistrée et exécutée par test.mac).

%SYS>Do ^test
^%ISCLOG("Data",5960)=
                        CSPServerUError cleaning up after page, HALTing ...
^%ISCLOG("Data",5960,0,"$ZE")=CSP error cleaning up after page, HALTing
^%ISCLOG("Data",10046)=
                         CSPServerUError cleaning up after page, HALTing...
^%ISCLOG("Data",10046,0,"$ZE")=CSP error cleaning up after page, HALTing
^%ISCLOG("Data",13398)=
                         CSPServerUError cleaning up after page, HALTing ...
^%ISCLOG("Data",13398,0,"$ZE")=CSP error cleaning up after page, HALTing
 
%SYS>
Discussion (0)2
Connectez-vous ou inscrivez-vous pour continuer