File:  [Coherent Logic Development] / freem_fileman / USER / DIWP.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:21 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    1: DIWP	;SFISC/GFT-ASSEMBLE WP LINE ;4/14/93  1:14 PM
    2: 	;;21.0;VA FileMan;;Dec 28, 1994
    3: 	;Per VHA Directive 10-93-142, this routine should not be modified.
    4: 	S DIWTC=X[($C(124)_"TAB") S:'$D(DN) DN=1
    5: LN	S:'$D(DIWF) DIWF="" S:'DIWTC DIWTC=DIWF["N" S DIWX=X,DIW=$C(124),I=$P(DIWF,"C",2) I I S DIWR=DIWL+I-1
    6: 	I '$D(^UTILITY($J,"W",DIWL)) S ^(DIWL)=1 K DIWFU,DIWFWU,DIWLL D DIWI S:'$D(DIWT) DIWT="5,10,15,20,25" G DIW
    7: 	S I=^(DIWL),DIWI=^(DIWL,I,0) I DIWI="" D DIWI G Z
    8: 	D NEW:DIWTC
    9: Z	S Z=X?.P!DIWTC I X?1" ".E!Z S DIWTC=1 D NEW:DIWI]"" S DIWTC=Z
   10: DIW	;
   11: 	S X=$P(DIWX,DIW,1) D C:X]"" S X=$P(DIWX,DIW,1),DIWX=$P(DIWX,DIW,2,999) G D:DIWX="" I $D(DIWP),X'?.E1" " D ST
   12: 	S X=$P(DIWX,DIW,1) I $P(X,"TAB",1)="" D TAB G N
   13: 	I X="TOP" D PUT S ^("X")="S DIFF=1 X:$D(^UTILITY($J,1)) ^(1)" D NEW G N
   14: 	I DIWF'[DIW G U:X="_" D PUT,RCR^DIWW G N:$D(X)
   15: 	S X=DIW_$P(DIWX,DIW,1)_DIW D C
   16: N	K X S DIWX=$P(DIWX,DIW,2,99) I DIWX]"" D ST:$D(DIWP) G DIW
   17: D	K DIWP D PUT,PRE:DIWTC Q
   18: 	;
   19: ST	S DIWI=$E(DIWI,1,$L(DIWI)-1) K DIWP Q
   20: 	;
   21: DIWI	S DIWI=$J("",+$P(DIWF,"I",2)) I DIWF["L",$D(D)#2 S DIWLL=D
   22: 	Q
   23: PUT	S I=^UTILITY($J,"W",DIWL),^(DIWL,I,0)=DIWI I DIWF["L",$D(DIWLL) S ^("L")=DIWLL
   24: 	Q
   25: L	;
   26: 	S DIWTC=1 G LN
   27: 	;
   28: TAB	I X="" S X=DIW G C
   29: 	S J=$P(DIWT,",",DIWTC),DIWTC=DIWTC+1 S:X?3A1P.P.N.E J=$E(X,5,9) S:J?1"""".E1"""" J=$E(J,2,$L(J)-1)
   30: 	I J'>0 S %=$P(DIWX,DIW,2) Q:%=""  S J=$S(J<0:1-$L(%)-J,J="C":DIWR-DIWL-$L(%)\2,1:0)
   31: 	S J=J-1-$L(DIWI) Q:J<1  S X=$J("",J)
   32: C	K DIWP I DIWTC S DIWI=DIWI_X Q
   33: B	S Z=DIWR-DIWL+1-$L(DIWI) G FULL:$F(X," ")-1>Z F %=Z:-1 I " "[$E(X,%) S:$E(X,%+1)=" " %=%+1 Q
   34: 	S Z=$E(X,1,%-1),X=$E(X,%+1,999) I Z]"" S DIWI=DIWI_Z G S:X]"" S %=$E(Z,$L(Z)) S:%'=" " DIWI=DIWI_$J("",%="."+1),DIWP=1 Q
   35: FULL	I $P(DIWF,"I",2)'<$L(DIWI) S DIWI=DIWI_$P(X," ",1),X=$P(X," ",2,999)
   36: S	D PUT,NEW G B:X]"" Q
   37: 	;
   38: U	S I=^UTILITY($J,"W",DIWL) I $D(DIWFU) S ^(DIWL,I,"U",$L(DIWI)+1)="" K DIWFU G N
   39: 	S ^(DIWL,I,"U",$L(DIWI)+1)=X,DIWFU=1 G N
   40: 	;
   41: NEW	D DIWI
   42: PRE	S I=^UTILITY($J,"W",DIWL),^(DIWL)=I+1,^(DIWL,I+1,0)="" I DIWF["D" S ^(0)=" ",^UTILITY($J,"W",DIWL)=I+2,^(DIWL,I+2,0)=""
   43: 	I $D(DIWFU) S ^("U",1+$P(DIWF,"I",2))="_"
   44: 	G P:DIWF'["R"!DIWTC K % Q:'$D(^UTILITY($J,"W",DIWL,I,0))
   45: 	S Y=^(0),%=$L(Y) F %=%:-1 Q:$A(Y,%)-32
   46: 	S Y=$E(Y,1,%),J=DIWR-DIWL-%+1,%X=0 G P:J<1
   47: 	F %=1:1 S %(%)=$P(Y," ",1),Y=$P(Y," ",2,999) G:Y="" PAD:%-1,P I $E(%(%),$L(%(%)))?.P S:%=1&(%(%)="") %=0,%X=%X+1 S:%&J J=J-1,%(%)=%(%)_" "
   48: PAD	I J F Y=%\2+1:1:%-1,%\2:-1 S %(Y)=%(Y)_" ",J=J-1 G PAD:Y=1!'J
   49: 	S Y=%(%) F %=%-1:-1:1 S Y=%(%)_" "_Y
   50: 	S ^(0)=$J("",%X)_Y K %
   51: P	I DIWF["W" G NX^DIWW

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>