There is a bug in DICL2.m routine.
When I call FIND1^DIC and FIND^DIC, these DBS API's internally call following label in DICL2.m routine
;
N DISKIP S DISKIP=0
I DIFLAGS[4 N DISUB F DISUB=1:1:DINDEX("#") D Q:DISKIP
. N DISCR2 S DISCR2=+$G(DINDEX(DISUB,"FOUND"))
. Q:'$D(DISCREEN(DISUB,DISCR2))
. N DIVAL,D S @DINDEX(DISUB,"GET"),D=DINDEX
.
. S DISKIP='$T
. Q
The bug lies in the "X DISCREEN(DISUB,DISCR2)" statement. DISCREEN(DISUB,DISCR2) contains following command
"I $P(DIVAL,U)=DINDEX(1,0,1)" that is to be executed. But the DINDEX(1,0,1) does not exist. So the routine crashes.
I am running following code.
SET PIEN=4
SET PIEN=","_PIEN_","
SET FNAME="MAILMAN OUTSTANDING FTP TRANSACTIONS"
SET FIEN=$$FIND1^DIC(9.44,PIEN,"MX",FNAME,"","","ERR")
Can someone debug the code of VistA DICL2.m
I have checked the code both on HuiVista GTM and Cache.
Regards
Asif Tasleem
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members