| [613] | 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
 | 
|---|