| 1 | IBCEFG3 ; ALB/TMP - OUTPUT FORMATTER MAINT - SCREEN BLD UTILITIES ; 22-JAN-96 | 
|---|
| 2 | ;;2.0; INTEGRATED BILLING ;**52,88**; 21-MAR-94 | 
|---|
| 3 | ; | 
|---|
| 4 | EN ; Main entry point LOCAL FORM maintenance | 
|---|
| 5 | D DT^DICRW | 
|---|
| 6 | K XQORS,VALMEVL,IBFASTXT | 
|---|
| 7 | D EN^VALM("IBCE LOCAL FORMS LIST") | 
|---|
| 8 | K IBFASTXT | 
|---|
| 9 | Q | 
|---|
| 10 | ; | 
|---|
| 11 | INIT ; -- set up inital variables local form list | 
|---|
| 12 | S U="^",VALMCNT=0,VALMBG=1 | 
|---|
| 13 | K ^TMP("IBCEFORM",$J),^TMP("IBCEFORMDX",$J) | 
|---|
| 14 | D BLD | 
|---|
| 15 | Q | 
|---|
| 16 | ; | 
|---|
| 17 | BLD ; -- build list of local forms | 
|---|
| 18 | K ^TMP("IBCEFORM",$J),^TMP("IBCEFORMDX",$J) | 
|---|
| 19 | N IBCFORM,IBCNT,X,IB2 | 
|---|
| 20 | S (IBCNT,VALMCNT)=0 | 
|---|
| 21 | ; | 
|---|
| 22 | ; -- find all local forms | 
|---|
| 23 | S IBCFORM=0 F  S IBCFORM=$O(^IBE(353,IBCFORM)) Q:'IBCFORM  S IB2=$G(^(IBCFORM,2)) I $P(IB2,U,4)=0 D | 
|---|
| 24 | .; -- add to list | 
|---|
| 25 | .S IBCNT=IBCNT+1,X="" W "." | 
|---|
| 26 | .S X=$$SETFLD^VALM1(IBCNT,X,"NUMBER") | 
|---|
| 27 | .I $D(^IBE(353,IBCFORM,0)) S X=$$SETFLD^VALM1($P(^(0),"^"),X,"FNAME") | 
|---|
| 28 | .S X=$$SETFLD^VALM1($J(IBCFORM,6),X,"FENTRY") | 
|---|
| 29 | .S X=$$SETFLD^VALM1($J($P(IB2,U,2),3),X,"TYPE") | 
|---|
| 30 | .S X=$$SETFLD^VALM1($P(IB2,U,6),X,"DESCR") | 
|---|
| 31 | .D SET(X) | 
|---|
| 32 | I '$D(^TMP("IBCEFORM",$J)) S VALMCNT=2,IBCNT=2,^TMP("IBCEFORM",$J,1,0)=" ",^TMP("IBCEFORM",$J,2,0)="    No Local Forms Currently On File",^TMP("IBCEFORM",$J,"IDX",1,1)="",^TMP("IBCEFORM",$J,"IDX",2,2)="" | 
|---|
| 33 | Q | 
|---|
| 34 | ; | 
|---|
| 35 | FNL ; -- Clean up local form list | 
|---|
| 36 | K ^TMP("IBCEFORMDX",$J) | 
|---|
| 37 | D CLEAN^VALM10 | 
|---|
| 38 | K IBFASTXT | 
|---|
| 39 | Q | 
|---|
| 40 | ; | 
|---|
| 41 | SET(X) ; -- set arrays for local form list | 
|---|
| 42 | S VALMCNT=VALMCNT+1,^TMP("IBCEFORM",$J,VALMCNT,0)=X | 
|---|
| 43 | S ^TMP("IBCEFORM",$J,"IDX",VALMCNT,IBCNT)="" | 
|---|
| 44 | S ^TMP("IBCEFORMDX",$J,IBCNT)=VALMCNT_"^"_IBCFORM | 
|---|
| 45 | Q | 
|---|
| 46 | ; | 
|---|
| 47 | BLDX ; -- build display of expanded local form | 
|---|
| 48 | N IB2,IBPAR,Z,Z0 | 
|---|
| 49 | Q:'$G(IBCEXDA)  ;Form ien in file 353 | 
|---|
| 50 | S VALMBG=1,IB2=$G(^IBE(353,IBCEXDA,2)),IBPAR=+$P(IB2,U,5) | 
|---|
| 51 | K ^TMP("IBCEX",$J) | 
|---|
| 52 | D SET^VALM10(1,"Form Number: "_IBCEXDA),SET^VALM10(2,"Base File  : "_$P($G(^DIC(+IB2,0)),U)) | 
|---|
| 53 | D SET^VALM10(3,"Format Type: "_$$EXPAND^IBTRE(353,2.02,$P(IB2,U,2))) | 
|---|
| 54 | D SET^VALM10(4," ") | 
|---|
| 55 | D SET^VALM10(5,"Description: "_$P(IB2,U,6)) | 
|---|
| 56 | S VALMCNT=5 | 
|---|
| 57 | I $P(IB2,U,2)="P" D SET^VALM10(VALMCNT+1,"Form Length: "_$P(IB2,U,3)) S VALMCNT=VALMCNT+1 | 
|---|
| 58 | I $P(IB2,U,2)="T" S Z=$S(IBPAR:$P($G(^IBE(353,IBPAR,2)),U,7),1:$P(IB2,U,7)) S:Z="" Z="^" D SET^VALM10(VALMCNT+1,"  Delimiter: "_Z) S VALMCNT=VALMCNT+1 | 
|---|
| 59 | I IBPAR D SET^VALM10(VALMCNT+1," ") D SET^VALM10(VALMCNT+2,"Associated With National Form: "_$P($G(^IBE(353,IBPAR,0)),U)) S VALMCNT=VALMCNT+2 | 
|---|
| 60 | S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT," ") | 
|---|
| 61 | I $P(IB2,U,2)'="S" D | 
|---|
| 62 | . K Z | 
|---|
| 63 | . S VALMCNT=VALMCNT+1,Z0=$G(^IBE(353,IBPAR,"PRE")),Z=$G(^IBE(353,IBCEXDA,"PRE")) | 
|---|
| 64 | . I $L(Z)>57 D SPLITZ(.Z) | 
|---|
| 65 | . D SET^VALM10(VALMCNT,"Entry Pre-processor : "_$S(Z'="":Z,Z0="":"",1:Z0_" (defined for associated 'parent' form)")) | 
|---|
| 66 | . I $D(Z(0)) D | 
|---|
| 67 | .. N CT | 
|---|
| 68 | .. F CT=0:1:$O(Z(""),-1) S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT,Z(CT)) | 
|---|
| 69 | .. K Z | 
|---|
| 70 | . S VALMCNT=VALMCNT+1,Z0=$G(^IBE(353,IBPAR,"POST")),Z=$G(^IBE(353,IBCEXDA,"POST")) | 
|---|
| 71 | . I $L(Z)>57 D SPLITZ(.Z) | 
|---|
| 72 | . D SET^VALM10(VALMCNT,"Entry Post-processor: "_$S(Z'="":Z,Z0="":"",1:Z0_" (defined for associated 'parent' form)")) | 
|---|
| 73 | . I $D(Z(0)) D | 
|---|
| 74 | .. N CT | 
|---|
| 75 | .. F CT=0:1:$O(Z(""),-1) S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT,Z(CT)) | 
|---|
| 76 | .. K Z | 
|---|
| 77 | S VALMCNT=VALMCNT+1,Z0=$G(^IBE(353,IBPAR,"FPRE")),Z=$G(^IBE(353,IBCEXDA,"FPRE")) | 
|---|
| 78 | I $L(Z)>57 D SPLITZ(.Z) | 
|---|
| 79 | D SET^VALM10(VALMCNT,"Form Pre-processor  : "_$S(Z'="":Z,Z0="":"",1:Z0_" (defined for associated 'parent' form)")) | 
|---|
| 80 | I $D(Z(0)) D | 
|---|
| 81 | . N CT | 
|---|
| 82 | . F CT=0:1:$O(Z(""),-1) S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT,Z(CT)) | 
|---|
| 83 | . K Z | 
|---|
| 84 | S VALMCNT=VALMCNT+1,Z0=$G(^IBE(353,IBPAR,"FPOST")),Z=$G(^IBE(353,IBCEXDA,"FPOST")) | 
|---|
| 85 | I $L(Z)>57 D SPLITZ(.Z) | 
|---|
| 86 | D SET^VALM10(VALMCNT,"Form Post-processor : "_$S(Z'="":Z,Z0="":"",1:Z0_" (defined for associated 'parent' form)")) | 
|---|
| 87 | I $D(Z(0)) D | 
|---|
| 88 | . N CT | 
|---|
| 89 | . F CT=0:1:$O(Z(""),-1) S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT,Z(CT)) | 
|---|
| 90 | . K Z | 
|---|
| 91 | I $P(IB2,U,2)'="S" D | 
|---|
| 92 | . S VALMCNT=VALMCNT+1,Z0=$G(^IBE(353,IBPAR,"OUT")),Z=$G(^IBE(353,IBCEXDA,"OUT")) | 
|---|
| 93 | . I $L(Z)>57 D SPLITZ(.Z) | 
|---|
| 94 | . D SET^VALM10(VALMCNT,"Output Logic        : "_$S(Z'="":Z,Z0="":"(Use formatter default)",1:Z0_" (defined for associated 'parent' form)")) | 
|---|
| 95 | . I $D(Z(0)) D | 
|---|
| 96 | .. N CT | 
|---|
| 97 | .. F CT=0:1:$O(Z(""),-1) S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT,Z(CT)) | 
|---|
| 98 | .. K Z | 
|---|
| 99 | . S VALMCNT=VALMCNT+1,Z0=$G(^IBE(353,IBPAR,"EXT")),Z=$G(^IBE(353,IBCEXDA,"EXT")) | 
|---|
| 100 | . I $L(Z)>57 D SPLITZ(.Z) | 
|---|
| 101 | . D SET^VALM10(VALMCNT,"Extract Logic       : "_$S(Z'="":Z,Z0="":"",1:Z0_" (defined for associated 'parent' form)")) | 
|---|
| 102 | . I $D(Z(0)) D | 
|---|
| 103 | .. N CT | 
|---|
| 104 | .. F CT=0:1:$O(Z(""),-1) S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT,Z(CT)) | 
|---|
| 105 | .. K Z | 
|---|
| 106 | Q | 
|---|
| 107 | ; | 
|---|
| 108 | SELX ; -- Select the form to process | 
|---|
| 109 | D EN^VALM2($G(XQORNOD(0)),"S") | 
|---|
| 110 | S IBCEXDA=$P($G(^TMP("IBCEFORMDX",$J,+$O(VALMY("")))),U,2) | 
|---|
| 111 | Q | 
|---|
| 112 | ; | 
|---|
| 113 | FNLX ; Clean up after form view/edit action | 
|---|
| 114 | K IBCEXDA | 
|---|
| 115 | D CLEAN^VALM10 | 
|---|
| 116 | S VALMBCK="R" | 
|---|
| 117 | Q | 
|---|
| 118 | ; | 
|---|
| 119 | HDRX ; -- Hdr for form view/edit action | 
|---|
| 120 | S VALMHDR(1)=" " | 
|---|
| 121 | S VALMHDR(2)="LOCAL FORM: "_$P($G(^IBE(353,+$G(IBCEXDA),0)),U) | 
|---|
| 122 | Q | 
|---|
| 123 | ; | 
|---|
| 124 | SPLITZ(Z) ;Splits code into chunks the display can handle | 
|---|
| 125 | N A,CT,Q,ST | 
|---|
| 126 | S A=Z,CT=0,ST=57 | 
|---|
| 127 | S Z=$E(A,1,ST) | 
|---|
| 128 | F CT=0:1 S Q=$E(A,ST+1,ST+57) Q:Q=""  S Z(CT)=$J("",22)_Q,ST=ST+57 | 
|---|
| 129 | Q | 
|---|
| 130 | ; | 
|---|