1 | PRCFFU19 ;WISC/SJG-OBLIGATION PROCESSING UTILITIES ;1/12/95 5:33 PM
|
---|
2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | QUIT
|
---|
6 | ; .1 - P.O. Date
|
---|
7 | ; .07 - Primary 2237
|
---|
8 | ; .03 - Special FCP
|
---|
9 | ; 17 - Validation Date for PA Esig
|
---|
10 | ; PRCFA("BBFY") - BBFY as stored in file 442,field 26
|
---|
11 | ; PRC("BBFY") - BBFY based on station #, doc FY, FCP
|
---|
12 | ;
|
---|
13 | BBFYCHK(PO) ; Check BBFY at Obligation
|
---|
14 | N BBFY,BBFYCHK,FY2,FY4,FYI,N0,N1,PODT,PRIMREQ,REV,SFCP
|
---|
15 | I '$D(PRCFA("OBLDATE")) D NOW^%DTC S PRCFA("OBLDATE")=X K X
|
---|
16 | D GENDIQ^PRCFFU7(442,PO,".1;.07;.03;17","IEN","")
|
---|
17 | S N0=$$NODE^PRC0B("^PRC(442,"_PO_",",0)
|
---|
18 | S N1=$$NODE^PRC0B("^PRC(442,"_PO_",",1)
|
---|
19 | S PODT=$G(PRCTMP(442,PO,.1,"I"))
|
---|
20 | I PODT="" D DATE S PODT=$P(N1,U,15)
|
---|
21 | S PRIMREQ=$G(PRCTMP(442,PO,.07,"I"))
|
---|
22 | I PRIMREQ>0 D G T1
|
---|
23 | .S FYI=$$NP^PRC0B("^PRCS(410,"_PRIMREQ_",",3,11)
|
---|
24 | .I FYI]"" S (FY4,PRC("BBFY"))=$P($$DATE^PRC0C(FYI,"I"),U) Q
|
---|
25 | .I FYI="" D Q
|
---|
26 | ..N TXN
|
---|
27 | ..S TXN=$$NP^PRC0B("^PRCS(410,"_PRIMREQ_",",0,1)
|
---|
28 | ..S FY2=$P(TXN,"-",2),(FY4,PRC("BBFY"))=$P($$YEAR^PRC0C(FY2),U)
|
---|
29 | ..Q
|
---|
30 | S FY2=$E(PRCFA("OBLDATE"),2,3)+$E(PRCFA("OBLDATE"),4)
|
---|
31 | D GETBBFY S (FY4,PRC("BBFY"))=BBFY
|
---|
32 | T1 I PRC("BBFY")'=PRCFA("BBFY") D Q
|
---|
33 | .S BBFYCHK=$P($$DATE^PRC0C(PRCFA("OBLDATE"),"I"),U)
|
---|
34 | .S FY4=BBFYCHK D EDIT
|
---|
35 | QUIT
|
---|
36 | ;
|
---|
37 | DATE ; Determine P.O. Date
|
---|
38 | K OK D DATE1 Q:$D(OK)
|
---|
39 | D ESIG
|
---|
40 | Q
|
---|
41 | DATE1 ; Get date of obligation from first node in Obligation Data
|
---|
42 | N OBND,OBDT
|
---|
43 | S OBND=$O(^PRC(442,PO,10,0)) I +OBND D Q:$D(OK)
|
---|
44 | .S OBDT=$P($G(^PRC(442,PO,10,OBND,0)),U,6) I $E(OBDT,1,7)?7N D SET(OBDT) Q
|
---|
45 | Q
|
---|
46 | ESIG ; Use Purchasing Agent Esig Date or Current Date
|
---|
47 | N CURDT,ESIGDT
|
---|
48 | S ESIGDT=$G(PRCTMP(442,PO,17,"I"))
|
---|
49 | I ESIGDT]"" S ESIGDT=$P(ESIGDT,".") I ESIGDT?7N D SET(ESIGDT) Q:$D(OK)
|
---|
50 | S CURDT=DT D SET(CURDT)
|
---|
51 | Q
|
---|
52 | SET(DATE) ; Set P.O. Date Field
|
---|
53 | N DIE,DR,DA
|
---|
54 | S DATE=$E(DATE,1,7),$P(N1,U,15)=DATE
|
---|
55 | S DIE="^PRC(442,",DR=".1////^S X=DATE",DA=PO D ^DIE S OK=1
|
---|
56 | Q
|
---|
57 | EDIT ; Edit BBFY field in File 442
|
---|
58 | N DIE,DR,DA,APPR
|
---|
59 | S APPR=$P($$ACC^PRC0C(PRC("SITE"),+PCP_U_PRC("FY")_U_PRC("BBFY")),U,11)
|
---|
60 | S DIE="^PRC(442,",DA=PO,DR="1.4///^S X=APPR;26///^S X=FY4" D ^DIE
|
---|
61 | S PRCFA("BBFY")=$$BBFY^PRCFFU5(PO)
|
---|
62 | Q
|
---|
63 | GETBBFY ; Get BBFY based on station, 2-digit FY, and FCP
|
---|
64 | S BBFY=$$BBFY^PRCSUT(+N0,FY2,+$P(N0,U,3))
|
---|
65 | Q
|
---|