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

DDBRZIS.m

Go to the documentation of this file.
  1. DDBRZIS ;SFISC/DCL-BROWSER DEVICE UTILITIES ;4:50 AM 9 Apr 2006
  1. ;;22.0;VA FileMan;**145,148**;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. OPEN ;
  1. ;DDBRZIS AND DDBDMSG ARE KILLED IN POST
  1. S DDBRZIS=1,DDBDMSG=$G(DDBDMSG)
  1. U IO(0)
  1. I $G(DDBDMSG)="" D Q:DDBDMSG="$$DTOUT$$"
  1. .N DIR,X,Y
  1. .S DIR(0)="FUO^0:78",DIR("A")="BROWSER TITLE (optional)"
  1. .S DIR("B")="VA FileMan Browser"
  1. .S DIR("?")="Enter any free text, which will appear in the Title Bar"
  1. .D ^DIR
  1. .I $G(DTOUT) S DDBDMSG="$$DTOUT$$" K DTOUT,DUOUT,DIRUT,DIROUT Q
  1. .S DDBDMSG=$S(Y="":DDBDMSG,1:Y)
  1. .Q
  1. W !,"...one moment..."
  1. U IO
  1. Q:DDBDMSG]""
  1. I $G(DHD)="W """" D ^DIDH" S DDBDMSG="DATA DICTIONARY" Q
  1. S DDBDMSG="VA FileMan Browser"
  1. Q
  1. ;
  1. CLOSE ;
  1. Q:$G(DDBDMSG)="$$DTOUT$$"
  1. S DDBRZIS=$G(DDBRZIS,1)
  1. N C,CHAR,DDBROS,EOF,X
  1. K ^TMP("DDB",$J)
  1. S DDBROS=^%ZOSF("OS"),EOF="EOF-End Of File"
  1. S CHAR="" F I=1:1:31 S CHAR=CHAR_$C(I)
  1. U IO W !,EOF,!
  1. S DDBRZIS("REWIND")=$$REWIND^%ZIS(IO,IOT,IOPAR)
  1. I 'DDBRZIS("REWIND") S DDBRZIS=0 U IO(0) W $C(7),!!?5,"<< UNABLE TO REWIND FILE>>",! H 3 Q
  1. U IO
  1. S C=0
  1. F R X:2 Q:X="EOF-End Of File" D
  1. .S X=$TR(X,CHAR)
  1. .S:X']"" X=" "
  1. .S C=C+1,^TMP("DDB",$J,C)=$E(X,1,255) Q
  1. .Q
  1. Q
  1. ;
  1. POST ;
  1. I $G(DDBDMSG)="$$DTOUT$$" K DDBDMSG,DDBRZIS W $C(7) Q
  1. I $G(DDBRZIS) D BROWSE^DDBR("^TMP(""DDB"",$J)","NR",$G(DDBDMSG))
  1. ; *148* Moved to POST-CLOSE EXECUTE of BROWSER device
  1. ;I ^%ZOSF("OS")["OpenM",$G(IO("CLOSE"))]"" S DDBRZIS=$ZF(-1,"del "_ IO("CLOSE")_";*")
  1. K DDBRZIS,DDBDMSG
  1. Q
  1. ;
  1. DEVICE(MSG) ;TEST IF BROWSER IS BEING INVOKED VIA DEVICE HANDLER
  1. ;EXTRINSIC FUNCTION
  1. I $D(DDBRZIS)#2,$G(MSG)]"" S DDBDMSG=MSG Q 1
  1. Q 0
  1. ;
  1. MSG(TXT) ;PASS TEXT FOR BROWSER TITLE WHEN BROWSER INVOKED VIA DEVICE HANDLER
  1. ;PROCEDURE CALL
  1. S DDBDMSG=$G(TXT)
  1. Q
  1. STR(X) ; Remove windows
  1. N I,Y
  1. I $L(X,"|")'>2 Q X
  1. I X["|WRAP|"!(X["| NO WRAP|")!(X["|NOWRAP|") S Y="" F I=1:1:$L(X,"|") S:(I#2) Y=Y_$P(X,"|",I)
  1. Q $S(X'["|":X,1:$G(Y))