1 | PRCFOOR1 ;WISC@ALTOONA/CTB-SNAPSHOT OF CP BALANCES ;9/29/94 8:40 AM
|
---|
2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;;THIS ROUTINE WILL RECALCULATE ALL CP BALANCES FOR THE CURRENT FY,
|
---|
5 | ;;THEN TAKE A SNAPSHOT OF THE BALANCE FOR THE CURRENT QUARTER
|
---|
6 | ;;AND STORE THE BALANCE IN 420. IT WILL THEN ZERO OUT ALL QUARTERS
|
---|
7 | ;;IN THE CURRENT FY - EXCEPT FOR THE CURRENT QUARTER.
|
---|
8 | ;;
|
---|
9 | ;RECALCULATE ALL CONTROL POINTS
|
---|
10 | S X="Beginning recalculation of balances for ALL Fund Control Points." D MSG^PRCFQ
|
---|
11 | D ALLCP^PRCBRCP
|
---|
12 | S X="< Recalculation complete>*" D MSG^PRCFQ
|
---|
13 | X S X=DT D FYQ^PRCFSITE
|
---|
14 | STA W !! S X="Beginning process to record existing Fund Control Point balances in file 420.99. (Snapshot)" D MSG^PRCFQ
|
---|
15 | F PRC("SITE")=0:0 S PRC("SITE")=$O(^PRC(420,PRC("SITE"))) Q:+PRC("SITE")=0 W !,PRC("SITE") D CP
|
---|
16 | S X="< Snapshot complete>*" D MSG^PRCFQ
|
---|
17 | ZERO W !! S X="Beginning process to 'zero' out previous quarter balances.*" D MSG^PRCFQ
|
---|
18 | N PRCRI S PRCRI(420.99)=0
|
---|
19 | F S PRCRI(420.99)=$O(^PRCU(420.99,PRCRI(420.99))) Q:'PRCRI(420.99) S DA=PRCRI(420.99) D XF
|
---|
20 | S X="< Process complete>*" D MSG^PRCFQ
|
---|
21 | GPF W !! S X="Beginning process to summarize General Post Fund Control Points" D MSG^PRCFQ
|
---|
22 | ;CREATE RECORD FOR GENERAL POST FUND SUMMARY CONTROL POINT
|
---|
23 | ;SUMMARIZE, BY STATION, GPF BALANCES
|
---|
24 | ;SET BALANCES
|
---|
25 | ;ZERO CURRENT QUARTER
|
---|
26 | S XDA=0 F S XDA=$O(^PRCU(420.99,XDA)) Q:'XDA I $P(^(XDA,0),"^",11)=1 D GPF1(XDA)
|
---|
27 | S SITE=0
|
---|
28 | F S SITE=$O(GPFBAL(SITE)) Q:'SITE D GPF2(SITE,GPFBAL(SITE))
|
---|
29 | K PRC
|
---|
30 | S X="< Process complete>*" D MSG^PRCFQ
|
---|
31 | QUIT
|
---|
32 | GPF2(SITE,AMT) ;SET BALANCE TO GPF SUMMARY CONTROL POINT
|
---|
33 | S PRC("CP")=$O(^PRC(420,SITE,1,"C","GPFS FMS CONVERSION",0))
|
---|
34 | I PRC("CP")="" QUIT
|
---|
35 | S PRC("CP")=$P(^PRC(420,SITE,1,PRC("CP"),0)," ")
|
---|
36 | S STRING=SITE_"-"_PRC("FY")_"-"_PRC("QTR")_"-"_PRC("CP")
|
---|
37 | S X=STRING,DIC=420.99,DIC(0)="M" D ^DIC Q:+Y<0
|
---|
38 | S $P(^PRCU(420.99,+Y,0),"^",3)=AMT
|
---|
39 | D CONV^PRCSREC2(STRING,-AMT,"FMS CONVERSION ADJUSTMENT")
|
---|
40 | QUIT
|
---|
41 | GPF1(XDA) ;ZERO BALANCE IN EXISTING GPF CONTROL POINTS
|
---|
42 | N BAL,SITE,NODE,ID,AMT,STRING
|
---|
43 | S SITE=$P(^PRCU(420.99,XDA,0),"-"),BAL=$P(^(0),"^",3),GPFBAL(SITE)=$G(GPFBAL(SITE))+BAL
|
---|
44 | ;ZERO CURRENT QUARTER FOR GPF CP
|
---|
45 | S NODE=$G(^PRCU(420.99,XDA,0)) Q:NODE=""
|
---|
46 | S ID=$P(NODE,"^"),AMT=+$P(NODE,"^",3)
|
---|
47 | Q:AMT=0
|
---|
48 | S STRING=ID,$P(STRING,"-",3)=PRC("QTR") D CONV^PRCSREC2(STRING,+AMT,"FMS CONVERSION ADJUSTMENT")
|
---|
49 | S $P(^PRCU(420.99,XDA,0),"^",3)=0
|
---|
50 | W "."
|
---|
51 | QUIT
|
---|
52 | XF ;
|
---|
53 | N NODE,ID,QTR,I,STRING
|
---|
54 | S NODE=$G(^PRCU(420.99,DA,0)) Q:NODE=""
|
---|
55 | S ID=$P(NODE,"^"),QTR(1)=$P(NODE,"^",4),QTR(2)=$P(NODE,"^",5),QTR(3)=$P(NODE,"^",6)
|
---|
56 | F I=1:1:3 Q:'$D(QTR(I)) I +QTR(I)'=0 S STRING=ID,$P(STRING,"-",3)=I D CONV^PRCSREC2(STRING,+QTR(I),"FMS CONVERSION ADJUSTMENT")
|
---|
57 | W "."
|
---|
58 | QUIT
|
---|
59 | CP F PRC("CPN")=0:0 S PRC("CPN")=$O(^PRC(420,PRC("SITE"),1,PRC("CPN"))),PRC("CP")="" Q:+PRC("CPN")=0!(PRC("CPN")=9999) I $D(^(PRC("CPN"),0)) S PRC("CP")=$P(^(0)," ") Q:PRC("CP")="" D QTR
|
---|
60 | Q
|
---|
61 | QTR ;
|
---|
62 | NEW SNAP,DIC,DLAYGO,AMT,DATE,Y,DA,DR,DIE,TYPE,QTRBAL
|
---|
63 | S TYPE=$P($G(^PRC(420,PRC("SITE"),1,+PRC("CP"),0)),"^",12)
|
---|
64 | S X=$G(^PRC(420,PRC("SITE"),1,+PRC("CP"),4,PRC("FY"),0))
|
---|
65 | S SNAP=$P(X,"^",PRC("QTR")+5),SNAP=0 ;mod for conversion 3 only
|
---|
66 | I PRC("QTR")>1 F I=1:1:(PRC("QTR")-1) S QTRBAL(I)=$P(X,"^",I+5)
|
---|
67 | S (DIC,DLAYGO)=420.99,DIC(0)="MNL",AMT=X,X=PRC("SITE")_"-"_PRC("FY")_"-"_PRC("QTR")_"-"_PRC("CP"),DATE=DT D ^DIC
|
---|
68 | I Y<0 S FAIL="" QUIT
|
---|
69 | S DA=+Y,$P(^PRCU(420.99,DA,0),"^",2)=DATE,$P(^(0),"^",3)=SNAP,$P(^(0),"^",4)=$G(QTRBAL(1)),$P(^(0),"^",5)=$G(QTRBAL(2)),$P(^(0),"^",6)=$G(QTRBAL(3))
|
---|
70 | S $P(^PRCU(420.99,DA,0),"^",11)=+TYPE,$P(^(0),"^",7)=PRC("QTR")
|
---|
71 | W "." QUIT
|
---|