Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ENBCPM8

ENBCPM8.m

Go to the documentation of this file.
  1. ENBCPM8 ;(WASH ISC)/DH/SAB-Bar Coded PMI, Accum Hours ;1.13.98
  1. ;;7.0;ENGINEERING;**14,15,35,48**;Aug 17, 1993
  1. COUNT ;Post PM hours to file 6922
  1. ;Called by options that close PM work orders
  1. ; Input
  1. ; ENPMDT - PM month YYMM
  1. ; PMTOT( - array of PM hours by shop and tech
  1. ; PMTOT(shop ien , tech ien) = hours
  1. ; Computed
  1. ; ENDT - Date (YYYMMDD) for work order posting
  1. ;
  1. N ENDT,ENI,ENFDA,ENSHKEY,ENTEC,DELYR
  1. S DELYR=$E(DT,2,3)-$E(ENPMDT,1,2),ENDT=$E(DT)+$S(DELYR>79:1,DELYR<-20:-1,1:0)_ENPMDT_"00"
  1. ; loop thru shops in array
  1. S ENSHKEY=0 F S ENSHKEY=$O(PMTOT(ENSHKEY)) Q:ENSHKEY="" D
  1. . L +^DIC(6922,ENSHKEY):300
  1. . ; loop thru techs within shop in array
  1. . S ENTEC=0 F S ENTEC=$O(PMTOT(ENSHKEY,ENTEC)) Q:ENTEC="" D
  1. . . ; find/add entry in 6922
  1. . . K ENFDA,ENI
  1. . . S ENFDA(6922.03,"?+2,"_ENSHKEY_",",.01)=ENDT
  1. . . S ENFDA(6922.31,"?+3,?+2,"_ENSHKEY_",",.01)=ENTEC
  1. . . D UPDATE^DIE("","ENFDA","ENI") D MSG^DIALOG()
  1. . . ; add hours to entry
  1. . . 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)
  1. . L -^DIC(6922,ENSHKEY)
  1. Q
  1. UNPOST ;UnPost/Remove PM hours from file 6922
  1. ;Called by options that reopen closed PM work orders (e.g. Edit W.O.)
  1. ; Input
  1. ; ENPMDT - PM month YYMM
  1. ; PMTOT( - array of PM hours by shop and tech
  1. ; PMTOT(shop ien , tech ien) = hours
  1. ; Computed
  1. ; ENDT - Date (YYYMMDD) for work order un-posting
  1. ;
  1. N ENDT,ENI,ENSHKEY,ENTEC,DELYR
  1. S DELYR=$E(DT,2,3)-$E(ENPMDT,1,2),ENDT=$E(DT)+$S(DELYR>79:1,DELYR<-20:-1,1:0)_ENPMDT_"00"
  1. ; loop thru shops in array
  1. S ENSHKEY=0 F S ENSHKEY=$O(PMTOT(ENSHKEY)) Q:ENSHKEY="" D
  1. . L +^DIC(6922,ENSHKEY):300
  1. . ; loop thru techs within shop in array
  1. . S ENTEC=0 F S ENTEC=$O(PMTOT(ENSHKEY,ENTEC)) Q:ENTEC="" D
  1. . . ; find entry in 6922
  1. . . S ENI(2)=$O(^DIC(6922,ENSHKEY,1,"B",ENDT,0)) Q:ENI(2)'>0
  1. . . S ENI(3)=$O(^DIC(6922,ENSHKEY,1,ENI(2),1,"B",ENTEC,0)) Q:ENI(3)'>0
  1. . . ; delete hours from entry
  1. . . 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)
  1. . L -^DIC(6922,ENSHKEY)
  1. Q
  1. ;ENBCPM8