| 1 | PRCGARCG ;WIRMFO@ALTOONA/CTB/BGJ  IFCAP ARCHIVE FIND ROUTINE ;12/10/97  9:07 AM [8/17/98 9:01am] | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | W @IOF S X="I will now begin compiling a list of archive documents for this process from file 442 for FY "_AFY_" and earlier." D MSG^PRCFQ | 
|---|
| 5 | I CLEANFIL=1 D | 
|---|
| 6 | . S X="But First - I will delete all current entries in the IFCAP Pending Archive file for Station - "_PRC("SITE") | 
|---|
| 7 | . D MSG^PRCFQ | 
|---|
| 8 | . D ^PRCGARCH | 
|---|
| 9 | . R X:5 W @IOF | 
|---|
| 10 | . QUIT | 
|---|
| 11 | I $D(UPOUT) K UPOUT D END^PRCGU,END QUIT | 
|---|
| 12 | D WAIT^PRCFYN | 
|---|
| 13 | S EFY=$E(FY,1,3)_"0930" | 
|---|
| 14 | S BFY=$E(FY,1,3)-1_"1001" | 
|---|
| 15 | S NX=0 F I=0:1 S NX=$O(^PRC(442,"AB",NX)) Q:(NX>FY)!(NX="") | 
|---|
| 16 | I I=0 S X="There are no records on file for FY "_AFY_" or earlier.  No action taken.*" D MSG^PRCFQ QUIT | 
|---|
| 17 | S TREC=I,RECCOUNT=0 | 
|---|
| 18 | S MESSAGE="FINDING IFCAP RECORDS FOR ARCHIVE/PURGE" | 
|---|
| 19 | S ITEMS="days" | 
|---|
| 20 | D BEGIN^PRCGU | 
|---|
| 21 | S NX=0 D PERCENT^PRCGU | 
|---|
| 22 | F XCOUNT=1:1 S NX=$O(^PRC(442,"AB",NX)) Q:(NX>FY)!(NX="")!($D(UPOUT))  D  D:'$D(ZTQUEUED) PERCENT^PRCGU | 
|---|
| 23 | . S MX=0 F  S MX=$O(^PRC(442,"AB",NX,MX)) Q:'MX  D  R X:0 I X["^" W !!!,"Option Terminated.",*7 S UPOUT="" QUIT | 
|---|
| 24 | . . S ZERONODE=$G(^PRC(442,MX,0)) | 
|---|
| 25 | . . I $P(ZERONODE,"-")'=PRC("SITE") QUIT | 
|---|
| 26 | . . S FLAG=$$CHECK(MX,ZERONODE) QUIT:'FLAG | 
|---|
| 27 | . . S X=$P(ZERONODE,"^",1) | 
|---|
| 28 | . . D ADD(MX,X,FLAG) Q:Y<0  S RECCOUNT=RECCOUNT+1 | 
|---|
| 29 | . . QUIT | 
|---|
| 30 | . QUIT | 
|---|
| 31 | I $D(UPOUT) D END^PRCGU,END K UPOUT QUIT | 
|---|
| 32 | D END^PRCGU | 
|---|
| 33 | W !!,RECCOUNT," documents were found and added to the IFCAP Pending Archive File." | 
|---|
| 34 | END K FY,BFY,EFY,CFY,AFY,NX,MX,ZERONODE,FLAG,X,Y,TREC,CREC,LREC,XPOS,DX,CY,MOP,ARCBIT,DIC,DLAYGO,A,N,M,PERCENT,RECCOUNT | 
|---|
| 35 | K %DT,ARCHECK,CURSOR,CLEANFIL,D0,DG,DICR,DIG,DIH,DIU,DIV,DIW,ITEMS,MESSAGE,OUT,RTIME,TTIME,YPOS,BTIME,DA,LASTENT,LINE,SS,TIME,XCOUNT | 
|---|
| 36 | QUIT | 
|---|
| 37 | ADD(DA,X,FLAG) ;add record to 443.9 | 
|---|
| 38 | NEW MOP,Z | 
|---|
| 39 | S MOP=$P(FLAG,"^",2),FLAG=$P(FLAG,"^") | 
|---|
| 40 | L +^PRC(443.9):5 I '$T S Y=-1 Q | 
|---|
| 41 | S:'$D(^PRC(443.9,DA)) Y=$P(^PRC(443.9,0),"^",4),Y=Y+1,$P(^(0),"^",3,4)=DA_"^"_Y | 
|---|
| 42 | S ^PRC(443.9,DA,0)=DA_"^"_FLAG_"^"_MOP_"^"_X,^PRC(443.9,"B",DA,DA)="",^PRC(443.9,"AC",X,DA)="" | 
|---|
| 43 | L -^PRC(443.9) | 
|---|
| 44 | S Y=DA QUIT | 
|---|
| 45 | CHECK(DA,ZNODE) ;;BEGIN CHECK ARCHIVE CRITERON? | 
|---|
| 46 | N MOP,ARCBIT | 
|---|
| 47 | S MOP=$P(ZNODE,"^",2) | 
|---|
| 48 | I 'MOP QUIT 2 | 
|---|
| 49 | I MOP=5!(MOP=6) D | 
|---|
| 50 | .  S $P(^PRC(442,DA,0),U,2)=1 | 
|---|
| 51 | .  S MOP=1 | 
|---|
| 52 | .  QUIT | 
|---|
| 53 | S MOP=$P($G(^PRCD(442.5,MOP,0)),"^",2) | 
|---|
| 54 | I MOP="" Q 2 | 
|---|
| 55 | S ARCBIT="" D @MOP QUIT ARCBIT_"^"_MOP | 
|---|
| 56 | IS ;;ISSUES | 
|---|
| 57 | TA ;;TRAVEL | 
|---|
| 58 | OTA ;;OPEN TRAVEL | 
|---|
| 59 | QUIT | 
|---|
| 60 | AR ;;ACCOUNTS RECEIVABLE | 
|---|
| 61 | S ARCBIT=3 | 
|---|
| 62 | QUIT | 
|---|
| 63 | CI ;;CERTIFIED INVOICE | 
|---|
| 64 | PIA ;;PAYMENT IN ADVANCE | 
|---|
| 65 | DD ;;GUARANTEED DELIVERY | 
|---|
| 66 | NEW SS,FS | 
|---|
| 67 | S SS=+$G(^PRC(442,DA,7)) | 
|---|
| 68 | I 'SS S ARCBIT=2 QUIT | 
|---|
| 69 | S FS=$P($G(^PRCD(442.3,SS,0)),"^",3) | 
|---|
| 70 | S:FS>10 ARCBIT=1 I ((SS<11)!(SS>34)) S ARCBIT=$G(ARCBIT)+2 | 
|---|
| 71 | QUIT | 
|---|
| 72 | 1358 ;;1358 | 
|---|
| 73 | NEW SS,FS | 
|---|
| 74 | S SS=+$G(^PRC(442,DA,7)) | 
|---|
| 75 | I 'SS S ARCBIT=2 QUIT | 
|---|
| 76 | S FS=$P($G(^PRCD(442.3,SS,0)),"^",3) | 
|---|
| 77 | S:FS>10 ARCBIT=1 I ((FS<11)!((FS>34)&(FS'=100))) S ARCBIT=$G(ARCBIT)+2 | 
|---|
| 78 | QUIT | 
|---|
| 79 | ST ;;INVOICE/RECEIVING REPORT | 
|---|
| 80 | IF ;;IMPREST FUND/CASHIER | 
|---|
| 81 | RQ ;;REQUISITION | 
|---|
| 82 | PC ;;PURCHASE CARD | 
|---|
| 83 | AB ;;AUTOBANK | 
|---|
| 84 | S SS=+$G(^PRC(442,DA,7)) | 
|---|
| 85 | I 'SS S ARCBIT=2 QUIT | 
|---|
| 86 | S SS=$P($G(^PRCD(442.3,SS,0)),"^",2) | 
|---|
| 87 | S:SS>10 ARCBIT=1 I ((SS<11)!(SS>29)) S ARCBIT=$G(ARCBIT)+2 | 
|---|
| 88 | QUIT | 
|---|