Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AMQQSQT

AMQQSQT.m

Go to the documentation of this file.
  1. AMQQSQT ; IHS/CMI/THL - TRAVERSES SUBQUERY TREE ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. TREE ; NAVIGATES THRU SUBQUERY TREES ; ENTRY POINT FROM NUMEROUS ROUTINES ; SENDS AMQQSQN1 (AMQQUSQN) AND AMQQSQN2 (AMQQSQSQ) TO THE SUBROUTINE IN @AMQQJOB
  1. N AMQQUATN,AMQQUSQN,AMQQX,AMQQY,AMQQSQSQ,AMQQTLVL
  1. S AMQQX="^UTILITY(""AMQQ"",$J,""SQXQ"")"
  1. S AMQQY="^UTILITY(""AMQQ"",$J,""SQXS"")"
  1. F AMQQUATN=0:0 S AMQQUATN=$O(@AMQQX@(AMQQUATN)) Q:'AMQQUATN F AMQQUSQN=0:0 S AMQQUSQN=$O(@AMQQX@(AMQQUATN,AMQQUSQN)) Q:'AMQQUSQN D TOP
  1. Q
  1. ;
  1. TREE1 ; ATTRIBUTE SPECIFIC SUBQUERY TREE NAVIGATOR
  1. N AMQQY,AMQQUSQN,AMQQSQSQ,AMQQTLVL
  1. S AMQQY="^UTILITY(""AMQQ"",$J,""SQXS"")"
  1. F AMQQUSQN=0:0 S AMQQUSQN=$O(^UTILITY("AMQQ",$J,"SQXQ",AMQQUATN,AMQQUSQN)) Q:'AMQQUSQN D TOP
  1. Q
  1. ;
  1. TREE2 ; ENTRY POINT FROM AMQQSQ
  1. N AMQQY,AMQQSQSQ,AMQQTLVL
  1. S AMQQY="^UTILITY(""AMQQ"",$J,""SQXS"")"
  1. D TOP
  1. F AMQQY=1:1:9 K AMQQUSQN(AMQQY)
  1. Q
  1. ;
  1. TOP S AMQQSQN1=AMQQUATN
  1. S AMQQSQN2=AMQQUSQN
  1. S AMQQTLVL=1
  1. D @AMQQSQJ1
  1. K AMQQSQN1,AMQQSQN2
  1. I '$D(@AMQQY@(AMQQUSQN)) Q
  1. S AMQQUSQN(1)=AMQQUSQN
  1. S AMQQSQSQ(1)=0
  1. INC S AMQQSQSQ(AMQQTLVL)=$O(@AMQQY@(AMQQUSQN(AMQQTLVL),AMQQSQSQ(AMQQTLVL)))
  1. I 'AMQQSQSQ(AMQQTLVL) Q:AMQQTLVL=1 S AMQQTLVL=AMQQTLVL-1 G INC
  1. I $D(@AMQQY@(AMQQSQSQ(AMQQTLVL))) S AMQQUSQN(AMQQTLVL+1)=AMQQSQSQ(AMQQTLVL),AMQQTLVL=AMQQTLVL+1,AMQQSQSQ(AMQQTLVL)=0 G INC
  1. S AMQQSQN1=AMQQUSQN(AMQQTLVL)
  1. S AMQQSQN2=AMQQSQSQ(AMQQTLVL)
  1. D @AMQQSQJ2
  1. K AMQQSQN1,AMQQSQN2
  1. G INC
  1. ;