1 | ENXOIPS ;WIRMFO/SAB-POST INIT ;8.7.96
|
---|
2 | ;;7.0;ENGINEERING;**33**;AUG 17, 1993
|
---|
3 | ;
|
---|
4 | D BMES^XPDUTL("Performing Post-Init...")
|
---|
5 | ; set up fund conversion table
|
---|
6 | N ENFUNDT
|
---|
7 | S ENFUNDT(4537)="4537B"
|
---|
8 | S ENFUNDT(5014)="5014A1"
|
---|
9 | S ENFUNDT(8129)="8129G"
|
---|
10 | S ENFUNDT(8180)="8180S"
|
---|
11 | D MES^XPDUTL(" Updating NX FUND (#6914.6) names...")
|
---|
12 | K ENFDA
|
---|
13 | S ENDA=0 F S ENDA=$O(^ENG(6914.6,ENDA)) Q:'ENDA D
|
---|
14 | . S ENFUND=$P($G(^ENG(6914.6,ENDA,0)),U)
|
---|
15 | . I ENFUND]"",$D(ENFUNDT(ENFUND)) D
|
---|
16 | . . S ENFDA(6914.6,ENDA_",",.01)=ENFUNDT(ENFUND)
|
---|
17 | . . S:ENFUND=8129 ENFDA(6914.6,ENDA_",",1)="National Cemetery Gift Fund"
|
---|
18 | . . D MES^XPDUTL(" FUND "_ENFUND_" being changed to "_ENFUNDT(ENFUND))
|
---|
19 | I $D(ENFDA) D FILE^DIE("","ENFDA") D MSG^DIALOG()
|
---|
20 | D MES^XPDUTL(" Updating FUND values in FA DOCUMENT LOG")
|
---|
21 | S ENDA=0 F S ENDA=$O(^ENG(6915.2,ENDA)) Q:'ENDA D
|
---|
22 | . S ENFUND=$P($G(^ENG(6915.2,ENDA,3)),U,10)
|
---|
23 | . I ENFUND]"",$D(ENFUNDT(ENFUND)) S $P(^ENG(6915.2,ENDA,3),U,10)=ENFUNDT(ENFUND)
|
---|
24 | D MES^XPDUTL(" Updating FUND values in FR DOCUMENT LOG")
|
---|
25 | S ENDA=0 F S ENDA=$O(^ENG(6915.6,ENDA)) Q:'ENDA D
|
---|
26 | . S ENFUND=$P($G(^ENG(6915.6,ENDA,3)),U,9)
|
---|
27 | . I ENFUND]"",$D(ENFUNDT(ENFUND)) S $P(^ENG(6915.6,ENDA,3),U,9)=ENFUNDT(ENFUND)
|
---|
28 | K ENDA,ENFDA,ENFUND,ENFUNDT
|
---|
29 | D MES^XPDUTL(" Completed NX FUND changes")
|
---|
30 | ;
|
---|
31 | K ENX
|
---|
32 | S ENX(1)=" "
|
---|
33 | S ENX(2)=" The asset value of an equipment item in the Equipment Inventory"
|
---|
34 | S ENX(3)=" (#6914) file was not being correctly adjusted after creation of"
|
---|
35 | S ENX(4)=" an FC Document that changed the asset value of an earlier"
|
---|
36 | S ENX(5)=" FA Document to 0.00. The incorrect asset value would result"
|
---|
37 | S ENX(6)=" in the Voucher Summary report overstating the actual effect of"
|
---|
38 | S ENX(7)=" subsequent FD and FR Documents on the general ledger balance."
|
---|
39 | ;
|
---|
40 | S ENX(8)=" "
|
---|
41 | S ENX(9)=" The problem has been corrected by patch EN*7*33. This routine"
|
---|
42 | S ENX(10)=" will examine FAP Documents to identify any equipment entries"
|
---|
43 | S ENX(11)=" that were affected by the problem. If any equipment items are"
|
---|
44 | S ENX(12)=" identified, then this routine will make appropriate corrections."
|
---|
45 | S ENX(13)=" Any changes will be reported."
|
---|
46 | S ENX(14)=" "
|
---|
47 | D MES^XPDUTL(.ENX) K ENX
|
---|
48 | ;
|
---|
49 | IDEQ ; loop thru FC DOCUMENT LOG to identify equipment that must be checked
|
---|
50 | D MES^XPDUTL(" Checking for FC Documents with value 0.00")
|
---|
51 | K ^TMP($J)
|
---|
52 | S ENC("EQ")=0 ; count of equipment
|
---|
53 | S ENI=0 F S ENI=$O(^ENG(6915.4,ENI)) Q:'ENI D
|
---|
54 | . Q:$P($G(^ENG(6915.4,ENI,3)),U,8)'="00" ; not FC to FA
|
---|
55 | . Q:$P($G(^ENG(6915.4,ENI,4)),U,6)']"" ; FC did not update value
|
---|
56 | . Q:$P($G(^ENG(6915.4,ENI,4)),U,6) ; FC not 0 value
|
---|
57 | . ; this FC Document would have been incorrecly processed
|
---|
58 | . ; save the associated equipment entry for later
|
---|
59 | . S ENDA=$P($G(^ENG(6915.4,ENI,0)),U)
|
---|
60 | . I ENDA,'$D(^TMP($J,ENDA)) S ^TMP($J,ENDA)="",ENC("EQ")=ENC("EQ")+1
|
---|
61 | ;
|
---|
62 | I ENC("EQ")=0 D G EXIT
|
---|
63 | . D MES^XPDUTL(" No FC Documents found with betterment '00' and zero value.")
|
---|
64 | . D MES^XPDUTL(" No corrections are required.")
|
---|
65 | D MES^XPDUTL(" The asset values of "_ENC("EQ")_" equipment entries may have")
|
---|
66 | D MES^XPDUTL(" been incorrectly adjusted due to the fault. Checking further...")
|
---|
67 | ;
|
---|
68 | CHKEQ ; check equipment
|
---|
69 | ; load FA Type -> SGL conversion table
|
---|
70 | K ENFATT S I=0 F S I=$O(^ENG(6914.3,I)) Q:'I S X=^(I,0) I $P(X,U)]"",$P(X,U,3)]"" S ENFATT($P(X,U,3))=$P(X,U)
|
---|
71 | S ENFAPDT=DT+1 ; initialize earliest date of a corrected FAP Document
|
---|
72 | ; loop thru identified equipment entries
|
---|
73 | S ENDA=0 F S ENDA=$O(^TMP($J,ENDA)) Q:'ENDA D
|
---|
74 | . D BMES^XPDUTL(" -----------------------------------------")
|
---|
75 | . D MES^XPDUTL(" Checking Equipment with Entry #"_ENDA)
|
---|
76 | . K ENVAL
|
---|
77 | . ; lock equipment entry
|
---|
78 | . L +^ENG(6914,ENDA):5 I '$T D MES^XPDUTL(" Someone else is editing this equipment item. Please reinstall this patch later.") Q
|
---|
79 | . ; obtain chrono list of FAP Documents for this equipment entry
|
---|
80 | . K ENDOC
|
---|
81 | . F ENFILE=6915.2:.1:6915.6 D
|
---|
82 | . . S ENI=0 F S ENI=$O(^ENG(ENFILE,"B",ENDA,ENI)) Q:'ENI D
|
---|
83 | . . . S ENDT=$$GET1^DIQ(ENFILE,ENI,1,"I")
|
---|
84 | . . . S:ENDT ENDOC(ENDT,ENFILE,ENI)=""
|
---|
85 | . ; loop thru chrono list of FAP Documents and check asset values
|
---|
86 | . S ENDT="" F S ENDT=$O(ENDOC(ENDT)) Q:ENDT="" D
|
---|
87 | . . S ENFILE="" F S ENFILE=$O(ENDOC(ENDT,ENFILE)) Q:ENFILE="" D
|
---|
88 | . . . S ENI=0 F S ENI=$O(ENDOC(ENDT,ENFILE,ENI)) Q:'ENI D
|
---|
89 | . . . . D @("DOC"_$P(ENFILE,".",2))
|
---|
90 | . ; now check current value in equipment file
|
---|
91 | . S ENVAL("EQ")=$P($G(^ENG(6914,ENDA,2)),U,3) ; equipment value
|
---|
92 | . S ENVAL("EX")=$$DEC^ENFAUTL(ENVAL("IFA")+ENVAL("FB")) ; expected value
|
---|
93 | . S ENVAL("CO")=$$DEC^ENFAUTL(ENVAL("FA")+ENVAL("FB")) ; correct value
|
---|
94 | . I ENVAL("CO")'=ENVAL("EQ") D
|
---|
95 | . . D BMES^XPDUTL(" The TOTAL ASSET VALUE in the Equipment file is "_ENVAL("EQ"))
|
---|
96 | . . D MES^XPDUTL(" The expected value due to the fault (based on FAP Documents) is "_ENVAL("EX"))
|
---|
97 | . . D MES^XPDUTL(" The correct value (based on FAP Documents) is "_ENVAL("CO"))
|
---|
98 | . . ;
|
---|
99 | . . D MES^XPDUTL(" Changing Equipment file to "_ENVAL("CO")_"...")
|
---|
100 | . . S DA=ENDA,DR="12////^S X=ENVAL(""CO"")",DIE="^ENG(6914," D ^DIE
|
---|
101 | . . I +$$CHKFA^ENFAUTL(ENDA) D BMES^XPDUTL(" NOTE: The equipment item is currently established in Fixed Assets.")
|
---|
102 | . . I '+$$CHKFA^ENFAUTL(ENDA) D BMES^XPDUTL(" NOTE: The equipment item is not currently established in Fixed Assets and") D MES^XPDUTL(" it's value can be edited on the first equipment screen.")
|
---|
103 | . D MES^XPDUTL(" Completed check of equipment with Entry #"_ENDA_".")
|
---|
104 | . ; unlock equipment item
|
---|
105 | . L -^ENG(6914,ENDA)
|
---|
106 | I ENFAPDT<DT D
|
---|
107 | . D BMES^XPDUTL("-----------------------------------------")
|
---|
108 | . D MES^XPDUTL("You may wish to reprint the Voucher Summary reports") D MES^XPDUTL("starting with "_$$FMTE^XLFDT($E(ENFAPDT,1,5)_"00")_" since adjustments have been made.")
|
---|
109 | D ^ENXOIPS1
|
---|
110 | D BMES^XPDUTL("Completed Post-Init.")
|
---|
111 | EXIT ;
|
---|
112 | K ^TMP($J)
|
---|
113 | K ENC,ENDA,ENDT,ENFAPDT,ENFAT,ENFATT,ENFILE,ENFND,ENFNDN,ENI
|
---|
114 | K ENSGL,ENSN,ENSTN,ENTRC,ENTRN,ENVAL
|
---|
115 | Q
|
---|
116 | DOC2 ; FA document
|
---|
117 | S ENTRC="FA"
|
---|
118 | S ENTRN=$E($$GET1^DIQ(ENFILE,ENI,10),1,9)
|
---|
119 | S ENSN=$E($$GET1^DIQ(ENFILE,ENI,24),1,5)
|
---|
120 | S ENFND=$$GET1^DIQ(ENFILE,ENI,29)
|
---|
121 | S ENFAT=$$GET1^DIQ(ENFILE,ENI,25)
|
---|
122 | S ENVAL=$$GET1^DIQ(ENFILE,ENI,53)
|
---|
123 | S (ENVAL("FA"),ENVAL("IFA"))=ENVAL,ENVAL("FB")=0 ; reset values
|
---|
124 | Q
|
---|
125 | DOC3 ; FB document
|
---|
126 | S ENTRC="FB "_$$GET1^DIQ(ENFILE,ENI,23)
|
---|
127 | S ENTRN=$E($$GET1^DIQ(ENFILE,ENI,10),1,9)
|
---|
128 | S ENSN=$E($$GET1^DIQ(ENFILE,ENI,21),1,5)
|
---|
129 | S ENFAT=$$GET1^DIQ(ENFILE,ENI,22)
|
---|
130 | S ENVAL=$$GET1^DIQ(ENFILE,ENI,36)
|
---|
131 | S ENVAL("FB")=ENVAL("FB")+ENVAL ; increment FB value
|
---|
132 | Q
|
---|
133 | DOC4 ; FC document
|
---|
134 | S ENTRC="FC "_$$GET1^DIQ(ENFILE,ENI,27)
|
---|
135 | S ENTRN=$E($$GET1^DIQ(ENFILE,ENI,10),1,9)
|
---|
136 | S ENSN=$E($$GET1^DIQ(ENFILE,ENI,25),1,5)
|
---|
137 | S ENFAT=$$GET1^DIQ(ENFILE,ENI,26)
|
---|
138 | S ENVAL=$$GET1^DIQ(ENFILE,ENI,54)
|
---|
139 | ; adjust value
|
---|
140 | I ENTRC["00",ENVAL]"" D
|
---|
141 | . I ENVAL S ENVAL("IFA")=ENVAL-ENVAL("FA")+ENVAL("IFA")
|
---|
142 | . S ENVAL("FA")=ENVAL
|
---|
143 | I ENTRC'["00",ENVAL]"" S ENVAL("FB")=ENVAL("FB")+(ENVAL-$$GET1^DIQ(ENFILE,ENI,103))
|
---|
144 | Q
|
---|
145 | DOC5 ; FD document
|
---|
146 | S ENTRC="FD "_$$GET1^DIQ(ENFILE,ENI,100,"I")
|
---|
147 | S ENTRN=$E($$GET1^DIQ(ENFILE,ENI,10),1,9)
|
---|
148 | S ENSN=$E($$GET1^DIQ(ENFILE,ENI,27),1,5)
|
---|
149 | S ENFAT=$$GET1^DIQ(ENFILE,ENI,28)
|
---|
150 | S ENVAL=""
|
---|
151 | S ENVAL("FD")=$$GET1^DIQ(ENFILE,ENI,101) ; asset value at time of FD
|
---|
152 | S ENVAL("CO")=$$DEC^ENFAUTL(ENVAL("FA")+ENVAL("FB")) ; correct value
|
---|
153 | I ENVAL("CO")'=ENVAL("FD") D
|
---|
154 | . D BMES^XPDUTL(" FD-"_ENTRN_" asset value incorrectly recorded as "_ENVAL("FD"))
|
---|
155 | . D MES^XPDUTL(" Correct value calculated as "_ENVAL("CO"))
|
---|
156 | . D MES^XPDUTL(" Updating document log for FD-"_ENTRN_"...")
|
---|
157 | . S DR="101///^S X=ENVAL(""CO"")",DIE="^ENG(6915.5,",DA=ENI D ^DIE
|
---|
158 | . I ENDT<ENFAPDT S ENFAPDT=ENDT ; save earliest date of a corrected doc
|
---|
159 | . ; adjust balance
|
---|
160 | . S ENVAL("DIF")=ENVAL("CO")-ENVAL("FD")
|
---|
161 | . S ENVAL("DIF")=-ENVAL("DIF") ; FD deletes value
|
---|
162 | . D:ENVAL("DIF") ADJBAL
|
---|
163 | Q
|
---|
164 | DOC6 ; FR document
|
---|
165 | S ENTRC="FR"
|
---|
166 | S ENTRN=$E($$GET1^DIQ(ENFILE,ENI,10),1,9)
|
---|
167 | S ENSN=$E($$GET1^DIQ(ENFILE,ENI,24),1,5)
|
---|
168 | S ENFNDN=$$GET1^DIQ(ENFILE,ENI,28) ; new fund
|
---|
169 | S ENFAT=$$GET1^DIQ(ENFILE,ENI,25)
|
---|
170 | S ENVAL=""
|
---|
171 | S ENVAL("FR")=$$GET1^DIQ(ENFILE,ENI,107)
|
---|
172 | S ENVAL("CO")=$$DEC^ENFAUTL(ENVAL("FA")+ENVAL("FB"))
|
---|
173 | I ENVAL("CO")'=ENVAL("FR") D
|
---|
174 | . D BMES^XPDUTL(" FR-"_ENTRN_" asset value incorrectly recorded as "_ENVAL("FR"))
|
---|
175 | . D MES^XPDUTL(" Correct value calculated as "_ENVAL("CO"))
|
---|
176 | . D MES^XPDUTL(" Updating document log for FR-"_ENTRN_"...")
|
---|
177 | . I ENDT<ENFAPDT S ENFAPDT=ENDT ; save earliest date of a corrected doc
|
---|
178 | . S DR="107///^S X=ENVAL(""CO"")",DIE="^ENG(6915.6,",DA=ENI D ^DIE
|
---|
179 | . S ENVAL("DIF")=ENVAL("CO")-ENVAL("FR")
|
---|
180 | . I ENFNDN]"",ENFND'=ENFNDN,ENVAL("DIF") D
|
---|
181 | . . D MES^XPDUTL(" Since this FR Document changed the FUND from "_ENFND_" to "_ENFNDN)
|
---|
182 | . . D MES^XPDUTL(" the $ balance will need to be adjusted.")
|
---|
183 | . . ; apply negative difference (ENVAL("DIF")) to the old fund
|
---|
184 | . . S ENVAL("DIF")=-ENVAL("DIF")
|
---|
185 | . . D ADJBAL
|
---|
186 | . . ; update fund for asset
|
---|
187 | . . S ENFND=ENFNDN
|
---|
188 | . . ; apply positive difference (ENVAL("DIF")) to the new fund
|
---|
189 | . . S ENVAL("DIF")=-ENVAL("DIF")
|
---|
190 | . . D ADJBAL
|
---|
191 | Q
|
---|
192 | ADJBAL ; Adjust Balance
|
---|
193 | ; Input Variables
|
---|
194 | ; ENSN - 5 character station number (may be padded)
|
---|
195 | ; ENFND - Fund
|
---|
196 | ; ENFAT - FA Type
|
---|
197 | ; ENDT - data/time
|
---|
198 | ; ENVAL("DIF") - amount to adjust
|
---|
199 | S ENSTN=$TR(ENSN," ","")
|
---|
200 | S ENSGL("I")=$O(^ENG(6914.3,"B",ENFATT(ENFAT),0))
|
---|
201 | S ENFND("I")=$O(^ENG(6914.6,"B",ENFND,0))
|
---|
202 | D MES^XPDUTL(" Applying difference ("_ENVAL("DIF")_") to $ balance of SGL...")
|
---|
203 | D MES^XPDUTL(" Adjusting Station: "_ENSTN_" FUND: "_ENFND_" SGL: "_ENFATT(ENFAT)_" from "_$$FMTE^XLFDT($E(ENDT,1,5)_"00")_" by $"_$FN(ENVAL("DIF"),",",2))
|
---|
204 | D ADJBAL^ENFABAL(ENSTN,ENFND("I"),ENSGL("I"),$P(ENDT,"."),ENVAL("DIF"))
|
---|
205 | Q
|
---|
206 | ;ENXOIPS
|
---|