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