| 1 | PRCFFUB ;WISC/SJG-OBLIGATION ERROR PROCESSING REBUILD ;7/24/00  23:12
 | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ; Routine to handle special processing for the rebuild/transmit for
 | 
|---|
| 6 |  ; MO/SO cancellation documents.  
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  ;  Subroutine EN sets the value of XRBLD =
 | 
|---|
| 9 |  ; 1 if the selected transaction to be rebuilt is an MO.X, SO.X or AR.X
 | 
|---|
| 10 |  ; 2 if the selected transaction is an MO.E, SO.E, AR.E associated with
 | 
|---|
| 11 |  ; an amendment that generated cancellation transactions
 | 
|---|
| 12 | EN ;
 | 
|---|
| 13 |  N XFLAG
 | 
|---|
| 14 |  Q:MODDOC=""  ; no batch number, this is not an amendment
 | 
|---|
| 15 |  S XFLAG=$$GETTXNS^PRCFFERT(PO,PRCFA("AMEND#"),PRCFA("MP"))
 | 
|---|
| 16 |  I $P(XFLAG,"^",5)'=1,$P(XFLAG,"^",1)="" QUIT  ; this amendment has no cancels associated with it (if SO.E exists, it was created via an amendment)
 | 
|---|
| 17 |  S DESC=$G(GECSDATA(2100.1,GECSDATA,4,"E"))
 | 
|---|
| 18 |  Q:DESC=""
 | 
|---|
| 19 |  I DESC["Decrease"!(DESC["Cancellation") D
 | 
|---|
| 20 |  . S XRBLD=1
 | 
|---|
| 21 |  . K MSG W !
 | 
|---|
| 22 |  . S MSG(1)="You are attempting to retransmit an FMS Document with a document action of 'X'."
 | 
|---|
| 23 |  . S MSG(2)="An FMS document with a document action of 'X' will decrease this obligation"
 | 
|---|
| 24 |  . S MSG(3)="to $0.00 or cancel this obligation from FMS.",MSG(3.5)=" "
 | 
|---|
| 25 |  . S MSG(4)="Please use extreme caution with these documents!"
 | 
|---|
| 26 |  . D EN^DDIOL(.MSG) W ! K MSG
 | 
|---|
| 27 |  I DESC["Amendment" D
 | 
|---|
| 28 |  . S XRBLD=2
 | 
|---|
| 29 |  . I $P(XFLAG,"^",5)'=1 D  Q
 | 
|---|
| 30 |  . . K MSG W !
 | 
|---|
| 31 |  . . S MSG(1)="This document was created from a 'Replace PO Number' amendment.  Please"
 | 
|---|
| 32 |  . . S MSG(2)="verify the 'X' action documents for "_$P(^PRC(442,$P(^PRC(442,+PO,23),"^",3),0),"^",1)_" have been accepted."
 | 
|---|
| 33 |  . . I $P(PRCFA("GECS"),"^")="AR" S MSG(3)="If the SO original was not accepted, this AR will reject."
 | 
|---|
| 34 |  . . D EN^DDIOL(.MSG) W ! K MSG
 | 
|---|
| 35 |  . K MSG W !
 | 
|---|
| 36 |  . S MSG(1)="Before proceeding with this rebuild, please ensure that the previous"
 | 
|---|
| 37 |  . S MSG(2)="'X' action documents have been accepted in FMS.  Otherwise, this document"
 | 
|---|
| 38 |  . S MSG(3)="will reject because an obligation already exists under this PAT number."
 | 
|---|
| 39 |  . I $P(PRCFA("GECS"),"^")="AR" D
 | 
|---|
| 40 |  . . S MSG(2)="'X' actions and SO original were accepted in FMS.  Otherwise, this AR"
 | 
|---|
| 41 |  . . S MSG(3)="may reject or not accrue the correct version of the intended document."
 | 
|---|
| 42 |  . D EN^DDIOL(.MSG) W ! K MSG
 | 
|---|
| 43 |  QUIT
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | GO ; rebuild the selected transaction now
 | 
|---|
| 46 |  S FMSSEC=$$SEC1^PRC0C(PRC("SITE"))
 | 
|---|
| 47 |  S TYPE=PRCFA("TT")
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | GO0 I XRBLD=1 D 
 | 
|---|
| 50 |  . S (PRCFA("MOD"),PRCFA("CANCEL"))="X^2^Cancellation Entry"
 | 
|---|
| 51 |  . S FMSMOD=$P(PRCFA("MOD"),U)
 | 
|---|
| 52 |  . S TAG=$E(DESC,1)
 | 
|---|
| 53 |  . I TAG="D" S DESC="Decrease Obligation Amount of "_TYPE
 | 
|---|
| 54 |  . I TAG="C" S DESC="Cancellation of "_TYPE
 | 
|---|
| 55 |  . S DESC=DESC_" Obligation Document Rebuild/Transmit"
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 |  I XRBLD=2 D
 | 
|---|
| 58 |  . S PRCFA("MOD")="E^0^Original Entry (Amended)"
 | 
|---|
| 59 |  . S PRCFA("CANCEL")="X^2^Cancellation Entry"
 | 
|---|
| 60 |  . S TAG="A"
 | 
|---|
| 61 |  . S DESC="Purchase Order Amendment Rebuild/Transmit"
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 |  D REBUILD^GECSUFM1(GECSDATA,"I",FMSSEC,"Y",DESC)
 | 
|---|
| 64 |  S GECSFMS("DA")=GECSDATA
 | 
|---|
| 65 |  I TAG="D" D DEC^PRCFFU8 ; (decrease)
 | 
|---|
| 66 |  I TAG="C" D CANC^PRCFFU8 ; (cancel)
 | 
|---|
| 67 |  I TAG="A" D ^PRCFFM1M ; (original - amended)
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | GOUT KILL DESC,FMSSEC
 | 
|---|
| 70 |  QUIT
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 | LOOP ; Check for any 'X' docs -- this subroutine deleted by patch PRC*5*179
 | 
|---|
| 73 |  ; routine could incorrectly label future amendments as cancel associated
 | 
|---|
| 74 |  ;N LOOP,N0,FMSDOC S LOOP=0
 | 
|---|
| 75 |  ;F  S LOOP=$O(^PRC(442,+PO,10,LOOP)) Q:LOOP'>0  D
 | 
|---|
| 76 |  ;.S N0=^PRC(442,+PO,10,LOOP,0),FMSDOC=$P(N0,".",1,2)
 | 
|---|
| 77 |  ;.I FMSDOC["X" S XFLAG=1
 | 
|---|
| 78 |  ;.Q
 | 
|---|
| 79 |  ;Q
 | 
|---|