| 1 | ENXIP68 ;WCIOFO/SAB-PATCH INSTALL ROUTINE ;2/8/2001
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**68**;Aug 17, 1993
 | 
|---|
| 3 |  Q
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | PS ; post-install entry point
 | 
|---|
| 6 |  ; create KIDS checkpoints with call backs
 | 
|---|
| 7 |  N ENX,Y
 | 
|---|
| 8 |  F ENX="OBC" D
 | 
|---|
| 9 |  . S Y=$$NEWCP^XPDUTL(ENX,ENX_"^ENXIP68")
 | 
|---|
| 10 |  . I 'Y D BMES^XPDUTL("ERROR Creating "_ENX_" Checkpoint.")
 | 
|---|
| 11 |  Q
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 | OBC ; Move ORIGINAL BAR CODE ID data (post-install)
 | 
|---|
| 14 |  N ENC,ENDA,ENOBC,XPDIDTOT,DA,DIK
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ; If field 28.1 not ORIGINAL BAR CODE ID then already done
 | 
|---|
| 17 |  I $$GET1^DID(6914,28.1,"","LABEL")'="ORIGINAL BAR CODE ID" D  Q
 | 
|---|
| 18 |  . D BMES^XPDUTL("  ORIGINAL BAR CODE ID data already processed. Skipping step.")
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  I '$D(^ENG(6914,"OEE")) D
 | 
|---|
| 21 |  .D BMES^XPDUTL("  No ORIGINAL BAR CODE ID data to move. Skipping step.")
 | 
|---|
| 22 |  E  D
 | 
|---|
| 23 |  . ; must be some data to move
 | 
|---|
| 24 |  . ; loop through file 6914 - move data from 28.1 into new multiple
 | 
|---|
| 25 |  . D BMES^XPDUTL("  Moving ORIGINAL BAR CODE ID data in file 6914...")
 | 
|---|
| 26 |  . ; init variables
 | 
|---|
| 27 |  . S ENC("TOT")=$P($G(^ENG(6914,0)),U,4) ; total # of items to process
 | 
|---|
| 28 |  . I ENC("TOT")=0 S ENC("TOT")=1 ; avoid divide by zero error
 | 
|---|
| 29 |  . S ENC("EQU")=0 ; count of evaluated items
 | 
|---|
| 30 |  . S ENC("OBC")=0 ; count of ORIGINAL BAR CODE IDs moved
 | 
|---|
| 31 |  . S XPDIDTOT=ENC("TOT") ; set total for status bar
 | 
|---|
| 32 |  . S ENC("UPD")=5  ; initial % required to update status bar
 | 
|---|
| 33 |  . ; loop thru equipment
 | 
|---|
| 34 |  . S ENDA=0 F  S ENDA=$O(^ENG(6914,ENDA)) Q:'ENDA  D
 | 
|---|
| 35 |  . . S ENC("EQU")=ENC("EQU")+1
 | 
|---|
| 36 |  . . S ENC("%")=ENC("EQU")*100/ENC("TOT") ; calculate % complete
 | 
|---|
| 37 |  . . ; check if status bar should be updated
 | 
|---|
| 38 |  . . I ENC("%")>ENC("UPD") D
 | 
|---|
| 39 |  . . . D UPDATE^XPDID(ENC("EQU")) ; update status bar
 | 
|---|
| 40 |  . . . S ENC("UPD")=ENC("UPD")+5 ; increase update criteria by 5%
 | 
|---|
| 41 |  . . ; get single valued ORIGINAL BAR CODE ID
 | 
|---|
| 42 |  . . S ENOBC=$P($G(^ENG(6914,ENDA,3)),U,14)
 | 
|---|
| 43 |  . . Q:ENOBC=""  ; nothing to move
 | 
|---|
| 44 |  . . Q:$O(^ENG(6914,ENDA,12,0))  ; unexpected - value in multiple
 | 
|---|
| 45 |  . . ; put original bar code id in multiple field
 | 
|---|
| 46 |  . . S ^ENG(6914,ENDA,12,0)="^6914.05^1^1"
 | 
|---|
| 47 |  . . S ^ENG(6914,ENDA,12,1,0)=ENOBC
 | 
|---|
| 48 |  . . S ^ENG(6914,ENDA,12,"B",ENOBC,1)=""
 | 
|---|
| 49 |  . . ; delete modifier from old location
 | 
|---|
| 50 |  . . S $P(^ENG(6914,ENDA,3),U,14)=""
 | 
|---|
| 51 |  . . K ^ENG(6914,"OEE",ENOBC,ENDA)
 | 
|---|
| 52 |  . . ; set whole file x-ref for new multiple
 | 
|---|
| 53 |  . . S ^ENG(6914,"OEE",ENOBC,ENDA,1)=""
 | 
|---|
| 54 |  . . ; increment counter
 | 
|---|
| 55 |  . . S ENC("OBC")=ENC("OBC")+1
 | 
|---|
| 56 |  . ;
 | 
|---|
| 57 |  . ; report results
 | 
|---|
| 58 |  . D MES^XPDUTL("    "_ENC("OBC")_" ORIGINAL BAR CODE IDs were moved.")
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  ; delete field 28.1 from data dictionary
 | 
|---|
| 61 |  S DIK="^DD(6914,",DA=28.1,DA(1)=6914 D ^DIK
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 |  Q
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 |  ;ENXIP68
 | 
|---|