[Home] [Help]
PACKAGE BODY: APPS.PA_PAGE_TYPE_REGION_PUB
Source
1 package body PA_PAGE_TYPE_REGION_PUB as
2 /* $Header: PAPLPTPB.pls 120.1 2005/08/19 16:41:35 mwasowic noship $ */
3
4 PROCEDURE Create_Page_Type_Region
5 (
6 p_api_version IN NUMBER := 1.0,
7 p_init_msg_list IN VARCHAR2 := 'T',
8 p_commit IN VARCHAR2 := 'F',
9 p_validate_only IN VARCHAR2 := 'T',
10 p_max_msg_count IN NUMBER := 1.7E20,
11
12 P_PAGE_TYPE_CODE in VARCHAR2,
13 P_REGION_SOURCE_TYPE in VARCHAR2,
14 P_REGION_SOURCE_CODE in VARCHAR2 := null,
15 P_REGION_SOURCE_NAME in VARCHAR2 := null,
16
17 P_VIEW_REGION_CODE in VARCHAR2 := null,
18 P_EDIT_REGION_CODE in VARCHAR2 := null,
19 P_VIEW_REGION_NAME in VARCHAR2 := null,
20 P_EDIT_REGION_NAME in VARCHAR2 := null,
21 P_REGION_STYLE in VARCHAR2 := null,
22 P_DISPLAY_ORDER in NUMBER := null,
23 P_MANDATORY_FLAG in VARCHAR2 := null,
24 P_DEFAULT_REGION_POSITION in VARCHAR2 := null,
25 P_PLACEHOLDER_REGION_FLAG in VARCHAR2:=null,
26 P_START_DATE_ACTIVE in DATE,
27 P_END_DATE_ACTIVE in DATE,
28
29 P_DOCUMENT_SOURCE in VARCHAR2 := null,
30 P_PAGE_FUNCTION_NAME in VARCHAR2 := null,
31 P_SECURITY_FUNCTION_NAME in VARCHAR2 := null,
32
33 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
34 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
35 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
36 ) IS
37
38 l_msg_index_out NUMBER;
39 l_page_type VARCHAR2(30);
40 l_region_source_code VARCHAR2(250);
41 l_view_region_code VARCHAR2(250);
42 l_edit_region_code VARCHAR2(250);
43 l_dummy varchar2(1) := 'N';
44
45 cursor check_region_source_unique is
46 select 'Y' from dual
47 where exists
48 (select * from pa_page_type_regions
49 where page_type_code = p_page_type_code
50 and region_source_type = p_region_source_type
51 and region_source_code = l_region_source_code);
52
53 BEGIN
54
55 -- Initialize the Error Stack
56 PA_DEBUG.init_err_stack('PA_PAGE_TYPE_REGION_PUB.Create_Page_Type_Region');
57
58 -- Initialize the return status to success
59 x_return_status := FND_API.G_RET_STS_SUCCESS;
60
61 --Clear the global PL/SQL message table
62 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
63 FND_MSG_PUB.initialize;
64 END IF;
65
66 IF p_page_type_code IS null THEN
67 l_page_type := 'PPR';
68 ELSE
69 l_page_type := p_page_type_code;
70 END IF;
71
72 IF p_region_source_code IS NULL THEN
73 l_region_source_code := pa_page_layout_utils.get_region_source_code(p_region_source_name, P_REGION_SOURCE_TYPE, 275, 'PA_STATUS_REPORT_DESC_FLEX');
74
75 IF l_region_source_code IS NULL THEN
76 PA_UTILS.Add_Message( p_app_short_name => 'PA'
77 ,p_msg_name => 'PA_UDS_SETUP_NAME_INV');
78
79
80 x_return_status := FND_API.G_RET_STS_ERROR;
81 END IF;
82
83 -- check if the region_source_code is used already
84 open check_region_source_unique;
85 fetch check_region_source_unique into l_dummy;
86 if check_region_source_unique%found then
87 PA_UTILS.Add_Message( p_app_short_name => 'PA'
88 ,p_msg_name => 'PA_UDS_SETUP_NAME_NOT_UNIQUE');
89
90
91 x_return_status := FND_API.G_RET_STS_ERROR;
92
93 end if;
94
95 close check_region_source_unique;
96 ELSE
97 l_region_source_code := p_region_source_code;
98
99 -- check if the region_source_code is used already
100 open check_region_source_unique;
101 fetch check_region_source_unique into l_dummy;
102 if check_region_source_unique%found then
103 PA_UTILS.Add_Message( p_app_short_name => 'PA'
104 ,p_msg_name => 'PA_UDS_SETUP_NAME_NOT_UNIQUE');
105
106
107 x_return_status := FND_API.G_RET_STS_ERROR;
108
109 end if;
110
111 close check_region_source_unique;
112
113 END IF;
114
115 IF (p_view_region_code IS NULL AND x_return_status = FND_API.g_ret_sts_success )THEN
116 l_view_region_code := pa_page_layout_utils.get_ak_region_code(p_view_region_name, 275);
117
118 IF l_view_region_code IS NULL THEN
119 PA_UTILS.Add_Message( p_app_short_name => 'PA'
120 ,p_msg_name => 'PA_UDS_SETUP_STYLE_INV'
121 );
122
123 x_return_status := FND_API.G_RET_STS_ERROR;
124 END IF;
125
126 ELSE
127 l_view_region_code := p_view_region_code;
128 END IF;
129
130 IF (p_edit_region_code IS NULL AND x_return_status = FND_API.g_ret_sts_success )THEN
131 l_edit_region_code := pa_page_layout_utils.get_ak_region_code(p_edit_region_name, 275);
132
133 IF l_edit_region_code IS NULL THEN
134 PA_UTILS.Add_Message( p_app_short_name => 'PA'
135 ,p_msg_name => 'PA_UDS_SETUP_STYLE_INV'
136 );
137
138 x_return_status := FND_API.G_RET_STS_ERROR;
139 END IF;
140
141 ELSE
142 l_edit_region_code := p_edit_region_code;
143 END IF;
144
145 IF (x_return_status = FND_API.g_ret_sts_success ) THEN
146
147 pa_page_type_region_pvt.Create_Page_Type_Region
148 (
149 p_api_version => p_api_version,
150 p_init_msg_list => p_init_msg_list,
151 p_commit => p_commit,
152 p_validate_only => p_validate_only,
153 p_max_msg_count => p_max_msg_count,
154
155 p_page_type_code => l_page_type,
156 P_REGION_SOURCE_TYPE => p_region_source_type,
157 P_REGION_SOURCE_CODE => l_region_source_code,
158
159 P_VIEW_REGION_CODE => l_view_region_code,
160 P_EDIT_REGION_CODE => l_edit_region_code,
161 P_REGION_STYLE => p_region_style,
162 P_DISPLAY_ORDER => p_display_order,
163 P_MANDATORY_FLAG => p_mandatory_flag,
164 P_DEFAULT_REGION_POSITION => p_default_region_position,
165 P_PLACEHOLDER_REGION_FLAG => p_placeholder_region_flag,
166 P_START_DATE_ACTIVE => P_START_DATE_ACTIVE,
167 P_END_DATE_ACTIVE => P_END_DATE_ACTIVE,
168 p_document_source => p_document_source,
169 P_PAGE_FUNCTION_NAME => p_page_function_name,
170 P_SECURITY_FUNCTION_NAME => p_security_function_name,
171 x_return_status => x_return_status,
172 x_msg_count => x_msg_count,
173 x_msg_data => x_msg_data
174 );
175 END IF;
176
177 --
178 -- IF the number of messaages is 1 then fetch the message code from the stack
179 -- and return its text
180 --
181
182 x_msg_count := FND_MSG_PUB.Count_Msg;
183 IF x_msg_count = 1 THEN
184 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
185 ,p_msg_index => 1
186 ,p_data => x_msg_data
187 ,p_msg_index_out => l_msg_index_out
188 );
189 END IF;
190
191 -- Reset the error stack when returning to the calling program
192 PA_DEBUG.Reset_Err_Stack;
193
194 --commit;
195
196 -- Put any message text from message stack into the Message ARRAY
197 EXCEPTION
198 WHEN OTHERS THEN
199 rollback;
200
201 -- Set the excetption Message and the stack
202 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PAGE_TYPE_REGION_PUB.Create_Page_Type_Region'
203 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
204 --
205 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
206 RAISE; -- This is optional depending on the needs
207
208 END create_page_type_region;
209
210
211
212 PROCEDURE Update_Page_Type_Region
213 (
214 p_api_version IN NUMBER := 1.0,
215 p_init_msg_list IN VARCHAR2 := 'T',
216 p_commit IN VARCHAR2 := 'F',
217 p_validate_only IN VARCHAR2 := 'T',
218 p_max_msg_count IN NUMBER := 1.7E20,
219
220 P_PAGE_TYPE_CODE in VARCHAR2,
221 P_REGION_SOURCE_TYPE in VARCHAR2,
222 P_REGION_SOURCE_CODE in VARCHAR2 := null,
223 P_REGION_SOURCE_NAME in VARCHAR2 := null,
224
225 P_VIEW_REGION_CODE in VARCHAR2 := null,
226 P_EDIT_REGION_CODE in VARCHAR2 := null,
227 P_VIEW_REGION_NAME in VARCHAR2 := null,
228 P_EDIT_REGION_NAME in VARCHAR2 := null,
229 P_REGION_STYLE in VARCHAR2 := '^',
230 P_DISPLAY_ORDER in NUMBER := 1.7E20,
231 P_MANDATORY_FLAG in VARCHAR2 := '^',
232 P_DEFAULT_REGION_POSITION in VARCHAR2 := '^',
233 P_PLACEHOLDER_REGION_FLAG in VARCHAR2 := '^',
234 P_START_DATE_ACTIVE in DATE,
235 P_END_DATE_ACTIVE in DATE,
236
237 P_DOCUMENT_SOURCE in VARCHAR2 := null,
238 P_PAGE_FUNCTION_NAME in VARCHAR2 := null,
239 P_SECURITY_FUNCTION_NAME in VARCHAR2 := null,
240
241 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
242 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
243 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
244 ) IS
245
246 l_msg_index_out NUMBER;
247 l_region_source_code VARCHAR2(250);
248 l_view_region_code VARCHAR2(250);
249 l_edit_region_code VARCHAR2(250);
250 BEGIN
251
252 -- Initialize the Error Stack
253 PA_DEBUG.init_err_stack('PA_PAGE_TYPE_REGION_PUB.Update_Page_Type_Region');
254
255 -- Initialize the return status to success
256 x_return_status := FND_API.G_RET_STS_SUCCESS;
257
258 --Clear the global PL/SQL message table
259 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
260 FND_MSG_PUB.initialize;
261 END IF;
262
263 IF (p_region_source_code IS NULL AND x_return_status = FND_API.g_ret_sts_success )THEN
264 l_region_source_code := pa_page_layout_utils.get_region_source_code(p_region_source_name, P_REGION_SOURCE_TYPE, 275, 'PA_STATUS_REPORT_DESC_FLEX');
265
266 IF l_region_source_code IS NULL THEN
267 PA_UTILS.Add_Message( p_app_short_name => 'PA'
268 ,p_msg_name => 'PA_UDS_SETUP_NAME_INV'
269 );
270
271 x_return_status := FND_API.G_RET_STS_ERROR;
272 END IF;
273 ELSE
274 l_region_source_code := p_region_source_code;
275 END IF;
276
277 IF (p_view_region_code IS NULL AND x_return_status = FND_API.g_ret_sts_success )THEN
278 l_view_region_code := pa_page_layout_utils.get_ak_region_code(p_view_region_name, 275);
279
280 IF l_view_region_code IS NULL THEN
281 PA_UTILS.Add_Message( p_app_short_name => 'PA'
282 ,p_msg_name => 'PA_UDS_SETUP_STYLE_INV'
283 );
284
285 x_return_status := FND_API.G_RET_STS_ERROR;
286 END IF;
287
288 ELSE
289 l_view_region_code := p_view_region_code;
290 END IF;
291
292 IF (p_edit_region_code IS NULL AND x_return_status = FND_API.g_ret_sts_success )THEN
293 l_edit_region_code := pa_page_layout_utils.get_ak_region_code(p_edit_region_name, 275);
294
295 IF l_edit_region_code IS NULL THEN
296 PA_UTILS.Add_Message( p_app_short_name => 'PA'
297 ,p_msg_name => 'PA_UDS_SETUP_STYLE_INV'
298 );
299
300 x_return_status := FND_API.G_RET_STS_ERROR;
301 END IF;
302
303 ELSE
304 l_edit_region_code := p_edit_region_code;
305 END IF;
306
307 IF (x_return_status = FND_API.g_ret_sts_success ) THEN
308
309 pa_page_type_region_pvt.Update_Page_Type_Region
310 (
311 p_api_version => p_api_version,
312 p_init_msg_list => p_init_msg_list,
313 p_commit => p_commit,
314 p_validate_only => p_validate_only,
315 p_max_msg_count => p_max_msg_count,
316
317 p_page_type_code => p_page_type_code,
318 P_REGION_SOURCE_TYPE => p_region_source_type,
319 P_REGION_SOURCE_CODE => p_region_source_code,
320
321 P_VIEW_REGION_CODE => p_view_region_code,
322 P_EDIT_REGION_CODE => p_edit_region_code,
323 P_REGION_STYLE => p_region_style,
324 P_DISPLAY_ORDER => p_display_order,
325 P_MANDATORY_FLAG => p_mandatory_flag,
326 P_DEFAULT_REGION_POSITION => p_default_region_position,
327 P_PLACEHOLDER_REGION_FLAG => p_placeholder_region_flag,
328 P_START_DATE_ACTIVE => P_START_DATE_ACTIVE,
329 P_END_DATE_ACTIVE => P_END_DATE_ACTIVE,
330
331 P_DOCUMENT_SOURCE => p_document_source,
332 P_PAGE_FUNCTION_NAME => p_page_function_name,
333 P_SECURITY_FUNCTION_NAME => p_security_function_name,
334
335 x_return_status => x_return_status,
336 x_msg_count => x_msg_count,
337 x_msg_data => x_msg_data
338 );
339
340 END IF;
341
342
343 --
344 -- IF the number of messaages is 1 then fetch the message code from the
345 -- stack and return its text
346 --
347 x_msg_count := FND_MSG_PUB.Count_Msg;
348 IF x_msg_count = 1 THEN
349 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
350 ,p_msg_index => 1
351 ,p_data => x_msg_data
352 ,p_msg_index_out => l_msg_index_out
353 );
354 END IF;
355
356
357 -- Reset the error stack when returning to the calling program
358 PA_DEBUG.Reset_Err_Stack;
359
360
361 -- Put any message text from message stack into the Message ARRAY
362 EXCEPTION
363 WHEN OTHERS THEN
364
365 -- Set the exception Message and the stack
366 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PAGE_TYPE_REGION_PUB.Update_Page_Type_Region'
367 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
368 --
369 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
370 RAISE; -- This is optional depending on the needs
371 --
372
373 END update_page_type_region;
374
375
376
377 PROCEDURE Delete_Page_Type_Region
378 (
379 p_api_version IN NUMBER := 1.0,
380 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
381 p_commit IN VARCHAR2 := FND_API.g_false,
382 p_validate_only IN VARCHAR2 := FND_API.g_true,
383 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
384
385 p_rowid IN VARCHAR2 := NULL,
386 P_PAGE_TYPE_CODE in VARCHAR2 := NULL,
387 P_REGION_SOURCE_TYPE in VARCHAR2 := NULL,
388 P_REGION_SOURCE_CODE in VARCHAR2 := NULL,
389
390 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
391 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
392 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
393 ) IS
394
395 l_msg_index_out NUMBER;
396
397 BEGIN
398
399 -- Initialize the Error Stack
400 PA_DEBUG.init_err_stack('PA_PAGE_TYPE_REGION_PUB.Delete_Page_Type_Region');
401
402 x_return_status := FND_API.G_RET_STS_SUCCESS;
403
404 --Clear the global PL/SQL message table
405 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
406 FND_MSG_PUB.initialize;
407 END IF;
408
409
410 -- Call the private API
411 PA_PAGE_TYPE_REGION_PVT.Delete_Page_Type_Region
412 (
413 p_api_version => p_api_version
414 ,p_init_msg_list => p_init_msg_list
415 ,p_commit => p_commit
416 ,p_validate_only => p_validate_only
417 ,p_max_msg_count => p_max_msg_count
418
419 ,p_page_type_code => p_page_type_code
420 ,P_REGION_SOURCE_TYPE => p_region_source_type
421 ,P_REGION_SOURCE_CODE => p_region_source_code
422
423 ,x_return_status => x_return_status
424 ,x_msg_count => x_msg_count
425 ,x_msg_data => x_msg_data
426 );
427
428 --
429 -- IF the number of messaages is 1 then fetch the message code from the
430 -- stack and return its text
431 --
432 x_msg_count := FND_MSG_PUB.Count_Msg;
433 IF x_msg_count = 1 THEN
434 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
435 ,p_msg_index => 1
436 ,p_data => x_msg_data
437 ,p_msg_index_out => l_msg_index_out
438 );
439 END IF;
440
441
442 -- Reset the error stack when returning to the calling program
443 PA_DEBUG.Reset_Err_Stack;
444
445
446 EXCEPTION
447 WHEN OTHERS THEN
448
449 rollback;
450
451 -- Set the excetption Message and the stack
452 FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_PAGE_TYPE_REGION_PUB.Delete_Page_Type_Region'
453 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
454 --
455 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
456 RAISE; -- This is optional depending on the needs
457
458 END delete_page_type_region;
459
460 END PA_PAGE_TYPE_REGION_PUB;