LIST^DIC stuff

From VistApedia
Jump to: navigation, search

This will contain investigations of newer features of LIST^DIC

Example search:

 S TMGFILE=22702
 K TMGRSLT DO LIST^DIC(TMGFILE,,TMGFLDS,"PX","*",,,TMGSRCH,,,"TMGRSLT","TMGMSG") ZWR TMGRSLT
 SET TMGSRCH="(UPPERCASE(#1000)[""REMOTE"")"
 
 ASTRON>x x
 TMGRSLT("DILIST",0)="3^*^0^"
 TMGRSLT("DILIST",0,"MAP")="IEN^.01"
 TMGRSLT("DILIST",1,0)="1^KILLTHIS -- SAFE"
 TMGRSLT("DILIST",2,0)="4^KILLTHIS -- SAFE"
 TMGRSLT("DILIST",3,0)="7^KILLTHIS -- SAFE"
 Partial stack trace
  1. LIST^DIC
  ...
  4.  BADQ+3^DICL   Code: D IDENTS^DICU1(DIFLAGS,.DIFILE,DIFIELDS,DIWRITE,.DIDENT,.DINDEX) 
  5.  ID3+4^DICU1   Code: F  D  Q:$G(DIERR)!DIOUTI 
  6.  ID4C+5^DICU1   Code: . I DIDS=";;",DIFLAGS[4,DIUSEKEY'="F",DIDENT=.01 Q 
  7.  IXNAME+2^DICL   Code: I DIFLAGS["X" D DICL^DICLGFT G BADQ ;NOTE: A CROSS-REF MUS... 
     (Note: here is branch into DICGFT, the recent customization of FIND^DIC)    
  8.  BACKWARD+2^DICLGFT   Code: E  D            
  9.  BACKWARD+3^DICLGFT   Code: .S X=$$SORT(DIFILE,DINDEX,DIGFTEMP,.DIFROM) 
 10.  DIP^DICLGFT   Code: DIP D EN1^DIP ;HERE IS THE BIG CALL TO FILEMAN'S PRINT MODULE! 
 
 %=""
 %TMG=""
 %Y=""
 BY="(UPPERCASE(#1000)[""REMOTE"")"   
 DD=22702
 DEBUG=0
 DHD="@@"
 DHIT="S @DICLARAY@($S($G(DIOO1)]"""":DIOO1,1:1),D0)="""""
 DIC="^TMG(22702,"
 DICLARAY="^TMP(""DICLB"",22702,3903)"
 DICLERR=""
 DICLGFT=1
 DICLGFTX=""
 DICODE="$P(DI0NODE,U,1)"
 DICOUNT=0
 DICRSR=3
 DIDEF="DOCUMENT TYPE^RP8925.1'Oa^TIU(8925.1,^0;1^Q"
 DIDEFALT="E"
 DIDS=";;"
 DIDS("FID")=""
 DIDS("WID")=""
 DIFIELDS="@;.01"
 DIFIEN=","
 DIFILE=22702
 DIFIXPT=1
 DIFLAGS="PX3"
 DIFM=1
 DIFORMAT=""
 DIFROM=" , , , , , , , , , , , ," ;* 
 DIFROM(1)=""
 DIFROM("IEN")=""
 DIGFTEMP="^TMP(""DICLB"",22702,3903)"
 DILENGTH=3
 DILIST="TMGRSLT(""DILIST"")"
 DILIST("ORDER")=0
 DILOCKTM=3
 DIMSGA="TMGMSG"
 DINDEX="(UPPERCASE(#1000)[""REMOTE"")"
 DINDEX("WAY")=1
 DINUMBER="*"
 DIOBEG="K ^UTILITY($J,""H"") S DISH=1,IOT="""",$X=0,$Y=0"
 DIOSL=9999999
 DIOUT=0
 DIOUTI=0
 DIPART(1)=""
 DIQUIET=1
 DISCREEN("F")=""
 DISCREEN("S")=""
 DISUPNO=1
 DISYS=19
 DITEMP="^TMP(""DICLB"",22702,3903"   
 DITYPE="RP8925.1'Oa"
 DIUSEKEY=0
 DIWRITE=""
 DT=3131104
 DTIME=9600
 DUZ=168
 DUZ(0)="@"
 DUZ(1)=""
 DUZ(2)=69
 DUZ("AG")="E"
 DUZ("AUTO")=1
 DUZ("BUF")=1
 DUZ("LANG")=""
 FLDS="X ""QUIT"";X"
 *FR=DIFROM
 Forced=0
 IO="/dev/pts/4"
 IO(0)="/dev/pts/4"
 IO(1,"/dev/pts/4")=""
 IO("HOME")="50^/dev/pts/4"
 IO("IP")="99.121.54.165"
 IO("ZIO")="/dev/pts/4"
 IOBS="$C(8)"
 IOF="#,$C(27,91,50,74,27,91,72)"
 IOM=80
 ION="TELNET"
 IOS=50
 IOSL=24
 IOST="C-VT102"
 IOST(0)=60
 IOT=""
 IOX=0
 IOXY="W $C(27,91)_((DY+1))_$C(59)_((DX+1))_$C(102)"
 IOY=0
 L=0
 Pos=""
 SCRN="(#1000[""emote"")"
 SCRN(1)="(UPPERCASE(#1000)[""REMOTE"")"
 TIUFPRIV=1
 TMGFILE=22702
 TMGFLDS="@;.01"
 TMGSRCH="(UPPERCASE(#1000)[""REMOTE"")"
 TO=",,,,,,,,,,"
 U="^"
 X="DIOO1"
 XGRT="CR"
 XPARSYS="5;DIC(4.2,"
 XQDIC=10974
 XQPSM="P10974"
 XQVOL="EHR"
 cAbort=0
 cFalse=0
 cOKToCont=1
 cTrue=1
 x="K TMGRSLT DO LIST^DIC(TMGFILE,,TMGFLDS,""PX"",""*"",,,TMGSRCH,,,""TMGRSLT"",""TMGMSG"") ZWR TMGRSLT"
 

With further debugging I get to point where DPP has been created.

 10.  DIP^DICLGFT   Code: DIP D EN1^DIP ;HERE IS THE BIG CALL TO FILEMAN'S PRINT MODULE! 
 11.  2^DIO1   Code: 2 K D,%,I D 2^DIO D  I $G(DIERR) G IXK^DIO 
 12.  XDY+1^DIO2   Code: X DY(DN) G XDY:DN       
 13.  PASS^DIO2   Code: PASS S:'$D(DPQ) DIPASS=1 
 14.  @"N/A"   Code:                             
 15.  IXNAME+2^DICL   Code: I DIFLAGS["X" D DICL^DICLGFT G BADQ ;NOTE: A CROSS-REF MUS... 
 16.  BACKWARD+2^DICLGFT   Code: E  D            
 17.  BACKWARD+3^DICLGFT   Code: .S X=$$SORT(DIFILE,DINDEX,DIGFTEMP,.DIFROM) 
 18.  DIP^DICLGFT   Code: DIP D EN1^DIP ;HERE IS THE BIG CALL TO FILEMAN'S PRINT MODULE! 
 19.  LEVELS^DIP   Code: LEVELS F DJ=DJ:1:7 D DJ Q:$G(X)=""!($D(DTOUT))!($D(DUOUT))!'$... 
 20.  DJ^DIP   Code: DJ K DPP(DJ),DL,DV,I,J S I(0)=DI,(DL,J(0))=S,(N,DU)=0,Y=.01 
 %=""
 %TMG=""
 BY=""
 C=","
 D="NUMBER"
 DA="DPP(1,""OVF0"","
 DC=0
 DCC="^TMG(22702,"
 DD=22702
 DE="Sort"
 DEBUG=0
 DHD="@@"
 DHIT="S @DICLARAY@($S($G(DIOO1)]"""":DIOO1,1:1),D0)="""""
 DI="^TMG(22702,"
 DIC="^DD(DL,"
 DIC(0)="Z"
 DICLARAY="^TMP(""DICLB"",22702,3903)"
 DICLERR=""
 DICLGFT=1
 DICLGFTX=""
 DIFIELDS="@;.01"
 DIFIEN=","
 DIFIXPT=1
 DIFLAGS="PX3"DIFM=0
 DIFROM=" , , , , , , , , , , , ," ;*
 DIFROM(1)=""DIFROM("IEN")=""
 DIGFTEMP="^TMP(""DICLB"",22702,3903)"
 DIJ=0
 DIL(22702)="^"
 DILIST="TMGRSLT(""DILIST"")"
 DILIST("ORDER")=0
 DILOCKTM=3
 DIMSGA="TMGMSG"
 DINDEX="(UPPERCASE(#1000)[""REMOTE"")"
 DINDEX("WAY")=1
 DINUMBER="*"
 DIOBEG="K ^UTILITY($J,""H"") S DISH=1,IOT="""",$X=0,$Y=0"
 DIOSL=9999999
 DIOUT=0
 DIPART(1)=""
 DIQUIET=1
 DISCREEN("F")=""
 DISCREEN("S")=""
 DISUPNO=1
 DISYS=19
 DITEMP="^TMP(""DICLB"",22702,3903"
 DIWRITE=""
 DJ=2
 DL=22702
 DM="(UPPERCASE(#1000)[""REMOTE"")"
 DNP=""
 DPP="(UPPERCASE(#1000)[""REMOTE"")"
 DPP(1)="22702^^(UPPERCASE(#1000)[""REMOTE"")^""@B^;L1^^^^^4"
 DPP(1,"CM")="S Y(1)=$S($D(^TMG(22702,D0,4)):^(4),1:"""") S X=$P(Y(1),U,1),X=$$UP^DILIBF(X) S X=X[""REMOTE"" I D0>0 S DISX(1)=X"
 DPP(1,"F")=0
 DPP(1,"GET")="S Y(1)=$S($D(^TMG(22702,D0,4)):^(4),1:"""") S X=$P(Y(1),U,1),X=$$UP^DILIBF(X) S X=X[""REMOTE"" I D0>0 S DISX(1)=X"
 DPP(1,"QCON")="I DISX(1)"
 DPP(1,"T")=1
 DPP(1,"TXT")="(UPPERCASE(#1000)[""""REMOTE"""")"
 DQI="Y("
 DT=3131104
 DTIME=9600
 DU=.01