1 | GECSMUT1 ;WISC/RFJ-maintenance utilities (batching) ;01 Nov 93
|
---|
2 | ;;2.0;GCS;**2,6**;MAR 14, 1995
|
---|
3 | ;edited by IRMFO-SF/RJH 12-95
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | MARKBAT(DA) ; mark code sheet da for batching
|
---|
7 | ; return 1 for marked, 0 for unmarked
|
---|
8 | N %,%DT,D0,DI,DIC,DIE,DQ,DR,X,Y
|
---|
9 | S %=$G(^GECS(2100,DA,0)) I %="" Q 0
|
---|
10 | W !!?5,"** CODE SHEET NUMBER: ",$P(%,"^")," **"
|
---|
11 | S DR=".15///@;.8///@;.1///Y;.95////"_DUZ_";"
|
---|
12 | I $G(GECSAUTO)="BATCH" S DR=DR_".6///TODAY;.9///3;"
|
---|
13 | E S DR=DR_".6//TODAY;.9//3;"
|
---|
14 | S (DIC,DIE)="^GECS(2100," W ! D ^DIE
|
---|
15 | ; ^ entered, retain in file
|
---|
16 | I $D(Y) D RETAIN^GECSUSTA(DA) S %=$$STATUS^GECSUSTA(DA) Q 0
|
---|
17 | I $G(GECSAUTO)="BATCH" W !,"CODE SHEET AUTOMATICALLY MARKED FOR BATCHING !" Q 1
|
---|
18 | S %=$$STATUS^GECSUSTA(DA)
|
---|
19 | Q 1
|
---|
20 | ;
|
---|
21 | ASKREBAT() ; ask to rebatch
|
---|
22 | ; return 1 for yes, 0 for no
|
---|
23 | S XP="DO YOU WANT TO MARK FOR REBATCHING",XH="'YES' to mark for rebatching.",XH(1)="'NO' or '^' to abort."
|
---|
24 | I $$YN^GECSUTIL(2)'=1 Q 0
|
---|
25 | Q 1
|
---|
26 | ;
|
---|
27 | REMARK ; remark a code sheet for batching
|
---|
28 | N %,GECS,GECSBATC,GECSDA,GECSSTAT,GECSBTYP
|
---|
29 | D ^GECSSITE Q:'$D(GECS("SITE"))
|
---|
30 | D BATNOFMS^GECSUSEL Q:'$G(GECS("BATDA"))
|
---|
31 | S GECSBTYP=GECS("BATCH")
|
---|
32 | F S GECSDA=$$CODESHET^GECSUSEL(GECSBTYP) Q:'GECSDA D
|
---|
33 | . D VARIABLE^GECSUTIL(GECSDA)
|
---|
34 | . I $G(GECS("SYSID"))="FMS" W !,"*** FMS DOCUMENTS DO NOT HAVE TO BE BATCHED ***" Q
|
---|
35 | . I $G(GECS("CSDA")) D Q
|
---|
36 | . . W ! S GECSSTAT=$$STATUS^GECSUSTA(GECS("CSDA")) W !
|
---|
37 | . . S GECSBATC=$P($G(^GECS(2100,GECS("CSDA"),"TRANS")),"^",9)
|
---|
38 | . . I GECSBATC="" W !,"YOU CAN ONLY SELECT CODE SHEETS WHICH HAVE BEEN MARKED FOR BATCHING." Q
|
---|
39 | . . I $$ASKREBAT S %=$$MARKBAT(GECS("CSDA")) D KILLBATC(GECSBATC) Q
|
---|
40 | . D ERROR^GECSUTIL(GECSDA)
|
---|
41 | Q
|
---|
42 | ;
|
---|
43 | REVIEW ; review code sheets waiting to be batched
|
---|
44 | N %,GECS,GECSDA,GECSSTAT,GECSBTYP
|
---|
45 | D ^GECSSITE Q:'$D(GECS("SITE"))
|
---|
46 | W ! D BATTYPE^GECSUSEL($G(GECSSYS),$S($L($G(GECSSYS)):1,1:0)) Q:'$G(GECS("BATDA"))
|
---|
47 | S GECSBTYP=GECS("BATCH")
|
---|
48 | F S GECSDA=$$CODESHET^GECSUSEL(GECSBTYP) Q:'GECSDA D
|
---|
49 | . D VARIABLE^GECSUTIL(GECSDA)
|
---|
50 | . I $G(GECS("CSDA")) D Q
|
---|
51 | . . W ! S GECSSTAT=$$STATUS^GECSUSTA(GECS("CSDA")) W !
|
---|
52 | . . I GECS("SYSID")'="FMS",$P($G(^GECS(2100,GECS("CSDA"),"TRANS")),"^")'="Y" W !,"YOU CAN ONLY SELECT CODE SHEETS WHICH HAVE BEEN MARKED FOR BATCHING." Q
|
---|
53 | . . I GECS("SYSID")="FMS",$P($G(^GECS(2100,GECS("CSDA"),"TRANS")),"^",3)'="" W !,"YOU CAN ONLY SELECT FMS DOCUMENTS WHICH HAVE NOT BEEN TRANSMITTED." Q
|
---|
54 | . . I '$$MAPDATA^GECSXBLD(GECS("CSDA")) Q
|
---|
55 | . . D ASKTOBAT^GECSXBL1(GECS("CSDA"))
|
---|
56 | . D ERROR^GECSUTIL(GECSDA)
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | DELETE ; delete selected code sheets
|
---|
60 | N %,GECS,GECSDA,GECSSTAT,GECSBTYP
|
---|
61 | D ^GECSSITE Q:'$D(GECS("SITE"))
|
---|
62 | W ! D BATTYPE^GECSUSEL($G(GECSSYS),$S($L($G(GECSSYS)):1,1:0)) Q:'$G(GECS("BATDA"))
|
---|
63 | S GECSBTYP=GECS("BATCH")
|
---|
64 | F S GECSDA=$$CODESHET^GECSUSEL(GECSBTYP) Q:'GECSDA D
|
---|
65 | . D VARIABLE^GECSUTIL(GECSDA)
|
---|
66 | . W ! S GECSSTAT=$$STATUS^GECSUSTA(GECSDA) W !
|
---|
67 | . D DELASK^GECSUTIL(GECSDA)
|
---|
68 | Q
|
---|
69 | ;
|
---|
70 | EDITBAT ; edit code sheet batch
|
---|
71 | N %,GECS,GECSBATC,GECSDA,GECSDICS,GECSSTAT,GECSBTYP
|
---|
72 | D ^GECSSITE Q:'$G(GECS("SITE"))
|
---|
73 | D BATNOFMS^GECSUSEL Q:'$G(GECS("BATDA"))
|
---|
74 | S GECSBTYP=GECS("BATCH")
|
---|
75 | F S GECSDA=$$CODESHET^GECSUSEL(GECSBTYP) Q:'GECSDA D
|
---|
76 | . D VARIABLE^GECSUTIL(GECSDA)
|
---|
77 | . I $G(GECS("CSDA")) D Q
|
---|
78 | . . W ! S GECSSTAT=$$STATUS^GECSUSTA(GECS("CSDA")) W !
|
---|
79 | . . I '$D(^GECS(2100,GECS("CSDA"),"TRANS")) W !,"CODE SHEET MUST BE READY FOR BATCHING BEFORE THE BATCH NUMBER CAN BE EDIT.",!,"USE THE 'Code Sheet Edit' OPTION." Q
|
---|
80 | . . I $P($G(^GECS(2100,GECS("CSDA"),"TRANS")),"^",9)'="" D Q:%=0
|
---|
81 | . . . S XP="Do you want to DELETE this batch number",XH="Enter 'YES' to DELETE batch number, 'NO' ro select a NEW batch number,",XH(1)="or '^' to exit."
|
---|
82 | . . . S %=$$YN^GECSUTIL(2) I %'=1 Q
|
---|
83 | . . . S GECSBATC=$P(^GECS(2100,GECS("CSDA"),"TRANS"),"^",9)
|
---|
84 | . . . S %=$$MARKBAT(GECS("CSDA"))
|
---|
85 | . . . D KILLBATC(GECSBATC)
|
---|
86 | . . . S %=0
|
---|
87 | . . S GECSDICS="I $P(^(0),U,6)=GECS(""BATDA""),$P(^(0),U,4)="""""
|
---|
88 | . . S GECSBATC=$$BATCHSEL^GECSUSEL(GECSDICS) I 'GECSBATC Q
|
---|
89 | . . S GECSBATC=$P($G(^GECS(2101.3,GECSBATC,0)),"^") I GECSBATC="" Q
|
---|
90 | . . S XP="READY TO CHANGE THE BATCH NUMBER",XH="Enter 'YES' to change the batch number, 'NO' or '^' to exit."
|
---|
91 | . . I $$YN^GECSUTIL(1)'=1 Q
|
---|
92 | . . D SETBATCH(GECS("CSDA"),GECSBATC)
|
---|
93 | . D ERROR^GECSUTIL(GECSDA)
|
---|
94 | Q
|
---|
95 | ;
|
---|
96 | SETBATCH(DA,GECSBATC) ; set code sheet da to gecsbatc batch
|
---|
97 | N DIC,DIE,DR,X,Y
|
---|
98 | S (DIC,DIE)="^GECS(2100,",DR=".1///@;.15///Y;.8////"_GECSBATC_";.9//3;"
|
---|
99 | D ^DIE I $D(Y) W !,"UNABLE TO SET BATCH NUMBER ",GECSBATC Q
|
---|
100 | W !,"CODE SHEET READY FOR TRANSMISSION IN BATCH ",GECSBATC
|
---|
101 | Q
|
---|
102 | ;
|
---|
103 | KILLBATC(GECSBATC) ; check if any code sheets are in batch, if no delete it
|
---|
104 | I '$L(GECSBATC) Q
|
---|
105 | I $D(^GECS(2100,"AB",GECSBATC)) Q
|
---|
106 | N DA
|
---|
107 | S DA=+$O(^GECS(2101.3,"B",GECSBATC,0)) I 'DA Q
|
---|
108 | W !!,"NO CODE SHEETS INCLUDED IN BATCH ",GECSBATC,".",!,"DELETING BATCH ",GECSBATC
|
---|
109 | D KILLBATC^GECSPUR1(DA)
|
---|
110 | Q
|
---|