| [613] | 1 | ENFACTX ;(WCIOFO)/SAB-FAP CAPITALIZATION THRESHOLD EXPENSE ITEM ;5/29/2002
 | 
|---|
 | 2 |  ;;7.0;ENGINEERING;**63,71**;August 17, 1993
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | EXP(ENDA) ; Expense Equipment Item
 | 
|---|
 | 5 |  ; input ENDA - equipment entry # to expense
 | 
|---|
 | 6 |  ; returns 1 if success or 0 if failed
 | 
|---|
 | 7 |  ; output ^TMP($J,"BAD",entry #
 | 
|---|
 | 8 |  ;        will be defined if problem
 | 
|---|
 | 9 |  ;
 | 
|---|
 | 10 |  N DA,DIC,DIE,DIK,DR,ENAVC,ENDO,ENEQ,ENFA,ENFAP,ENFD,ENX,I,X,Y
 | 
|---|
 | 11 |  S ENDO=1 ; initialize return value as success
 | 
|---|
 | 12 |  S ENEQ("DA")=ENDA
 | 
|---|
 | 13 |  F I=2,8,9 S ENEQ(I)=$G(^ENG(6914,ENEQ("DA"),I))
 | 
|---|
 | 14 |  ;
 | 
|---|
 | 15 |  ; create FD Document
 | 
|---|
 | 16 |  S ENFD("DA")=""
 | 
|---|
 | 17 |  D:ENDO ADDFD
 | 
|---|
 | 18 |  ; populate FD document with 'user' data
 | 
|---|
 | 19 |  D:ENDO
 | 
|---|
 | 20 |  . N ENFDA,ENERR
 | 
|---|
 | 21 |  . S ENFDA(6915.5,ENFD("DA")_",",100)="FINAL DISPOSITION"
 | 
|---|
 | 22 |  . S ENFDA(6915.5,ENFD("DA")_",",102)=$$FMTE^XLFDT(DT)
 | 
|---|
 | 23 |  . S ENFDA(6915.5,ENFD("DA")_",",33)="0.00"
 | 
|---|
 | 24 |  . S ENFDA(6915.5,ENFD("DA")_",",103)="OTHER"
 | 
|---|
 | 25 |  . S ENFDA(6915.5,ENFD("DA")_",",34)="THRESH CHG 100K"
 | 
|---|
 | 26 |  . S ENFDA(6915.5,ENFD("DA")_",",303)="OTHER"
 | 
|---|
 | 27 |  . S ENFDA(6915.5,ENFD("DA")_",",310)="ENAVC"
 | 
|---|
 | 28 |  . S ENAVC(1)="Expensed due to new capitalization threshold of $100,000."
 | 
|---|
 | 29 |  . D FILE^DIE("E","ENFDA","ENERR")
 | 
|---|
 | 30 |  . I $D(ENERR) D BAD("ERROR FILING DATA IN FD") S ENDO=0
 | 
|---|
 | 31 |  ; convert 'user' data
 | 
|---|
 | 32 |  D:ENDO CVTDATA
 | 
|---|
 | 33 |  ; validate FD document
 | 
|---|
 | 34 |  D:ENDO
 | 
|---|
 | 35 |  . S ENFAP("DOC")="FD"
 | 
|---|
 | 36 |  . K ^TMP($J,"BAD",ENEQ("DA"))
 | 
|---|
 | 37 |  . D ^ENFAVAL
 | 
|---|
 | 38 |  . I $D(^TMP($J,"BAD",ENEQ("DA"))) S ENDO=0
 | 
|---|
 | 39 |  ; delete FD Document when problem
 | 
|---|
 | 40 |  I 'ENDO,$G(ENFD("DA"))]"" D
 | 
|---|
 | 41 |  . S DA=ENFD("DA"),DIK="^ENG(6915.5," D ^DIK K DIK
 | 
|---|
 | 42 |  ; process and xmit FD
 | 
|---|
 | 43 |  D:ENDO UPDATE
 | 
|---|
 | 44 |  ; unlock FD
 | 
|---|
 | 45 |  I $G(ENFD("DA"))]"" L -^ENG(6915.5,ENFD("DA"))
 | 
|---|
 | 46 |  ; return success OR failure
 | 
|---|
 | 47 |  Q ENDO
 | 
|---|
 | 48 |  ;
 | 
|---|
 | 49 | ADDFD ; create/lock stub entry for FD codesheet
 | 
|---|
 | 50 |  S DIC="^ENG(6915.5,",DIC(0)="L",DLAYGO=6915.5
 | 
|---|
 | 51 |  S X=ENEQ("DA"),DIC("DR")="1///NOW;1.5////^S X=DUZ"
 | 
|---|
 | 52 |  K DD,DO D FILE^DICN K DIC,DLAYGO
 | 
|---|
 | 53 |  I Y'>0 D BAD("Can't add to FD DOCUMENT LOG") S ENDO=0 Q
 | 
|---|
 | 54 |  S ENFD("DA")=+Y
 | 
|---|
 | 55 |  L +^ENG(6915.5,ENFD("DA")):0
 | 
|---|
 | 56 |  I '$T D BAD("Can't lock FD Document") S ENDO=0 Q
 | 
|---|
 | 57 |  ; save current asset value on FD
 | 
|---|
 | 58 |  S $P(^ENG(6915.5,ENFD("DA"),100),U,2)=$$GET1^DIQ(6914,ENEQ("DA"),12)
 | 
|---|
 | 59 |  Q
 | 
|---|
 | 60 |  ;
 | 
|---|
 | 61 | CVTDATA ; convert 'user' pseudo field data into exported data
 | 
|---|
 | 62 |  ; get data from file
 | 
|---|
 | 63 |  F I=0,5,100 S ENFAP(I)=$G(^ENG(6915.5,ENFD("DA"),I))
 | 
|---|
 | 64 |  ; convert into exported data
 | 
|---|
 | 65 |  I $P(ENFAP(100),U,4)="" S $P(ENFAP(100),U,4)=7
 | 
|---|
 | 66 |  I $P(ENFAP(5),U,8)="" S $P(ENFAP(5),U,8)="0.00"
 | 
|---|
 | 67 |  S X=$P(ENFAP(100),U,3) I X]"" D
 | 
|---|
 | 68 |  . S $P(ENFAP(5),U,5)=$E(X,1,3)+1700
 | 
|---|
 | 69 |  . S $P(ENFAP(5),U,6)=$E(X,4,5)
 | 
|---|
 | 70 |  . S $P(ENFAP(5),U,7)=$E(X,6,7)
 | 
|---|
 | 71 |  S X=$P(ENFAP(100),U,4) I X S $P(ENFAP(5),U,4)=$$GET1^DIQ(6914.8,X,.01)
 | 
|---|
 | 72 |  ; update file
 | 
|---|
 | 73 |  S ^ENG(6915.5,ENFD("DA"),5)=ENFAP(5)
 | 
|---|
 | 74 |  S ^ENG(6915.5,ENFD("DA"),100)=ENFAP(100)
 | 
|---|
 | 75 |  Q
 | 
|---|
 | 76 |  ;
 | 
|---|
 | 77 | UPDATE ; update files based on FD Document
 | 
|---|
 | 78 |  ; update FAP Balance
 | 
|---|
 | 79 |  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))
 | 
|---|
 | 80 |  ; update EQUIPMENT INV file
 | 
|---|
 | 81 |  S DA=ENEQ("DA"),DIE="^ENG(6914," S DR="34////A;38///6100" D ^DIE
 | 
|---|
 | 82 |  ; send FD Document to FAP
 | 
|---|
 | 83 |  D ^ENFAXMT
 | 
|---|
 | 84 |  ; save adjustment voucher
 | 
|---|
 | 85 |  S DIE="^ENG(6915.5,",DR="301///NOW",DA=ENFD("DA") D ^DIE
 | 
|---|
 | 86 |  Q
 | 
|---|
 | 87 |  ;
 | 
|---|
 | 88 | BAD(X) ; add text to validation problem list
 | 
|---|
 | 89 |  N I
 | 
|---|
 | 90 |  S I=$P($G(^TMP($J,"BAD",ENEQ("DA"))),U)+1
 | 
|---|
 | 91 |  S ^TMP($J,"BAD",ENEQ("DA"),I)=X
 | 
|---|
 | 92 |  S ^TMP($J,"BAD",ENEQ("DA"))=I
 | 
|---|
 | 93 |  Q
 | 
|---|
 | 94 |  ;
 | 
|---|
 | 95 |  ;ENFACTX
 | 
|---|