| 1 | PRCFFM1M ;WISC/SJG-ROUTINE TO PROCESS AMENDMENT OBLIGATIONS CON'T ;4/26/94  16:40 | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | NEWVAR ; Refresh variables from 442 | 
|---|
| 6 | K DIC | 
|---|
| 7 | S DIC("S")="I +^(0)=PRC(""SITE"")" | 
|---|
| 8 | S DIC=442,DIC(0)="NZ",X=PRCFA("PODA") | 
|---|
| 9 | D ^DIC K DIC G:+Y<0 OUT1 | 
|---|
| 10 | S PO(0)=Y(0),PO=Y | 
|---|
| 11 | S PRCFA("REF")=$P(PO(0),U) | 
|---|
| 12 | ; the following line was commented out in PRC*5*179 | 
|---|
| 13 | ; S PRCFA("SFC")=$P(PO(0),U,19) | 
|---|
| 14 | S PRCFA("MP")=$P(PO(0),U,2) | 
|---|
| 15 | S PRCFA("BBFY")=$$BBFY^PRCFFU5(+PO) | 
|---|
| 16 | D GENDIQ^PRCFFU7(442,+PO,".1;.07;.03;17","IEN","") | 
|---|
| 17 | ; | 
|---|
| 18 | EDIT ; Check fund/year table to determine fields required for FMS | 
|---|
| 19 | D EDIT^PRCFFU ; sets up PRCFMO array for req'd fields | 
|---|
| 20 | ; | 
|---|
| 21 | ; if amendment requires re-establishing the FMS document | 
|---|
| 22 | I $D(PRCFA("CANCEL")),PRCFA("CANCEL")]"" S PRCFA("MOD")="E^0^Original Entry (Amended)" | 
|---|
| 23 | I PRCFA("TT")="AR",$D(PRCFA("CANCEL")),PRCFA("CANCEL")]"",XRBLD'=2 D | 
|---|
| 24 | . S PRCFA("TT")="SO" | 
|---|
| 25 | . D STACK ; set up the SO first | 
|---|
| 26 | . S PRCFA("TT")="AR" | 
|---|
| 27 | . S X1=PRCFA("OBLDATE"),X2=1 | 
|---|
| 28 | . D C^%DTC | 
|---|
| 29 | . S PRCFA("OBLDATE")=X ; SO must be on FMS 1st, thus AR needs future date | 
|---|
| 30 | . S %DT="FX",X="T+1" | 
|---|
| 31 | . D ^%DT | 
|---|
| 32 | . I $P(Y,".",1)>PRCFA("OBLDATE") S PRCFA("OBLDATE")=$P(Y,".",1) | 
|---|
| 33 | D STACK ; build the appropriate FMS transaction | 
|---|
| 34 | ; | 
|---|
| 35 | D  ;adj fcp committed/obligated balance | 
|---|
| 36 | . ; the next several lines were omitted by patch 172 | 
|---|
| 37 | . ; N TRDA,Z,AMT,DEL,X,TIME,DA | 
|---|
| 38 | . ; S TRDA=$P(^PRC(442,PRCFA("PODA"),0),"^",12),AMT=$P(^(0),"^",$P(PRCFMO,"^",12)="N"+15),DEL=$P(^(0),"^",10) | 
|---|
| 39 | . ; D NOW^%DTC S TIME=X | 
|---|
| 40 | . ; I TRDA="" D  QUIT | 
|---|
| 41 | . ; . N A | 
|---|
| 42 | . ; . S A=$$DATE^PRC0C($P(PRCOAMT,"^",3),"I"),$P(PRCOAMT,"^",3,4)=$E(A,3,4)_"^"_$P(A,"^",2) | 
|---|
| 43 | . ; . D EBAL^PRCSEZ(PRCOAMT,"C"),EBAL^PRCSEZ(PRCOAMT,"O") | 
|---|
| 44 | . ; . ;S A=$P($G(^PRC(442,PRCFA("PODA"),1)),"^",15) QUIT:A="" | 
|---|
| 45 | . ; . QUIT:PRC("RBDT")  S A=$$DATE^PRC0C(PRC("RBDT"),"I") | 
|---|
| 46 | . ; . S A=+PO(0)_"^"_$P(PO(0),"^",3)_"^"_$E(A,3,4)_"^"_$P(A,"^",2)_"^"_AMT | 
|---|
| 47 | . ; . D EBAL^PRCSEZ(A,"C"),EBAL^PRCSEZ(A,"O") | 
|---|
| 48 | . ; . QUIT | 
|---|
| 49 | . N TRDA,DEL,DA,MESSAGE | 
|---|
| 50 | . S TRDA=$P(^PRC(442,PRCFA("PODA"),0),"^",12),DEL=$P(^(0),"^",10) | 
|---|
| 51 | . I TRDA="" Q | 
|---|
| 52 | . I '$D(^PRCS(410,TRDA,4)) Q | 
|---|
| 53 | . S DA=TRDA,$P(^PRCS(410,TRDA,9),"^",2)=DEL | 
|---|
| 54 | . D REMOVE^PRCSC2(DA),ENCODE^PRCSC2(DA,DUZ,.MESSAGE) | 
|---|
| 55 | . QUIT | 
|---|
| 56 | ; | 
|---|
| 57 | FISCST ; Post to Fiscal Status of Funds Tracker | 
|---|
| 58 | I $P(PRC("PARAM"),U,17)["Y" D FISC^PRCFFU4 | 
|---|
| 59 | ; | 
|---|
| 60 | PRINT ; Print out copy of Purchase Order Amendment | 
|---|
| 61 | G:'FLG OUT1 | 
|---|
| 62 | S PRCHQ="^PRCHPAM" | 
|---|
| 63 | S PRCHQ("DEST")="S8" | 
|---|
| 64 | S D0=PRCFA("PODA") | 
|---|
| 65 | S D1=PRCFA("AMEND#") | 
|---|
| 66 | D ^PRCHQUE | 
|---|
| 67 | ; | 
|---|
| 68 | OUT1 K FLG,%,%Y,DIC,I,J,K,P,PRCFAA,PRCFPODA,X,Y,Z | 
|---|
| 69 | K BBFY,SUB,TAG,PRCFMO,PRCCCC,PRCCSCC | 
|---|
| 70 | K PO,PAT,PARAM1,NEW,LOOPVAL,LOOP,LOOP1,LOOP2,LOOP3,LOOP4,GECSFMS | 
|---|
| 71 | K OLD,OLDVAL,FMSMOD,FMSNO,FMSVENID,PODATE,NUMB,MOD,ERFLAG,STR2 | 
|---|
| 72 | W !! | 
|---|
| 73 | Q | 
|---|
| 74 | ; | 
|---|
| 75 | STACK ; Create entry in GECS Stack File | 
|---|
| 76 | D STACK^PRCFFU(1) ; pass 1 to force batch generation, set up CTL,BAT,DOC | 
|---|
| 77 | ; | 
|---|
| 78 | SEGS ; Create entry into TMP($J for remaining segments | 
|---|
| 79 | K ^TMP($J,"PRCMO") | 
|---|
| 80 | N FMSINT S FMSINT=+PO | 
|---|
| 81 | S FMSMOD=$P(PRCFA("MOD"),U,1) | 
|---|
| 82 | D NEW^PRCFFU1(FMSINT,PRCFA("TT"),FMSMOD) | 
|---|
| 83 | ; | 
|---|
| 84 | TRANSF ; Transfer nodes from TMP($J, into GECS Stack File | 
|---|
| 85 | N LOOP S LOOP=0 F  S LOOP=$O(^TMP($J,"PRCMO",GECSFMS("DA"),LOOP)) Q:'LOOP  D SETCS^GECSSTAA(GECSFMS("DA"),^(LOOP)) | 
|---|
| 86 | K ^TMP($J,"PRCMO") | 
|---|
| 87 | ; | 
|---|
| 88 | TRANSM ; Mark the document as queued for transmission | 
|---|
| 89 | D SETSTAT^GECSSTAA(GECSFMS("DA"),"Q") | 
|---|
| 90 | N P2 S P2=+PO_"/"_PRCFA("AMEND#"),$P(P2,"/",5)=$P($G(PRCFA("ACCPD")),U),$P(P2,"/",6)=PRCFA("OBLDATE") | 
|---|
| 91 | D SETPARAM^GECSSDCT(GECSFMS("DA"),P2) | 
|---|
| 92 | ; | 
|---|
| 93 | POBAL ; Enter Obligation Data into Purchase Order Record | 
|---|
| 94 | I '$D(POESIG) I $D(PRCFA("PODA")),+PRCFA("PODA")>0 S POESIG=1 | 
|---|
| 95 | N FMSDOCT S FMSDOCT=$P(PRCFA("REF"),"-",2) | 
|---|
| 96 | D EN7^PRCFFU41(PRCFA("TT"),FMSMOD,PRCFA("OBLDATE"),FMSDOCT) ; txn log | 
|---|