Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ADEXBLM

ADEXBLM.m

Go to the documentation of this file.
  1. ADEXBLM ; IHS/ADC/GTH - LIST MANAGER API'S ; [ 03/24/1999 8:35 AM ]
  1. ;;6.0;ADE;;APRIL 1999
  1. ;; ;
  1. DOC ;Documentation APIs for ADEXBLM Generic Display
  1. ;This utility uses the Veterans Administration List Manager (VALM)
  1. ;
  1. ; APIs
  1. ;
  1. ; FILE^ADEXBLM("Directory","File Name") Displays file indicated
  1. ;
  1. ; SFILE^ADEXBLM Selection of host file
  1. ; for display
  1. ;
  1. ; VIEWR^ADEXBLM("TAG^ROUTINE","Header") Displays printout of the
  1. ; routine. (non - FM, using IO)
  1. ; VIEWD^ADEXBLM("Tag^Routine","Header") Displays printout of the
  1. ; routine. (FM - using EN1^DIP)
  1. ; DIQ^ADEXBLM("DIC","DA") Displays EN1^DIQ for the DIC,DA
  1. ; ARRAY^ADEXBLM("array(","Header") Displays the array(..,n,0)
  1. ; (%RCR notation)
  1. ;
  1. ;
  1. EN ; -- main entry point for XB DISPLAY
  1. D EN^VALM("XB DISPLAY")
  1. Q
  1. ;
  1. HDR ; -- header code
  1. I XBHDR]"" S VALMHDR(1)=XBHDR
  1. ;S VALMHDR(1)="This is a test header for XB DISPLAY."
  1. ;S VALMHDR(2)="This is the second line"
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. ;F LINE=1:1:30 D SET^VALM10(LINE,LINE_" Line number "_LINE)
  1. ;S VALMCNT=30
  1. MARKERS ;FHL 9/9/98
  1. ;I $G(ADEXBLMMARK) F I=10:10 Q:'$D(@VALMAR@(I)) D
  1. ;. F J=10:10:80 D CNTRL^VALM10(I,J,1,IORVON,IORVOFF)
  1. ;KILL ADEXBLMMARK
  1. I $G(XBLMMARK) F I=10:10 Q:'$D(@VALMAR@(I)) D
  1. . F J=10:10:80 D CNTRL^VALM10(I,J,1,IORVON,IORVOFF)
  1. KILL XBLMMARK
  1. S VALMCNT=$O(^TMP("ADEXBLM",$J,XBNODE,""),-1)
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?"
  1. D DISP^XQORM1
  1. W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. KILL ^TMP("ADEXBLM",$J,XBNODE)
  1. K ;
  1. KILL XBAR,XBDIR,XBFL,XBFN,XBHDR,XBI,XBROU,XBDIR
  1. I '$G(XQORS) D CLEAR^VALM1
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. FILE(XBDIR,XBFN) ;PEP pull up a file into the TMP global for display
  1. I '$D(XBHDR) S XBHDR=""
  1. NEW Y,X,I,XBNODE
  1. S XBNODE=$G(XQORS)+1
  1. S Y=$$OPEN^%ZISH(XBDIR,XBFN,"R")
  1. I Y W !,*7,"CANNOT OPEN (OR ACCESS) FILE '",XBDIR,XBFN,"'." S Y=$$DIR^XBDIR("E") G EFILE
  1. KILL ^TMP("ADEXBLM",$J,XBNODE)
  1. F I=1:1 U IO R X:DTIME S X=$$STRIP(X) S ^TMP("ADEXBLM",$J,XBNODE,I,0)=X Q:$$STATUS^%ZISH=-1
  1. D ^%ZISC
  1. ;D EN^ADEXBLM
  1. ;KILL ^TMP("ADEXBLM",$J,XBNODE)
  1. EFILE ;
  1. Q
  1. ;
  1. SFILE ;PEP SELECT FILE
  1. OPEN ;
  1. S IOP="HOME" D ^%ZIS
  1. D DT^DICRW
  1. D ^XBCLS
  1. W !!,"Select a Directory and File",!!
  1. S Y=$$PWD^%ZISH(.XBDIR),XBDIR=XBDIR(1)
  1. KILL DIR
  1. S DIR(0)="F^1:30",DIR("A")="Directory ",DIR("B")=XBDIR
  1. D ^DIR
  1. K DIR
  1. Q:$G(DTOUT)
  1. Q:Y["^"
  1. S XBDIR=Y
  1. FNAME ;
  1. KILL DIR
  1. FNAME1 ;
  1. S DIR(0)="F^1:15",DIR("A")="File Name "
  1. D ^DIR
  1. K DIR
  1. Q:$G(DTOUT)
  1. G:Y["^" OPEN
  1. I Y?.N,$D(XBFL(Y)) S DIR("B")=XBFL(Y) G FNAME1
  1. I Y["*" K XBFL S X=$$LIST^%ZISH(XBDIR,Y,.XBFL) D G FNAME
  1. .F XBI=1:1 Q:'$D(XBFL(XBI)) W !,?5,XBI,?10,XBFL(XBI) I '(XBI#20) R X:DTIME
  1. S XBFN=Y
  1. S X=$$OPEN^%ZISH(XBDIR,XBFN,"R")
  1. ES ;
  1. I X W !,"error on open of file ",XBDIR,XBFN,! K DIR S DIR(0)="E" D ^DIR K DIR Q:Y=1 G FNAME
  1. D ^%ZISC
  1. D FILE^ADEXBLM(XBDIR,XBFN)
  1. ESFILE ;
  1. Q
  1. ;
  1. VIEWR(XBROU,XBHDR) ;PEP ** USING XBROU print to a host file for viewing
  1. I '$D(XBHDR) S XBHDR=""
  1. U IO(0)
  1. ;D WAIT^DICD
  1. S Y=$$PWD^%ZISH(.XBDIR)
  1. S XBDIR=XBDIR(1)
  1. S XBFN="XB"_$J
  1. S X=$$OPEN^%ZISH(XBDIR,XBFN,"W")
  1. S IOST="P-DEC",IOST(0)=$O(^%ZIS(2,"B","P-DEC",0))
  1. S IOSL=6000
  1. S IOF="#"
  1. S XBIOM=IOM,IOM=80
  1. ;S IOF=IOF_",!!,"_""">PAGE MARK<"""_",!!"
  1. ;S IOP=IO_";P-DEC;"_IOM_";"_IOSL
  1. ;S %ZIS("IOPAR")="("""_XBFN_""":""W"")"
  1. U IO
  1. D @XBROU
  1. D ^%ZISC
  1. D HOME^%ZIS
  1. D FILE^ADEXBLM(XBDIR,XBFN)
  1. S X=$$DEL^%ZISH(XBDIR,XBFN)
  1. KILL XBDIR,XBFN,XBHDR,XBNODE,XBDIR,XBFN
  1. S IOM=XBIOM K XBIOM
  1. Q
  1. ;
  1. VIEWD(XBROU) ;PEP ** USING XBROU print to a host file for viewing
  1. U IO(0)
  1. ;D WAIT^DICD
  1. S XBFN="XB"_$J
  1. S Y=$$PWD^%ZISH(.XBDIR)
  1. S XBDIR=XBDIR(1)
  1. D DF^%ZISH(.XBDIR)
  1. S X=$$OPEN^%ZISH(XBDIR,XBFN,"W")
  1. S IOP=IO_";P-DEC;"_IOM_";"_IOSL
  1. D ^%ZISC
  1. S IOST="P-DEC",IOST(0)=$O(^%ZIS(2,"B","P-DEC",0))
  1. S IOSL=6000
  1. S IOF="#"
  1. ;S IOF=IOF_",!!,"_""">PAGE MARK<"""_",!!"
  1. S %ZIS("IOPAR")="("""_XBDIR_XBFN_""":""W"")"
  1. D @XBROU
  1. D ^%ZISC
  1. D HOME^%ZIS
  1. D FILE^ADEXBLM(XBDIR,XBFN)
  1. S X=$$DEL^%ZISH(XBDIR,XBFN)
  1. KILL XBDIR,XBFN,XBNODE,XBDIR,XBFN
  1. Q
  1. ;
  1. DIQ(DIC,DA) ;PEP ** EN^DIQ
  1. S IOSTO=IOST,IOST="P-DEC"
  1. S IOSLO=IOSL,IOSL=6000
  1. I DIC=+DIC S DIC=$$DIC^XBDIQ1(DIC)
  1. I DA'=+DA D PARSE^XBDIQ1(DA)
  1. NEW DIQ,DR
  1. S DIQ(0)="C"
  1. D VIEWR^ADEXBLM("EN^DIQ")
  1. S IOST=IOSTO
  1. KILL IOSTO
  1. S IOSL=IOSLO
  1. KILL IOSLO
  1. KILL XBNODE,XBDIR,XBFN
  1. Q
  1. ;
  1. ARRAY(XBAR,XBHDR) ;PEP Display an array that has (...,n,0) structure
  1. I '$D(XBHDR) S XBHDR=""
  1. NEW Y,X,I,XBNODE
  1. S XBNODE=$G(XQORS)+1
  1. KILL ^TMP("ADEXBLM",$J,XBNODE)
  1. S %X=XBAR,%Y="^TMP(""ADEXBLM"","_$J_","_XBNODE_","
  1. D %XY^%RCR
  1. D EN^ADEXBLM
  1. KILL ^TMP("ADEXBLM",$J,XBNODE)
  1. KILL XBNODE,XBDIR,XBFN
  1. ARRAYE ;
  1. Q
  1. ;
  1. STRIP(Z) ;REMOVE CONTROLL CHARACTERS
  1. NEW I
  1. F I=1:1:$L(Z) I (32>$A($E(Z,I))) S Z=$E(Z,1,I-1)_" "_$E(Z,I+1,999)
  1. Q Z
  1. ;