1 | ENFAAV ;IRMFO/SAB-ADJUSTMENT VOUCHER ENTRY ;6.30.97
|
---|
2 | ;;7.0;ENGINEERING;**39**;AUG 17, 1993
|
---|
3 | EN ; Entry point for option
|
---|
4 | ; load table for converting FA Type to SGL
|
---|
5 | K ENFAPTY S ENDA=0 F S ENDA=$O(^ENG(6914.3,ENDA)) Q:'ENDA D
|
---|
6 | . S ENY0=$G(^ENG(6914.3,ENDA,0))
|
---|
7 | . I $P(ENY0,U,3)]"" S ENFAPTY($P(ENY0,U,3))=$P(ENY0,U)
|
---|
8 | ASKDOC ; ask FAP Document
|
---|
9 | W !
|
---|
10 | S DIR(0)="SBO^FA:FA DOCs;FB:FB DOCs;FC:FC DOCs;FD:FD DOCs;FR:FR DOCs"
|
---|
11 | S DIR("A")="Select Type of FAP Document"
|
---|
12 | S DIR("?",1)="Choose the type of FAP Document for which an Adjustment"
|
---|
13 | S DIR("?",2)="Voucher should be created. After the type is chosen, you"
|
---|
14 | S DIR("?",3)="will be asked to select the specific FAP Document."
|
---|
15 | S DIR("?")=" "
|
---|
16 | D ^DIR K DIR G:Y']""!$D(DIRUT) EXIT
|
---|
17 | S ENFILE="6915."_$F("ABCDR",$E(Y,2,2))
|
---|
18 | ;
|
---|
19 | S DIC="^ENG("_ENFILE_",",DIC(0)="AQEM"
|
---|
20 | S DIC("A")="Select "_Y_" DOCUMENT (by Transaction Number or Equipment ENTRY #): "
|
---|
21 | D ^DIC G:Y'>0 EXIT
|
---|
22 | S ENDA("F?")=+Y
|
---|
23 | SHOWDOC ; show info for FAP Document/Adjustment Voucher
|
---|
24 | S ENDT=$$GET1^DIQ(ENFILE,ENDA("F?"),301,"I")
|
---|
25 | S ENY0=$G(^ENG(ENFILE,ENDA("F?"),0))
|
---|
26 | S ENY1=$G(^ENG(ENFILE,ENDA("F?"),1))
|
---|
27 | S ENDA=$P($G(^ENG(ENFILE,ENDA("F?"),0)),U)
|
---|
28 | S ENDA("FA")=$$AFA^ENFAR5A(ENFILE,ENDA("F?")) ; associated FA
|
---|
29 | S ENFAY3=$G(^ENG(6915.2,ENDA("FA"),3))
|
---|
30 | S ENSN=$TR($E($P(ENFAY3,U,5),1,5)," ","")
|
---|
31 | S:ENFILE=6915.2 ENFUND=$P(ENFAY3,U,10)
|
---|
32 | S:ENFILE'=6915.2 ENFUND=$$FUND^ENFAR5A(ENFILE,ENDA("F?"),ENDA("FA"))
|
---|
33 | S ENSGL=$S($P(ENFAY3,U,6)]"":$G(ENFAPTY($P(ENFAY3,U,6))),1:"")
|
---|
34 | S ENAMT=0
|
---|
35 | I ENFILE=6915.2 S ENAMT=$P($G(^ENG(ENFILE,ENDA("F?"),3)),U,27)
|
---|
36 | I ENFILE=6915.3 S ENAMT=$P($G(^ENG(ENFILE,ENDA("F?"),4)),U,4)
|
---|
37 | I ENFILE=6915.4 S ENX=$P($G(^ENG(ENFILE,ENDA("F?"),4)),U,6),ENAMT=$S(ENX="":0,1:ENX-$P($G(^ENG(ENFILE,ENDA("F?"),100)),U,4))
|
---|
38 | I ENFILE=6915.5 S ENAMT="-"_$P($G(^ENG(ENFILE,ENDA("F?"),100)),U,2)
|
---|
39 | I ENFILE=6915.6 S ENAMT=$P($G(^ENG(ENFILE,ENDA("F?"),100)),U,8)
|
---|
40 | W @IOF,!,"ADJ. VOUCHER",?16,"TRANSACTION .............",?43,"STN"
|
---|
41 | W ?50,"FUND",?58,"SGL",?63,"NET AMOUNT"
|
---|
42 | W !,"DATE/TIME",?16,"CODE NUMBER DATE"
|
---|
43 | W !,"--------------",?16,"---- ----------- --------",?43,"-----"
|
---|
44 | W ?50,"------",?58,"----",?63,"----------------"
|
---|
45 | W !,$E($TR($$FMTE^XLFDT(ENDT,"2F")," ",0),1,14)
|
---|
46 | W ?16,$P(ENY1,U,6),?21,$P(ENY1,U,9)
|
---|
47 | W ?33,$TR($$FMTE^XLFDT($P(ENY0,U,2),"2DF")," ",0)
|
---|
48 | W ?43,ENSN,?50,ENFUND,?58,ENSGL
|
---|
49 | I ENFILE=6915.6 D ; check FR doc for FUND change
|
---|
50 | . S ENFUNDNW=$P($G(^ENG(ENFILE,ENDA("F?"),3)),U,9)
|
---|
51 | . I ENFUND=ENFUNDNW S ENAMT=0 Q ; fund didn't change
|
---|
52 | . S ENAMT=-ENAMT ; subtract from old fund
|
---|
53 | W ?63,$J($FN(ENAMT,",",2),16)
|
---|
54 | I ENFILE=6915.6,ENFUND'=ENFUNDNW D
|
---|
55 | . ; show addition to new fund
|
---|
56 | . W !,?43,ENSN,?50,ENFUNDNW,?58,ENSGL
|
---|
57 | . W ?63,$J($FN(-ENAMT,",",2),16)
|
---|
58 | W !,?5,"EQUIP #: ",ENDA,?26,$$GET1^DIQ(6914,ENDA,3)
|
---|
59 | S ENX=$$GET1^DIQ(ENFILE,ENDA("F?"),303)
|
---|
60 | I ENX]"" W !,?5,"REASON: ",ENX
|
---|
61 | I $O(^ENG(ENFILE,ENDA("F?"),301,0)) D G:$D(DIRUT) EXIT
|
---|
62 | . K ^UTILITY($J,"W") S DIWL=6,DIWR=(IOM-5),DIWF="W|"
|
---|
63 | . S X="COMMENTS: ",ENI=0
|
---|
64 | . F S ENI=$O(^ENG(ENFILE,ENDA("F?"),301,ENI)) Q:'ENI S X=X_^(ENI,0) D ^DIWP S X="" I $Y+4>IOSL S DIR(0)="E" D ^DIR K DIR Q:$D(DIRUT)!'Y W @IOF
|
---|
65 | . D ^DIWW
|
---|
66 | CHECKAV ;
|
---|
67 | I $$GET1^DIQ(ENFILE,ENDA("F?"),301)]"" D G ASKDOC
|
---|
68 | . W $C(7),!,"This FAP Document already has an Adjustment Voucher!",!
|
---|
69 | EDITAV ;
|
---|
70 | W !
|
---|
71 | S ENAV=$$AVP(ENFILE,ENDA("F?"))
|
---|
72 | I 'ENAV W !,"Adjustment voucher was NOT created." I $G(ENUT) G EXIT
|
---|
73 | I ENAV D
|
---|
74 | . S DIE="^ENG("_ENFILE_",",DR="301///NOW",DA=ENDA("F?") D ^DIE
|
---|
75 | . W !,"Adjustment Voucher was created.",!
|
---|
76 | G ASKDOC
|
---|
77 | EXIT ;
|
---|
78 | K DA,DIC,DIE,DIR,DIRUT,DIROUT,DR,DTOUT,DUOUT,X,Y
|
---|
79 | K ENAMT,ENAV,ENDA,ENDT,ENFAPTY,ENFAY3,ENFILE,ENFUND,ENFUNDNW
|
---|
80 | K ENSGL,ENSN,ENUT,ENY0,ENY1
|
---|
81 | Q
|
---|
82 | ;
|
---|
83 | AVP(ENF,ENDA) ; adjustment voucher preparation
|
---|
84 | ; This program gathers all the information required for an adjustment
|
---|
85 | ; voucher. The calling program must evaluate the return value and
|
---|
86 | ; actually create the adjustment voucher at the appropriate time
|
---|
87 | ; by storing NOW in the appropriate A.V. DATE field.
|
---|
88 | ;
|
---|
89 | ; Called by this routine for existing FAP Documents or by routines
|
---|
90 | ; ENFAACQ, ENFABETR, ENFACHG, ENFADEL, ENFAXF during creation of
|
---|
91 | ; new FAP Documents
|
---|
92 | ;
|
---|
93 | ; in
|
---|
94 | ; ENF - # of file (e.g. 6915.2 for FA DOCUMENT LOG)
|
---|
95 | ; ENDA - ien of entry in ENF to create adjustment voucher for
|
---|
96 | ; out
|
---|
97 | ; $D(ENUT) true if time-out or uparrow '^' during call
|
---|
98 | ; returns 0 (cancelled) or 1 (fully prepared)
|
---|
99 | ;
|
---|
100 | N DA,DIE,DIR,DR,ENAV,X,Y
|
---|
101 | K ENUT S ENAV=0
|
---|
102 | ;
|
---|
103 | S DIR(0)="Y"
|
---|
104 | S DIR("A")="Should an Adjustment Voucher be created",DIR("B")="YES"
|
---|
105 | S DIR("?",1)="Adjustment Vouchers are used to inform Fiscal personnel"
|
---|
106 | S DIR("?",2)="of FAP transactions that Fiscal must take action on."
|
---|
107 | S DIR("?",3)=" "
|
---|
108 | S DIR("?")="Enter YES or NO"
|
---|
109 | D ^DIR K DIR S:$D(DIRUT) ENUT=1 G:'Y!$D(DIRUT) AVPX
|
---|
110 | ;
|
---|
111 | AVPED S DIE="^ENG("_ENF_",",DR="303R;310R",DA=ENDA D ^DIE
|
---|
112 | S DIR(0)="Y",DIR("A")="Is adjustment voucher correct"
|
---|
113 | D ^DIR K DIR I $D(DIRUT) S ENUT=1 G AVPX
|
---|
114 | I 'Y D G:Y AVPED S Y=$$AVC(ENF,ENDA) G AVPX
|
---|
115 | . S DIR(0)="Y",DIR("A")="Do you want to re-edit it"
|
---|
116 | . D ^DIR K DIR I $D(DIRUT) S ENUT=1
|
---|
117 | I $P($G(^ENG(ENF,ENDA,300)),U,3)=""!'$O(^ENG(ENF,ENDA,301,0)) D G AVPED
|
---|
118 | . W $C(7),!,"Both Reason Code and Comments are required!"
|
---|
119 | S ENAV=1
|
---|
120 | ;
|
---|
121 | AVPX ; exit
|
---|
122 | Q ENAV
|
---|
123 | ;
|
---|
124 | AVC(ENF,ENDA) ; Adjustment Voucher Clean Up
|
---|
125 | ; This code is used to clean up an aborted adjustment voucher.
|
---|
126 | ; in
|
---|
127 | ; ENF - file number (e.g. 6915.2)
|
---|
128 | ; ENDA - ien
|
---|
129 | ; returns 1 (done) or 0 (can't because a.v. completed)
|
---|
130 | ;
|
---|
131 | I ENF'?1"6915."1N Q 0
|
---|
132 | I $$GET1^DIQ(ENF,ENDA,301)]"" Q 0
|
---|
133 | S DIE="^ENG("_ENF_",",DR="303///@;310///@",DA=ENDA D ^DIE Q 1
|
---|
134 | ;
|
---|
135 | ;ENFAAV
|
---|