DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTM_COUNTERS_VUHK

Source


1 PACKAGE BODY JTM_COUNTERS_VUHK AS
2 /* $Header: jtmhkcnb.pls 120.1 2005/08/24 02:10:26 saradhak noship $*/
3 
4 Cursor Get_hook_info(p_processing_type in varchar2, p_api_name in varchar2) is
5      Select HOOK_PACKAGE, HOOK_API , EXECUTE_FLAG, PRODUCT_CODE
6 	 from JTF_HOOKS_DATA
7 	 Where package_name = 'JTM_COUNTERS_PUB' and
8 	 upper(api_name) = upper(p_api_name) and
9 	 processing_type = p_processing_type and
10          execute_flag = 'Y' and
11 	 hook_type = 'V';
12 
13 
14 PROCEDURE CREATE_CTR_GRP_INSTANCE_POST(
15     P_Api_Version                IN   NUMBER,
16     P_Init_Msg_List              IN   VARCHAR2,
17     P_Commit                     IN   VARCHAR2,
18     X_Return_Status              OUT  NOCOPY VARCHAR2,
19     X_Msg_Count                  OUT  NOCOPY NUMBER,
20     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
21     p_source_object_cd           IN   VARCHAR2,
22     p_source_object_id           IN   NUMBER,
23     x_ctr_grp_id                 IN   NUMBER,
24     x_object_version_number      OUT  NOCOPY NUMBER
25   ) IS
26     l_enable_flag varchar2(20);
27     l_cursorid   INTEGER;
28     l_strBuffer   VARCHAR2(2000);
29     l_execute_status INTEGER;
30 BEGIN
31     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
32 
33    FOR Csr1 in Get_hook_info('A', 'CREATE_CTR_GRP_INSTANCE') LOOP
34 
35       /* user execute flag */
36       l_enable_flag := Csr1.EXECUTE_FLAG;
37 
38       /* use profile for checking */
39       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
40               (p_app_short_name => Csr1.PRODUCT_CODE);
41 
42       if (l_enable_flag = 'Y') then
43          l_cursorid := DBMS_SQL.open_cursor;
44          l_strBuffer :=
45             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
46             '(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10); ' ||
47             ' exception ' ||
48             '   when others then ' ||
49             '     null; ' ||
50             ' end; ';
51          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
52          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
53          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
54          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
55          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
56          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
57          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
58          DBMS_SQL.bind_variable (l_cursorid, ':7', p_source_object_cd);
59          DBMS_SQL.bind_variable (l_cursorid, ':8', p_source_object_id);
60          DBMS_SQL.bind_variable (l_cursorid, ':9', x_ctr_grp_id );
61          DBMS_SQL.bind_variable (l_cursorid, ':10', x_object_version_number);
62 
63          begin
64            l_execute_status := DBMS_SQL.execute (l_cursorid);
65          exception
66             when others then
67                /* to be integrate with message handler */
68                NULL;
69          end;
70          DBMS_SQL.close_cursor (l_cursorid);
71       end if;
72    END LOOP;
73 
74 EXCEPTION WHEN OTHERS THEN
75     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
76 END;
77 
78 
79 PROCEDURE CREATE_COUNTER_POST(
80     P_Api_Version                IN   NUMBER,
81     P_Init_Msg_List              IN   VARCHAR2,
82     P_Commit                     IN   VARCHAR2,
83     X_Return_Status              OUT  NOCOPY VARCHAR2,
84     X_Msg_Count                  OUT  NOCOPY NUMBER,
85     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
86     x_ctr_id                     IN   NUMBER,
87     x_object_version_number      OUT  NOCOPY NUMBER
88   ) IS
89     l_enable_flag varchar2(20);
90     l_cursorid   INTEGER;
91     l_strBuffer   VARCHAR2(2000);
92     l_execute_status INTEGER;
93 BEGIN
94     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
95 
96    FOR Csr1 in Get_hook_info('A', 'CREATE_COUNTER') LOOP
97 
98       /* user execute flag */
99       l_enable_flag := Csr1.EXECUTE_FLAG;
100 
101       /* use profile for checking */
102       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
103               (p_app_short_name => Csr1.PRODUCT_CODE);
104 
105       if (l_enable_flag = 'Y') then
106          l_cursorid := DBMS_SQL.open_cursor;
107          l_strBuffer :=
108             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
109             '(:1,:2,:3,:4,:5,:6,:7,:8); ' ||
110             ' exception ' ||
111             '   when others then ' ||
112             '     null; ' ||
113             ' end; ';
114          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
115          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
116          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
117          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
118          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
119          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
120          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
121          DBMS_SQL.bind_variable (l_cursorid, ':7', x_ctr_id );
122          DBMS_SQL.bind_variable (l_cursorid, ':8', x_object_version_number);
123 
124          begin
125            l_execute_status := DBMS_SQL.execute (l_cursorid);
126          exception
127             when others then
128                /* to be integrate with message handler */
129                NULL;
130          end;
131          DBMS_SQL.close_cursor (l_cursorid);
132       end if;
133    END LOOP;
134 
135 EXCEPTION WHEN OTHERS THEN
136     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
137 END;
138 
139 PROCEDURE CREATE_CTR_PROP_POST(
140     P_Api_Version                IN   NUMBER,
141     P_Init_Msg_List              IN   VARCHAR2,
142     P_Commit                     IN   VARCHAR2,
143     X_Return_Status              OUT  NOCOPY VARCHAR2,
144     X_Msg_Count                  OUT  NOCOPY NUMBER,
145     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
146     x_ctr_prop_id                IN   NUMBER,
147     x_object_version_number      OUT  NOCOPY NUMBER
148   ) IS
149     l_enable_flag varchar2(20);
150     l_cursorid   INTEGER;
151     l_strBuffer   VARCHAR2(2000);
152     l_execute_status INTEGER;
153 BEGIN
154     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
155 
156    FOR Csr1 in Get_hook_info('A', 'CREATE_CTR_PROP') LOOP
157 
158       /* user execute flag */
159       l_enable_flag := Csr1.EXECUTE_FLAG;
160 
161       /* use profile for checking */
162       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
163               (p_app_short_name => Csr1.PRODUCT_CODE);
164 
165       if (l_enable_flag = 'Y') then
166          l_cursorid := DBMS_SQL.open_cursor;
167          l_strBuffer :=
168             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
169             '(:1,:2,:3,:4,:5,:6,:7,:8); ' ||
170             ' exception ' ||
171             '   when others then ' ||
172             '     null; ' ||
173             ' end; ';
174          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
175          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
176          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
177          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
178          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
179          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
180          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
181          DBMS_SQL.bind_variable (l_cursorid, ':7', x_ctr_prop_id );
182          DBMS_SQL.bind_variable (l_cursorid, ':8', x_object_version_number);
183 
184          begin
185            l_execute_status := DBMS_SQL.execute (l_cursorid);
186          exception
187             when others then
188                /* to be integrate with message handler */
189                NULL;
190          end;
191          DBMS_SQL.close_cursor (l_cursorid);
192       end if;
193    END LOOP;
194 
195 EXCEPTION WHEN OTHERS THEN
196     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
197 END;
198 
199 PROCEDURE INSTANTIATE_COUNTERS_POST(
200     P_Api_Version                IN   NUMBER,
201     P_Init_Msg_List              IN   VARCHAR2,
202     P_Commit                     IN   VARCHAR2,
203     X_Return_Status              OUT  NOCOPY VARCHAR2,
204     X_Msg_Count                  OUT  NOCOPY NUMBER,
205     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
206     p_counter_group_id_template  IN   NUMBER,
207     p_source_object_code_instance IN  VARCHAR2,
208     p_source_object_id_instance   IN  NUMBER,
209     x_ctr_grp_id_template        IN  NUMBER,
210     x_ctr_grp_id_instance        IN  NUMBER
211   ) IS
212     l_enable_flag varchar2(20);
213     l_cursorid   INTEGER;
214     l_strBuffer   VARCHAR2(2000);
215     l_execute_status INTEGER;
216 BEGIN
217     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
218 
219    FOR Csr1 in Get_hook_info('A', 'INSTANTIATE_COUNTERS') LOOP
220 
221       /* user execute flag */
222       l_enable_flag := Csr1.EXECUTE_FLAG;
223 
224       /* use profile for checking */
225       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
226               (p_app_short_name => Csr1.PRODUCT_CODE);
227 
228       if (l_enable_flag = 'Y') then
229          l_cursorid := DBMS_SQL.open_cursor;
230          l_strBuffer :=
231             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
232             '(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11); ' ||
233             ' exception ' ||
234             '   when others then ' ||
235             '     null; ' ||
236             ' end; ';
237          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
238          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
239          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
240          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
241          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
242          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
243          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
244          DBMS_SQL.bind_variable (l_cursorid, ':7', p_counter_group_id_template );
245          DBMS_SQL.bind_variable (l_cursorid, ':8', p_source_object_code_instance);
246          DBMS_SQL.bind_variable (l_cursorid, ':9', p_source_object_id_instance);
247          DBMS_SQL.bind_variable (l_cursorid, ':10', x_ctr_grp_id_template);
248          DBMS_SQL.bind_variable (l_cursorid, ':11', x_ctr_grp_id_instance);
249 
250          begin
251            l_execute_status := DBMS_SQL.execute (l_cursorid);
252          exception
253             when others then
254                /* to be integrate with message handler */
255                NULL;
256          end;
257          DBMS_SQL.close_cursor (l_cursorid);
258       end if;
259    END LOOP;
260 
261 EXCEPTION WHEN OTHERS THEN
262     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
263 END;
264 
265 PROCEDURE UPDATE_CTR_GRP_PRE(
266     P_Api_Version                IN   NUMBER,
267     P_Init_Msg_List              IN   VARCHAR2,
268     P_Commit                     IN   VARCHAR2,
269     X_Return_Status              OUT  NOCOPY VARCHAR2,
270     X_Msg_Count                  OUT  NOCOPY NUMBER,
271     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
272     p_ctr_grp_id                 IN   NUMBER,
273     p_object_version_number      IN   NUMBER,
274     p_cascade_upd_to_instances   IN   VARCHAR2,
275     x_object_version_number      OUT  NOCOPY NUMBER
276   ) IS
277     l_enable_flag varchar2(20);
278     l_cursorid   INTEGER;
279     l_strBuffer   VARCHAR2(2000);
280     l_execute_status INTEGER;
281 BEGIN
282     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
283 
284    FOR Csr1 in Get_hook_info('B', 'UPDATE_CTR_GRP') LOOP
285 
286       /* user execute flag */
287       l_enable_flag := Csr1.EXECUTE_FLAG;
288 
289       /* use profile for checking */
290       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
291               (p_app_short_name => Csr1.PRODUCT_CODE);
292 
293       if (l_enable_flag = 'Y') then
294          l_cursorid := DBMS_SQL.open_cursor;
295          l_strBuffer :=
296             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
297             '(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10); ' ||
298             ' exception ' ||
299             '   when others then ' ||
300             '     null; ' ||
301             ' end; ';
302          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
303          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
304          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
305          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
306          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
307          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
308          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
309          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
310          DBMS_SQL.bind_variable (l_cursorid, ':7', p_ctr_grp_id );
311          DBMS_SQL.bind_variable (l_cursorid, ':8', p_object_version_number);
312          DBMS_SQL.bind_variable (l_cursorid, ':9', p_cascade_upd_to_instances);
313          DBMS_SQL.bind_variable (l_cursorid, ':10', x_object_version_number);
314 
315          begin
316            l_execute_status := DBMS_SQL.execute (l_cursorid);
317          exception
318             when others then
319                /* to be integrate with message handler */
320                null;
321          end;
322          DBMS_SQL.close_cursor (l_cursorid);
323       end if;
324    END LOOP;
325 
326 EXCEPTION WHEN OTHERS THEN
327     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
328 END;
329 
330 PROCEDURE UPDATE_CTR_GRP_POST(
331     P_Api_Version                IN   NUMBER,
332     P_Init_Msg_List              IN   VARCHAR2,
333     P_Commit                     IN   VARCHAR2,
334     X_Return_Status              OUT  NOCOPY VARCHAR2,
335     X_Msg_Count                  OUT  NOCOPY NUMBER,
336     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
337     p_ctr_grp_id                 IN   NUMBER,
338     p_object_version_number      IN   NUMBER,
339     p_cascade_upd_to_instances   IN   VARCHAR2,
340     x_object_version_number      OUT  NOCOPY NUMBER
341   ) IS
342     l_enable_flag varchar2(20);
343     l_cursorid   INTEGER;
344     l_strBuffer   VARCHAR2(2000);
345     l_execute_status INTEGER;
346 BEGIN
347     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
348 
349    FOR Csr1 in Get_hook_info('A', 'UPDATE_CTR_GRP') LOOP
350 
351       /* user execute flag */
352       l_enable_flag := Csr1.EXECUTE_FLAG;
353 
354       /* use profile for checking */
355       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
356               (p_app_short_name => Csr1.PRODUCT_CODE);
357 
358       if (l_enable_flag = 'Y') then
359          l_cursorid := DBMS_SQL.open_cursor;
360          l_strBuffer :=
361             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
362             '(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10); ' ||
363             ' exception ' ||
364             '   when others then ' ||
365             '     null; ' ||
366             ' end; ';
367          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
368          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
369          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
370          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
371          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
372          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
373          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
374          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
375          DBMS_SQL.bind_variable (l_cursorid, ':7', p_ctr_grp_id );
376          DBMS_SQL.bind_variable (l_cursorid, ':8', p_object_version_number);
377          DBMS_SQL.bind_variable (l_cursorid, ':9', p_cascade_upd_to_instances);
378          DBMS_SQL.bind_variable (l_cursorid, ':10', x_object_version_number);
379 
380          begin
384                /* to be integrate with message handler */
381            l_execute_status := DBMS_SQL.execute (l_cursorid);
382          exception
383             when others then
385                null;
386          end;
387          DBMS_SQL.close_cursor (l_cursorid);
388       end if;
389    END LOOP;
390 
391 EXCEPTION WHEN OTHERS THEN
392     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
393 END;
394 
395 PROCEDURE UPDATE_COUNTER_PRE(
396     P_Api_Version                IN   NUMBER,
397     P_Init_Msg_List              IN   VARCHAR2,
398     P_Commit                     IN   VARCHAR2,
399     X_Return_Status              OUT  NOCOPY VARCHAR2,
400     X_Msg_Count                  OUT  NOCOPY NUMBER,
401     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
402     p_ctr_id                     IN   NUMBER,
403     p_object_version_number      IN   NUMBER,
404     p_cascade_upd_to_instances   IN   VARCHAR2,
405     x_object_version_number      OUT  NOCOPY NUMBER
406   ) IS
407     l_enable_flag varchar2(20);
408     l_cursorid   INTEGER;
409     l_strBuffer   VARCHAR2(2000);
410     l_execute_status INTEGER;
411 BEGIN
412     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
413 
414    FOR Csr1 in Get_hook_info('B', 'UPDATE_COUNTER') LOOP
415 
416       /* user execute flag */
417       l_enable_flag := Csr1.EXECUTE_FLAG;
418 
419       /* use profile for checking */
420       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
421               (p_app_short_name => Csr1.PRODUCT_CODE);
422 
423       if (l_enable_flag = 'Y') then
424          l_cursorid := DBMS_SQL.open_cursor;
425          l_strBuffer :=
426             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
427             '(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10); ' ||
428             ' exception ' ||
429             '   when others then ' ||
430             '     null; ' ||
431             ' end; ';
432          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
433          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
434          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
435          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
436          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
437          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
438          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
439          DBMS_SQL.bind_variable (l_cursorid, ':7', p_ctr_id );
440          DBMS_SQL.bind_variable (l_cursorid, ':8', p_object_version_number);
441          DBMS_SQL.bind_variable (l_cursorid, ':9', p_cascade_upd_to_instances);
442          DBMS_SQL.bind_variable (l_cursorid, ':10', x_object_version_number);
443 
444          begin
445            l_execute_status := DBMS_SQL.execute (l_cursorid);
446          exception
447             when others then
448                /* to be integrate with message handler */
449                null;
450          end;
451          DBMS_SQL.close_cursor (l_cursorid);
452       end if;
453    END LOOP;
454 
455 EXCEPTION WHEN OTHERS THEN
456     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
457 END;
458 
459 PROCEDURE UPDATE_COUNTER_POST(
460     P_Api_Version                IN   NUMBER,
461     P_Init_Msg_List              IN   VARCHAR2,
462     P_Commit                     IN   VARCHAR2,
463     X_Return_Status              OUT  NOCOPY VARCHAR2,
464     X_Msg_Count                  OUT  NOCOPY NUMBER,
465     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
466     p_ctr_id                     IN   NUMBER,
467     p_object_version_number      IN   NUMBER,
468     p_cascade_upd_to_instances   IN   VARCHAR2,
469     x_object_version_number      OUT  NOCOPY NUMBER
470   ) IS
471     l_enable_flag varchar2(20);
472     l_cursorid   INTEGER;
473     l_strBuffer   VARCHAR2(2000);
474     l_execute_status INTEGER;
475 BEGIN
476     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
477 
478    FOR Csr1 in Get_hook_info('A', 'UPDATE_COUNTER') LOOP
479 
480       /* user execute flag */
481       l_enable_flag := Csr1.EXECUTE_FLAG;
482 
483       /* use profile for checking */
484       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
485               (p_app_short_name => Csr1.PRODUCT_CODE);
486 
487       if (l_enable_flag = 'Y') then
488          l_cursorid := DBMS_SQL.open_cursor;
489          l_strBuffer :=
490             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
491             '(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10); ' ||
492             ' exception ' ||
493             '   when others then ' ||
494             '     null; ' ||
495             ' end; ';
496          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
497          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
498          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
499          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
500          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
501          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
502          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
503          DBMS_SQL.bind_variable (l_cursorid, ':7', p_ctr_id );
504          DBMS_SQL.bind_variable (l_cursorid, ':8', p_object_version_number);
505          DBMS_SQL.bind_variable (l_cursorid, ':9', p_cascade_upd_to_instances);
506          DBMS_SQL.bind_variable (l_cursorid, ':10', x_object_version_number);
507 
508          begin
509            l_execute_status := DBMS_SQL.execute (l_cursorid);
510          exception
511             when others then
512                /* to be integrate with message handler */
513                null;
514          end;
515          DBMS_SQL.close_cursor (l_cursorid);
516       end if;
517    END LOOP;
518 
519 EXCEPTION WHEN OTHERS THEN
520     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
521 END;
522 
523 PROCEDURE UPDATE_CTR_PROP_PRE(
524     P_Api_Version                IN   NUMBER,
525     P_Init_Msg_List              IN   VARCHAR2,
526     P_Commit                     IN   VARCHAR2,
527     X_Return_Status              OUT  NOCOPY VARCHAR2,
528     X_Msg_Count                  OUT  NOCOPY NUMBER,
529     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
530     p_ctr_prop_id                IN   NUMBER,
531     p_object_version_number      IN   NUMBER,
532     p_cascade_upd_to_instances   IN   VARCHAR2,
533     x_object_version_number      OUT  NOCOPY NUMBER
534   ) IS
535     l_enable_flag varchar2(20);
536     l_cursorid   INTEGER;
537     l_strBuffer   VARCHAR2(2000);
538     l_execute_status INTEGER;
539 BEGIN
540     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
541 
542    FOR Csr1 in Get_hook_info('B', 'UPDATE_CTR_PROP') LOOP
543 
544       /* user execute flag */
545       l_enable_flag := Csr1.EXECUTE_FLAG;
546 
547       /* use profile for checking */
548       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
549               (p_app_short_name => Csr1.PRODUCT_CODE);
550 
551       if (l_enable_flag = 'Y') then
552          l_cursorid := DBMS_SQL.open_cursor;
553          l_strBuffer :=
554             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
555             '(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10); ' ||
556             ' exception ' ||
557             '   when others then ' ||
558             '     null; ' ||
559             ' end; ';
560          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
561          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
562          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
563          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
564          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
565          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
566          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
567          DBMS_SQL.bind_variable (l_cursorid, ':7', p_ctr_prop_id );
568          DBMS_SQL.bind_variable (l_cursorid, ':8', p_object_version_number);
569          DBMS_SQL.bind_variable (l_cursorid, ':9', p_cascade_upd_to_instances);
570          DBMS_SQL.bind_variable (l_cursorid, ':10', x_object_version_number);
571 
572          begin
573            l_execute_status := DBMS_SQL.execute (l_cursorid);
574          exception
575             when others then
576                /* to be integrate with message handler */
577                NULL;
578          end;
579          DBMS_SQL.close_cursor (l_cursorid);
580       end if;
581    END LOOP;
582 
583 EXCEPTION WHEN OTHERS THEN
584     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
585 END;
586 
587 PROCEDURE UPDATE_CTR_PROP_POST(
588     P_Api_Version                IN   NUMBER,
589     P_Init_Msg_List              IN   VARCHAR2,
590     P_Commit                     IN   VARCHAR2,
591     X_Return_Status              OUT  NOCOPY VARCHAR2,
592     X_Msg_Count                  OUT  NOCOPY NUMBER,
593     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
594     p_ctr_prop_id                IN   NUMBER,
595     p_object_version_number      IN   NUMBER,
596     p_cascade_upd_to_instances   IN   VARCHAR2,
597     x_object_version_number      OUT  NOCOPY NUMBER
598   ) IS
599     l_enable_flag varchar2(20);
600     l_cursorid   INTEGER;
601     l_strBuffer   VARCHAR2(2000);
602     l_execute_status INTEGER;
603 BEGIN
604     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
605 
606    FOR Csr1 in Get_hook_info('A', 'UPDATE_CTR_PROP') LOOP
607 
608       /* user execute flag */
609       l_enable_flag := Csr1.EXECUTE_FLAG;
610 
611       /* use profile for checking */
612       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
613               (p_app_short_name => Csr1.PRODUCT_CODE);
614 
615       if (l_enable_flag = 'Y') then
616          l_cursorid := DBMS_SQL.open_cursor;
617          l_strBuffer :=
618             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
619             '(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10); ' ||
620             ' exception ' ||
621             '   when others then ' ||
622             '     null; ' ||
623             ' end; ';
624          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
625          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
626          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
627          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
628          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
629          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
630          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
631          DBMS_SQL.bind_variable (l_cursorid, ':7', p_ctr_prop_id );
635 
632          DBMS_SQL.bind_variable (l_cursorid, ':8', p_object_version_number);
633          DBMS_SQL.bind_variable (l_cursorid, ':9', p_cascade_upd_to_instances);
634          DBMS_SQL.bind_variable (l_cursorid, ':10', x_object_version_number);
636          begin
637            l_execute_status := DBMS_SQL.execute (l_cursorid);
638          exception
639             when others then
640                /* to be integrate with message handler */
641                NULL;
642          end;
643          DBMS_SQL.close_cursor (l_cursorid);
644       end if;
645    END LOOP;
646 
647 EXCEPTION WHEN OTHERS THEN
648     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
649 END;
650 
651 PROCEDURE DELETE_COUNTER_PRE(
652     P_Api_Version                IN   NUMBER,
653     P_Init_Msg_List              IN   VARCHAR2,
654     P_Commit                     IN   VARCHAR2,
655     X_Return_Status              OUT  NOCOPY VARCHAR2,
656     X_Msg_Count                  OUT  NOCOPY NUMBER,
657     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
658     p_ctr_id			 IN   NUMBER
659   ) IS
660     l_enable_flag varchar2(20);
661     l_cursorid   INTEGER;
662     l_strBuffer   VARCHAR2(2000);
663     l_execute_status INTEGER;
664 BEGIN
665     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
666 
667    FOR Csr1 in Get_hook_info('B', 'DELETE_COUNTER') LOOP
668 
669       /* user execute flag */
670       l_enable_flag := Csr1.EXECUTE_FLAG;
671 
672       /* use profile for checking */
673       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
674               (p_app_short_name => Csr1.PRODUCT_CODE);
675 
676       if (l_enable_flag = 'Y') then
677          l_cursorid := DBMS_SQL.open_cursor;
678          l_strBuffer :=
679             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
680             '(:1,:2,:3,:4,:5,:6,:7); ' ||
681             ' exception ' ||
682             '   when others then ' ||
683             '     null; ' ||
684             ' end; ';
685          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
686          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
687          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
688          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
689          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
690          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
691          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
692          DBMS_SQL.bind_variable (l_cursorid, ':7', p_ctr_id );
693 
694          begin
695            l_execute_status := DBMS_SQL.execute (l_cursorid);
696          exception
697             when others then
698                /* to be integrate with message handler */
699                NULL;
700          end;
701          DBMS_SQL.close_cursor (l_cursorid);
702       end if;
703    END LOOP;
704 
705 EXCEPTION WHEN OTHERS THEN
706     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
707 END;
708 
709 PROCEDURE DELETE_CTR_PROP_PRE(
710     P_Api_Version                IN   NUMBER,
711     P_Init_Msg_List              IN   VARCHAR2,
712     P_Commit                     IN   VARCHAR2,
713     X_Return_Status              OUT  NOCOPY VARCHAR2,
714     X_Msg_Count                  OUT  NOCOPY NUMBER,
715     X_Msg_Data                   OUT  NOCOPY VARCHAR2,
716     p_ctr_prop_id		 IN   NUMBER
717   ) IS
718     l_enable_flag varchar2(20);
719     l_cursorid   INTEGER;
720     l_strBuffer   VARCHAR2(2000);
721     l_execute_status INTEGER;
722 BEGIN
723     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
724 
725    FOR Csr1 in Get_hook_info('B', 'DELETE_CTR_PROP') LOOP
726 
727       /* user execute flag */
728       l_enable_flag := Csr1.EXECUTE_FLAG;
729 
730       /* use profile for checking */
731       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
732               (p_app_short_name => Csr1.PRODUCT_CODE);
733 
734       if (l_enable_flag = 'Y') then
735          l_cursorid := DBMS_SQL.open_cursor;
736          l_strBuffer :=
737             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
738             '(:1,:2,:3,:4,:5,:6,:7); ' ||
739             ' exception ' ||
740             '   when others then ' ||
741             '     null; ' ||
742             ' end; ';
743          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
744          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
745          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
746          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
747          DBMS_SQL.bind_variable (l_cursorid, ':4', X_Return_Status);
748          DBMS_SQL.bind_variable (l_cursorid, ':5', X_Msg_Count);
749          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Msg_Data);
750          DBMS_SQL.bind_variable (l_cursorid, ':7', p_ctr_prop_id );
751 
752          begin
753            l_execute_status := DBMS_SQL.execute (l_cursorid);
754          exception
755             when others then
756                /* to be integrate with message handler */
757                NULL;
758          end;
759          DBMS_SQL.close_cursor (l_cursorid);
760       end if;
761    END LOOP;
762 
763 EXCEPTION WHEN OTHERS THEN
764     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
768     p_api_version                IN   NUMBER,
765 END;
766 
767 PROCEDURE DELETE_COUNTER_INSTANCE_PRE (
769     P_Init_Msg_List              IN   VARCHAR2,
770     P_Commit                     IN   VARCHAR2,
771     p_SOURCE_OBJECT_ID           IN   NUMBER,
772     p_SOURCE_OBJECT_CODE         IN   VARCHAR2,
773     x_Return_status              OUT  NOCOPY VARCHAR2,
774     x_Msg_Count                  OUT  NOCOPY NUMBER,
775     x_Msg_Data                   OUT  NOCOPY VARCHAR2
776   ) IS
777     l_enable_flag varchar2(20);
778     l_cursorid   INTEGER;
779     l_strBuffer   VARCHAR2(2000);
780     l_execute_status INTEGER;
781 BEGIN
782     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
783 
784    FOR Csr1 in Get_hook_info('B', 'DELETE_COUNTER_INSTANCE') LOOP
785 
786       /* user execute flag */
787       l_enable_flag := Csr1.EXECUTE_FLAG;
788 
789       /* use profile for checking */
790       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
791               (p_app_short_name => Csr1.PRODUCT_CODE);
792 
793       if (l_enable_flag = 'Y') then
794          l_cursorid := DBMS_SQL.open_cursor;
795          l_strBuffer :=
796             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
797             '(:1,:2,:3,:4,:5,:6,:7,:8); ' ||
798             ' exception ' ||
799             '   when others then ' ||
800             '     null; ' ||
801             ' end; ';
802          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
803          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
804          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
805          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
806          DBMS_SQL.bind_variable (l_cursorid, ':4', p_SOURCE_OBJECT_ID );
807          DBMS_SQL.bind_variable (l_cursorid, ':5', p_SOURCE_OBJECT_CODE );
808          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Return_Status);
809          DBMS_SQL.bind_variable (l_cursorid, ':7', X_Msg_Count);
810          DBMS_SQL.bind_variable (l_cursorid, ':8', X_Msg_Data);
811 
812          begin
813            l_execute_status := DBMS_SQL.execute (l_cursorid);
814          exception
815             when others then
816                /* to be integrate with message handler */
817                NULL;
818          end;
819          DBMS_SQL.close_cursor (l_cursorid);
820       end if;
821    END LOOP;
822 
823 EXCEPTION WHEN OTHERS THEN
824     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
825 END;
826 
827 
828 End JTM_COUNTERS_VUHK;