DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTM_ITEM_INSTANCE_VUHK

Source


1 PACKAGE BODY JTM_ITEM_INSTANCE_VUHK AS
2 /* $Header: jtmhkinb.pls 120.1 2005/08/24 02:12:47 saradhak noship $*/
3 Cursor Get_hook_info(p_processing_type in varchar2, p_api_name in varchar2) is
4      Select HOOK_PACKAGE, HOOK_API , EXECUTE_FLAG, PRODUCT_CODE
5 	 from JTF_HOOKS_DATA
6 	 Where package_name = 'JTM_ITEM_INSTANCE_PUB' and
7 	 upper(api_name) = upper(p_api_name) and
8 	 processing_type = p_processing_type and
9          execute_flag = 'Y' and
10 	 hook_type = 'V';
11 
12 
13 PROCEDURE create_item_instance_post
14  (
15      p_api_version           IN     NUMBER
16     ,p_commit                IN     VARCHAR2
17     ,p_init_msg_list         IN     VARCHAR2
18     ,p_validation_level      IN     NUMBER
19     ,p_instance_id           IN     NUMBER
20     ,x_return_status         OUT NOCOPY   VARCHAR2
21     ,x_msg_count             OUT NOCOPY   NUMBER
22     ,x_msg_data              OUT NOCOPY   VARCHAR2
23   ) IS
24     l_enable_flag varchar2(20);
25     l_cursorid   INTEGER;
26     l_strBuffer   VARCHAR2(2000);
27     l_execute_status INTEGER;
28 BEGIN
29     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
30 
31    FOR Csr1 in Get_hook_info('A', 'CREATE_ITEM_INSTANCE') LOOP
32 
33       /* user execute flag */
34       l_enable_flag := Csr1.EXECUTE_FLAG;
35 
36       /* use profile for checking */
37       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
38               (p_app_short_name => Csr1.PRODUCT_CODE);
39 
40       if (l_enable_flag = 'Y') then
41          l_cursorid := DBMS_SQL.open_cursor;
42          l_strBuffer :=
43             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
44             '(:1,:2,:3,:4,:5,:6,:7,:8); ' ||
45             ' exception ' ||
46             '   when others then ' ||
47             '     null; ' ||
48             ' end; ';
49          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
50          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
51          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
52          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
53          DBMS_SQL.bind_variable (l_cursorid, ':4', p_validation_level);
54          DBMS_SQL.bind_variable (l_cursorid, ':5', p_instance_id);
55          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Return_Status);
56          DBMS_SQL.bind_variable (l_cursorid, ':7', X_Msg_Count);
57          DBMS_SQL.bind_variable (l_cursorid, ':8', X_Msg_Data);
58 
59          begin
60            l_execute_status := DBMS_SQL.execute (l_cursorid);
61          exception
62             when others then
63                null;
64          end;
65          DBMS_SQL.close_cursor (l_cursorid);
66       end if;
67    END LOOP;
68 
69 EXCEPTION WHEN OTHERS THEN
70     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
71 END CREATE_ITEM_INSTANCE_POST;
72 
73 
74 PROCEDURE update_item_instance_pre
75  (
76      p_api_version           IN     NUMBER
77     ,p_commit                IN     VARCHAR2
78     ,p_init_msg_list         IN     VARCHAR2
79     ,p_validation_level      IN     NUMBER
80     ,p_instance_id           IN     NUMBER
81     ,x_return_status         OUT NOCOPY  VARCHAR2
82     ,x_msg_count             OUT NOCOPY   NUMBER
83     ,x_msg_data              OUT NOCOPY   VARCHAR2
84   ) IS
85     l_enable_flag varchar2(20);
86     l_cursorid   INTEGER;
87     l_strBuffer   VARCHAR2(2000);
88     l_execute_status INTEGER;
89 BEGIN
90     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
91 
92    FOR Csr1 in Get_hook_info('B', 'UPDATE_ITEM_INSTANCE') LOOP
93 
94       /* user execute flag */
95       l_enable_flag := Csr1.EXECUTE_FLAG;
96 
97       /* use profile for checking */
98       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
99               (p_app_short_name => Csr1.PRODUCT_CODE);
100 
101       if (l_enable_flag = 'Y') then
102          l_cursorid := DBMS_SQL.open_cursor;
103          l_strBuffer :=
104             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
105             '(:1,:2,:3,:4,:5,:6,:7,:8); ' ||
106             ' exception ' ||
107             '   when others then ' ||
108             '     null; ' ||
109             ' end; ';
110          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
111          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
112          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
113          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
114          DBMS_SQL.bind_variable (l_cursorid, ':4', p_validation_level);
115          DBMS_SQL.bind_variable (l_cursorid, ':5', p_instance_id);
116          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Return_Status);
117          DBMS_SQL.bind_variable (l_cursorid, ':7', X_Msg_Count);
118          DBMS_SQL.bind_variable (l_cursorid, ':8', X_Msg_Data);
119 
120          begin
121            l_execute_status := DBMS_SQL.execute (l_cursorid);
122          exception
123             when others then
124                null;
125          end;
126          DBMS_SQL.close_cursor (l_cursorid);
127       end if;
128    END LOOP;
129 
130 EXCEPTION WHEN OTHERS THEN
131     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
132 END UPDATE_ITEM_INSTANCE_PRE;
133 
134 PROCEDURE update_item_instance_post
135  (
136      p_api_version           IN     NUMBER
137     ,p_commit                IN     VARCHAR2
138     ,p_init_msg_list         IN     VARCHAR2
139     ,p_validation_level      IN     NUMBER
140     ,p_instance_id           IN     NUMBER
141     ,x_return_status         OUT NOCOPY   VARCHAR2
142     ,x_msg_count             OUT NOCOPY   NUMBER
143     ,x_msg_data              OUT NOCOPY   VARCHAR2
144   ) IS
145     l_enable_flag varchar2(20);
146     l_cursorid   INTEGER;
147     l_strBuffer   VARCHAR2(2000);
148     l_execute_status INTEGER;
149 BEGIN
150     X_Return_Status := FND_API.G_RET_STS_SUCCESS;
151 
152    FOR Csr1 in Get_hook_info('A', 'UPDATE_ITEM_INSTANCE') LOOP
153 
154       /* user execute flag */
155       l_enable_flag := Csr1.EXECUTE_FLAG;
156 
157       /* use profile for checking */
158       l_enable_flag := JTM_PROFILE_UTL_PKG.Get_enable_flag_at_resp
159               (p_app_short_name => Csr1.PRODUCT_CODE);
160 
161       if (l_enable_flag = 'Y') then
162          l_cursorid := DBMS_SQL.open_cursor;
163          l_strBuffer :=
164             ' begin ' || Csr1.HOOK_PACKAGE || '.' || Csr1.HOOK_API ||
165             '(:1,:2,:3,:4,:5,:6,:7,:8); ' ||
166             ' exception ' ||
167             '   when others then ' ||
168             '     null; ' ||
169             ' end; ';
170          DBMS_SQL.parse (l_cursorid, l_strBuffer, DBMS_SQL.v7);
171          DBMS_SQL.bind_variable (l_cursorid, ':1', p_api_version);
172          DBMS_SQL.bind_variable (l_cursorid, ':2', P_Init_Msg_List);
173          DBMS_SQL.bind_variable (l_cursorid, ':3', P_Commit);
174          DBMS_SQL.bind_variable (l_cursorid, ':4', p_validation_level);
175          DBMS_SQL.bind_variable (l_cursorid, ':5', p_instance_id);
176          DBMS_SQL.bind_variable (l_cursorid, ':6', X_Return_Status);
177          DBMS_SQL.bind_variable (l_cursorid, ':7', X_Msg_Count);
178          DBMS_SQL.bind_variable (l_cursorid, ':8', X_Msg_Data);
179 
180          begin
181            l_execute_status := DBMS_SQL.execute (l_cursorid);
182          exception
183             when others then
184                null;
185          end;
186          DBMS_SQL.close_cursor (l_cursorid);
187       end if;
188    END LOOP;
189 
190 EXCEPTION WHEN OTHERS THEN
191     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
192 END UPDATE_ITEM_INSTANCE_POST;
193 
194 
195 end JTM_ITEM_INSTANCE_VUHK;