1 | ENBCPM8 ;(WASH ISC)/DH/SAB-Bar Coded PMI, Accum Hours ;1.13.98
|
---|
2 | ;;7.0;ENGINEERING;**14,15,35,48**;Aug 17, 1993
|
---|
3 | COUNT ;Post PM hours to file 6922
|
---|
4 | ;Called by options that close PM work orders
|
---|
5 | ; Input
|
---|
6 | ; ENPMDT - PM month YYMM
|
---|
7 | ; PMTOT( - array of PM hours by shop and tech
|
---|
8 | ; PMTOT(shop ien , tech ien) = hours
|
---|
9 | ; Computed
|
---|
10 | ; ENDT - Date (YYYMMDD) for work order posting
|
---|
11 | ;
|
---|
12 | N ENDT,ENI,ENFDA,ENSHKEY,ENTEC,DELYR
|
---|
13 | S DELYR=$E(DT,2,3)-$E(ENPMDT,1,2),ENDT=$E(DT)+$S(DELYR>79:1,DELYR<-20:-1,1:0)_ENPMDT_"00"
|
---|
14 | ; loop thru shops in array
|
---|
15 | S ENSHKEY=0 F S ENSHKEY=$O(PMTOT(ENSHKEY)) Q:ENSHKEY="" D
|
---|
16 | . L +^DIC(6922,ENSHKEY):300
|
---|
17 | . ; loop thru techs within shop in array
|
---|
18 | . S ENTEC=0 F S ENTEC=$O(PMTOT(ENSHKEY,ENTEC)) Q:ENTEC="" D
|
---|
19 | . . ; find/add entry in 6922
|
---|
20 | . . K ENFDA,ENI
|
---|
21 | . . S ENFDA(6922.03,"?+2,"_ENSHKEY_",",.01)=ENDT
|
---|
22 | . . S ENFDA(6922.31,"?+3,?+2,"_ENSHKEY_",",.01)=ENTEC
|
---|
23 | . . D UPDATE^DIE("","ENFDA","ENI") D MSG^DIALOG()
|
---|
24 | . . ; add hours to entry
|
---|
25 | . . I ENI(2)>0,ENI(3)>0 S $P(^DIC(6922,ENSHKEY,1,ENI(2),1,ENI(3),0),U,2)=$P(^DIC(6922,ENSHKEY,1,ENI(2),1,ENI(3),0),U,2)+PMTOT(ENSHKEY,ENTEC)
|
---|
26 | . L -^DIC(6922,ENSHKEY)
|
---|
27 | Q
|
---|
28 | UNPOST ;UnPost/Remove PM hours from file 6922
|
---|
29 | ;Called by options that reopen closed PM work orders (e.g. Edit W.O.)
|
---|
30 | ; Input
|
---|
31 | ; ENPMDT - PM month YYMM
|
---|
32 | ; PMTOT( - array of PM hours by shop and tech
|
---|
33 | ; PMTOT(shop ien , tech ien) = hours
|
---|
34 | ; Computed
|
---|
35 | ; ENDT - Date (YYYMMDD) for work order un-posting
|
---|
36 | ;
|
---|
37 | N ENDT,ENI,ENSHKEY,ENTEC,DELYR
|
---|
38 | S DELYR=$E(DT,2,3)-$E(ENPMDT,1,2),ENDT=$E(DT)+$S(DELYR>79:1,DELYR<-20:-1,1:0)_ENPMDT_"00"
|
---|
39 | ; loop thru shops in array
|
---|
40 | S ENSHKEY=0 F S ENSHKEY=$O(PMTOT(ENSHKEY)) Q:ENSHKEY="" D
|
---|
41 | . L +^DIC(6922,ENSHKEY):300
|
---|
42 | . ; loop thru techs within shop in array
|
---|
43 | . S ENTEC=0 F S ENTEC=$O(PMTOT(ENSHKEY,ENTEC)) Q:ENTEC="" D
|
---|
44 | . . ; find entry in 6922
|
---|
45 | . . S ENI(2)=$O(^DIC(6922,ENSHKEY,1,"B",ENDT,0)) Q:ENI(2)'>0
|
---|
46 | . . S ENI(3)=$O(^DIC(6922,ENSHKEY,1,ENI(2),1,"B",ENTEC,0)) Q:ENI(3)'>0
|
---|
47 | . . ; delete hours from entry
|
---|
48 | . . S $P(^DIC(6922,ENSHKEY,1,ENI(2),1,ENI(3),0),U,2)=$P(^DIC(6922,ENSHKEY,1,ENI(2),1,ENI(3),0),U,2)-PMTOT(ENSHKEY,ENTEC)
|
---|
49 | . L -^DIC(6922,ENSHKEY)
|
---|
50 | Q
|
---|
51 | ;ENBCPM8
|
---|