| 1 | PRCFFU8 ;WISC/SJG-OBLIGATION PROCESSING UTILITIES, CON'T ;7/24/00  23:11 | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | ; No Top Level Entry | 
|---|
| 6 | QUIT | 
|---|
| 7 | MSG ; | 
|---|
| 8 | W !!,"This Purchase Order Amendment will not require a Modification " | 
|---|
| 9 | W:PRCFA("TT")="MO" !,"Miscellaneous Order (MO) " | 
|---|
| 10 | W:PRCFA("TT")="SO" !,"Service Order (SO) " | 
|---|
| 11 | W "Document for the following reason(s):" | 
|---|
| 12 | W !!,"The Amendment consisted of: " | 
|---|
| 13 | I $D(PRCFA("SHIP")),PRCFA("SHIP")]"" W ?30,PRCFA("SHIP"),! | 
|---|
| 14 | I $D(PRCFA("SOURCE")),PRCFA("SOURCE")]"" W ?30,PRCFA("SOURCE"),! | 
|---|
| 15 | I $D(PRCFA("MAIL")),PRCFA("MAIL")]"" W ?30,PRCFA("MAIL"),! | 
|---|
| 16 | I $D(PRCFA("ADMADD")),PRCFA("ADMADD")]"" W ?30,PRCFA("ADMADD"),! | 
|---|
| 17 | I $D(PRCFA("ADMDEL")),PRCFA("ADMDEL")]"" W ?30,PRCFA("ADMDEL"),! | 
|---|
| 18 | I $D(PRCFA("AUTH")),PRCFA("AUTH")]"" W ?30,PRCFA("AUTH"),! | 
|---|
| 19 | I $D(PRCFA("ZERO")),PRCFA("ZERO")]"" W ?30,PRCFA("ZERO"),! H 3 | 
|---|
| 20 | I $D(PRCFA("WASH")),PRCFA("WASH")]"" W ?30,PRCFA("WASH"),! H 3 | 
|---|
| 21 | W !!,"No Modification FMS Document has been transmitted!!" H 3 | 
|---|
| 22 | QUIT | 
|---|
| 23 | ; | 
|---|
| 24 | CANCEL(REF,TYPE) ; Cancel FMS Obligation Documents | 
|---|
| 25 | ; REF - PAT Reference Number | 
|---|
| 26 | ; TYPE - FMS Transaction Type | 
|---|
| 27 | ; DATA - MO2 Segment | 
|---|
| 28 | N DATA | 
|---|
| 29 | S (PRCFA("MOD"),PRCFA("CANCEL"))="X^2^Cancellation Entry" | 
|---|
| 30 | S FMSMOD=$P(PRCFA("MOD"),U) | 
|---|
| 31 | I PRCFA("TT")="AR",$E(REF,11,12)'=12 S REF=$E(REF,1,10)_12 | 
|---|
| 32 | S FMSSEC=$$SEC1^PRC0C(PRC("SITE")) | 
|---|
| 33 | I TYPE="AR" D CANC S TYPE="SO",REF=$E(REF,1,10) | 
|---|
| 34 | D:$G(MTOPDA)="" DEC,CANC Q | 
|---|
| 35 | DEC ; | 
|---|
| 36 | Q:XRBLD=2  ; exit if rebuilding the 'E' (amended original) transaction | 
|---|
| 37 | W !!,"...now generating the FMS Decrease "_TYPE_" Obligation Document..." | 
|---|
| 38 | S FMSDES="Decrease Obligation Amount of "_TYPE_" Obligation Document" | 
|---|
| 39 | I XRBLD=0 D CONTROL^GECSUFMS("I",PRC("SITE"),REF,TYPE,FMSSEC,1,"Y",FMSDES) | 
|---|
| 40 | S DATA=$$SEG2^PRCFFU8("X^"_TYPE,POIEN,.SEG) | 
|---|
| 41 | D GECS | 
|---|
| 42 | S PRCFA("PODA")=PRCFA("OLDPODA") | 
|---|
| 43 | I '$D(POESIG) I $D(PRCFA("PODA")),+PRCFA("PODA")>0 S POESIG=1 | 
|---|
| 44 | N FMSDOCT S FMSDOCT=$P(PRCFA("REF"),"-",2) | 
|---|
| 45 | D EN7^PRCFFU41(TYPE,FMSMOD,PRCFA("OBLDATE"),FMSDOCT) | 
|---|
| 46 | Q | 
|---|
| 47 | CANC ; | 
|---|
| 48 | Q:XRBLD=2 | 
|---|
| 49 | W !!,"...now generating the FMS "_TYPE_" Cancellation Document..." | 
|---|
| 50 | S FMSDES="Cancellation of "_TYPE_" Obligation Document" | 
|---|
| 51 | I XRBLD=0 D CONTROL^GECSUFMS("I",PRC("SITE"),REF,TYPE,FMSSEC,1,"Y",FMSDES) | 
|---|
| 52 | S DATA=$$SEG2^PRCFFU8("X^"_TYPE,POIEN,.SEG) | 
|---|
| 53 | D GECS | 
|---|
| 54 | S PRCFA("PODA")=PRCFA("OLDPODA") | 
|---|
| 55 | I '$D(POESIG) I $D(PRCFA("PODA")),+PRCFA("PODA")>0 S POESIG=1 | 
|---|
| 56 | N FMSDOCT S FMSDOCT=$P(PRCFA("REF"),"-",2) | 
|---|
| 57 | D EN7^PRCFFU41(TYPE,FMSMOD,PRCFA("OBLDATE"),FMSDOCT) | 
|---|
| 58 | Q | 
|---|
| 59 | ; | 
|---|
| 60 | GECS ; Common GECS processing for 'X' documents | 
|---|
| 61 | D SETCS^GECSSTAA(GECSFMS("DA"),DATA) | 
|---|
| 62 | D SETSTAT^GECSSTAA(GECSFMS("DA"),"Q") | 
|---|
| 63 | N P2 S P2=+PO_"/"_PRCFA("AMEND#"),$P(P2,"/",5)=$P($G(PRCFA("ACCPD")),U),$P(P2,"/",6)=PRCFA("OBLDATE") | 
|---|
| 64 | D SETPARAM^GECSSDCT(GECSFMS("DA"),P2) | 
|---|
| 65 | Q | 
|---|
| 66 | SEG2(TYPE,IEN,SEG) ; Create MO2 segment for cancellation document | 
|---|
| 67 | ; IEN - Internal Entry Number of Purchase Order | 
|---|
| 68 | ; TYPE - FMS Document Type | 
|---|
| 69 | ; SEG - Return value for MO2 segment | 
|---|
| 70 | D GENDIQ^PRCFFU7(442,IEN,.1,"I","") | 
|---|
| 71 | S FMSPODAT=$G(PRCFA("OBLDATE")) | 
|---|
| 72 | I FMSPODAT="" D NOW^%DTC S FMSPODAT=X | 
|---|
| 73 | D DATE^PRCFFU2(FMSPODAT,.A,.B,.C) | 
|---|
| 74 | S FMSPODAT=FMSYR_"^"_FMSMO_"^"_FMSDAY | 
|---|
| 75 | I $P(TYPE,"^",2)="AR" S SEG="RC2",$P(SEG,U,7)=$P(TYPE,"^",1)_"^~" | 
|---|
| 76 | E  S SEG="MO2",$P(SEG,U,10)=$P(TYPE,"^",1)_"^~" | 
|---|
| 77 | S $P(SEG,"^",2,4)=FMSPODAT | 
|---|
| 78 | K PRCTMP | 
|---|
| 79 | QUIT SEG | 
|---|