| 1 | PRCGARC1 ;WIRMFO@ALTOONA/CTB/BGJ -  IFCAP ARCHIVE SUBROUTINES ;12/10/97  9:04 AM
 | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;;
 | 
|---|
| 5 | DOC(DA) ;completely archive 1 purchase order
 | 
|---|
| 6 |  QUIT:$P($G(^PRC(442,DA,0)),"^",1)=""
 | 
|---|
| 7 |  NEW VENDOR,X S X=$P($G(^PRC(442,DA,1)),"^") I X S VENDOR=$P($G(^PRC(440,+X,0)),"^")
 | 
|---|
| 8 |  W "~~PRCG~~^",!,$P(^PRC(442,DA,0),"^",1)_"^"_$G(VENDOR)
 | 
|---|
| 9 |  S ZNODE=$G(^PRC(442,DA,0)) Q:ZNODE=""
 | 
|---|
| 10 |  S MOP=$P(ZNODE,"^",2)
 | 
|---|
| 11 |  I MOP<1 S MOP="NULL" G DOIT
 | 
|---|
| 12 |  S MOP=$P($G(^PRCD(442.5,MOP,0)),"^",2)
 | 
|---|
| 13 |  I MOP="" S MOP="NULL"
 | 
|---|
| 14 | DOIT U MTIO S IO=MTIO D @MOP S IO=DEVIO
 | 
|---|
| 15 |  QUIT
 | 
|---|
| 16 | CI ;certified invoice
 | 
|---|
| 17 | PIA ;payment in advance
 | 
|---|
| 18 | DD ;guaranteed delivery
 | 
|---|
| 19 | ST ;invoice/receiving report
 | 
|---|
| 20 | IF ;imprest fund
 | 
|---|
| 21 | RQ ;requisition
 | 
|---|
| 22 | PC ;purchase card
 | 
|---|
| 23 | AB ;autobank
 | 
|---|
| 24 | AR ;accounts receivable
 | 
|---|
| 25 | NULL D PO(DA)
 | 
|---|
| 26 |  D ALLRR(DA)
 | 
|---|
| 27 |  D ALL410(DA)
 | 
|---|
| 28 |  QUIT
 | 
|---|
| 29 | 1358 ;misc obligation
 | 
|---|
| 30 |  S X=$P($G(^PRC(442,DA,0)),"^",12) I +X,$D(^PRCS(410,+X,0)) D ALL410(X)
 | 
|---|
| 31 |  Q
 | 
|---|
| 32 | IS ;issue
 | 
|---|
| 33 | TA ;travel authority
 | 
|---|
| 34 | OTA ;open travel authority
 | 
|---|
| 35 |  QUIT
 | 
|---|
| 36 | PO(DA) ;archive one purchase order
 | 
|---|
| 37 |  S D0=DA D ^PRCHFPNT
 | 
|---|
| 38 |  QUIT
 | 
|---|
| 39 | ALLRR(DA) ;archive all receiving reports for a PO (DA)
 | 
|---|
| 40 |  NEW RRNUM
 | 
|---|
| 41 |  S RRNUM=""
 | 
|---|
| 42 |  F  S RRNUM=$O(^PRC(442,DA,11,RRNUM)) Q:'RRNUM  I RRNUM>0 S D0=DA,PRCHFPT=RRNUM D ^PRCHFPNT
 | 
|---|
| 43 |  QUIT
 | 
|---|
| 44 | ALL410(DA) ;archive all 410 documents related to PO (DA)
 | 
|---|
| 45 |  NEW N,DA410,X,PRIMARY
 | 
|---|
| 46 |  ;primary
 | 
|---|
| 47 |  S X=$P($G(^PRC(442,DA,0)),"^",12) I +X,$D(^PRCS(410,+X,0)) S PRIMARY=+X D 410(X)
 | 
|---|
| 48 |  ;any other 2237s on PO
 | 
|---|
| 49 |  S N=""
 | 
|---|
| 50 |  F  S N=$O(^PRC(442,DA,13,N)) Q:'N  S DA410=$P($G(^(N,0)),"^") I DA410,$D(^PRCS(410,DA410,0)),DA410'=PRIMARY D 410(DA410)
 | 
|---|
| 51 |  QUIT
 | 
|---|
| 52 | 410(DA) ;archive 1 410 record
 | 
|---|
| 53 |  N TRNODE,X2237 S X2237=$P($G(^PRCS(410,DA,0)),"^",4)
 | 
|---|
| 54 |  I X2237=1 S TRNODE(0)="" D NODE^PRCS58OB(DA,.TRNODE),^PRCE58P2
 | 
|---|
| 55 |  D:X2237=5 DQ^PRCPRIB0 D:(X2237'=1)&(X2237'=5) ^PRCSP12
 | 
|---|
| 56 |  QUIT
 | 
|---|
| 57 | ERR ;go here when tape error
 | 
|---|
| 58 |  QUIT  X ^%ZOSF("MTERR") I 'Y S %ZTERLGR=OLDET D ^%ZTER
 | 
|---|
| 59 |  U MTIO W @%MT("BS") D  G V
 | 
|---|
| 60 |  . U MTIO R X:10 Q:'$T
 | 
|---|
| 61 |  . I X["DAV/VHA IFCAP ARCHIVE" D
 | 
|---|
| 62 |  . . W @%MT("BS"),@%MT("WEL"),%MT("REW")
 | 
|---|
| 63 |  . . F  D  G:X["^" END X ^%ZOSF("MTONLINE") Q:Y=1
 | 
|---|
| 64 |  . . . U IO(0) R !!,"Please load new tape and press <CR> to continue",X:1200
 | 
|---|
| 65 |  . . . QUIT
 | 
|---|
| 66 |  . . U MTIO W @%MT("BS"),@%MT("BS")
 | 
|---|
| 67 |  . . QUIT
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | END ;
 | 
|---|