- DIL0 ;SFISC/GFT-TURN PRINT FLDS INTO CODE ;01:16 PM 26 Apr 2002 [ 12/09/2003 4:09 PM ]
- ;;22.0;VA FileMan;**91,102,1002**;Mar 30, 1999
- ;Per VHA Directive 10-93-142, this routine should not be modified.
- D XDUY S %=$P(X,U,2) G WP:%["W",M:%["m",STATS^DIL1:$D(DCL(DP_U_+W)),N:W[";N"
- I W[";W" D S D1=$S(%["C":Y,1:$P(" S Y=",U,Y'?1" ".E)_Y_" S X=Y") D W S Y=Y_D1_" D ^DIWP" Q
- .N %,DNP S DNP=1 D ^DILL
- D ^DILL
- DN ;
- I W[";X" D Q
- .S DE=$S(W[";C"!(W[";S"):DE,$A(Y)-32:" W ?0",1:"")
- .I $L(DE)+$L(Y)>250 D
- ..S %=Y,Y=DE,DE=% D PX^DIL S Y=DE
- .E S Y=DE_Y
- .I $D(DIWR(DM)) D DIWR
- DNW D H:DHD I DG+DLN>IOM,DG K ^UTILITY("DIL",$J,DG) S DG='%*DM*2+2,DE=$P(W,";C",2),DG=$S(DE>0:DE-1,DE<0:IOM+DE,DG+DLN'>IOM!(W[";W"):DG,DLN>IOM:0,1:IOM-DLN),DE=" D T Q:'DN W ?"_DG D W^DIL,H:DHD
- S DG=2+DLN+DG Q:$D(DNP) I $L(DE)+$L(Y)>250 S %=Y,Y=DE,DE=% D PX^DIL S Y=DE Q
- S Y=DE_Y Q
- ;
- H S V=$P(X,U),Z=99,I=$P(W,";""",2) I I]"" S V=$P(I,"""")
- HEAD Q:V="" S I=$P(V," ") I $L(I)>DLN S DLN=$L(I)
- XD S V=$P(V," ",2,99),D=$P(V," ") I D]"",$L(I)+$L(D)<DLN S I=I_" "_D G XD
- S ^UTILITY("DIL",$J,DG,Z)=$J(I,DRJ*DLN),V(Z)="",Z=Z-1 G HEAD
- ;
- XDUY ;
- I '$D(^DD(DP,+W,0)) S X="",DU=0,Y=0 Q
- S X=^(0),DU=$P(X,U,4),Y=$P(DU,";",2),DU=$P(DU,";") I W[";T",$D(^(.1)) S X=^(.1)_U_$P(X,U,2,99)
- S:+DU'=DU DU=""""_DU_""""
- I Y S Y="$P(X,U,"_Y_")" Q
- I Y="" S Y="D"_DM Q
- S Y=$E(Y,2,9) S:$P(Y,",",2)=+Y Y=+Y S Y="$E(X,"_Y_")" Q
- ;
- WR ;
- K DLN D W^DILL
- W S DRJ=0,DIWL=DIWL+1 I '$D(DLN) S %=IOM-DG,DLN=$S(%>20:%,1:IOM)-2
- S:W[";X" $P(X,U)="" D DNW S %=$P(DE,"W ?",2)+1,Y=DLN+%-1,DIO=2,%=" S DIWL="_%_",DIWR="_$S(IOM<Y:IOM,1:Y),Y=$P(DE," W ?")_% Q
- ;
- WP S DN=%["L"_U D WR S DIO=3,Y=%_" D ^DIWP",X=F(DM-1) I DHT<0 G WP^DIPZ1
- I $D(^UTILITY($J,99,X)) S I=^(X) D WPX S ^UTILITY($J,99,X)=I Q
- WPX ;
- S:DN I=^DD("FUNC",38,1)_" "_I
- I DE[" D T,N" S %=$F(I," D N:$X>") S:% I=$E(I,1,%-9)_$E(I,$F(I,"T",%),999) S I=$E(DE,2,999)_" "_I
- Q
- ;
- M S D1=" S DICMX=""D "_$E("L",%'["w")_"^DIWP"" "_$P(X,U,5,99) D WR S Y=Y_D1 Q
- ;
- N ;
- S DCL=DCL+1,D=",C="_DCL_" D D",DITTO(DCL)="",I=""
- I %["C" S X=X_" S Y=X"_D_" S X=Y",DXS="Y" G Z
- S Y=" S Y="_Y_D,DXS="Y"
- Z D V^DILL G DN
- ;
- DIWR ;
- G DIWR^DIPZ1:DHT I $D(DIWR(DM)),DX=DIWR(DM) S ^UTILITY($J,99,DX)="D A^DIWW" G K
- I $D(DIWR(DM)) F DX=DX+1:1 I '$D(^UTILITY($J,99,DX)) S ^(DX)="D ^DIWW" D DX^DIL(DX) G K
- D S ^(I)="D ^DIWW "_^UTILITY($J,99,I)
- .F I=DM-1:-1:0 I $D(DIWR(I)) K DIWR(I) Q
- .I I S I=F(I)
- .E F I=1:1 Q:'$D(^UTILITY($J,99,I+1))
- K K DIWR(DM) Q
- DIL0 ;SFISC/GFT-TURN PRINT FLDS INTO CODE ;01:16 PM 26 Apr 2002 [ 12/09/2003 4:09 PM ]
- +1 ;;22.0;VA FileMan;**91,102,1002**;Mar 30, 1999
- +2 ;Per VHA Directive 10-93-142, this routine should not be modified.
- +3 DO XDUY
- SET %=$PIECE(X,U,2)
- IF %["W"
- GOTO WP
- IF %["m"
- GOTO M
- IF $DATA(DCL(DP_U_+W))
- GOTO STATS^DIL1
- IF W[";N"
- GOTO N
- +4 IF W[";W"
- Begin DoDot:1
- +5 NEW %,DNP
- SET DNP=1
- DO ^DILL
- End DoDot:1
- SET D1=$SELECT(%["C":Y,1:$PIECE(" S Y=",U,Y'?1" ".E)_Y_" S X=Y")
- DO W
- SET Y=Y_D1_" D ^DIWP"
- QUIT
- +6 DO ^DILL
- DN ;
- +1 IF W[";X"
- Begin DoDot:1
- +2 SET DE=$SELECT(W[";C"!(W[";S"):DE,$ASCII(Y)-32:" W ?0",1:"")
- +3 IF $LENGTH(DE)+$LENGTH(Y)>250
- Begin DoDot:2
- +4 SET %=Y
- SET Y=DE
- SET DE=%
- DO PX^DIL
- SET Y=DE
- End DoDot:2
- +5 IF '$TEST
- SET Y=DE_Y
- +6 IF $DATA(DIWR(DM))
- DO DIWR
- End DoDot:1
- QUIT
- DNW IF DHD
- DO H
- IF DG+DLN>IOM
- IF DG
- KILL ^UTILITY("DIL",$JOB,DG)
- SET DG='%*DM*2+2
- SET DE=$PIECE(W,";C",2)
- SET DG=$SELECT(DE>0:DE-1,DE<0:IOM+DE,DG+DLN'>IOM!(W[";W"):DG,DLN>IOM:0,1:IOM-DLN)
- SET DE=" D T Q:'DN W ?"_DG
- DO W^DIL
- IF DHD
- DO H
- +1 SET DG=2+DLN+DG
- IF $DATA(DNP)
- QUIT
- IF $LENGTH(DE)+$LENGTH(Y)>250
- SET %=Y
- SET Y=DE
- SET DE=%
- DO PX^DIL
- SET Y=DE
- QUIT
- +2 SET Y=DE_Y
- QUIT
- +3 ;
- H SET V=$PIECE(X,U)
- SET Z=99
- SET I=$PIECE(W,";""",2)
- IF I]""
- SET V=$PIECE(I,"""")
- HEAD IF V=""
- QUIT
- SET I=$PIECE(V," ")
- IF $LENGTH(I)>DLN
- SET DLN=$LENGTH(I)
- XD SET V=$PIECE(V," ",2,99)
- SET D=$PIECE(V," ")
- IF D]""
- IF $LENGTH(I)+$LENGTH(D)<DLN
- SET I=I_" "_D
- GOTO XD
- +1 SET ^UTILITY("DIL",$JOB,DG,Z)=$JUSTIFY(I,DRJ*DLN)
- SET V(Z)=""
- SET Z=Z-1
- GOTO HEAD
- +2 ;
- XDUY ;
- +1 IF '$DATA(^DD(DP,+W,0))
- SET X=""
- SET DU=0
- SET Y=0
- QUIT
- +2 SET X=^(0)
- SET DU=$PIECE(X,U,4)
- SET Y=$PIECE(DU,";",2)
- SET DU=$PIECE(DU,";")
- IF W[";T"
- IF $DATA(^(.1))
- SET X=^(.1)_U_$PIECE(X,U,2,99)
- +3 IF +DU'=DU
- SET DU=""""_DU_""""
- +4 IF Y
- SET Y="$P(X,U,"_Y_")"
- QUIT
- +5 IF Y=""
- SET Y="D"_DM
- QUIT
- +6 SET Y=$EXTRACT(Y,2,9)
- IF $PIECE(Y,",",2)=+Y
- SET Y=+Y
- SET Y="$E(X,"_Y_")"
- QUIT
- +7 ;
- WR ;
- +1 KILL DLN
- DO W^DILL
- W SET DRJ=0
- SET DIWL=DIWL+1
- IF '$DATA(DLN)
- SET %=IOM-DG
- SET DLN=$SELECT(%>20:%,1:IOM)-2
- +1 IF W[";X"
- SET $PIECE(X,U)=""
- DO DNW
- SET %=$PIECE(DE,"W ?",2)+1
- SET Y=DLN+%-1
- SET DIO=2
- SET %=" S DIWL="_%_",DIWR="_$SELECT(IOM<Y:IOM,1:Y)
- SET Y=$PIECE(DE," W ?")_%
- QUIT
- +2 ;
- WP SET DN=%["L"_U
- DO WR
- SET DIO=3
- SET Y=%_" D ^DIWP"
- SET X=F(DM-1)
- IF DHT<0
- GOTO WP^DIPZ1
- +1 IF $DATA(^UTILITY($JOB,99,X))
- SET I=^(X)
- DO WPX
- SET ^UTILITY($JOB,99,X)=I
- QUIT
- WPX ;
- +1 IF DN
- SET I=^DD("FUNC",38,1)_" "_I
- +2 IF DE[" D T,N"
- SET %=$FIND(I," D N:$X>")
- IF %
- SET I=$EXTRACT(I,1,%-9)_$EXTRACT(I,$FIND(I,"T",%),999)
- SET I=$EXTRACT(DE,2,999)_" "_I
- +3 QUIT
- +4 ;
- M SET D1=" S DICMX=""D "_$EXTRACT("L",%'["w")_"^DIWP"" "_$PIECE(X,U,5,99)
- DO WR
- SET Y=Y_D1
- QUIT
- +1 ;
- N ;
- +1 SET DCL=DCL+1
- SET D=",C="_DCL_" D D"
- SET DITTO(DCL)=""
- SET I=""
- +2 IF %["C"
- SET X=X_" S Y=X"_D_" S X=Y"
- SET DXS="Y"
- GOTO Z
- +3 SET Y=" S Y="_Y_D
- SET DXS="Y"
- Z DO V^DILL
- GOTO DN
- +1 ;
- DIWR ;
- +1 IF DHT
- GOTO DIWR^DIPZ1
- IF $DATA(DIWR(DM))
- IF DX=DIWR(DM)
- SET ^UTILITY($JOB,99,DX)="D A^DIWW"
- GOTO K
- +2 IF $DATA(DIWR(DM))
- FOR DX=DX+1:1
- IF '$DATA(^UTILITY($JOB,99,DX))
- SET ^(DX)="D ^DIWW"
- DO DX^DIL(DX)
- GOTO K
- +3 Begin DoDot:1
- +4 FOR I=DM-1:-1:0
- IF $DATA(DIWR(I))
- KILL DIWR(I)
- QUIT
- +5 IF I
- SET I=F(I)
- +6 IF '$TEST
- FOR I=1:1
- IF '$DATA(^UTILITY($JOB,99,I+1))
- QUIT
- End DoDot:1
- SET ^(I)="D ^DIWW "_^UTILITY($JOB,99,I)
- K KILL DIWR(DM)
- QUIT