1 | ENFAXFR ;WCIOFO/KLD,SAB; EQUIPMENT TRANSFERS ;11/29/2000
|
---|
2 | ;;7.0;ENGINEERING;**29,33,39,57,60,66**;Aug 17, 1993
|
---|
3 | ;This routine should not be modified.
|
---|
4 | ST ;
|
---|
5 | D SETUP
|
---|
6 | D:ENDO ASKEQ
|
---|
7 | D:ENDO ADDFR
|
---|
8 | EDIT D:ENDO ASKDATA
|
---|
9 | D:ENDO CVTDATA
|
---|
10 | D:ENDO VALFR I $D(ENREEDIT) K ENREEDIT G EDIT
|
---|
11 | K ENAV I ENDO D I $G(ENUT) S ENDO=0 K ENUT
|
---|
12 | . S ENAV=$$AVP^ENFAAV("6915.6",ENFR("DA"))
|
---|
13 | . I 'ENAV W !,"Adjustment voucher was NOT created."
|
---|
14 | D:ENDO ASKOK
|
---|
15 | D:'ENDO DEL
|
---|
16 | D:ENDO UPDATE
|
---|
17 | D:ENDO PSEQED
|
---|
18 | D WRAPUP
|
---|
19 | Q
|
---|
20 | SETUP ;
|
---|
21 | S ENDO=1
|
---|
22 | S (ENEQ("DA"),ENFA("DA"),ENFR("DA"))=""
|
---|
23 | Q
|
---|
24 | ASKEQ ; ask for equipment item
|
---|
25 | D GETEQ^ENUTL I Y'>0 S ENDO=0 Q
|
---|
26 | L +^ENG(6914,+Y):5 I '$T D S ENDO=0 Q
|
---|
27 | . W !!,"Someone else is editing this Equipment Record."
|
---|
28 | . W !,"Please try again later."
|
---|
29 | S ENEQ("DA")=+Y
|
---|
30 | I '$D(^ENG(6915.2,"B",ENEQ("DA"))) D S ENDO=0 Q
|
---|
31 | . W !!,"There is no FA document on file for this asset."
|
---|
32 | . W !,"Nothing to change."
|
---|
33 | S X=$$CHKFA^ENFAUTL(ENEQ("DA")) I +X=0 D S ENDO=0 Q
|
---|
34 | . S Y=$P(X,U,3) D DD^%DT
|
---|
35 | . W !!,"An FD document for ENTRY #",ENEQ("DA")," was processed on ",Y,"."
|
---|
36 | . W !,"No action taken."
|
---|
37 | S ENFA("DA")=$P(X,U,4)
|
---|
38 | F I=1,2,3,8,9 S ENEQ(I)=$G(^ENG(6914,ENEQ("DA"),I))
|
---|
39 | Q
|
---|
40 | ADDFR ; create entry for FR code sheet
|
---|
41 | S DIC="^ENG(6915.6,",DIC(0)="L",DLAYGO=6915.6
|
---|
42 | S X=ENEQ("DA"),DIC("DR")="1///NOW;1.5////^S X=DUZ"
|
---|
43 | K DD,DO D FILE^DICN K DIC,DLAYGO
|
---|
44 | I Y'>0 D S ENDO=0 Q
|
---|
45 | . I $D(ENBAT("SILENT")) D BAD("Can't add to FR DOCUMENT LOG") Q
|
---|
46 | . W !!,"Can't update FR document log. Better contact IRM."
|
---|
47 | S ENFR("DA")=+Y
|
---|
48 | L +^ENG(6915.6,+Y):0 I '$T D S ENDO=0 Q
|
---|
49 | . I $D(ENBAT("SILENT")) D BAD("Can't lock FR Document") Q
|
---|
50 | . W !!,"The FR document that you just created is being edited"
|
---|
51 | . W !,"by someone else. Please notify IRM."
|
---|
52 | ; populate non-editable fields from FA
|
---|
53 | S X=$G(^ENG(6915.2,ENFA("DA"),3))
|
---|
54 | S $P(^ENG(6915.6,ENFR("DA"),3),U,11)=$P(X,U,12) ; owning station
|
---|
55 | S $P(^ENG(6915.6,ENFR("DA"),3),U,17)=$P(X,U,30) ; satellite station
|
---|
56 | K X
|
---|
57 | ; save current asset value on FR
|
---|
58 | S $P(^ENG(6915.6,ENFR("DA"),100),U,8)=$$GET1^DIQ(6914,ENEQ("DA"),12)
|
---|
59 | Q
|
---|
60 | ASKDATA ;ask data for FR document
|
---|
61 | S DIE="^ENG(6915.6,",DA=ENFR("DA"),DR="[ENFA XFR]"
|
---|
62 | S DIE("NO^")="BACKOUTOK"
|
---|
63 | W ! D ^DIE K DIE("NO^")
|
---|
64 | I $D(DTOUT) W !!,"Timeout" S ENDO=0 Q
|
---|
65 | Q
|
---|
66 | CVTDATA ; convert user-entered pseudo field data into exported data
|
---|
67 | S ENFAP(100)=$G(^ENG(6915.6,ENFR("DA"),100))
|
---|
68 | ;
|
---|
69 | ; populate required fields (send even when not changed)
|
---|
70 | K DR S DR=""
|
---|
71 | I $P(ENFAP(100),U,2)]"" D
|
---|
72 | . S DR=";28///^S X=$$GET1^DIQ(6915.6,ENFR(""DA""),101)"
|
---|
73 | I $P(ENFAP(100),U,3)]"" D
|
---|
74 | . S DR=DR_";29///^S X=$$GET1^DIQ(6915.6,ENFR(""DA""),102)"
|
---|
75 | S:$E(DR)=";" DR=$E(DR,2,200)
|
---|
76 | I DR]"" S DIE="^ENG(6915.6,",DA=ENFR("DA") D ^DIE
|
---|
77 | ;
|
---|
78 | S ENFAP("BUDFY")="" ; default budget fiscal year
|
---|
79 | S X=$P(ENFAP(100),U,2) I X]"" D
|
---|
80 | . I $$GET1^DIQ(6914.6,X,.01)="4539" S ENFAP("BUDFY")=2000 Q ; EN*7*66
|
---|
81 | . I $$GET1^DIQ(6914.6,X,2,"I") S ENFAP("BUDFY")=1994 Q ; rev. funds
|
---|
82 | . I $E($$GET1^DIQ(6914.6,X,.01),1,4)="AMAF" S ENFAP("BUDFY")=1995 Q
|
---|
83 | . S ENFAP("BUDFY")=$E(DT,1,3)+1700+$E(DT,4)
|
---|
84 | . ;S ENFAP("BUDFY")=$E($P(ENEQ(2),U,4),1,3)+1700+$E($P(ENEQ(2),U,4),4)
|
---|
85 | S $P(^ENG(6915.6,ENFR("DA"),3),U,8)=$E(ENFAP("BUDFY"),3,4)
|
---|
86 | ;
|
---|
87 | S ENACC="000000000" ; default xprogram
|
---|
88 | ;I $P(ENFAP(100),U,4)]"" D ;Get ACC - don't send per Bob Landrum
|
---|
89 | ;. N ENDOCFY,ENY
|
---|
90 | ;. S X="PRC0C" X ^%ZOSF("TEST") D:$T
|
---|
91 | ;. . S ENFAP("STATION")=$P(^ENG(6915.2,ENFA("DA"),3),U,12)
|
---|
92 | ;. . S ENY=$G(^ENG(6915.2,ENFA("DA"),3))
|
---|
93 | ;. . S ENDOCFY=$E($P(ENY,U,16)+$E($P(ENY,U,17)),3,4)
|
---|
94 | ;. . S X=$$ACC^PRC0C(ENFAP("STATION"),$P(ENFAP(100),U,4)_U_ENDOCFY_U_ENFAP("BUDFY"))
|
---|
95 | ;. . I $P(X,U,3)?9AN S ENACC=$P(X,U,3)
|
---|
96 | S $P(^ENG(6915.6,ENFR("DA"),3),U,12)=ENACC
|
---|
97 | K ENACC
|
---|
98 | ;
|
---|
99 | ; populate optional fields (recompute cost center when CMR specified)
|
---|
100 | K DR S DR=""
|
---|
101 | I $P(ENFAP(100),U,5)]"" S DR=";32///^S X=$$GET1^DIQ(6915.6,ENFR(""DA""),104)"
|
---|
102 | I $P(ENFAP(100),U,6)]"" D
|
---|
103 | . S ENFAP("CMR")=$E($$GET1^DIQ(6915.6,ENFR("DA"),105),1,5)
|
---|
104 | . S DR=DR_";37///^S X=ENFAP(""CMR"")"
|
---|
105 | . S DR=DR_";33///^S X=$$LOC^ENFAVAL(ENFAP(""CMR""))"
|
---|
106 | . S ENFAP("CC")=$$GET1^DIQ(6914.1,$P(ENFAP(100),U,6),10)
|
---|
107 | . I ENFAP("CC")]"" S DR=DR_";34///^S X=ENFAP(""CC"")"
|
---|
108 | S:$E(DR)=";" DR=$E(DR,2,200)
|
---|
109 | I DR]"" S DIE="^ENG(6915.6,",DA=ENFR("DA") D ^DIE
|
---|
110 | K DR
|
---|
111 | ;
|
---|
112 | F I=0,3,100 S ENFAP(I)=^ENG(6915.6,ENFR("DA"),I)
|
---|
113 | Q
|
---|
114 | VALFR ; validate FR document
|
---|
115 | K ENREEDIT
|
---|
116 | S ENFAP("DOC")="FR" K ^TMP($J) D ^ENFAVAL
|
---|
117 | I $D(^TMP($J)) D LISTP^ENFAXMTM D
|
---|
118 | . S DIR(0)="Y",DIR("A")="Re-edit this transaction",DIR("B")="YES"
|
---|
119 | . D ^DIR K DIR
|
---|
120 | . I 'Y W !!,"Sorry, I must then delete this FR document!" S ENDO=0 Q
|
---|
121 | . S ENREEDIT=1
|
---|
122 | . ; initialize derived values
|
---|
123 | . S $P(ENFAP(3),U,7,10)="^^^",$P(ENFAP(3),U,12,15)="^^^"
|
---|
124 | . S $P(ENFAP(3),U,18)=""
|
---|
125 | . S ^ENG(6915.6,ENFR("DA"),3)=ENFAP(3)
|
---|
126 | Q
|
---|
127 | ASKOK ;
|
---|
128 | S DIR(0)="Y",DIR("A")="Sure you want to process these changes"
|
---|
129 | S DIR("B")="YES" D ^DIR K DIR I 'Y!($D(DIRUT)) S ENDO=0
|
---|
130 | Q
|
---|
131 | ;
|
---|
132 | DEL ;
|
---|
133 | I $G(ENFR("DA"))]"" D
|
---|
134 | . S DA=ENFR("DA"),DIK="^ENG(6915.6," D ^DIK K DIK
|
---|
135 | . W !,"FR Document deleted."
|
---|
136 | W $C(7),!,"No action taken. Database unchanged."
|
---|
137 | Q
|
---|
138 | UPDATE ; update
|
---|
139 | ;update FAP Balance if fund changed
|
---|
140 | I $P(ENFAP(100),U,2)]"",$P(ENFAP(100),U,2)'=$P(ENEQ(9),U,7) D
|
---|
141 | . D ADJBAL^ENFABAL($P(ENEQ(9),U,5),$P(ENEQ(9),U,7),$P(ENEQ(8),U,6),$P($P(ENFAP(0),U,2),"."),-$P(ENEQ(2),U,3)) ; remove from old
|
---|
142 | . D ADJBAL^ENFABAL($P(ENEQ(9),U,5),$P(ENFAP(100),U,2),$P(ENEQ(8),U,6),$P($P(ENFAP(0),U,2),"."),$P(ENEQ(2),U,3)) ; add to new
|
---|
143 | W:'$D(ENBAT("SILENT")) !!,"Updating the AEMS/MERS Equipment File."
|
---|
144 | S ENEQ("XCMR")="" ; initialize CMR changed flag
|
---|
145 | S DIE="^ENG(6914,",DA=ENEQ("DA"),DR=""
|
---|
146 | I $P(ENFAP(100),U,2)]"",$P(ENFAP(100),U,2)'=$P(ENEQ(9),U,7) S DR=DR_";62////^S X=$P(ENFAP(100),U,2)"
|
---|
147 | I $P(ENFAP(100),U,3)]"",$P(ENFAP(100),U,3)'=$P(ENEQ(9),U,8) S DR=DR_";63////^S X=$P(ENFAP(100),U,3)"
|
---|
148 | I $P(ENFAP(100),U,4)]"",$P(ENFAP(100),U,4)'=$P(ENEQ(8),U,3) S DR=DR_";35////^S X=$P(ENFAP(100),U,4)"
|
---|
149 | I $P(ENFAP(100),U,5)]"",$P(ENFAP(100),U,5)'=$P(ENEQ(9),U,6) S DR=DR_";61////^S X=$P(ENFAP(100),U,5)"
|
---|
150 | I $P(ENFAP(100),U,6)]"",$P(ENFAP(100),U,6)'=$P(ENEQ(2),U,9) S DR=DR_";19////^S X=$P(ENFAP(100),U,6)",ENEQ("XCMR")=1
|
---|
151 | I $E(DR)=";" S DR=$E(DR,2,200)
|
---|
152 | D ^DIE
|
---|
153 | ; transmit document
|
---|
154 | W:'$D(ENBAT("SILENT")) !!,"Sending FR document to FAP."
|
---|
155 | D ^ENFAXMT
|
---|
156 | ; save adjustment voucher
|
---|
157 | I $G(ENAV) D
|
---|
158 | . S DIE="^ENG(6915.6,",DR="301///NOW",DA=ENFR("DA") D ^DIE
|
---|
159 | . W !,"Adjustment Voucher was created.",!
|
---|
160 | Q
|
---|
161 | ;
|
---|
162 | PSEQED ; Post FR Equipment Edit (selected fields)
|
---|
163 | N ENX
|
---|
164 | S DIE="^ENG(6914,",DA=ENEQ("DA"),DR=""
|
---|
165 | ; edit Service when CMR changes and new CMR's service is different
|
---|
166 | I $G(ENEQ("XCMR"))]"" D
|
---|
167 | . S ENX=$$GET1^DIQ(6914,ENEQ("DA"),"19:.5") ; get CMR's service
|
---|
168 | . Q:ENX="" ; CMR's service not specified
|
---|
169 | . Q:ENX=$$GET1^DIQ(6914,ENEQ("DA"),21) ; already equals using svc
|
---|
170 | . ; include in user edit
|
---|
171 | . S DR=";21USING SERVICE"
|
---|
172 | . W !!,"This FR Document changed the equipment's CMR value."
|
---|
173 | . W !,"The service accountable for the new CMR is ",ENX,"."
|
---|
174 | . W !,"You can update the equipment's Using Service if appropriate."
|
---|
175 | . W !,"Just press <ENTER> to leave it unchanged."
|
---|
176 | S:$E(DR)=";" DR=$E(DR,2,999)
|
---|
177 | I DR]"" W !!,"Editing Equipment ENTRY # ",DA D ^DIE
|
---|
178 | Q
|
---|
179 | ;
|
---|
180 | WRAPUP ;
|
---|
181 | I $G(ENEQ("DA"))]"" L -^ENG(6914,ENEQ("DA"))
|
---|
182 | I $G(ENFR("DA"))]"" L -^ENG(6915.6,ENFR("DA"))
|
---|
183 | K DA,DIC,DIE,DR,DIR,I,X,Y
|
---|
184 | K ENAV,ENDO,ENEQ,ENFAP,ENFA,ENFR
|
---|
185 | Q
|
---|
186 | ;
|
---|
187 | BAD(X) ; add text to validation problem list
|
---|
188 | N I
|
---|
189 | S I=$P($G(^TMP($J,"BAD",ENEQ("DA"))),U)+1
|
---|
190 | S ^TMP($J,"BAD",ENEQ("DA"),I)=X
|
---|
191 | S ^TMP($J,"BAD",ENEQ("DA"))=I
|
---|
192 | Q
|
---|
193 | ;ENFAXFR
|
---|