1 | PRCFFMO1 ;WISC/SJG-CONTINUATION OF OBLIGATION PROCESSING ;4/24/96 8:54 AM
|
---|
2 | V ;;5.1;IFCAP;**58,79**;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;DISPLAY CONTROL POINT OFFICIALS BALANCES
|
---|
5 | W !!,"Net Cost of Order: ",?30,"$",$J($P(PO(0),U,16),10,2)
|
---|
6 | D CPBAL
|
---|
7 | I $D(PRCF("NOBAL")) K PRCF("NOBAL")
|
---|
8 | V1 I $P(PRC("PARAM"),"^",17)="Y" D
|
---|
9 | . W !!,"Fiscal Status of Funds for Control Point"
|
---|
10 | . W !!,"Status of Funds Balance: "
|
---|
11 | . W ?30,"$",$J($P(^PRC(420,PRC("SITE"),1,+$P(PO(0),U,3),0),U,7),10,2)
|
---|
12 | . W !,"Estimated Balance:"
|
---|
13 | . W ?30,"$",$J($P(^(0),U,8),10,2)
|
---|
14 | I $G(PRCRGS)<1 D OVCOM^PRCFFU10 I PRCFA("OVCOM")=1!(PRCFA("OVCOM")=2) D POFAIL^PRCFFU10,MSG H 3 G OUT3
|
---|
15 | S PRCFA("IDES")="Purchase Order Obligation"
|
---|
16 | W ! D OKAY2^PRCFFU ; ask 'OK to continue?'
|
---|
17 | I 'Y!($D(DIRUT)) D MSG H 3 G OUT3
|
---|
18 | VAR S P("DELDATE")=$P(PO(0),U,10)
|
---|
19 | S P("PODATE")=DT
|
---|
20 | I $P(^PRC(442,PRCFA("PODA"),1),"^",15)'="" S P("PODATE")=$P(^(1),"^",15)
|
---|
21 | S PRCFA("MOD")="E^0^Original Entry"
|
---|
22 | S PRCFA("MP")=$P(PO(0),U,2)
|
---|
23 | S PRCFA("REF")=$P(PO(0),"^")
|
---|
24 | S PRCFA("SFC")=$P(PO(0),U,19)
|
---|
25 | S PRCFA("SYS")="FMS"
|
---|
26 | S PRCFA("TT")=$S(PRCFA("MP")=2:"SO",1:"MO")
|
---|
27 | W !
|
---|
28 | I $D(PRCFA("RETRAN")),'PRCFA("RETRAN") D REVIEW^PRCFFU I Y N D0 S D0=PRCFA("PODA") D ^PRCHDP1
|
---|
29 | VAR1 I PRCFA("MP")=2,PRCFA("TT")'="MO" D G:ACCEDIT=1 VAR1
|
---|
30 | . W !
|
---|
31 | . D EN^PRCFFU16(+PO)
|
---|
32 | . D MSG6^PRCFFU16
|
---|
33 | VAR11 I $D(PRCFA("RETRAN")),PRCFA("RETRAN")=1 D G VAR2
|
---|
34 | . D RETRANO^PRCFFMO2 S Y=PRCFA("OBLDATE")
|
---|
35 | S Y=$$DTOBL^PRCFFUD1(PRC("RBDT"),PRC("PODT"))
|
---|
36 | VAR2 D D^PRCFQ
|
---|
37 | S %DT="AEX"
|
---|
38 | S %DT("A")="Select Obligation Processing Date: "
|
---|
39 | S %DT("B")=Y
|
---|
40 | W ! D ^%DT K %DT
|
---|
41 | I Y<0 D MSG H 3 D OUT3 Q
|
---|
42 | S PRCFA("OBLDATE")=Y
|
---|
43 | S EXIT=0
|
---|
44 | D ENO^PRCFFMO2
|
---|
45 | I EXIT D MSG,KILL^PRCFFMO2 H 3 D OUT3 Q
|
---|
46 | I PRC("RBDT")'<$P(^PRC(420,PRC("SITE"),0),"^",9),$P($$DATE^PRC0C(PRCFA("OBLDATE"),"I"),U,1,2)'=$P($$DATE^PRC0C(PRC("RBDT"),"I"),U,1,2) D MSG1^PRCFFUD G VAR11
|
---|
47 | S PRCFA("SC")=""
|
---|
48 | Q:'$D(^PRC(442,+PO,1))
|
---|
49 | S PRCFA("SC")=$S($D(^PRC(440,$P(^PRC(442,+PO,1),U,1),2)):$P(^(2),U,4),1:"")
|
---|
50 | I PRCFA("SC")="",$P(^PRC(442,PRCFA("PODA"),1),"^",7)'="" S PRCFA("SC")=$P(^PRCD(420.8,$P(^PRC(442,PRCFA("PODA"),1),"^",7),0),"^",3)
|
---|
51 | S PRCFA("BBFY")=$$BBFY^PRCFFU5(PRCFA("PODA"))
|
---|
52 | D GENDIQ^PRCFFU7(442,PRCFA("PODA"),".1;.07;.03;17","IEN","")
|
---|
53 | ;
|
---|
54 | EDIT ; Check fund/year dictionary for required FMS fields
|
---|
55 | D EDIT^PRCFFU ; sets up PRCFMO array based upon required fields
|
---|
56 | ;
|
---|
57 | GO ; Prompt user for final go-ahead for the document creation
|
---|
58 | D GO^PRCFFU I 'Y!($D(DIRUT)) D MSG,OUT3 H 3 Q
|
---|
59 | ;
|
---|
60 | ESIG ; Enter the Electronic Signature and away it goes!
|
---|
61 | W !,"The Electronic Signature must now be entered to generate the "_PRCFA("TYPE")_" Document.",!
|
---|
62 | D SIG^PRCFFU4
|
---|
63 | I $D(PRCFA("SIGFAIL")) K PRCFA("SIGFAIL") D MSG1(ESIGMSG),OUT3 H 3 Q
|
---|
64 | ;
|
---|
65 | I $G(PRCTMP(442,+PO,.07,"I"))="" D NEW410^PRCFFUD
|
---|
66 | D PO^PRCFFUD
|
---|
67 | S IDFLAG="I" ; flag to indicate $ increase to FMS
|
---|
68 | I $D(PRCFA("RETRAN")),PRCFA("RETRAN")=1 D
|
---|
69 | . D SETPO^PRCFFERT ; rebuild txn
|
---|
70 | ;
|
---|
71 | STACK ; Create entry in GECS Stack File
|
---|
72 | D STACK^PRCFFU(0) ; build CTL,DOC segs, (0) means generate no batch#
|
---|
73 | ;
|
---|
74 | SEGS ; Create entry into TMP($J, for remaining segments
|
---|
75 | K ^TMP($J,"PRCMO")
|
---|
76 | N FMSINT S FMSINT=+PO,FMSMOD=$P(PRCFA("MOD"),U,1)
|
---|
77 | D NEW^PRCFFU1(FMSINT,PRCFA("TT"),FMSMOD) ; create remaining segs
|
---|
78 | ;
|
---|
79 | ; Transfer nodes from TMP($J, into GECS stack file
|
---|
80 | N LOOP S LOOP=0 F S LOOP=$O(^TMP($J,"PRCMO",GECSFMS("DA"),LOOP)) Q:'LOOP D SETCS^GECSSTAA(GECSFMS("DA"),^(LOOP))
|
---|
81 | K ^TMP($J,"PRCMO")
|
---|
82 | ;
|
---|
83 | TRANS ; Mark the document as queued for transmission
|
---|
84 | D SETSTAT^GECSSTAA(GECSFMS("DA"),"Q")
|
---|
85 | N P2 S P2=+PO,$P(P2,"/",5)=$P($G(PRCFA("ACCPD")),U),$P(P2,"/",6)=PRCFA("OBLDATE")
|
---|
86 | D SETPARAM^GECSSDCT(GECSFMS("DA"),P2)
|
---|
87 | ;
|
---|
88 | POOBL ; Enter Obligation Data into Purchase Order record
|
---|
89 | I '$D(POESIG) I $D(PRCFA("PODA")),+PRCFA("PODA")>0 S POESIG=1
|
---|
90 | N FMSDOCT S FMSDOCT=$P(PRCFA("REF"),"-",2)
|
---|
91 | D EN7^PRCFFU41(PRCFA("TT"),FMSMOD,PRCFA("OBLDATE"),FMSDOCT) ; log txn
|
---|
92 | ;
|
---|
93 | ; continue processing if this is not a rebuild
|
---|
94 | I $D(PRCFA("RETRAN")),PRCFA("RETRAN") D OUT3 Q
|
---|
95 | ;
|
---|
96 | FISCST ; Post to Fiscal Status of Funds Tracker
|
---|
97 | I $P(PRC("PARAM"),U,17)["Y" D FISC^PRCFFU4
|
---|
98 | ;
|
---|
99 | PHA ; Generate PHA transaction
|
---|
100 | S PRCOPODA=PRCFA("PODA") W ! D WAIT^DICD W !!,"...now generating the PHA transaction"
|
---|
101 | S FILE=442 S PRCHPO=PRCFA("PODA") D CHECK^PRCHSWCH K FILE
|
---|
102 | D:'$G(PRCHOBL) NEW^PRCOEDI W !
|
---|
103 | ; PRC*5.1*79: let the user know that a message is going out, except for
|
---|
104 | ; Requisitions.
|
---|
105 | D:$D(^PRC(442,PRCHPO,25)) EN^DDIOL("...now generating the FPDS message for the AAC","","!"),EN^DDIOL(" ")
|
---|
106 | ;
|
---|
107 | K PRCOPODA,IO("Q")
|
---|
108 | ;
|
---|
109 | NC I $D(PRCFA("PODA")) D ^PRCFAC02
|
---|
110 | ; Generate FPDS HL7 message for the AAC, PRC*5.1*79
|
---|
111 | I $P(^PRC(442,PRCHPO,0),U,15)>0,$D(^PRC(442,PRCHPO,25)) D AAC^PRCHAAC
|
---|
112 | ; End of changes for PRC*5.1*79
|
---|
113 | Q
|
---|
114 | ;
|
---|
115 | OUT3 K %,AMT,C1,C,CSDA,D0,DA,DI,DIC,DEL,E,I,J,K,N1,N2,PCP,PO,PODA,PRCQ,PTYPE,T,T1,TIME,TRDA,Y,Z,Z5,ZX
|
---|
116 | Q
|
---|
117 | MSG W !! S X="No further processing is being taken on this obligation." D EN^DDIOL(X) Q
|
---|
118 | Q
|
---|
119 | MSG1(MSG) S:'$D(ROUTINE) ROUTINE="PRCUESIG"
|
---|
120 | W !!,$$ERROR^PRCFFU13(ROUTINE,MSG)
|
---|
121 | D MSG Q
|
---|
122 | OUT W !,"No data posted to Control Point Files",$C(7) R X:3 Q
|
---|
123 | Q
|
---|
124 | CPBAL N A,B
|
---|
125 | ;
|
---|
126 | ; **Add call to OBLDAT^PRCFFUD1 as part of PRC*5.1*58
|
---|
127 | S A=$$DATE^PRC0C($$OBLDAT^PRCFFUD1(PRC("RBDT"),$G(PRC("AMENDT"))),"I")
|
---|
128 | K OBLDAT
|
---|
129 | ; **End PRC*5.1*58
|
---|
130 | ;
|
---|
131 | S B=$P(A,"^",2)
|
---|
132 | S A=$E(A,3,4)
|
---|
133 | S:'$D(PQT) PQT=PRC("QTR")
|
---|
134 | S X=$G(^PRC(420,PRC("SITE"),1,+PCP,4,A,0))
|
---|
135 | I X="" W !! S X="No Control Point balances available at this time." D EN^DDIOL(X) S PRCF("NOBAL")="" Q
|
---|
136 | S PRCS("C")=$P(X,"^",B+1)
|
---|
137 | S PRCS("O")=$P(X,"^",B+5)
|
---|
138 | W !!,"Control Point Balances"
|
---|
139 | W !!,"Uncommitted Balance: "
|
---|
140 | W ?30,"$"_$J(PRCS("C"),10,2)
|
---|
141 | W !,"Unobligated Balance: "
|
---|
142 | W ?30,"$"_$J(PRCS("O"),10,2)
|
---|
143 | W !,"Committed, Not Obligated: "
|
---|
144 | W ?30,"$"_$J((PRCS("O")-PRCS("C")),10,2)
|
---|
145 | K PRCS
|
---|
146 | Q
|
---|