[Home] [Help]
PACKAGE BODY: APPS.ENG_CHANGE_BES_UTIL
Source
1 PACKAGE BODY ENG_CHANGE_BES_UTIL AS
2 /* $Header: ENGUBESB.pls 120.6 2011/06/01 07:35:57 evwang ship $ */
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 BEGIN
181 -- Raise event
182 WF_EVENT.RAISE
183 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_CHG_APPR_STATUS
184 ,p_event_key => p_change_id
185 ,p_parameters => l_param_list
186 );
187 l_param_list.DELETE;
188
189 EXCEPTION
190 --Added for bug 10128347
191 WHEN OTHERS THEN
192 ERROR_HANDLER.Add_Error_Message(
193 p_message_name => 'EGO_EVENT_SUBSCR'
194 ,p_application_id => 'EGO'
195 ,p_message_type => FND_API.G_RET_STS_ERROR
196 ,p_addto_fnd_stack => 'Y');
197 raise EGO_USER_ATTRS_COMMON_PVT.G_SUBSCRIPTION_EXC;
198 End;
199 EXCEPTION
200 WHEN EGO_USER_ATTRS_COMMON_PVT.G_SUBSCRIPTION_EXC then --Added for bug 10128347
201 raise EGO_USER_ATTRS_COMMON_PVT.G_SUBSCRIPTION_EXC;
202 WHEN OTHERS THEN
203 NULL;
204 END Raise_Appr_Status_Change_Event;
205
206
207
208 PROCEDURE Raise_Post_Comment_Event
209 ( p_change_id IN NUMBER
210 ,p_action_type IN VARCHAR2
211 ,p_action_id IN NUMBER
212 )
213 IS
214 l_param_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
215 l_base_cm_code VARCHAR2(30) ;
216
217 BEGIN
218
219 l_base_cm_code := GetBaseChangeMgmtTypeCode (p_change_id) ;
220
221 IF ENG_DOCUMENT_UTIL.G_DOM_DOCUMENT_LIFECYCLE = l_base_cm_code
222 THEN
223 RETURN ;
224 END IF ;
225
226
227 -- Adding event parameters to the list
228 WF_EVENT.AddParameterToList
229 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_CHANGE_ID
230 ,p_value => to_char(p_change_id)
231 ,p_parameterList => l_param_list
232 );
233
234 WF_EVENT.AddParameterToList
235 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_BASE_CM_TYPE_CODE
236 ,p_value => l_base_cm_code
237 ,p_parameterList => l_param_list
238 );
239
240
241 WF_EVENT.AddParameterToList
242 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_ACT_TYPE_CODE
243 ,p_value => p_action_type
244 ,p_parameterList => l_param_list
245 );
246
247 WF_EVENT.AddParameterToList
248 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_ACTION_ID
249 ,p_value => to_char(p_action_id)
250 ,p_parameterList => l_param_list
251 );
252
253 -- Raise event
254 WF_EVENT.RAISE
255 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_POST_COMMENT
256 ,p_event_key => p_change_id
257 ,p_parameters => l_param_list
258 );
259
260 l_param_list.DELETE;
261
262 EXCEPTION
263 WHEN OTHERS THEN
264 NULL;
265
266 END Raise_Post_Comment_Event ;
267
268
269 PROCEDURE Raise_Create_Change_Event
270 ( p_change_id IN NUMBER
271 )
272 IS
273
274 l_param_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
275 l_base_cm_code VARCHAR2(30) ;
276
277 BEGIN
278
279 l_base_cm_code := GetBaseChangeMgmtTypeCode (p_change_id) ;
280
281 IF ENG_DOCUMENT_UTIL.G_DOM_DOCUMENT_LIFECYCLE = l_base_cm_code
282 THEN
283 RETURN ;
284 END IF ;
285
286
287 -- Adding event parameters to the list
288 WF_EVENT.AddParameterToList
289 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_CHANGE_ID
290 ,p_value => to_char(p_change_id)
291 ,p_parameterList => l_param_list
292 );
293
294 WF_EVENT.AddParameterToList
295 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_BASE_CM_TYPE_CODE
296 ,p_value => l_base_cm_code
297 ,p_parameterList => l_param_list
298 );
299
300 -- Raise event
301 WF_EVENT.RAISE
302 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_CREATE
303 ,p_event_key => p_change_id
304 ,p_parameters => l_param_list
305 );
306
307 l_param_list.DELETE;
308
309 EXCEPTION
310 WHEN OTHERS THEN
311 NULL;
312
313 END Raise_Create_Change_Event ;
314
315
316 PROCEDURE Raise_Update_Change_Event
317 ( p_change_id IN NUMBER
318 )
319 IS
320
321 l_param_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
322 l_base_cm_code VARCHAR2(30) ;
323
324 BEGIN
325
326 l_base_cm_code := GetBaseChangeMgmtTypeCode (p_change_id) ;
327
328 IF ENG_DOCUMENT_UTIL.G_DOM_DOCUMENT_LIFECYCLE = l_base_cm_code
329 THEN
330 RETURN ;
331 END IF ;
332
333 -- Adding event parameters to the list
334 WF_EVENT.AddParameterToList
335 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_CHANGE_ID
336 ,p_value => to_char(p_change_id)
337 ,p_parameterList => l_param_list
338 );
339
340 WF_EVENT.AddParameterToList
341 ( p_name => ENG_CHANGE_BES_UTIL.G_BES_PARAM_BASE_CM_TYPE_CODE
342 ,p_value => l_base_cm_code
343 ,p_parameterList => l_param_list
344 );
345
346 -- Raise event
347 WF_EVENT.RAISE
348 ( p_event_name => ENG_CHANGE_BES_UTIL.G_CMBE_HEADER_UPDATE
349 ,p_event_key => p_change_id
350 ,p_parameters => l_param_list
351 );
352
353 l_param_list.DELETE;
354
355 EXCEPTION
356 WHEN OTHERS THEN
357 NULL;
358
359 END Raise_Update_Change_Event ;
360
361
362 END ENG_CHANGE_BES_UTIL;
363