| [613] | 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
 | 
|---|