| 1 | GECSBATC ;WISC/RFJ/KLD-batch code sheets                                ;01 Nov 93
 | 
|---|
| 2 |  ;;2.0;GCS;**13**;MAR 14, 1995
 | 
|---|
| 3 |  N %,%H,%I,COUNTER,D,DA,GECS,GECSBATC,GECSCOUN,GECSSYDA,GECSTRAN,X,Y
 | 
|---|
| 4 |  D ^GECSSITE Q:'$G(GECS("SITE"))
 | 
|---|
| 5 |  D BATNOFMS^GECSUSEL Q:'$G(GECS("BATDA"))
 | 
|---|
| 6 |  S XP="READY TO BATCH "_GECS("BATCH")_" CODE SHEETS",XH="'YES' will start batching, 'NO' or '^' will exit."
 | 
|---|
| 7 |  W !! I $$YN^GECSUTIL(2)'=1 Q
 | 
|---|
| 8 |  W !
 | 
|---|
| 9 |  ;  check to see if system is locked
 | 
|---|
| 10 |  S GECSSYDA=$$LOCKSYS^GECSULOC(GECS("SITE")_GECS("SITE1")_"-"_GECS("SYSID")_"-BATCH")
 | 
|---|
| 11 |  I 'GECSSYDA Q
 | 
|---|
| 12 |  S COUNTER=$$COUNTER^GECSUNUM(GECS("SITE")_GECS("SITE1")_"-"_GECS("SYSID")_"-"_GECS("FY")) I 'COUNTER D UNLOCK^GECSULOC(GECSSYDA) Q
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  S GECSBATC=GECS("SITE")_GECS("SITE1")_"-"_GECS("SYSID")_"-"_GECS("FY")_"-"_COUNTER
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ;  check to see if code sheets are waiting
 | 
|---|
| 17 |  S (DA,GECSCOUN)=0 F  S DA=$O(^GECS(2100,"AC","Y",DA)) Q:'DA  S D=$G(^GECS(2100,DA,0)) I D'="" D
 | 
|---|
| 18 |  .   I ($P(D,"^",6)_$P(D,"^",7))'=(GECS("SITE")_GECS("SITE1")) Q
 | 
|---|
| 19 |  .   I $P(D,"^",2)'=GECS("SYSID")!($P(D,"^",3)'=GECS("BATDA")) Q
 | 
|---|
| 20 |  .   S GECSTRAN=$G(^GECS(2100,DA,"TRANS")) I GECSTRAN=""!($P(GECSTRAN,"^",7)>DT) Q
 | 
|---|
| 21 |  .   I '$$MARK(DA,GECSBATC) Q
 | 
|---|
| 22 |  .   S GECSCOUN=GECSCOUN+1
 | 
|---|
| 23 |  .   W $J($P(^GECS(2100,DA,0),"^"),10) I $X>69 W !
 | 
|---|
| 24 |  I GECSCOUN=0 W !,"THERE ARE NO CODE SHEETS WAITING TO BE BATCHED." D UNLOCK^GECSULOC(GECSSYDA) Q
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 |  ;  create batch
 | 
|---|
| 27 |  W !!,"Creating BATCH NUMBER: ",GECSBATC
 | 
|---|
| 28 |  N %DT,D0,DD,DI,DIC,DIE,DLAYGO,DQ,DR
 | 
|---|
| 29 |  S DIC="^GECS(2101.3,",DIC(0)="L",DLAYGO=2101.3,DIC("DR")=".1///"_GECS("SYSID")_";.2///"_GECS("BATDA")_";.5///B;.7///NOW;.8////"_DUZ
 | 
|---|
| 30 |  S X=GECSBATC D FILE^DICN
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  W !,"TOTAL code sheets batched: ",GECSCOUN
 | 
|---|
| 33 |  D UNLOCK^GECSULOC(GECSSYDA)
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | MARK(DA,GECSBATC) ;  mark code sheet for transmission in batch gecsbatc
 | 
|---|
| 38 |  ;  return 1 for success, 0 for unable to mark code sheet
 | 
|---|
| 39 |  I '$D(^GECS(2100,DA,0)) Q 0
 | 
|---|
| 40 |  N D0,DI,DIC,DIE,DQ,DR,X,Y
 | 
|---|
| 41 |  S (DIC,DIE)="^GECS(2100,",DR=$S($P($G(^GECS(2100,DA,"TRANS")),"^",10)="":".9///3;",1:"")_".1///@;.15///Y;.8////"_GECSBATC
 | 
|---|
| 42 |  D ^DIE I $D(Y) Q 0
 | 
|---|
| 43 |  Q 1
 | 
|---|