VistA-WorldVistAEHR/r/ENGINEERING-EN/ENFACHG.m

107 lines
4.1 KiB
Mathematica

ENFACHG ;WASHINGTON IRMFO/KLD/DH/SAB; EQUIPMENT CHANGES; 1/3/97
;;7.0;ENGINEERING;**29,39**;Aug 17, 1993
;This routine should not be modified.
D SETUP
D:ENDO ASKEQ
D:ENDO ADDFC
D:ENDO ASKCS
D:ENDO ASKDATA
K ENAV I ENDO D I $G(ENUT) S ENDO=0 K ENUT
. S ENAV=$$AVP^ENFAAV("6915.4",ENFC("DA"))
. I 'ENAV W !,"Adjustment voucher was NOT created."
D:ENDO ASKOK
D:'ENDO DEL
D:ENDO UPDATE
D WRAPUP
Q
SETUP ;
S ENDO=1
S (ENEQ("DA"),ENFA("DA"),ENFB("DA"),ENFC("DA"),ENFC("BETRMNT"))=""
S:'$D(ENFAP("SITE")) ENFAP("SITE")=+^ENG(6915.1,1,0)
Q
ASKEQ ; ask for equipment item
D GETEQ^ENUTL I Y'>0 S ENDO=0 Q
L +^ENG(6914,+Y):5 I '$T D S ENDO=0 Q
. W !!,"Someone else is editing this Equipment Record."
. W !,"Please try again later."
S ENEQ("DA")=+Y
I '$D(^ENG(6915.2,"B",ENEQ("DA"))) D S ENDO=0 Q
. W !!,"There is no FA document on file for this asset."
. W !,"Nothing to change."
S X=$$CHKFA^ENFAUTL(ENEQ("DA")) I +X=0 D S ENDO=0 Q
. S Y=$P(X,U,3) D DD^%DT
. W !!,"An FD document for ENTRY #",ENEQ("DA")," was processed on ",Y,"."
S ENFA("DA")=$P(X,U,4)
F I=1,2,3,8,9 S ENEQ(I)=$G(^ENG(6914,ENEQ("DA"),I))
Q
ADDFC ; create entry for FC code sheet
S DIC="^ENG(6915.4,",DIC(0)="L",DLAYGO=6915.4
S X=ENEQ("DA"),DIC("DR")="1///NOW;1.5////^S X=DUZ"
K DD,DO D FILE^DICN K DLAYGO
I Y'>0 D S ENDO=0 Q
. W !!,"Can't update the FC DOCUMENT LOG file. Better contact IRM."
S ENFC("DA")=+Y
L +^ENG(6915.4,+Y):0 I '$T D S ENDO=0 Q
. W !!,"The FC document that you just created is being edited by someone else."
. W !,"Please notify your ADPAC."
Q
ASKCS ; ask for code sheet to change
W !
S DIE="^ENG(6915.4,",DA=ENFC("DA"),DR="[ENFA CHANGE EN]"
D ^DIE I $D(DTOUT) W !!,"Timeout" S ENDO=0 Q
S ENFC("BETRMNT")=$P($G(^ENG(6915.4,ENFC("DA"),3)),U,8)
I ENFC("BETRMNT")="" D S ENDO=0 Q
. W !!,"Document being changed (BETTERMENT NUMBER) must be specified."
Q
ASKDATA ; ask data for FC Document
S DIE="^ENG(6915.4,",DIE("NO^")="BACKOUTOK",DA=ENFC("DA")
S DR="[ENFA CHANGE "_$S(ENFC("BETRMNT")="00":"FA]",1:"FB]")
W ! D ^DIE K DIE("NO^") I $D(DTOUT) W !!,"Timeout" S ENDO=0 Q
;
S ENFAP(100)=$G(^ENG(6915.4,ENFC("DA"),100))
S X=$P(ENFAP(100),U,6) I X]"" S X1=$G(^ENG(6915.4,ENFC("DA"),3)),$P(X1,U,12)=$E(X,1,3)+1700,$P(X1,U,13)=$E(X,4,5),$P(X1,U,14)=$E(X,6,7),^(3)=X1
S X=$P(ENFAP(100),U,7) I X]"" S X1=$G(^ENG(6915.4,ENFC("DA"),4)),$P(X1,U,14)=$E(X,1,3)+1700,$P(X1,U,15)=$E(X,4,5),$P(X1,U,16)=$E(X,6,7),^(4)=X1
I $P(ENFAP(100),U)]"" S ENFAP("CSN")=$$GET1^DIQ(6915.4,ENFC("DA"),100),$P(^ENG(6915.4,ENFC("DA"),3),U,9)=$$GROUP^ENFAVAL(ENFAP("CSN")),$P(^ENG(6915.4,ENFC("DA"),3),U,11)=ENFAP("CSN")
I $P(ENFAP(100),U,2)]"" S ENFAP("CMR")=$$GET1^DIQ(6915.4,ENFC("DA"),101),$P(^ENG(6915.4,ENFC("DA"),3),U,10)=$$LOC^ENFAVAL(ENFAP("CMR"))
F I=0,3,4,6 S ENFAP(I)=$G(^ENG(6915.4,ENFC("DA"),I))
;
S ENFAP("DOC")="FC" K ^TMP($J) D ^ENFAVAL
I $D(^TMP($J)) D LISTP^ENFAXMTM D G:Y ASKDATA S ENDO=0 Q
. S DIR(0)="Y",DIR("A")="Re-edit this change",DIR("B")="YES"
. D ^DIR K DIR
. I 'Y W !!,"Sorry, I must then delete this change!" Q
. ;Initialize derived values
. S X1=$G(^ENG(6915.4,ENFC("DA"),3)),$P(X1,U,9,14)="^^^^^",^(3)=X1
. S X1=$G(^ENG(6915.4,ENFC("DA"),4)),$P(X1,U,14,16)="^^",^(4)=X1
. S ENFAP("CSN")="",ENFAP("CMR")=""
. S Y=1
Q
ASKOK ;
S DIR(0)="Y",DIR("A")="Sure you want to process these changes"
S DIR("B")="YES" D ^DIR K DIR I 'Y!($D(DIRUT)) S ENDO=0
Q
DEL ;
I $G(ENFC("DA"))]"" D
. S DA=ENFC("DA"),DIK="^ENG(6915.4," D ^DIK K DIK
. W !,"FC Document deleted..."
W $C(7),!,"No action taken. Database unchanged."
Q
UPDATE ;
; update modified code sheet
D MCS^ENFACHG1
;update FAP Balance when value entered
I $P(ENFAP(4),U,6)]"" 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(ENFAP(4),U,6)-$P(ENFAP(100),U,4))
W !!,"Updating the Equipment File..." D EQ^ENFACHG1
W !!,"Sending FC document to FAP..." D ^ENFAXMT
I $G(ENAV) D
. S DIE="^ENG(6915.4,",DR="301///NOW",DA=ENFC("DA") D ^DIE
. W !,"Adjustment Voucher was created.",!
Q
WRAPUP ;
I $G(ENEQ("DA"))]"" L -^ENG(6914,ENEQ("DA"))
I $G(ENFC("DA"))]"" L -^ENG(6915.4,ENFC("DA"))
K DA,DIC,DIE,DR,DIK,DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,X1,Y
K ENAV,ENDO,ENEQ,ENFAP,ENFA,ENFB,ENFC
Q
;ENFACHG