| 1 | ABSVOT ;VAMC ALTOONA/CTB_CLH - TRANSMIT OCCASIONAL HRS TIME SHEET ;7/10/95  3:18 PM | 
|---|
| 2 | V ;;4.0;VOLUNTARY TIMEKEEPING;**6**;JULY 6, 1994 | 
|---|
| 3 | N B,DP,ABSVQ,ZTRTN,ZTSAVE,ZTDESC | 
|---|
| 4 | S ABSVXA="This program should ONLY be run during the first six (6) workdays of each month." | 
|---|
| 5 | S ABSVXA(1)="ARE YOU SURE YOU WANT TO CONTINUE",%=2 D ^ABSVYN Q:%'=1 | 
|---|
| 6 | W !! | 
|---|
| 7 | D ^ABSVSITE Q:'% | 
|---|
| 8 | S ABSVQ("FORCEQ")="",ZTRTN="QUE^ABSVOT",ZTSAVE("ABSV*")="",ZTDESC="Transmit Voluntary Service Occasional Time Sheets" D ^ABSVQ | 
|---|
| 9 | Q | 
|---|
| 10 | QUE ;RELEASE CODE SHEETS TO AUSTIN | 
|---|
| 11 | N CPUJOB | 
|---|
| 12 | S CPUJOB=^%ZOSF("VOL")_"_"_$J | 
|---|
| 13 | I $D(ZTQUEUED) S ZTREQ="@" | 
|---|
| 14 | ;CALCULATE CODE SHEET STRING FOR CODE SHEETS IN CROSS REFERENCE "AF" | 
|---|
| 15 | K ^TMP(CPUJOB,"ABSVOLIST"),^("ABSVOBATCH") | 
|---|
| 16 | S DA=0,(KOUNT,BATCH)=1 F I=1:1 S DA=$O(^ABS(503336,"AF",1,DA)) Q:'DA  I $P(^ABS(503336,DA,0),"^",3)=ABSV("SITE") D CREATE S:%=1 ^TMP(CPUJOB,"ABSVOLIST",DA)="" | 
|---|
| 17 | ;PRINT TRANSMISSION LIST AND ERROR LIST | 
|---|
| 18 | S IOP=ABIOP,DIC="^ABS(503336,",L=0,(FR,TO)="1,"_ABSV("SITE"),(BY,FLDS)="[ABSV OCC TRANSMIT]",BATCH=1,KOUNT=1 D EN1^DIP | 
|---|
| 19 | S IOP=ABIOP,DIC="^ABS(503336,",L=0,(FR,TO)="2,"_ABSV("SITE"),(BY,FLDS)="[ABSV OCC ERROR LIST]" D EN1^DIP | 
|---|
| 20 | ;BUILD AND TRANSMIT MESSAGES | 
|---|
| 21 | S KOUNT=0 F ZX=1:1 S KOUNT=$O(^TMP(CPUJOB,"ABSVOBATCH",KOUNT)) Q:'KOUNT  D BATCH | 
|---|
| 22 | ;POST TRANSMISSION STATUS AND CLEAN UP ^TMP | 
|---|
| 23 | S DA=0 F I=1:1 S DA=$O(^TMP(CPUJOB,"ABSVOLIST",DA)) Q:'DA  D UPDATE | 
|---|
| 24 | K ^TMP(CPUJOB),%,%H,ABSVXI,ABIOP,ABSVX,BATCH,COMB,D1,DA,DIJ,DP,I,J,K,KOUNT,USIO,X,Y,ZTSK,ZX Q | 
|---|
| 25 | BATCH ;BUILD INDIVIDUAL MESSAGE | 
|---|
| 26 | S XMDUZ=$S($D(DUZ)#2:DUZ,1:.5),XMSUB="OCCASIONAL VOLUNTEER TIME SHEETS - MESSAGE "_ZX_" OF "_BATCH,XMTEXT="^TMP("""_CPUJOB_""",""ABSVOBATCH"","_KOUNT_"," | 
|---|
| 27 | S XMY("XXX@Q-NST.VA.GOV")="" | 
|---|
| 28 | S XMY("G.NST@"_$G(^XMB("NETNAME")))="" | 
|---|
| 29 | D ^XMD | 
|---|
| 30 | W !,XMZ," - Message Filed" | 
|---|
| 31 | Q | 
|---|
| 32 | ERROR ;RECORD ERROR ON TIME CARD - RESET TRANSMISSION STATUS TO ERROR | 
|---|
| 33 | S $P(^ABS(503336,DA,0),"^",9)=2,^ABS(503336,"AF",2,DA)="" K ^ABS(503336,"AF",1,DA) D K S %=0 Q | 
|---|
| 34 | CREATE ;CREATE TIME CARD STRING FOR CODE SHEET | 
|---|
| 35 | S %=0 G ERROR:'$D(^ABS(503336,DA,0)) S TIMEREC=^(0) | 
|---|
| 36 | G ERROR:'TIMEREC | 
|---|
| 37 | G ERROR:$P(TIMEREC,"^",5)="" | 
|---|
| 38 | S STRING="",TYPE=$P(TIMEREC,"^",2),SITE=$E($P(TIMEREC,"^",3)_"    ",1,4) | 
|---|
| 39 | S FILLER="          " | 
|---|
| 40 | S ORG="000"_$P(TIMEREC,"^",4),ORG=$E(ORG,$L(ORG)-2,$L(ORG)) | 
|---|
| 41 | S SERV=$E($P(^ABS(503332,$P(TIMEREC,"^",5),0),"^")_"    ",1,4) | 
|---|
| 42 | S NUM="00"_$P(TIMEREC,"^",6),NUM=$E(NUM,$L(NUM)-1,$L(NUM)) | 
|---|
| 43 | S TOTH="000"_$P(TIMEREC,"^",7),TOTH=$E(TOTH,$L(TOTH)-2,$L(TOTH)) | 
|---|
| 44 | S DATE=$E($P(TIMEREC,"^",8),4,7)_$E($P(TIMEREC,"^",8),2,3) | 
|---|
| 45 | S STRING=TYPE_SITE_FILLER_ORG_" "_SERV_NUM_TOTH_DATE_"$" | 
|---|
| 46 | S ^ABS(503336,DA,2)=STRING | 
|---|
| 47 | D K Q | 
|---|
| 48 | UPDATE ;UPDATE TRANSMISSION STATUS | 
|---|
| 49 | D NOW^ABSVQ S TIMEREC=^ABS(503336,DA,0),TRANS=$P(TIMEREC,"^",15) | 
|---|
| 50 | I TRANS']"" G X | 
|---|
| 51 | S X1=$P(TIMEREC,"^",9) I X1]"" K ^ABS(503336,"AF",X1,DA) | 
|---|
| 52 | S X1=$E(X,1,5)_"00",$P(TIMEREC,"^",15,16)=X_"^"_X1,$P(TIMEREC,"^",11)=DUZ,$P(TIMEREC,"^",9)=3,^ABS(503336,DA,0)=TIMEREC,^ABS(503336,"AF",3,DA)="",^ABS(503336,"AD",X1,DA)="" K X1 G K | 
|---|
| 53 | X S X1=$P(TIMEREC,"^",16) I X1]"" K ^ABS(503336,"AD",X1,DA) | 
|---|
| 54 | S X1=$P(TIMEREC,"^",9) I X1]"" K ^ABS(503336,"AF",X1,DA) | 
|---|
| 55 | S $P(TIMEREC,"^",12,13)=X_"^"_DUZ,$P(TIMEREC,"^",9)=4,X1=$E(X,1,5)_"00",$P(TIMEREC,"^",16)=X1,^ABS(503336,DA,0)=TIMEREC,^ABS(503336,"AD",X1,DA)="",^ABS(503336,"AF",4,DA)="" K X1 | 
|---|
| 56 | K K %,ABSVXX,ABSVXY,TYPE,ORG,SERV,NUM,TOTH,DATE,TIMEREC,STRING,SITE S %=1 Q | 
|---|
| 57 | PRINT ;PRINT LIST OF QUEUED CODE SHEETS AND SUSPENDED CODE SHEETS | 
|---|
| 58 | D ^ABSVSITE Q:'%  D WAIT^ABSVYN | 
|---|
| 59 | S DIC="^ABS(503336,",L=0,FR=ABSV("SITE"),TO=ABSV("SITE")_" ",(BY,FLDS)="[ABSV OCC BATCH LIST]" D EN1^DIP | 
|---|
| 60 | K %X,%Y,ABSVXX,ABSVXY,B,DCC,DIJ,DIOP,DIPT,DP,F,FLDS,L,O,P,W,X,ZTSK Q | 
|---|