DBA Data[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