Dear All
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

S2 ; execute any screen on transformed lookup values
;
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
X DISCREEN(DISUB,DISCR2)
. 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

Reply via email to