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

AMQQATS.m

Go to the documentation of this file.
  1. AMQQATS ; IHS/CMI/THL - MAKE "Q" LINE ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. NEW N AMQQFTYP,AMQQLINK,AMQQSYMB,AMQQVCL,AMQQCOMP,AMQQCOND
  1. RUN D VAR
  1. I $P(Q,U,4) D ^AMQQATS1,SET G EXIT
  1. S X(1)=$P(AMQQCOMP,";")
  1. S X(2)=$P(AMQQCOMP,";",2)
  1. D @("FILTER"_AMQQFTYP)
  1. I $D(AMQQCOMP),$D(X(3)),$D(X(4)),$P(AMQQCOMP,";",4)="EXISTS" S AMQQF(1)=X(3),AMQQF(2)=X(4)
  1. D SET
  1. EXIT K AMQQF,%,I,Q,X,Y,N,AMQQFSQN,AMQQFSQX
  1. Q
  1. ;
  1. VAR S Q=AMQQQ
  1. S AMQQLINK=+Q
  1. S AMQQFTYP=$P(Q,U,3)
  1. S AMQQCOMP=$P(Q,U,9)
  1. S AMQQVCL=$P(Q,U,10)
  1. S AMQQSYMB=$P(Q,U,8)
  1. S AMQQCOND=$P(Q,U,7)
  1. Q
  1. ;
  1. SET I $P(Q,U,3)="L",$D(AMQQURGN),$D(^UTILITY("AMQQ TAX",$J,AMQQURGN,"--")) S $P(Q,U,18)=3
  1. S %=""
  1. F I=1:1 Q:'$D(AMQQF(I)) S %=%_AMQQF(I)_";"
  1. I +Q=166!(+Q=178)!(+Q=86) S %=$P(Q,U,9)
  1. S $P(Q,U,15)=%
  1. I $D(AMQQSQQF) S ^UTILITY("AMQQ",$J,"QQ",AMQQSQQF)=Q Q
  1. I $D(AMQQGVF) Q
  1. ;SET ^UTILITY("AMQQ",$J,"Q", GLOBAL NODE
  1. S ^UTILITY("AMQQ",$J,"Q",AMQQUATN)=Q
  1. S %=$P(Q,U,11)
  1. S X=1-(+%)
  1. S ^UTILITY("AMQQ",$J,"WEIGHT",X,AMQQUATN)=$P(%,":",2)
  1. Q
  1. ;
  1. FILTERD S X(3)=0
  1. S X(4)=99999999
  1. S X(5)=.0000001
  1. D ANAL
  1. Q
  1. ;
  1. FILTERB S X(3)=-1
  1. S X(4)=1.01
  1. S X(5)=.000001
  1. D ANAL
  1. Q
  1. ;
  1. FILTERN S X(3)=-9999999
  1. S X(4)=9999999
  1. S X(5)=.000001
  1. D ANAL
  1. Q
  1. ;
  1. FILTERY S AMQQF(1)=X(1)
  1. S AMQQF(2)=X(2)
  1. S AMQQF(3)=$P($P(Q,U,9),";",3)
  1. S AMQQF(4)=$P($P(Q,U,9),";",4)
  1. Q
  1. ;
  1. FILTERC S AMQQF(1)=X(1)
  1. S AMQQF(2)=X(2)
  1. Q
  1. ;
  1. FILTERG ;;
  1. FILTERL ; I $D(AMQQURGN),$D(^UTILITY("AMQQ TAX",$J,AMQQURGN,"--")) S $P(Q,U,18)=3 Q
  1. F %=1,2 S AMQQF(%)=$P(AMQQCOMP,";",4)
  1. Q
  1. ;
  1. FILTERS S AMQQF(1)=AMQQSYMB
  1. I AMQQCOMP=";;;EXISTS" S AMQQF(2)="",AMQQF(3)="~~~~" Q
  1. S %=$E(AMQQCOMP,$L(AMQQCOMP))
  1. S %=$A(%)
  1. S %=$C(%-1)_"~~~~~"
  1. S AMQQF(2)=$E(AMQQCOMP,1,$L(AMQQCOMP)-1)_%
  1. S AMQQF(3)=AMQQCOMP
  1. Q
  1. ;
  1. FILTERF I AMQQSYMB'="-" S AMQQF(1)=AMQQSYMB,AMQQF(2)=AMQQCOMP,AMQQF(3)="" Q
  1. S AMQQF(1)="-"
  1. S AMQQF(3)=$P(AMQQCOMP,";",2),%=$P(AMQQCOMP,";")
  1. S X=$E(%,$L(%))
  1. S %=$E(%,1,$L(%)-1)
  1. S X=$C($A(X)-1)
  1. S %=%_X_"~~~~~"
  1. S AMQQF(2)=%
  1. Q
  1. ;
  1. FILTERA S %DT=""
  1. S X="T+1"
  1. D ^%DT
  1. S X(3)=Y
  1. S %=AMQQSYMB
  1. I %="'<" S X(1)=X(1)-1,%=">" G FAG
  1. I %="'>" S X(1)=X(1)+1,%="<" G FAL
  1. FAG I %=">" S AMQQF(1)=0,AMQQF(2)=X(3)-((X(1)+1)*10000),%="><" G FSET
  1. FAL I %="<" S AMQQF(2)=99999999,AMQQF(1)=DT-(X(1)*10000),%="><" G FSET
  1. I %="=" S AMQQF(1)=DT-((X(1)+1)*10000),AMQQF(2)=X(3)-(X(1)*10000),%="><" G FSET
  1. I %="'=",AMQQCOMP["EXIST" S AMQQF(1)=0,AMQQF(2)=9999999 G FSET
  1. I %="'=" S AMQQF(1)=DT-(X(1)*10000),AMQQF(2)=X(3)-((X(1)+1)*10000),%="'><" G FSET
  1. I %="><",'+AMQQCOMP S AMQQCOMP=$P(AMQQCOMP,";",2)+1,%="<",$P(Q,U,9)=AMQQCOMP,X(1)=X(2)+1 G FAL
  1. I %="><" S AMQQF(1)=DT-((X(2)+1)*10000),AMQQF(2)=X(3)-(X(1)*10000) G FSET
  1. S AMQQF(1)=DT-(X(1)*10000)
  1. S AMQQF(2)=(X(3)-(X(2)*10000))-10000
  1. FSET S $P(Q,U,8)=%
  1. S AMQQSYMB=%
  1. Q
  1. ;
  1. ANAL I AMQQSYMB=">" S AMQQF(1)=X(1),AMQQF(2)=X(4) Q
  1. I AMQQSYMB="<" S AMQQF(1)=X(3),AMQQF(2)=X(1) Q
  1. I AMQQSYMB="=",AMQQFTYP="D",X(1)=X(2),X(1)=X(1)\1 S AMQQF(2)=X(1)+.99,AMQQF(1)=X(1)-.76 Q
  1. I AMQQSYMB="=" S AMQQF(1)=X(1)-X(5),AMQQF(2)=X(1)+X(5) Q
  1. I AMQQSYMB="><" S AMQQF(1)=X(1)-X(5),AMQQF(2)=X(2)+X(5) Q
  1. I AMQQSYMB="'>" S AMQQF(1)=X(3),AMQQF(2)=X(1)+X(5) Q
  1. I AMQQSYMB="'<" S AMQQF(1)=X(1)-X(5),AMQQF(2)=X(4) Q
  1. I AMQQSYMB="'=" S AMQQF(1)=X(1),AMQQF(2)=X(1) Q
  1. S AMQQF(1)=X(2)
  1. S AMQQF(2)=X(1)
  1. Q
  1. ;
  1. DOC S X="LINK^ATTRIBUTE NAME^F TYPE^CONTEXT SWITCH^CONDITION^NUMBER OF CONDITIONS^CONDITION NAME^SYMBOL^COMPARISON VALUE^VALIDITY CODE LOCATION^SEARCH EFFICIENCY RATING^OR TEXT^INDEXED^NUMBER OF VARIABLES^FILTERS^NOT"
  1. W !!
  1. F I=1:1:16 W !,I,") ",$P(X,U,I)
  1. Q
  1. ;