[Home] [Help]
PACKAGE BODY: APPS.ENG_CHANGE_BES_UTIL
Source
1 PACKAGE BODY ENG_CHANGE_BES_UTIL AS
2 /* $Header: ENGUBESB.pls 120.4 2006/03/19 20:52:17 mkimizuk noship $ */
3
4 -- ---------------------------------------------------------------------------
5 -- Global variables and constants
6 -- ---------------------------------------------------------------------------
7 G_PKG_NAME VARCHAR2(30) := 'ENG_CHANGE_BES_UTIL';
8
9
10
11 /********************************************************************
12 * API Type : Private Local APIs
13 * Purpose : Those APIs are private
14 *********************************************************************/
15 FUNCTION GetChangeMgmtTypeCode
16 ( p_change_id IN NUMBER)
17 RETURN VARCHAR2
18 IS
19 l_cm_code VARCHAR2(30) ;
20
21 CURSOR c_cm_code(c_change_id NUMBER)
22 IS
23 -- Select cm category code
24 SELECT ec.change_mgmt_type_code
25 FROM eng_engineering_changes ec
26 WHERE ec.change_id = p_change_id ;
27
28 BEGIN
29 FOR l_rec IN c_cm_code (c_change_id => p_change_id)
30 LOOP
31 l_cm_code := l_rec.CHANGE_MGMT_TYPE_CODE ;
32 END LOOP ;
33
34 RETURN l_cm_code ;
35
36 END GetChangeMgmtTypeCode ;
37
38
39 FUNCTION GetBaseChangeMgmtTypeCode
40 ( p_change_id IN NUMBER)
41 RETURN VARCHAR2
42 IS
43 -- return SUMMARY or DETAIL
44 l_base_cm_code VARCHAR2(30) ;
45
46 CURSOR c_base_cm_code(p_change_id NUMBER)
47 IS
48 SELECT ChangeCategory.BASE_CHANGE_MGMT_TYPE_CODE
49 FROM ENG_ENGINEERING_CHANGES EngineeringChangeEO,
50 ENG_CHANGE_ORDER_TYPES ChangeCategory
51 WHERE ChangeCategory.type_classification = 'CATEGORY'
52 AND ChangeCategory.change_mgmt_type_code = EngineeringChangeEO.change_mgmt_type_code
53 AND EngineeringChangeEO.change_id = p_change_id ;
54
55 BEGIN
56 FOR l_rec IN c_base_cm_code (p_change_id => p_change_id)
57 LOOP
58 l_base_cm_code := l_rec.BASE_CHANGE_MGMT_TYPE_CODE ;
59 END LOOP ;
60
61 RETURN l_base_cm_code ;
62
63 END GetBaseChangeMgmtTypeCode ;
64
65
66
67
68 /********************************************************************
69 * API Type : Local APIs
70 * Purpose : Those APIs are private
71 *********************************************************************/
72 PROCEDURE Raise_Status_Change_Event
73 ( p_change_id IN NUMBER
74 ,p_status_code IN NUMBER
75 ,p_action_type IN VARCHAR2
76 ,p_action_id IN NUMBER
77 )
78 IS
79
80 l_param_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
81 l_base_cm_code VARCHAR2(30) ;
82
83 BEGIN
84
85
86 l_base_cm_code := GetBaseChangeMgmtTypeCode (p_change_id) ;
87
88 IF ENG_DOCUMENT_UTIL.G_DOM_DOCUMENT_LIFECYCLE = l_base_cm_code
89 THEN
90 RETURN ;
91 END IF ;
92
93 -- Adding event parameters to the list
94 WF_EVENT.AddParameterToList
95 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_CHANGE_ID
96 ,p_value => to_char(p_change_id)
97 ,p_parameterList => l_param_list
98 );
99
100 WF_EVENT.AddParameterToList
101 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_BASE_CM_TYPE_CODE
102 ,p_value => l_base_cm_code
103 ,p_parameterList => l_param_list
104 );
105
106 WF_EVENT.AddParameterToList
107 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_STATUS_CODE
108 ,p_value => to_char(p_status_code)
109 ,p_parameterList => l_param_list
110 );
111
112 WF_EVENT.AddParameterToList
113 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_ACT_TYPE_CODE
114 ,p_value => p_action_type
115 ,p_parameterList => l_param_list
116 );
117
118
119 WF_EVENT.AddParameterToList
120 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_ACTION_ID
121 ,p_value => to_char(p_action_id)
122 ,p_parameterList => l_param_list
123 );
124
125 -- Raise event
126 WF_EVENT.RAISE
127 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_CHG_STATUS
128 ,p_event_key => p_change_id
129 ,p_parameters => l_param_list
130 );
131 l_param_list.DELETE;
132
133 EXCEPTION
134 WHEN OTHERS THEN
135 NULL;
136 END Raise_Status_Change_Event;
137
138
139 PROCEDURE Raise_Appr_Status_Change_Event
140 ( p_change_id IN NUMBER
141 ,p_appr_status IN NUMBER
142 ,p_wf_route_status IN VARCHAR2
143 )
144 IS
145
146 l_param_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
147 l_base_cm_code VARCHAR2(30) ;
148
149 BEGIN
150
151 l_base_cm_code := GetBaseChangeMgmtTypeCode (p_change_id) ;
152
153 IF ENG_DOCUMENT_UTIL.G_DOM_DOCUMENT_LIFECYCLE = l_base_cm_code
154 THEN
155 RETURN ;
156 END IF ;
157
158
159 WF_EVENT.AddParameterToList
160 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_CHANGE_ID
161 ,p_value => to_char(p_change_id)
162 ,p_parameterList => l_param_list
163 );
164 WF_EVENT.AddParameterToList
165 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_BASE_CM_TYPE_CODE
166 ,p_value => l_base_cm_code
167 ,p_parameterList => l_param_list
168 );
169 WF_EVENT.AddParameterToList
170 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_NEW_APPR_STS_CODE
171 ,p_value => p_appr_status
172 ,p_parameterList => l_param_list
173 );
174 WF_EVENT.AddParameterToList
175 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_WF_STATUS_CODE
176 ,p_value => p_wf_route_status
177 ,p_parameterList => l_param_list
178 );
179
180 -- Raise event
181 WF_EVENT.RAISE
182 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_CHG_APPR_STATUS
183 ,p_event_key => p_change_id
184 ,p_parameters => l_param_list
185 );
186 l_param_list.DELETE;
187
188 EXCEPTION
189 WHEN OTHERS THEN
190 NULL;
191 END Raise_Appr_Status_Change_Event;
192
193
194
195 PROCEDURE Raise_Post_Comment_Event
196 ( p_change_id IN NUMBER
197 ,p_action_type IN VARCHAR2
198 ,p_action_id IN NUMBER
199 )
200 IS
201 l_param_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
202 l_base_cm_code VARCHAR2(30) ;
203
204 BEGIN
205
206 l_base_cm_code := GetBaseChangeMgmtTypeCode (p_change_id) ;
207
208 IF ENG_DOCUMENT_UTIL.G_DOM_DOCUMENT_LIFECYCLE = l_base_cm_code
209 THEN
210 RETURN ;
211 END IF ;
212
213
214 -- Adding event parameters to the list
215 WF_EVENT.AddParameterToList
216 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_CHANGE_ID
217 ,p_value => to_char(p_change_id)
218 ,p_parameterList => l_param_list
219 );
220
221 WF_EVENT.AddParameterToList
222 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_BASE_CM_TYPE_CODE
223 ,p_value => l_base_cm_code
224 ,p_parameterList => l_param_list
225 );
226
227
228 WF_EVENT.AddParameterToList
229 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_ACT_TYPE_CODE
230 ,p_value => p_action_type
231 ,p_parameterList => l_param_list
232 );
233
234 WF_EVENT.AddParameterToList
235 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_ACTION_ID
236 ,p_value => to_char(p_action_id)
237 ,p_parameterList => l_param_list
238 );
239
240 -- Raise event
241 WF_EVENT.RAISE
242 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_POST_COMMENT
243 ,p_event_key => p_change_id
244 ,p_parameters => l_param_list
245 );
246
247 l_param_list.DELETE;
248
249 EXCEPTION
250 WHEN OTHERS THEN
251 NULL;
252
253 END Raise_Post_Comment_Event ;
254
255
256 PROCEDURE Raise_Create_Change_Event
257 ( p_change_id IN NUMBER
258 )
259 IS
260
261 l_param_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
262 l_base_cm_code VARCHAR2(30) ;
263
264 BEGIN
265
266 l_base_cm_code := GetBaseChangeMgmtTypeCode (p_change_id) ;
267
268 IF ENG_DOCUMENT_UTIL.G_DOM_DOCUMENT_LIFECYCLE = l_base_cm_code
269 THEN
270 RETURN ;
271 END IF ;
272
273
274 -- Adding event parameters to the list
275 WF_EVENT.AddParameterToList
276 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_CHANGE_ID
277 ,p_value => to_char(p_change_id)
278 ,p_parameterList => l_param_list
279 );
280
281 WF_EVENT.AddParameterToList
282 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_BASE_CM_TYPE_CODE
283 ,p_value => l_base_cm_code
284 ,p_parameterList => l_param_list
285 );
286
287 -- Raise event
288 WF_EVENT.RAISE
289 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_CREATE
290 ,p_event_key => p_change_id
291 ,p_parameters => l_param_list
292 );
293
294 l_param_list.DELETE;
295
296 EXCEPTION
297 WHEN OTHERS THEN
298 NULL;
299
300 END Raise_Create_Change_Event ;
301
302
303 PROCEDURE Raise_Update_Change_Event
304 ( p_change_id IN NUMBER
305 )
306 IS
307
308 l_param_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
309 l_base_cm_code VARCHAR2(30) ;
310
311 BEGIN
312
313 l_base_cm_code := GetBaseChangeMgmtTypeCode (p_change_id) ;
314
315 IF ENG_DOCUMENT_UTIL.G_DOM_DOCUMENT_LIFECYCLE = l_base_cm_code
316 THEN
317 RETURN ;
318 END IF ;
319
320 -- Adding event parameters to the list
321 WF_EVENT.AddParameterToList
322 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_CHANGE_ID
323 ,p_value => to_char(p_change_id)
324 ,p_parameterList => l_param_list
325 );
326
327 WF_EVENT.AddParameterToList
328 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_BASE_CM_TYPE_CODE
329 ,p_value => l_base_cm_code
330 ,p_parameterList => l_param_list
331 );
332
333 -- Raise event
334 WF_EVENT.RAISE
335 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_UPDATE
336 ,p_event_key => p_change_id
337 ,p_parameters => l_param_list
338 );
339
340 l_param_list.DELETE;
341
342 EXCEPTION
343 WHEN OTHERS THEN
344 NULL;
345
346 END Raise_Update_Change_Event ;
347
348
349 END ENG_CHANGE_BES_UTIL;
350