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 | ;
|
---|