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
|
---|