DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_CI_IMPACT_TYPE_USAGE_PUB

Source


1 PACKAGE BODY PA_CI_IMPACT_TYPE_USAGE_PUB AS
2 /* $Header: PACIIMPB.pls 120.1 2009/03/24 17:36:09 cklee ship $ */
3 
4 PROCEDURE create_ci_impact_type_usage (
5   p_api_version			IN NUMBER :=  1.0,
6   p_init_msg_list		IN VARCHAR2 := 'T',
7   p_commit			IN VARCHAR2 := 'F',
8   p_validate_only		IN VARCHAR2 := 'T',
9   p_max_msg_count		IN NUMBER := null,
10 
11   p_impact_type_code IN VARCHAR2  := null,
12   p_ci_type_class_code IN VARCHAR2  := null,
13   p_CI_TYPE_ID in NUMBER := null,
14 
15   p_created_by			IN NUMBER DEFAULT fnd_global.user_id,
16   p_creation_date		IN DATE DEFAULT SYSDATE,
17   p_last_update_login		IN NUMBER DEFAULT fnd_global.login_id,
18 --start:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
19   P_IMPACT_TYPE_CODE_ORDER IN NUMBER  default null,
20 --end:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
21 
22   x_ci_impact_type_usage_id		OUT NOCOPY NUMBER,
23   x_return_status		OUT NOCOPY VARCHAR2,
24   x_msg_count			OUT NOCOPY NUMBER,
25   x_msg_data			OUT NOCOPY VARCHAR2
26 )
27 IS
28 
29    l_msg_index_out        NUMBER;
30 
31 BEGIN
32   pa_debug.set_err_stack ('PA_CI_IMPACT_TYPE_USAGE_PUB.CREATE_CI_IMPACT_TYPE_USAGE');
33 
34   IF p_commit = 'T' THEN
35     SAVEPOINT create_ci_impact_type_usage;
36   END IF;
37 
38   IF p_init_msg_list = 'T' THEN
39     fnd_msg_pub.initialize;
40   END IF;
41 
42   x_return_status := 'S';
43   x_msg_count := 0;
44   x_msg_data := '';
45 
46   IF (p_validate_only <> 'T' AND x_return_status = 'S') THEN
47     PA_CI_IMPACT_TYPE_USAGE_pvt.create_ci_impact_type_usage(
48      p_api_version             => p_api_version,
49      p_init_msg_list           => p_init_msg_list,
50      p_commit                  => p_commit,
51      p_validate_only           => p_validate_only,
52      p_max_msg_count           => p_max_msg_count,
53 
54       p_impact_type_code => p_impact_type_code,
55       p_ci_type_class_code => p_ci_type_class_code,
56       p_ci_type_id => p_ci_type_id,
57 --start:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
58   P_IMPACT_TYPE_CODE_ORDER => P_IMPACT_TYPE_CODE_ORDER,
59 --end:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
60       x_ci_impact_type_usage_id => x_ci_impact_type_usage_id,
61 
62       x_return_status           => x_return_status,
63       x_msg_count               => x_msg_count,
64       x_msg_data                => x_msg_data
65 							    );
66   END IF;
67 
68 
69   x_msg_count :=  FND_MSG_PUB.Count_Msg;
70   IF x_msg_count = 1 THEN
71     pa_interface_utils_pub.get_messages ( p_encoded       => 'T'
72                                          ,p_msg_index     => 1
73                                          ,p_data          => x_msg_data
74                                          ,p_msg_index_out => l_msg_index_out
75                                         );
76   END IF;
77 
78   -- Reset the error stack when returning to the calling program
79   PA_DEBUG.Reset_Err_Stack;
80 
81 
82 
83 EXCEPTION
84   WHEN OTHERS THEN
85     IF p_commit = 'T' THEN
86       ROLLBACK TO create_ci_impact_type_usage;
87     END IF;
88 
89     x_return_status := 'U';
90     fnd_msg_pub.add_exc_msg(p_pkg_name       => 'PA_CI_IMPACT_TYPE_USAGE_PUB',
91                             p_procedure_name => 'CREATE_CI_IMPACT_TYPE_USAGE',
92                             p_error_text     => SUBSTRB(SQLERRM,1,240));
93 
94     fnd_msg_pub.count_and_get(p_count => x_msg_count,
95                               p_data  => x_msg_data);
96 END create_ci_impact_type_usage;
97 
98 --start:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
99 
100 PROCEDURE update_ci_impact_type_usage (
101   p_api_version			IN NUMBER :=  1.0,
102   p_init_msg_list		IN VARCHAR2 := 'T',
103   p_commit			IN VARCHAR2 := 'F',
104   p_validate_only		IN VARCHAR2 := 'T',
105   p_max_msg_count		IN NUMBER := null,
106 
107   p_ci_impact_type_usage_id	IN NUMBER,
108   P_IMPACT_TYPE_CODE_ORDER IN NUMBER,
109 
110   x_return_status		OUT NOCOPY VARCHAR2,
111   x_msg_count			OUT NOCOPY NUMBER,
112   x_msg_data			OUT NOCOPY VARCHAR2
113 )
114 IS
115    l_msg_index_out        NUMBER;
116 
117 BEGIN
118   pa_debug.set_err_stack ('PA_CI_IMPACT_TYPE_USAGE_PUB.UPDATE_CI_IMPACT_TYPE_USAGE');
119 
120   IF p_commit = 'T' THEN
121     SAVEPOINT update_ci_impact_type_usage;
122   END IF;
123 
124   IF p_init_msg_list = 'T' THEN
125     fnd_msg_pub.initialize;
126   END IF;
127 
128   x_return_status := 'S';
129   x_msg_count := 0;
130   x_msg_data := '';
131 
132   IF (p_validate_only <> 'T' AND x_return_status = 'S') THEN
133     PA_CI_IMPACT_TYPE_USAGE_pvt.update_ci_impact_type_usage(
134      p_api_version             => p_api_version,
135      p_init_msg_list           => p_init_msg_list,
136      p_commit                  => p_commit,
137      p_validate_only           => p_validate_only,
138      p_max_msg_count           => p_max_msg_count,
139 
140      P_IMPACT_TYPE_CODE_ORDER => P_IMPACT_TYPE_CODE_ORDER,
141      p_ci_impact_type_usage_id => p_ci_impact_type_usage_id,
142 
143       x_return_status           => x_return_status,
144       x_msg_count               => x_msg_count,
145       x_msg_data                => x_msg_data
146 							    );
147   END IF;
148 
149 
150   x_msg_count :=  FND_MSG_PUB.Count_Msg;
151   IF x_msg_count = 1 THEN
152     pa_interface_utils_pub.get_messages ( p_encoded       => 'T'
153                                          ,p_msg_index     => 1
154                                          ,p_data          => x_msg_data
155                                          ,p_msg_index_out => l_msg_index_out
156                                         );
157   END IF;
158 
159   -- Reset the error stack when returning to the calling program
160   PA_DEBUG.Reset_Err_Stack;
161 
162 
163 
164 EXCEPTION
165   WHEN OTHERS THEN
166     IF p_commit = 'T' THEN
167       ROLLBACK TO create_ci_impact_type_usage;
168     END IF;
169 
170     x_return_status := 'U';
171     fnd_msg_pub.add_exc_msg(p_pkg_name       => 'PA_CI_IMPACT_TYPE_USAGE_PUB',
172                             p_procedure_name => 'UPDATE_CI_IMPACT_TYPE_USAGE',
173                             p_error_text     => SUBSTRB(SQLERRM,1,240));
174 
175     fnd_msg_pub.count_and_get(p_count => x_msg_count,
176                               p_data  => x_msg_data);
177 END update_ci_impact_type_usage;
178 
179 --end:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
180 
181 
182 PROCEDURE delete_ci_impact_type_usage (
183   p_api_version			IN NUMBER :=  1.0,
184   p_init_msg_list		IN VARCHAR2 := 'T',
185   p_commit			IN VARCHAR2 := 'F',
186   p_validate_only		IN VARCHAR2 := 'T',
187   p_max_msg_count		IN NUMBER := null,
188 
189   p_ci_impact_type_usage_id	IN NUMBER := null,
190   p_impact_type_code            IN VARCHAR2 := null,
191   p_ci_type_class_code          IN VARCHAR2 := null,
192   p_ci_type_id                  IN NUMBER := null,
193 --start:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
194   P_IMPACT_TYPE_CODE_ORDER IN NUMBER  default null,
195 --end:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
196  x_return_status		OUT NOCOPY VARCHAR2,
197   x_msg_count			OUT NOCOPY NUMBER,
198   x_msg_data			OUT NOCOPY VARCHAR2
199 )
200   IS
201      l_msg_index_out        NUMBER;
202      l_temp VARCHAR2(1);
203 BEGIN
204   pa_debug.set_err_stack ('PA_CI_IMPACT_TYPE_USAGE_PUB.DELETE_CI_IMPACT_TYPE_USAGE');
205 
206   IF p_commit = 'T' THEN
207     SAVEPOINT delete_ci_impact_type_usage;
208   END IF;
209 
210   IF p_init_msg_list = 'T' THEN
211     fnd_msg_pub.initialize;
212   END IF;
213 
214   x_return_status := 'S';
215   x_msg_count := 0;
216   x_msg_data := '';
217 
218   -- Trying to lock the record
219   PA_CI_IMPACT_TYPE_USAGE_pvt.delete_ci_impact_type_usage (
220      p_api_version             => p_api_version,
221      p_init_msg_list           => p_init_msg_list,
222      p_commit                  => p_commit,
223      p_validate_only           => p_validate_only,
224      p_max_msg_count           => p_max_msg_count,
225 
226      p_ci_impact_type_usage_id => p_ci_impact_type_usage_id,
227      p_impact_type_code => p_impact_type_code,
228      p_ci_type_class_code => p_ci_type_class_code,
229      p_ci_type_id => p_ci_type_id,
230   --start:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
231   P_IMPACT_TYPE_CODE_ORDER => P_IMPACT_TYPE_CODE_ORDER,
232 --end:|   16-FEB-2009  cklee  R12.1.2 setup ehancement
233    x_return_status           => x_return_status,
234      x_msg_count               => x_msg_count,
235      x_msg_data                => x_msg_data
236 
237 					  );
238   x_msg_count :=  FND_MSG_PUB.Count_Msg;
239   IF x_msg_count = 1 THEN
240     pa_interface_utils_pub.get_messages ( p_encoded       => 'T'
241                                          ,p_msg_index     => 1
242                                          ,p_data          => x_msg_data
243                                          ,p_msg_index_out => l_msg_index_out
244                                         );
245   END IF;
246 
247 
248   -- Reset the error stack when returning to the calling program
249   PA_DEBUG.Reset_Err_Stack;
250 
251 
252 EXCEPTION
253   WHEN OTHERS THEN
254     IF p_commit = 'T' THEN
255       ROLLBACK TO delete_ci_impact_type_usage;
256     END IF;
257 
258     x_return_status := 'U';
259     fnd_msg_pub.add_exc_msg(p_pkg_name       => 'PA_CI_IMPACT_TYPES_PUB',
260                             p_procedure_name => 'DELETE_CI_IMPACT_TYPE_USAGE',
261                             p_error_text     => SUBSTRB(SQLERRM,1,240));
262 
263     fnd_msg_pub.count_and_get(p_count => x_msg_count,
264                               p_data  => x_msg_data);
265 END delete_ci_impact_type_usage;
266 
267 
268 FUNCTION delete_impact_type_usage_ok
269   (
270    p_impact_type_code            IN VARCHAR2 ,
271    p_ci_type_id                  IN NUMBER
272    ) RETURN varchar2
273   IS
274      l_dummy VARCHAR2(1);
275 
276 BEGIN
277 
278 
279    SELECT 'N'
280      INTO l_dummy
281      FROM dual
282      WHERE exists (Select pci.ci_id from
283 		   pa_control_items  pci,
284 		   pa_ci_impacts pc
285 		   where pci.ci_type_id = p_ci_type_id
286 		   and pci.ci_id = pc.ci_id
287 		   and pc.impact_type_code = p_impact_type_code
288 		   );
289 
290    RETURN l_dummy;
291 EXCEPTION
292 
293 
294    WHEN NO_DATA_FOUND THEN
295 
296       RETURN 'Y';
297 
298 END ;
299 
300 END PA_CI_IMPACT_TYPE_USAGE_PUB;