1 | ENTIDD ;WOIFO/SAB - Engineering DD ;2/4/2008
|
---|
2 | ;;7.0;ENGINEERING;**87**;Aug 17, 1993;Build 16
|
---|
3 | ;
|
---|
4 | ITTCHK(ENCMR,ENX) ; IT Tracking Check
|
---|
5 | ; called by input transform on CMR file IT TRACKING field
|
---|
6 | ; input
|
---|
7 | ; ENCMR - CMR ien
|
---|
8 | ; ENX - user input (1 for yes or 0 or no)
|
---|
9 | ; returns 1 (true) if change should be prevented
|
---|
10 | ;
|
---|
11 | N ENRET
|
---|
12 | S ENRET=0
|
---|
13 | I ENX'=1,$$AITACMR(ENCMR) D
|
---|
14 | . S ENRET=1
|
---|
15 | . D EN^DDIOL("CMR has equipment with an active IT assignment. Can't change IT TRACKING.")
|
---|
16 | Q ENRET
|
---|
17 | ;
|
---|
18 | AITACMR(ENCMR) ; Active IT Assignment CMR
|
---|
19 | ; input ENCMR = CMR internal entry number
|
---|
20 | ; returns 1 (if any equipment on CMR has an active assignment) or 0
|
---|
21 | N ENEQ,ENRET
|
---|
22 | S ENRET=0
|
---|
23 | ;
|
---|
24 | ; loop thru equipment on CMR
|
---|
25 | S ENEQ=0 F S ENEQ=$O(^ENG(6914,"AD",ENCMR,ENEQ)) Q:'ENEQ D Q:ENRET
|
---|
26 | . I $D(^ENG(6916.3,"AEA",ENEQ)) S ENRET=1
|
---|
27 | ;
|
---|
28 | Q ENRET
|
---|
29 | ;
|
---|
30 | CMRCHK(ENDA,ENX) ; CMR Check
|
---|
31 | ; called by EQUIPMENT INV. file CMR field Input Transform
|
---|
32 | ; input
|
---|
33 | ; ENDA - equipment ien
|
---|
34 | ; ENX - user input, CMR ien
|
---|
35 | ; returns 1 (true) if change should be prevented
|
---|
36 | N DA,X ; protect variables used by input transform
|
---|
37 | N ENA,ENRET,ENY
|
---|
38 | S ENRET=0
|
---|
39 | ;
|
---|
40 | D
|
---|
41 | . ; perform checks
|
---|
42 | . Q:'$D(^ENG(6916.3,"AEA",ENDA)) ; no active assignments for equip
|
---|
43 | . S ENY=$G(^ENG(6914.1,ENX,0)) ; CMR zero node
|
---|
44 | . Q:$P(ENY,"^",9) ; IT Tracking of new CMR is Yes
|
---|
45 | . Q:$E($P(ENY,"^"),1,2)="99" ; CMR name starts 99, may be for excess
|
---|
46 | . ;
|
---|
47 | . ; must be an inappropriate change
|
---|
48 | . S ENRET=1
|
---|
49 | . S ENA(1)="Equipment has an active IT assignment."
|
---|
50 | . S ENA(2)="New CMR must be excess (99x) or have IT TRACKING = YES."
|
---|
51 | . D EN^DDIOL(.ENA)
|
---|
52 | ;
|
---|
53 | Q ENRET
|
---|
54 | ;
|
---|
55 | CMRUPD(ENEQ,ENCMR1,ENCMR2) ; terminate IT responsibilities when CMR changed
|
---|
56 | ; called by cross-reference on Equipment Inv. file CMR field
|
---|
57 | ; input
|
---|
58 | ; ENEQ - equipment ien
|
---|
59 | ; ENCMR1 - old CMR ien
|
---|
60 | ; ENCMR2 - new CMR ien (or null if value deleted)
|
---|
61 | Q:$D(ENDJCMR1) ; edited by DJ screen, change may be backed out so wait
|
---|
62 | Q:'$D(^ENG(6916.3,"AEA",ENEQ)) ; no active assignments for equip
|
---|
63 | I ENCMR2,$D(^ENG(6914.1,"AIT",1,ENCMR2)) Q ; new CMR IT TRACKING = yes
|
---|
64 | ;
|
---|
65 | ; equipment with active assignments is no longer on a tracked CMR
|
---|
66 | N ENCMR1N,ENCMR2N,ENDA,ENL,ENTX,ENX
|
---|
67 | N DIFROM,XMDUZ,XMMG,XMROU,XMSTRIP,XMSUB,XMTEXT,XMY,XMYBLOB,XMZ
|
---|
68 | ; loop thru assignments
|
---|
69 | S ENL=5
|
---|
70 | S ENDA=0 F S ENDA=$O(^ENG(6916.3,"AEA",ENEQ,ENDA)) Q:'ENDA D
|
---|
71 | . ; terminate assignment
|
---|
72 | . S ENX=$$TERM^ENTIUTL1(ENDA)
|
---|
73 | . ; place on message text
|
---|
74 | . S ENL=ENL+1
|
---|
75 | . S ENTX(ENL)="Owner: "_$$GET1^DIQ(6916.3,ENDA,1)
|
---|
76 | ;
|
---|
77 | ; send message
|
---|
78 | S ENCMR1N=$S(ENCMR1:$P($G(^ENG(6914.1,ENCMR1,0)),U),1:ENCMR1)
|
---|
79 | S ENCMR2N=$S(ENCMR2:$P($G(^ENG(6914.1,ENCMR2,0)),U),1:"<deleted>")
|
---|
80 | S ENTX(1)="The CMR value for Equipment Entry # "_ENEQ_" was changed"
|
---|
81 | S ENTX(2)="from "_ENCMR1N_" to "_ENCMR2N_" by "_$$GET1^DIQ(200,DUZ,.01)
|
---|
82 | S ENTX(3)="The following IT assignments were automatically terminated"
|
---|
83 | S ENTX(4)="since the new CMR value does not have IT TRACKING = Yes."
|
---|
84 | S ENTX(5)=" "
|
---|
85 | ;
|
---|
86 | S XMDUZ="AEMS/MERS"
|
---|
87 | S XMSUB="IT Assignments Terminated for Entry # "_ENEQ
|
---|
88 | S XMY("G.EN IT EQUIPMENT")=""
|
---|
89 | S XMTEXT="ENTX("
|
---|
90 | D ^XMD
|
---|
91 | Q
|
---|
92 | ;
|
---|
93 | CMRDJPR ; CMR Label Pre-Action for ENEQ1 DJ Edit Screen
|
---|
94 | I $D(^ENG(6915.2,"B",DA)) S X=$$CHKFA^ENFAUTL(DA) I $P(X,U)=1 D
|
---|
95 | . W "Capitalized asset. CMR may only be edited via FAP documents."
|
---|
96 | . W !,"Press <RETURN> to continue..."
|
---|
97 | . R X:DTIME
|
---|
98 | . S DJNX=9
|
---|
99 | ;
|
---|
100 | ; if CMR field will be edited save current CMR value
|
---|
101 | ; note: the existence of this variable will prevent the ACMR x-ref from
|
---|
102 | ; deleting any active IT assignments
|
---|
103 | I $G(DJNX)'=9 S ENDJCMR1=$P($G(^ENG(6914,DA,2)),U,9)
|
---|
104 | Q
|
---|
105 | ;
|
---|
106 | CMRDJPS ; CMR Label Post-Action for ENEQ1 DJ Edit Screen
|
---|
107 | ; note that new data has already been filed by this point
|
---|
108 | ; input ENDJCMR1 - CMR (internal) value prior to the edit
|
---|
109 | ; note: this variable will be killed
|
---|
110 | ; DA - equipment ien being edited
|
---|
111 | ; output
|
---|
112 | ; may reset value of CMR field, if value was reset the following
|
---|
113 | ; two DJ screen handler variables will also be modified
|
---|
114 | ; V(8) - update to reflect the reset CMR value (external)
|
---|
115 | ; DJNX - update to re-edit the CMR field
|
---|
116 | ;
|
---|
117 | Q:'$D(ENDJCMR1)
|
---|
118 | N ENFDA,ENOLD,ENNEW,ENX,X
|
---|
119 | S ENOLD=ENDJCMR1 ; old CMR value
|
---|
120 | S ENNEW=$P($G(^ENG(6914,DA,2)),U,9) ; new CMR value
|
---|
121 | I ENNEW'=ENOLD D
|
---|
122 | . ; CMR was changed
|
---|
123 | . S ENX=$$CMRCHK^ENTIDD(DA,ENNEW) ; may display message
|
---|
124 | . I ENX D
|
---|
125 | . . ; change was not appropriate - pause after message
|
---|
126 | . . W !,"Press <RETURN> to continue..."
|
---|
127 | . . R X:DTIME
|
---|
128 | . . ; change back to original value
|
---|
129 | . . S ENFDA(6914,DA_",",19)=ENOLD
|
---|
130 | . . D FILE^DIE("","ENFDA")
|
---|
131 | . . ; fix screen
|
---|
132 | . . S V(8)=$$GET1^DIQ(6914,DA,19)
|
---|
133 | . . S DJNX=8
|
---|
134 | . I 'ENX D
|
---|
135 | . . ; change was appropriate
|
---|
136 | . . ; terminate any active IT assignments
|
---|
137 | . . K ENDJCMR1 ; to prevent following call from quitting
|
---|
138 | . . D CMRUPD^ENTIDD(DA,ENOLD,ENNEW)
|
---|
139 | ;
|
---|
140 | ; clean up symbol table for variable set by the pre-action
|
---|
141 | K ENDJCMR1
|
---|
142 | Q
|
---|
143 | ;
|
---|
144 | ;ENTIDD
|
---|