LIST^DIC stuff
From VistApedia
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