| 1 | DIP100 ;SFISC/TKW - PROCESS BY(0) INPUT VARIABLES (CONT.OF DIP10) ;12/8/98  07:56 | 
|---|
| 2 | ;;22.0;VA FileMan;;Mar 30, 1999 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ENBY0 ; Interactive dialogue to prompt for BY(0) data | 
|---|
| 5 | Q:DUZ(0)'["@"  K DPP,BY(0),L(0),FR(0),TO(0),DISPAR(0) N DIR,DTOUT,DUOUT,DIRUT,DIROUT,X,Y | 
|---|
| 6 | EDBY W ! S DIR(0)=".401,1622O",DIR("B")=$G(BY(0)) D ^DIR K DIR G:$G(DTOUT)!("^^@"[X) EXBY0 S:$E(Y)="^" Y=$E(Y,2,9999) S BY(0)="^"_$P(Y,U) | 
|---|
| 7 | S DIR(0)=".401,1623",DIR("B")=$G(L(0)) D ^DIR K DIR G:X="@" EDBY G:$G(DIRUT) EXBY0 S L(0)=$P(Y,U) | 
|---|
| 8 | F X=L(0):1:8 K FR(0,X),TO(0,X),DISPAR(0,X) | 
|---|
| 9 | G:L(0)'>1 BYOK N DISUB D  G:$G(DTOUT)!($G(DIROUT)) EXBY0 G BYOK | 
|---|
| 10 | E2 . S DIR("?")="Enter 'YES' to experiment with these settings",DIR("?",1)="This will let you define sort ranges for any of the variable subscripts" | 
|---|
| 11 | . S DIR("?",2)="in the global referenced by BY(0).  It will also let you define sort",DIR("?",3)="qualifiers including page breaks and customized subheaders.",DIR("?",4)="" | 
|---|
| 12 | . W ! S DIR(0)="Y",DIR("A")="Edit ranges or subheaders",DIR("B")="NO" D ^DIR K DIR Q:'Y!$D(DIRUT) | 
|---|
| 13 | . W ! S DIR(0)=".4011624,.01^^K:X>(L(0)-1) X",DIR("B")=1 D ^DIR K DIR,DINUM Q:$G(DIRUT)  S DISUB=$P(Y,U) | 
|---|
| 14 | E3 . S DIR(0)=".4011624,1",DIR("B")=$G(FR(0,DISUB)) D ^DIR K DIR Q:$G(DTOUT)  Q:$G(DIROUT)  G:X="^" E2 K FR(0,DISUB) I X'="@",Y]"" S FR(0,DISUB)=$P(Y,U) | 
|---|
| 15 | . S DIR(0)=".4011624,2",DIR("B")=$G(TO(0,DISUB)) D ^DIR K DIR Q:$G(DTOUT)  Q:$G(DIROUT)  G:X="^" E2 K TO(0,DISUB) I X'="@",Y]"" S TO(0,DISUB)=$P(Y,U) I $G(FR(0,DISUB))]$P(Y,U) D  G E3 | 
|---|
| 16 | .. W !,"  START WITH follows GO TO." Q | 
|---|
| 17 | . S DIR(0)=".4011624,3.1",DIR("B")=$P($G(DISPAR(0,DISUB)),U,1) D ^DIR K DIR D:X="@"  G:$D(DUOUT)!$D(DTOUT) E2 S:Y]"" $P(DISPAR(0,DISUB),U,1)=Y | 
|---|
| 18 | .. I $P($G(DISPAR(0,DISUB)),U,2)]"" S $P(DISPAR(0,DISUB),U,1)="" Q | 
|---|
| 19 | .. K DISPAR(0,DISUB) Q | 
|---|
| 20 | . S DIR(0)=".4011624,3.2",DIR("B")=$P($G(DISPAR(0,DISUB)),U,2) D ^DIR K DIR D:X="@"  G:$D(DIRUT) E2 S $P(DISPAR(0,DISUB),U,2)=Y | 
|---|
| 21 | .. I $P($G(DISPAR(0,DISUB)),U,1)]"" S $P(DISPAR(0,DISUB),U,2)="" Q | 
|---|
| 22 | .. K DISPAR(0,DISUB) Q | 
|---|
| 23 | . S DIR(0)=".4011624,4",DIR("B")=$G(DISPAR(0,DISUB,"OUT")) D ^DIR K DIR Q:$G(DTOUT)  Q:$G(DIROUT)  K DISPAR(0,DISUB,"OUT") I "^@"'[X,Y]"" S DISPAR(0,DISUB,"OUT")=Y | 
|---|
| 24 | . G E2 | 
|---|
| 25 | BYOK I $G(DIEDITBY) Q:DUZ(0)'["@"  N DIR,DTOUT,DUOUT,DIRUT,DIROUT,X,Y | 
|---|
| 26 | W !!,"  BY(0)="_BY(0)_"     L(0)="_L(0),! | 
|---|
| 27 | I L(0)>1,$O(FR(0,0))!$O(TO(0,0))!$O(DISPAR(0,0)) D | 
|---|
| 28 | . F X=1:1:(L(0)-1) W !,"  SUB: "_X D | 
|---|
| 29 | .. W ?10,"FR(0,"_X_"): ",$G(FR(0,X)),!,?10,"TO(0,"_X_"): ",$G(TO(0,X)),! | 
|---|
| 30 | .. W ?10,"DISPAR(0,"_X_") PIECE ONE: ",$P($G(DISPAR(0,X)),U,1),! | 
|---|
| 31 | .. W ?10,"DISPAR(0,"_X_") PIECE TWO: ",$P($G(DISPAR(0,X)),U,2),! | 
|---|
| 32 | .. W:$D(DISPAR(0,X,"OUT")) ?10,"DISPAR(0,"_X_",OUT): ",$G(DISPAR(0,X,"OUT")),! | 
|---|
| 33 | .. Q | 
|---|
| 34 | .Q | 
|---|
| 35 | S DIR(0)="Y",DIR("A")="  OK",DIR("B")="YES" D ^DIR K DIR G:$G(DIRUT) EXBY0 G:'Y EDBY | 
|---|
| 36 | D EN^DIP10 G:$G(BY(0))="" EDBY Q | 
|---|
| 37 | EXBY0 W ! K BY(0),L(0),FR(0),TO(0),DISPAR(0),DPP(0) Q | 
|---|