ROUTINE DIDH
From VistApedia
Entryref POINT^DIDH
CALLED BY ^DD(1,.01,"DEL",.5,0) -- "DEL" node of FILE of FILEs (File#1) field NAME (field#.01)
- lvn DIC == "^DIC"
CALLED FROM PAGE1+34^DIDH1
- lvn DIC == global root of file or subfile
- when double loop active
- sometimes WRITE text
- when loop finishes
- sometimes init lvn DG == -1
- sometimes init lvn X == -1
- sometimes KILLs lvn W1
- sometimes KILLs lvn DOPT
- when loop stopped by undef lvn DIU
- sometimes KILLs DDV
- sometimes KILLs %F
- sometimes KILLs M1
QUIT
TAG POINT^DIDH
- FALLSTHRU none
- INPUT VARS
- DA == DDnumber
- $ORDER(^DD(DA,0,"PT","")) -- what files point at this one.
- OUTPUT VARS
- sometimes inits lvn DDPT=1
- always inits lvn W1 == XECUTE-able code with WRITE
TAG POINT^DIDH
- FALLSTHRU from POINT^DIDH
- INPUT VARS
- lvn DA
- $ORDER(^DD(DA,0,"PT",
- always evals $ORDER(^DD(DA,0,"PT",X))
- OUTPUT VARS
- lvn X
- always inits to ""
- always exits line ==""
- after command=5 then == subscript of ^DD(DA,0,"PT", ...
- LOOP start with X over $ORDER(^DD(DA,0,"PT",X))
- lvn DG
- always inits to 0
- always exits line == 0
- after command=8 then == subscript of ^DD(DA,0,"PT",X, ...
- DOUBLE LOOP start with DG over $ORDER(^DD(DA,0,"PT",X,DG))
- Calls PD^DIDH
- sometimes WRITEs
- sometimes calls H^DIDH
- IF undef lvn DIU
- AND lvn M == U == "^"
- GOTO out of double loop to Q^DIDH
- AND lvn M == U == "^"