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

AMQQSQA1.m

Go to the documentation of this file.
  1. AMQQSQA1 ; IHS/CMI/THL - LINK SUBQUERY ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. RUN N AMQQSQST,AMQQNOCO,AMQQCOMP,AMQQSYMB,AMQQFTYP,AMQQCOND
  1. I AMQQSQCT="R" D ^AMQQAVR Q
  1. I AMQQSQCT="L",'$D(AMQQSQLF) D NEW Q
  1. I AMQQSQCT="V" D NEW Q
  1. I AMQQSQCT="M"!($D(AMQQSQLF)) D ^AMQQSQA2 Q
  1. SETCOND S AMQQNOCO=AMQQSQNC
  1. S AMQQSYMB=AMQQSQBS
  1. S AMQQFTYP=$P(^AMQQ(4,AMQQSQTP,0),U)
  1. S AMQQCOND=AMQQSQN
  1. S (AMQQSQST,AMQQFTYP)=$S("TO"[AMQQSQCT:"N",AMQQSQCT="D":"D",1:$P(^AMQQ(4,AMQQSQTP,0),U))
  1. GETVAL K AMQQCOMP
  1. I $D(AMQQMMVV) S (AMQQCOMP,AMQQSQCV)=AMQQMMVV K AMQQMMVV Q
  1. D ^AMQQAV
  1. I $D(AMQQQUIT) K AMQQQUIT,AMQQCOMP S AMQQSQNV="" Q
  1. I '$D(AMQQCOMP) K AMQQCOMP
  1. I '$D(AMQQCOMP) W !!,"You must enter a value. Try again...",!!,*7 G GETVAL
  1. S AMQQSQCV=AMQQCOMP
  1. EXIT K %,Z
  1. Q
  1. ;
  1. NEW N AMQQLINK,AMQQATNM,AMQQCTXS,AMQQCOND,AMQQCONM,AMQQVCL,AMQQSER,AMQQORTX,AMQQSQFR,AMQQNVAR,AMQQFILT,AMQQSNOT,AMQQTAX,AMQQATN,AMQQSQCT,AMQQTNAR,AMQQTDIC,AMQQTLOK,AMQQTTX
  1. D VAR
  1. I $D(AMQQQUIT) Q
  1. S AMQQSQQF=""
  1. K %
  1. Q
  1. ;
  1. VAR S %=^AMQQ(5,+Y,0)
  1. S AMQQATNM=$P(Y,U,2)
  1. S AMQQLINK=$P(%,U,5)
  1. S AMQQATN=+Y
  1. S AMQQSBCT=$P(%,U,20)
  1. I AMQQLINK=9 S AMQQLINK=+Y+($J/100000)
  1. S Z=$P(^AMQQ(1,AMQQLINK,0),U,5)
  1. S Z=$P(^AMQQ(4,Z,0),U)
  1. I Z="L"!(Z="G") S AMQQTNAR=$P(%,U,15),AMQQTDIC=U_$P(%,U,16),AMQQTLOK=U_$P(%,U,18),AMQQTTX="" S:$D(^AMQQ(5,+Y,3)) AMQQTTX=^(3) D ^AMQQTX Q:$D(AMQQQUIT) G:'$D(AMQQTAX) VAR
  1. S %=^AMQQ(1,AMQQLINK,0)
  1. S AMQQCTXS=$P(%,U,7)
  1. S AMQQVCL=$P(%,U,6)
  1. S AMQQFTYP=$P(^AMQQ(4,$P(%,U,5),0),U)
  1. I $D(AMQQTAX) D SET^AMQQAT Q
  1. CND N AMQQCOND,AMQQMULT
  1. I $D(AMQQYYMI) D AUTO Q
  1. CND1 D GETCOND^AMQQAC
  1. I X="" W "You must enter a condition or '^'",!,*7 S X=AMQQSQNM G CND1
  1. I $D(AMQQQUIT) Q
  1. I Y>0 S AMQQCOND=+Y,AMQQNOCO=$P(^AMQQ(5,+Y,0),U,8),AMQQCONM=$P(Y,U,2),AMQQSYMB=$P(^AMQQ(5,+Y,0),U,6) G VAL
  1. I Y=-1,X="NULL" S AMQQCOND="",AMQQCOMP="NULL" D SPEC Q
  1. I Y=-1,$E(X,1,3)="EXI" W $E("EXISTS",$L(X)+1,6) S AMQQCOND="",AMQQCOMP="EXISTS" D SPEC Q
  1. I Y=-1,$D(AMQQXX) S AMQQFAIL=10 Q
  1. I Y=-1 W " ??",*7 G CND1
  1. I '$D(AMQQCOND) Q
  1. VAL K AMQQCOMP
  1. D ^AMQQAV
  1. I $G(X)="" G CND1
  1. I $D(AMQQQUIT) Q
  1. I '$D(AMQQCOMP) G CND
  1. D SET^AMQQAT
  1. I (AMQQSQN=59!((AMQQSQN>315)&(AMQQSQN<319))) S AMQQSQCV=AMQQCOMP
  1. Q
  1. ;
  1. SPEC S AMQQQ=AMQQLINK_U_AMQQATNM_U_AMQQFTYP_"^^^^^'=^;;;"_AMQQCOMP_"^^^^^1"
  1. Q
  1. ;
  1. AUTO ;
  1. S AMQQMMLL=@AMQQXXND@(AMQQYYMI,1,1,1),Y=$P(AMQQMMLL,";")
  1. D EN1^AMQQAC
  1. S AMQQCOMP=$P(AMQQMMLL,";",2,3)
  1. D SET^AMQQAT
  1. K AMQQMMLL
  1. Q
  1. ;
  1. SET ; ENTRY POINT FROM AMQQSQA0
  1. N A,B,I,S,%
  1. K AMQQSVAL
  1. S %=$P($G(^AMQQ(5,AMQQSQSN,0)),U,5)
  1. I % S:%=9 %=AMQQSQSN+($J/100000) S %=$P($G(^AMQQ(1,%,0)),U,6) I % S %="^DD("_%_",0)" I $D(@%) S S=$P(^(0),U,3)
  1. I '$D(S) Q
  1. F I=1:1 S A=$P(S,";",I) Q:A="" S C=$P(A,":"),B=$P(A,":",2) I $E(B,1,$L(X))=X S AMQQSVAL=C,Y="11^IS" W:'$D(AMQQXX) $E(B,$L(X)+1,99) Q
  1. Q
  1. ;