[Home] [Help]
PACKAGE BODY: APPS.PA_PROJ_TEMPLATE_SETUP_PUB
Source
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'PA_PROJ_TEMPLATE_SETUP_PUB';
1 PACKAGE BODY PA_PROJ_TEMPLATE_SETUP_PUB AS
2 /* $Header: PATMSTPB.pls 120.3 2005/08/22 05:53:44 sunkalya noship $ */
3
5
6 -- API name : Create_Project_Template
7 -- Type : Public API
8 -- Pre-reqs : None
9 -- Return Value :
10 --
11 -- Parameters
12 --p_project_number IN VARCHAR2
13 --p_project_name IN VARCHAR2
14 --p_project_type IN VARCHAR2
15 --p_organization_id IN NUMBER
16 --p_organization_name IN VARCHAR2
17 --p_effective_from_date IN DATE
18 --p_effective_to_date IN DATE
19 --p_description IN VARCHAR2
20
21 PROCEDURE Create_Project_Template(
22 p_api_version IN NUMBER :=1.0,
23 p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE,
24 p_commit IN VARCHAR2 :=FND_API.G_FALSE,
25 p_validate_only IN VARCHAR2 :=FND_API.G_TRUE,
26 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
27 p_calling_module IN VARCHAR2 :='SELF_SERVICE',
28 p_debug_mode IN VARCHAR2 :='N',
32 p_project_type IN VARCHAR2,
29 p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
30 p_project_number IN VARCHAR2,
31 p_project_name IN VARCHAR2,
33 p_organization_id IN NUMBER := -9999,
34 p_organization_name IN VARCHAR2 := 'JUNK_CHARS',
35 p_effective_from_date IN DATE := TO_DATE( '01-01-1000', 'DD-MM-YYYY' ),
36 p_effective_to_date IN DATE := TO_DATE( '01-01-1000', 'DD-MM-YYYY' ),
37 p_description IN VARCHAR2 := 'JUNK_CHARS',
38 p_security_level IN NUMBER := 0,
39 -- anlee
40 -- Project Long Name changes
41 p_long_name IN VARCHAR2 DEFAULT NULL,
42 -- End of changes
43 p_operating_unit_id IN NUMBER, -- 4363092 MOAC changes
44 x_template_id OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
45 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
46 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
47 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
48 ) IS
49 l_api_name CONSTANT VARCHAR(30) := 'Create_Project_Template';
50 l_api_version CONSTANT NUMBER := 1.0;
51
52 l_task_id PA_PROJ_ELEMENTS.PROJ_ELEMENT_ID%TYPE;
53 l_return_status VARCHAR2(1);
54 l_msg_count NUMBER;
55 l_msg_data VARCHAR2(250);
56 l_data VARCHAR2(250);
57 l_msg_index_out NUMBER;
58 l_error_msg_code VARCHAR2(250);
59
60 l_organization_id NUMBER;
61 -- added for Bug fix: 4537865
62 l_new_organization_id NUMBER;
63 -- added for Bug fix: 4537865
64 l_organization_name hr_all_organization_units_tl.name%TYPE; --Bug 2931569
65 BEGIN
66 pa_debug.init_err_stack ('PA_PROJ_TEMPLATE_SETUP_PUB.Create_Project_Template');
67
68 IF (p_debug_mode = 'Y') THEN
69 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Create_Project_Template begin');
70 END IF;
71
72 IF (p_commit = FND_API.G_TRUE) THEN
73 savepoint Create_Project_Template;
74 END IF;
75
76 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
77 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
78 END IF;
79
80
81 IF FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
82 FND_MSG_PUB.initialize;
83 END IF;
84
85 IF (p_calling_module = 'SELF_SERVICE') OR (p_calling_module = 'EXCHANGE') THEN
86 --Check Carrying out organization name and Carrying out organization Id
87 IF ((p_organization_name <> 'JUNK_CHARS' ) AND
88 (p_organization_name IS NOT NULL)) OR
89 ((p_organization_id <> -9999 ) AND
90 (p_organization_id IS NOT NULL)) THEN
91 --dbms_output.put_line( 'Before Check_OrgName_Or_Id' );
92
93 IF p_organization_id = -9999
94 THEN
95 l_organization_id := FND_API.G_MISS_NUM;
96 ELSE
97 l_organization_id := p_organization_id;
98 END IF;
99
100 IF p_organization_name = 'JUNK_CHARS'
101 THEN
102 l_organization_name := FND_API.G_MISS_CHAR;
103 ELSE
104 l_organization_name := p_organization_name;
105 END IF;
106
107 pa_hr_org_utils.Check_OrgName_Or_Id
108 (p_organization_id => l_organization_id
109 ,p_organization_name => l_organization_name
110 ,p_check_id_flag => 'Y'
111 --,x_organization_id => l_organization_id * commented for Bug: 4537865
112 ,x_organization_id => l_new_organization_id -- added for Bug fix: 4537865
113 ,x_return_status => l_return_status
114 ,x_error_msg_code => l_error_msg_code);
115
116 -- added for Bug fix: 4537865
117 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
118 l_organization_id := l_new_organization_id;
119 END IF;
120 -- added for Bug fix: 4537866
121
122 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
123 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
124 p_msg_name => l_error_msg_code);
125 END IF;
126
127 END IF; --End Name-Id Conversion
128 END IF;
129
130 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
131 x_msg_count := FND_MSG_PUB.count_msg;
132 IF x_msg_count = 1 then
133 pa_interface_utils_pub.get_messages
134 (p_encoded => FND_API.G_TRUE,
135 p_msg_index => 1,
136 p_msg_count => l_msg_count,
137 p_msg_data => l_msg_data,
138 p_data => l_data,
139 p_msg_index_out => l_msg_index_out);
140 x_msg_data := l_data;
141 END IF;
142 raise FND_API.G_EXC_ERROR;
143 END IF;
144
145 --dbms_output.put_line( 'Before calling PA_PROJ_TEMPLATE_SETUP_PVT.Create_Project_Template ' );
146
147 PA_PROJ_TEMPLATE_SETUP_PVT.Create_Project_Template(
148 p_api_version => p_api_version
149 ,p_init_msg_list => p_init_msg_list
150 ,p_commit => p_commit
151 ,p_validate_only => p_validate_only
155 ,p_max_msg_count => p_max_msg_count
152 ,p_validation_level => p_validation_level
153 ,p_calling_module => p_calling_module
154 ,p_debug_mode => p_debug_mode
156 ,p_project_number => p_project_number
157 ,p_project_name => p_project_name
158 ,p_project_type => p_project_type
159 ,p_organization_id => l_organization_id
160 ,p_effective_from_date => p_effective_from_date
161 ,p_effective_to_date => p_effective_to_date
162 ,p_description => p_description
163 ,p_security_level => p_security_level
164 -- anlee
165 -- Project Long Name changes
166 ,p_long_name => p_long_name
167 -- End of changes
168 ,p_operating_unit_id => p_operating_unit_id -- 4363092 MOAC changes
169 ,x_template_id => x_template_id
170 ,x_return_status => l_return_status
171 ,x_msg_count => l_msg_count
172 ,x_msg_data => l_msg_data );
173
174 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
175 x_msg_count := FND_MSG_PUB.count_msg;
176 IF x_msg_count = 1 then
177 pa_interface_utils_pub.get_messages
178 (p_encoded => FND_API.G_TRUE,
179 p_msg_index => 1,
180 p_msg_count => l_msg_count,
181 p_msg_data => l_msg_data,
182 p_data => l_data,
183 p_msg_index_out => l_msg_index_out);
184 x_msg_data := l_data;
185 END IF;
186 raise FND_API.G_EXC_ERROR;
187 END IF;
188
189 x_return_status := FND_API.G_RET_STS_SUCCESS;
190
191 IF (p_commit = FND_API.G_TRUE) THEN
192 COMMIT;
193 END IF;
194
195 IF (p_debug_mode = 'Y') THEN
196 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Create_Project_Template END');
197 END IF;
198 EXCEPTION
199 when FND_API.G_EXC_ERROR then
200 if p_commit = FND_API.G_TRUE then
201 rollback to Create_Project_Template;
202 end if;
203 x_return_status := FND_API.G_RET_STS_ERROR;
204 when FND_API.G_EXC_UNEXPECTED_ERROR then
205 if p_commit = FND_API.G_TRUE then
206 rollback to Create_Project_Template;
207 end if;
208 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
209 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
210 p_procedure_name => 'Create_Project_Template',
211 p_error_text => SUBSTRB(SQLERRM,1,240));
212 when OTHERS then
216 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
213 if p_commit = FND_API.G_TRUE then
214 rollback to Create_Project_Template;
215 end if;
217 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
218 p_procedure_name => 'Create_Project_Template',
219 p_error_text => SUBSTRB(SQLERRM,1,240));
220 raise;
221 END Create_Project_Template;
222
223 -- API name : Update_Project_Template
224 -- Type : Public API
225 -- Pre-reqs : None
226 -- Return Value :
227 --
228 -- Parameters
229 --p_project_number IN VARCHAR2
230 --p_project_name IN VARCHAR2
231 --p_project_type IN VARCHAR2
232 --p_organization_id IN NUMBER
233 --p_organization_name IN VARCHAR2
234 --p_effective_from_date IN DATE
235 --p_effective_to_date IN DATE
236 --p_description IN VARCHAR2
237 --
238 -- History
239 --
240 -- 15-FEB-02 Majid Ansari -Created
241 --
242 --
243
244 PROCEDURE Update_Project_Template(
245 p_api_version IN NUMBER :=1.0,
246 p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE,
247 p_commit IN VARCHAR2 :=FND_API.G_FALSE,
248 p_validate_only IN VARCHAR2 :=FND_API.G_TRUE,
249 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
250 p_calling_module IN VARCHAR2 :='SELF_SERVICE',
251 p_debug_mode IN VARCHAR2 :='N',
252 p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
253 p_project_id IN NUMBER,
254 p_project_number IN VARCHAR2 := 'JUNK_CHARS',
255 p_project_name IN VARCHAR2 := 'JUNK_CHARS',
256 p_project_type IN VARCHAR2 := 'JUNK_CHARS',
257 p_organization_id IN NUMBER := -9999,
258 p_organization_name IN VARCHAR2 := 'JUNK_CHARS',
259 p_effective_from_date IN DATE := TO_DATE( '01-01-1000', 'DD-MM-YYYY' ),
260 p_effective_to_date IN DATE := TO_DATE( '01-01-1000', 'DD-MM-YYYY' ),
261 p_description IN VARCHAR2 := 'JUNK_CHARS',
262 p_security_level IN NUMBER := 0,
263 -- anlee
264 -- Project Long Name changes
265 p_long_name IN VARCHAR2 DEFAULT NULL,
266 -- End of changes
267 p_record_version_number IN NUMBER,
268 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
269 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
270 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
271 ) IS
272 l_api_name CONSTANT VARCHAR(30) := 'Update_Project_Template';
273 l_api_version CONSTANT NUMBER := 1.0;
274
275 l_return_status VARCHAR2(1);
276 l_msg_count NUMBER;
277 l_msg_data VARCHAR2(250);
278 l_data VARCHAR2(250);
279 l_msg_index_out NUMBER;
280 l_error_msg_code VARCHAR2(250);
281
282 l_organization_id NUMBER;
283 -- added for Bug: 4537865
284 l_new_organization_id NUMBER;
285 -- added for Bug: 4537865
286 l_organization_name hr_all_organization_units_tl.name%TYPE; --Bug 2931569
287
288 l_dummy_char VARCHAR2(1);
289 BEGIN
290 pa_debug.init_err_stack ('PA_PROJ_TEMPLATE_SETUP_PUB.Update_Project_Template');
291
292 IF (p_debug_mode = 'Y') THEN
293 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Update_Project_Template begin');
294 END IF;
295
296 IF (p_commit = FND_API.G_TRUE) THEN
297 savepoint Update_Project_Template;
298 END IF;
299
300 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
301 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305 IF FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
302 END IF;
303
304
306 FND_MSG_PUB.initialize;
307 END IF;
308
309 IF (p_calling_module = 'SELF_SERVICE') OR (p_calling_module = 'EXCHANGE') THEN
310 --Check Carrying out organization name and Carrying out organization Id
311 IF ((p_organization_name <> 'JUNK_CHARS' ) AND
312 (p_organization_name IS NOT NULL)) OR
313 ((p_organization_id <> -9999 ) AND
314 (p_organization_id IS NOT NULL)) THEN
315 --dbms_output.put_line( 'Before Check_OrgName_Or_Id' );
316
317 IF p_organization_id = -9999
321 l_organization_id := p_organization_id;
318 THEN
319 l_organization_id := FND_API.G_MISS_NUM;
320 ELSE
322 END IF;
323
324 IF p_organization_name = 'JUNK_CHARS'
325 THEN
326 l_organization_name := FND_API.G_MISS_CHAR;
327 ELSE
328 l_organization_name := p_organization_name;
329 END IF;
330
331 pa_hr_org_utils.Check_OrgName_Or_Id
332 (p_organization_id => l_organization_id
333 ,p_organization_name => l_organization_name
334 ,p_check_id_flag => 'Y'
335 --,x_organization_id => l_organization_id * commented for Bug fix: 4537865
336 ,x_organization_id => l_new_organization_id -- added for Bug fix: 4537865
337 ,x_return_status => l_return_status
338 ,x_error_msg_code => l_error_msg_code);
339 -- added for Bug fix: 4537865
340 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
341 l_organization_id := l_new_organization_id;
342 END IF;
343 -- added for Bug fix: 4537865
344 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
345 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
346 p_msg_name => l_error_msg_code);
347 END IF;
348
349 END IF; --End Name-Id Conversion
350 END IF;
351
352 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
353 x_msg_count := FND_MSG_PUB.count_msg;
354 IF x_msg_count = 1 then
355 pa_interface_utils_pub.get_messages
356 (p_encoded => FND_API.G_TRUE,
357 p_msg_index => 1,
358 p_msg_count => l_msg_count,
359 p_msg_data => l_msg_data,
360 p_data => l_data,
361 p_msg_index_out => l_msg_index_out);
362 x_msg_data := l_data;
363 END IF;
364 raise FND_API.G_EXC_ERROR;
365 END IF;
366
367 IF p_validate_only <> FND_API.G_TRUE
368 THEN
369 BEGIN
370 SELECT 'x' INTO l_dummy_char
371 FROM pa_projects_all
372 WHERE project_id = p_project_id
373 AND record_version_number = p_record_version_number
374 FOR UPDATE OF record_version_number NOWAIT;
375 EXCEPTION
376 WHEN TIMEOUT_ON_RESOURCE THEN
377 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
378 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
379 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
380 x_return_status := 'E' ;
381 WHEN NO_DATA_FOUND THEN
382 if p_calling_module = 'FORM' then
383 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'FND',
384 p_msg_name => 'FORM_RECORD_CHANGED');
385 x_msg_data := 'FORM_RECORD_CHANGED';
386 else
387 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
388 p_msg_name => 'PA_XC_RECORD_CHANGED');
389 x_msg_data := 'PA_XC_RECORD_CHANGED';
390 end if;
391 x_return_status := 'E' ;
392 WHEN OTHERS THEN
393 IF SQLCODE = -54 THEN
394 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
395 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
396 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
397 x_return_status := 'E' ;
398 ELSE
399 raise;
400 END IF;
401 END;
402 ELSE
403 BEGIN
404 SELECT 'x' INTO l_dummy_char
405 FROM pa_projects_all
406 WHERE project_id = p_project_id
407 AND record_version_number = p_record_version_number;
408 EXCEPTION
409 WHEN NO_DATA_FOUND THEN
410 if p_calling_module = 'FORM' then
411 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'FND',
412 p_msg_name => 'FORM_RECORD_CHANGED');
413 x_msg_data := 'FORM_RECORD_CHANGED';
414 else
415 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
416 p_msg_name => 'PA_XC_RECORD_CHANGED');
417 x_msg_data := 'PA_XC_RECORD_CHANGED';
418 end if;
419 x_return_status := 'E' ;
420 WHEN OTHERS THEN
421 IF SQLCODE = -54 THEN
422 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
423 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
424 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
425 x_return_status := 'E' ;
426 END IF;
427 END;
428 end if;
429 l_msg_count := FND_MSG_PUB.count_msg;
430
431 IF l_msg_count > 0 THEN
432 x_msg_count := l_msg_count;
433 x_return_status := 'E';
434 RAISE FND_API.G_EXC_ERROR;
435 END IF;
436
437 --dbms_output.put_line( 'Before calling PA_PROJ_TEMPLATE_SETUP_PVT.Update_Project_Template ' );
438
439 PA_PROJ_TEMPLATE_SETUP_PVT.Update_Project_Template(
440 p_api_version => p_api_version
441 ,p_init_msg_list => p_init_msg_list
442 ,p_commit => p_commit
443 ,p_validate_only => p_validate_only
444 ,p_validation_level => p_validation_level
448 ,p_project_id => p_project_id
445 ,p_calling_module => p_calling_module
446 ,p_debug_mode => p_debug_mode
447 ,p_max_msg_count => p_max_msg_count
449 ,p_project_number => p_project_number
450 ,p_project_name => p_project_name
451 ,p_project_type => p_project_type
452 ,p_organization_id => l_organization_id
453 ,p_effective_from_date => p_effective_from_date
454 ,p_effective_to_date => p_effective_to_date
455 ,p_description => p_description
456 ,p_security_level => p_security_level
457 -- anlee
458 -- Project Long Name changes
459 ,p_long_name => p_long_name
460 -- End of changes
461 ,p_record_version_number => p_record_version_number
462 ,x_return_status => l_return_status
463 ,x_msg_count => l_msg_count
464 ,x_msg_data => l_msg_data );
465
466 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
467 x_msg_count := FND_MSG_PUB.count_msg;
468 IF x_msg_count = 1 then
469 pa_interface_utils_pub.get_messages
470 (p_encoded => FND_API.G_TRUE,
471 p_msg_index => 1,
472 p_msg_count => l_msg_count,
473 p_msg_data => l_msg_data,
474 p_data => l_data,
475 p_msg_index_out => l_msg_index_out);
476 x_msg_data := l_data;
477 END IF;
478 raise FND_API.G_EXC_ERROR;
479 END IF;
480
481 x_return_status := FND_API.G_RET_STS_SUCCESS;
482
483 IF (p_commit = FND_API.G_TRUE) THEN
484 COMMIT;
485 END IF;
486
487 IF (p_debug_mode = 'Y') THEN
488 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Update_Project_Template END');
489 END IF;
490 EXCEPTION
491 when FND_API.G_EXC_ERROR then
492 if p_commit = FND_API.G_TRUE then
493 rollback to Update_Project_Template;
494 end if;
495 x_return_status := FND_API.G_RET_STS_ERROR;
496 when FND_API.G_EXC_UNEXPECTED_ERROR then
497 if p_commit = FND_API.G_TRUE then
498 rollback to Update_Project_Template;
499 end if;
500 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
501 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
502 p_procedure_name => 'Update_Project_Template',
503 p_error_text => SUBSTRB(SQLERRM,1,240));
504 when OTHERS then
508 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
505 if p_commit = FND_API.G_TRUE then
506 rollback to Update_Project_Template;
507 end if;
509 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
510 p_procedure_name => 'Update_Project_Template',
511 p_error_text => SUBSTRB(SQLERRM,1,240));
512 raise;
513 END Update_Project_Template;
514
515 -- API name : Delete_Project_Template
516 -- Type : Public API
517 -- Pre-reqs : None
518 -- Return Value :
519 --
520 -- Parameters
521 -- p_project_id IN NUMBER,
522 --
523 -- History
524 --
525 -- 15-FEB-02 Majid Ansari -Created
526 --
527 --
528
529 PROCEDURE Delete_Project_Template(
530 p_api_version IN NUMBER :=1.0,
531 p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE,
532 p_commit IN VARCHAR2 :=FND_API.G_FALSE,
533 p_validate_only IN VARCHAR2 :=FND_API.G_TRUE,
534 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
535 p_calling_module IN VARCHAR2 :='SELF_SERVICE',
536 p_debug_mode IN VARCHAR2 :='N',
537 p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
538 p_project_id IN NUMBER,
539 p_record_version_number IN NUMBER,
540 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
541 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
542 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
543 ) IS
544 l_api_name CONSTANT VARCHAR(30) := 'Delete_Project_Template';
545 l_api_version CONSTANT NUMBER := 1.0;
546
547 l_return_status VARCHAR2(1);
548 l_msg_count NUMBER;
549 l_msg_data VARCHAR2(250);
550 l_data VARCHAR2(250);
551 l_msg_index_out NUMBER;
552 l_error_msg_code VARCHAR2(250);
553
554 l_organization_id NUMBER;
555 l_dummy_char VARCHAR2(1);
556 BEGIN
557 pa_debug.init_err_stack ('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Project_Template');
558
559 IF (p_debug_mode = 'Y') THEN
560 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Project_Template begin');
561 END IF;
562
563 IF (p_commit = FND_API.G_TRUE) THEN
564 savepoint Delete_Project_Template;
565 END IF;
566
567 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
568 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
569 END IF;
570
571
572 IF FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
573 FND_MSG_PUB.initialize;
574 END IF;
575
576 IF p_validate_only <> FND_API.G_TRUE
577 THEN
578 BEGIN
579 SELECT 'x' INTO l_dummy_char
580 FROM pa_projects_all
581 WHERE project_id = p_project_id
582 AND record_version_number = p_record_version_number
583 FOR UPDATE OF record_version_number NOWAIT;
584 EXCEPTION
585 WHEN TIMEOUT_ON_RESOURCE THEN
586 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
587 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
588 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
589 x_return_status := 'E' ;
590 WHEN NO_DATA_FOUND THEN
591 if p_calling_module = 'FORM' then
592 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'FND',
593 p_msg_name => 'FORM_RECORD_CHANGED');
594 x_msg_data := 'FORM_RECORD_CHANGED';
595 else
596 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
597 p_msg_name => 'PA_XC_RECORD_CHANGED');
598 x_msg_data := 'PA_XC_RECORD_CHANGED';
599 end if;
600 x_return_status := 'E' ;
601 WHEN OTHERS THEN
602 IF SQLCODE = -54 THEN
603 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
604 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
605 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
606 x_return_status := 'E' ;
607 ELSE
608 raise;
609 END IF;
610 END;
611 ELSE
612 BEGIN
613 SELECT 'x' INTO l_dummy_char
614 FROM pa_projects_all
615 WHERE project_id = p_project_id
616 AND record_version_number = p_record_version_number;
617 EXCEPTION
618 WHEN NO_DATA_FOUND THEN
619 if p_calling_module = 'FORM' then
620 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'FND',
621 p_msg_name => 'FORM_RECORD_CHANGED');
622 x_msg_data := 'FORM_RECORD_CHANGED';
623 else
624 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
625 p_msg_name => 'PA_XC_RECORD_CHANGED');
626 x_msg_data := 'PA_XC_RECORD_CHANGED';
627 end if;
628 x_return_status := 'E' ;
629 WHEN OTHERS THEN
630 IF SQLCODE = -54 THEN
631 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
635 END IF;
632 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
633 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
634 x_return_status := 'E' ;
636 END;
637 end if;
638 l_msg_count := FND_MSG_PUB.count_msg;
639
640 IF l_msg_count > 0 THEN
641 x_msg_count := l_msg_count;
642 x_return_status := 'E';
643 RAISE FND_API.G_EXC_ERROR;
644 END IF;
645
646 PA_PROJ_TEMPLATE_SETUP_PVT.Delete_Project_Template(
647 p_api_version => p_api_version
648 ,p_init_msg_list => p_init_msg_list
649 ,p_commit => p_commit
650 ,p_validate_only => p_validate_only
651 ,p_validation_level => p_validation_level
652 ,p_calling_module => p_calling_module
653 ,p_debug_mode => p_debug_mode
654 ,p_max_msg_count => p_max_msg_count
655 ,p_project_id => p_project_id
656 ,p_record_version_number => p_record_version_number
657 ,x_return_status => l_return_status
658 ,x_msg_count => l_msg_count
659 ,x_msg_data => l_msg_data );
660
661 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
662 x_msg_count := FND_MSG_PUB.count_msg;
663 IF x_msg_count = 1 then
664 pa_interface_utils_pub.get_messages
665 (p_encoded => FND_API.G_TRUE,
666 p_msg_index => 1,
667 p_msg_count => l_msg_count,
668 p_msg_data => l_msg_data,
669 p_data => l_data,
670 p_msg_index_out => l_msg_index_out);
671 x_msg_data := l_data;
672 END IF;
673 raise FND_API.G_EXC_ERROR;
674 END IF;
675
676 x_return_status := FND_API.G_RET_STS_SUCCESS;
677
678 IF (p_commit = FND_API.G_TRUE) THEN
679 COMMIT;
680 END IF;
681
682 IF (p_debug_mode = 'Y') THEN
683 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Project_Template END');
684 END IF;
685 EXCEPTION
686 when FND_API.G_EXC_ERROR then
687 if p_commit = FND_API.G_TRUE then
688 rollback to Delete_Project_Template;
689 end if;
690 x_return_status := FND_API.G_RET_STS_ERROR;
691 when FND_API.G_EXC_UNEXPECTED_ERROR then
692 if p_commit = FND_API.G_TRUE then
693 rollback to Delete_Project_Template;
694 end if;
695 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
696 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
697 p_procedure_name => 'Delete_Project_Template',
698 p_error_text => SUBSTRB(SQLERRM,1,240));
699 when OTHERS then
700 if p_commit = FND_API.G_TRUE then
701 rollback to Delete_Project_Template;
702 end if;
703 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
704 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
705 p_procedure_name => 'Delete_Project_Template',
706 p_error_text => SUBSTRB(SQLERRM,1,240));
707 raise;
708 END Delete_Project_Template;
709
710
711 -- API name : Add_Project_Options
712 -- Type : Public API
713 -- Pre-reqs : None
714 -- Return Value :
715 --
716 -- Parameters
717 -- p_project_id IN NUMBER,
718 -- p_option_code IN VARCHAR
719 --
720 -- History
721 --
722 -- 15-FEB-02 Majid Ansari -Created
723 --
724 --
725 PROCEDURE Add_Project_Options(
726 p_api_version IN NUMBER :=1.0,
727 p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE,
728 p_commit IN VARCHAR2 :=FND_API.G_FALSE,
729 p_validate_only IN VARCHAR2 :=FND_API.G_TRUE,
730 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
731 p_calling_module IN VARCHAR2 :='SELF_SERVICE',
732 p_debug_mode IN VARCHAR2 :='N',
733 p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
734 p_project_id IN NUMBER,
735 p_option_code IN VARCHAR2,
736 p_action IN VARCHAR2 := 'ENABLE',
737 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
738 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
739 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
740 ) IS
741 l_api_name CONSTANT VARCHAR(30) := 'Add_Project_Options';
742 l_api_version CONSTANT NUMBER := 1.0;
743
744 l_return_status VARCHAR2(1);
745 l_msg_count NUMBER;
746 l_msg_data VARCHAR2(250);
747 l_data VARCHAR2(250);
748 l_msg_index_out NUMBER;
749 l_error_msg_code VARCHAR2(250);
750
751 l_organization_id NUMBER;
752 BEGIN
753 pa_debug.init_err_stack ('PA_PROJ_TEMPLATE_SETUP_PUB.Add_Project_Options');
754
755 IF (p_debug_mode = 'Y') THEN
756 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Add_Project_Options');
757 END IF;
758
759 IF (p_commit = FND_API.G_TRUE) THEN
760 savepoint Add_Project_Options;
761 END IF;
765 END IF;
762
763 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
764 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
766
767
768 IF FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
769 FND_MSG_PUB.initialize;
770 END IF;
771
772 PA_PROJ_TEMPLATE_SETUP_PVT.Add_Project_Options(
773 p_api_version => p_api_version
774 ,p_init_msg_list => p_init_msg_list
775 ,p_commit => p_commit
776 ,p_validate_only => p_validate_only
777 ,p_validation_level => p_validation_level
778 ,p_calling_module => p_calling_module
779 ,p_debug_mode => p_debug_mode
780 ,p_max_msg_count => p_max_msg_count
781 ,p_project_id => p_project_id
782 ,p_option_code => p_option_code
783 ,p_action => p_action
784 ,x_return_status => l_return_status
785 ,x_msg_count => l_msg_count
786 ,x_msg_data => l_msg_data );
787
788 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
789 x_msg_count := FND_MSG_PUB.count_msg;
790 IF x_msg_count = 1 then
791 pa_interface_utils_pub.get_messages
792 (p_encoded => FND_API.G_TRUE,
793 p_msg_index => 1,
794 p_msg_count => l_msg_count,
795 p_msg_data => l_msg_data,
796 p_data => l_data,
797 p_msg_index_out => l_msg_index_out);
798 x_msg_data := l_data;
799 END IF;
800 raise FND_API.G_EXC_ERROR;
801 END IF;
802
803 x_return_status := FND_API.G_RET_STS_SUCCESS;
804
805 IF (p_commit = FND_API.G_TRUE) THEN
806 COMMIT;
807 END IF;
808
809 IF (p_debug_mode = 'Y') THEN
810 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Add_Project_Options END');
811 END IF;
812 EXCEPTION
813 when FND_API.G_EXC_ERROR then
814 if p_commit = FND_API.G_TRUE then
815 rollback to Add_Project_Options;
816 end if;
817 x_return_status := FND_API.G_RET_STS_ERROR;
818 when FND_API.G_EXC_UNEXPECTED_ERROR then
819 if p_commit = FND_API.G_TRUE then
820 rollback to Add_Project_Options;
821 end if;
822 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
823 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
824 p_procedure_name => 'Add_Project_Options',
825 p_error_text => SUBSTRB(SQLERRM,1,240));
826 when OTHERS then
827 if p_commit = FND_API.G_TRUE then
828 rollback to Add_Project_Options;
829 end if;
830 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
831 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
832 p_procedure_name => 'Add_Project_Options',
833 p_error_text => SUBSTRB(SQLERRM,1,240));
834 raise;
835 END Add_Project_Options;
836
837
838 -- API name : Delete_Project_Options
839 -- Type : Public API
840 -- Pre-reqs : None
841 -- Return Value :
842 --
843 -- Parameters
844 -- p_project_id IN NUMBER,
845 -- p_option_code IN VARCHAR2,
846 -- p_record_version_number IN NUMBER,
847 --
848 -- History
849 --
850 -- 15-FEB-02 Majid Ansari -Created
851 --
852 --
853
854 PROCEDURE Delete_Project_Options(
855 p_api_version IN NUMBER :=1.0,
856 p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE,
857 p_commit IN VARCHAR2 :=FND_API.G_FALSE,
858 p_validate_only IN VARCHAR2 :=FND_API.G_TRUE,
859 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
860 p_calling_module IN VARCHAR2 :='SELF_SERVICE',
861 p_debug_mode IN VARCHAR2 :='N',
862 p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
863 p_project_id IN NUMBER,
864 p_option_code IN VARCHAR2,
865 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
866 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
867 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
868 ) IS
869 l_api_name CONSTANT VARCHAR(30) := 'Delete_Project_Options';
870 l_api_version CONSTANT NUMBER := 1.0;
871
872 l_return_status VARCHAR2(1);
873 l_msg_count NUMBER;
874 l_msg_data VARCHAR2(250);
875 l_data VARCHAR2(250);
876 l_msg_index_out NUMBER;
877 l_error_msg_code VARCHAR2(250);
878
879 l_organization_id NUMBER;
880 BEGIN
881 pa_debug.init_err_stack ('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Project_Options');
882
883 IF (p_debug_mode = 'Y') THEN
884 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Project_Options');
885 END IF;
886
887 IF (p_commit = FND_API.G_TRUE) THEN
888 savepoint Delete_Project_Options;
889 END IF;
890
891 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
892 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
893 END IF;
897 FND_MSG_PUB.initialize;
894
895
896 IF FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
898 END IF;
899
900 PA_PROJ_TEMPLATE_SETUP_PVT.Delete_Project_Options(
901 p_api_version => p_api_version
902 ,p_init_msg_list => p_init_msg_list
903 ,p_commit => p_commit
904 ,p_validate_only => p_validate_only
905 ,p_validation_level => p_validation_level
906 ,p_calling_module => p_calling_module
907 ,p_debug_mode => p_debug_mode
908 ,p_max_msg_count => p_max_msg_count
909 ,p_project_id => p_project_id
910 ,p_option_code => p_option_code
911 ,x_return_status => l_return_status
912 ,x_msg_count => l_msg_count
913 ,x_msg_data => l_msg_data );
914
915 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
916 x_msg_count := FND_MSG_PUB.count_msg;
917 IF x_msg_count = 1 then
918 pa_interface_utils_pub.get_messages
919 (p_encoded => FND_API.G_TRUE,
920 p_msg_index => 1,
921 p_msg_count => l_msg_count,
922 p_msg_data => l_msg_data,
923 p_data => l_data,
924 p_msg_index_out => l_msg_index_out);
925 x_msg_data := l_data;
926 END IF;
927 raise FND_API.G_EXC_ERROR;
928 END IF;
929
930 x_return_status := FND_API.G_RET_STS_SUCCESS;
931
932 IF (p_commit = FND_API.G_TRUE) THEN
933 COMMIT;
934 END IF;
935
936 IF (p_debug_mode = 'Y') THEN
937 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Project_Options END');
938 END IF;
939 EXCEPTION
940 when FND_API.G_EXC_ERROR then
941 if p_commit = FND_API.G_TRUE then
942 rollback to Delete_Project_Options;
943 end if;
944 x_return_status := FND_API.G_RET_STS_ERROR;
945 when FND_API.G_EXC_UNEXPECTED_ERROR then
946 if p_commit = FND_API.G_TRUE then
947 rollback to Delete_Project_Options;
948 end if;
949 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
950 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
951 p_procedure_name => 'Delete_Project_Options',
952 p_error_text => SUBSTRB(SQLERRM,1,240));
953 when OTHERS then
954 if p_commit = FND_API.G_TRUE then
955 rollback to Delete_Project_Options;
956 end if;
957 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
958 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
959 p_procedure_name => 'Delete_Project_Options',
960 p_error_text => SUBSTRB(SQLERRM,1,240));
961 raise;
962 END Delete_Project_Options;
963
964 -- API name : Add_Quick_Entry_Field
965 -- Type : Public API
966 -- Pre-reqs : None
967 -- Return Value :
968 --
969 -- Parameters
970 -- p_project_id IN NUMBER,
971 -- p_option_code IN VARCHAR2,
972 -- p_record_version_number IN NUMBER,
973 --
974 -- History
975 --
976 -- 15-FEB-02 Majid Ansari -Created
977 --
978 --
979
980 PROCEDURE Add_Quick_Entry_Field(
981 p_api_version IN NUMBER :=1.0,
982 p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE,
983 p_commit IN VARCHAR2 :=FND_API.G_FALSE,
984 p_validate_only IN VARCHAR2 :=FND_API.G_TRUE,
985 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
986 p_calling_module IN VARCHAR2 :='SELF_SERVICE',
987 p_debug_mode IN VARCHAR2 :='N',
988 p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
989 p_project_id IN NUMBER ,
990 p_sort_order IN NUMBER ,
991 p_field_name IN VARCHAR2 := 'JUNK_CHARS',
992 p_field_meaning IN VARCHAR2 := 'JUNK_CHARS',
993 p_specification IN VARCHAR2 := 'JUNK_CHARS',
994 p_limiting_value IN VARCHAR2 := 'JUNK_CHARS',
995 p_prompt IN VARCHAR2 ,
996 p_required_flag IN VARCHAR2 := 'N',
997 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
998 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
999 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1000 ) IS
1001 l_api_name CONSTANT VARCHAR(30) := 'Add_Quick_Entry_Field';
1002 l_api_version CONSTANT NUMBER := 1.0;
1003
1004 l_return_status VARCHAR2(1);
1005 l_msg_count NUMBER;
1006 l_msg_data VARCHAR2(250);
1007 l_data VARCHAR2(250);
1008 l_msg_index_out NUMBER;
1009 l_error_msg_code VARCHAR2(250);
1010
1011 l_organization_id NUMBER;
1012 l_field_name VARCHAR2(80);
1013 l_limiting_value VARCHAR2(80);
1014 BEGIN
1015 x_return_status := FND_API.G_RET_STS_SUCCESS;
1016
1017 pa_debug.init_err_stack ('PA_PROJ_TEMPLATE_SETUP_PUB.Add_Quick_Entry_Field');
1018
1019 IF (p_debug_mode = 'Y') THEN
1020 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Add_Quick_Entry_Field');
1021 END IF;
1022
1023 IF (p_commit = FND_API.G_TRUE) THEN
1024 savepoint Add_Quick_Entry_Field;
1025 END IF;
1026
1030
1027 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
1028 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1029 END IF;
1031 IF FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
1032 FND_MSG_PUB.initialize;
1033 END IF;
1034
1035 IF p_sort_order IS NULL
1036 THEN
1037 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1038 p_msg_name => 'PA_SETUP_ORDER_REQ' );
1039 x_msg_data := 'PA_SETUP_ORDER_REQ';
1040 x_return_status := 'E';
1041 RAISE FND_API.G_EXC_ERROR;
1042 END IF;
1043
1044 IF ( p_field_name IS NOT NULL AND p_field_name <> 'JUNK_CHARS' )
1045 THEN
1046 l_field_name := p_field_name;
1047 ELSIF ( p_field_meaning IS NOT NULL AND p_field_meaning <> 'JUNK_CHARS' )
1048 THEN
1049 PA_PROJ_TEMPLATE_SETUP_UTILS.Get_Field_name(
1050 p_field_name_meaning => p_field_meaning
1051 ,x_field_name => l_field_name
1052 ,x_return_status => l_return_status
1053 ,x_error_msg_code => l_error_msg_code
1054 );
1055 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1056 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1057 p_msg_name => l_error_msg_code);
1058 END IF;
1059 ELSE
1060 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1061 p_msg_name => 'PA_SETUP_FIELD_NAME_REQ' );
1062 x_msg_data := 'PA_SETUP_FIELD_NAME_REQ';
1063 x_return_status := 'E';
1064 RAISE FND_API.G_EXC_ERROR;
1065 END IF;
1066
1067 IF p_prompt IS NULL
1068 THEN
1069 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1073 RAISE FND_API.G_EXC_ERROR;
1070 p_msg_name => 'PA_SETUP_PROMPT_REQ' );
1071 x_msg_data := 'PA_SETUP_PROMPT_REQ';
1072 x_return_status := 'E';
1074 END IF;
1075
1076 IF ( p_limiting_value IS NOT NULL AND p_limiting_value <> 'JUNK_CHARS' )
1077 THEN
1078 l_limiting_value := p_limiting_value;
1079 ELSIF ( p_specification IS NOT NULL AND p_specification <> 'JUNK_CHARS' )
1080 THEN
1081 PA_PROJ_TEMPLATE_SETUP_UTILS.Get_limiting_value(
1082 p_field_name => l_field_name
1083 ,p_specification => p_specification
1084 ,x_limiting_value => l_limiting_value
1085 ,x_return_status => l_return_status
1086 ,x_error_msg_code => l_error_msg_code
1087 );
1088 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1089 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1090 p_msg_name => l_error_msg_code);
1091 END IF;
1092 ELSE
1093 l_limiting_value := null;
1094 END IF;
1095
1096 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1097 x_msg_count := FND_MSG_PUB.count_msg;
1098 IF x_msg_count = 1 then
1099 pa_interface_utils_pub.get_messages
1100 (p_encoded => FND_API.G_TRUE,
1101 p_msg_index => 1,
1102 p_msg_count => l_msg_count,
1103 p_msg_data => l_msg_data,
1104 p_data => l_data,
1105 p_msg_index_out => l_msg_index_out);
1106 x_msg_data := l_data;
1107 END IF;
1108 raise FND_API.G_EXC_ERROR;
1109 END IF;
1110
1111 PA_PROJ_TEMPLATE_SETUP_PVT.Add_Quick_Entry_Field(
1112 p_api_version => p_api_version
1113 ,p_init_msg_list => p_init_msg_list
1114 ,p_commit => p_commit
1115 ,p_validate_only => p_validate_only
1116 ,p_validation_level => p_validation_level
1117 ,p_calling_module => p_calling_module
1118 ,p_debug_mode => p_debug_mode
1119 ,p_max_msg_count => p_max_msg_count
1120 ,p_project_id => p_project_id
1121 ,p_sort_order => p_sort_order
1122 ,p_field_name => l_field_name
1123 ,p_limiting_value => l_limiting_value
1124 ,p_prompt => p_prompt
1128 ,x_msg_data => l_msg_data );
1125 ,p_required_flag => p_required_flag
1126 ,x_return_status => l_return_status
1127 ,x_msg_count => l_msg_count
1129
1130 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1131 x_msg_count := FND_MSG_PUB.count_msg;
1132 IF x_msg_count = 1 then
1133 pa_interface_utils_pub.get_messages
1134 (p_encoded => FND_API.G_TRUE,
1135 p_msg_index => 1,
1136 p_msg_count => l_msg_count,
1137 p_msg_data => l_msg_data,
1138 p_data => l_data,
1139 p_msg_index_out => l_msg_index_out);
1140 x_msg_data := l_data;
1141 END IF;
1142 raise FND_API.G_EXC_ERROR;
1143 END IF;
1144
1145 x_return_status := FND_API.G_RET_STS_SUCCESS;
1146
1147 IF (p_commit = FND_API.G_TRUE) THEN
1148 COMMIT;
1149 END IF;
1150
1151 IF (p_debug_mode = 'Y') THEN
1152 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Add_Quick_Entry_Field END');
1153 END IF;
1154 EXCEPTION
1155 when FND_API.G_EXC_ERROR then
1156 if p_commit = FND_API.G_TRUE then
1157 rollback to Add_Quick_Entry_Field;
1158 end if;
1159 x_return_status := FND_API.G_RET_STS_ERROR;
1160 when FND_API.G_EXC_UNEXPECTED_ERROR then
1161 if p_commit = FND_API.G_TRUE then
1162 rollback to Add_Quick_Entry_Field;
1163 end if;
1164 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1165 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
1166 p_procedure_name => 'Add_Quick_Entry_Field',
1167 p_error_text => SUBSTRB(SQLERRM,1,240));
1168 when OTHERS then
1169 if p_commit = FND_API.G_TRUE then
1170 rollback to Add_Quick_Entry_Field;
1171 end if;
1172 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1173 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
1174 p_procedure_name => 'Add_Quick_Entry_Field',
1175 p_error_text => SUBSTRB(SQLERRM,1,240));
1176 raise;
1177 END Add_Quick_Entry_Field;
1178
1179 -- API name : Update_Quick_Entry_Field
1180 -- Type : Public API
1181 -- Pre-reqs : None
1182 -- Return Value :
1183 --
1184 -- Parameters
1185 -- p_project_id IN NUMBER,
1186 -- p_option_code IN VARCHAR2,
1187 -- p_record_version_number IN NUMBER,
1188 --
1189 -- History
1190 --
1191 -- 15-FEB-02 Majid Ansari -Created
1192 --
1193 --
1194
1195 PROCEDURE Update_Quick_Entry_Field(
1196 p_api_version IN NUMBER :=1.0,
1197 p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE,
1198 p_commit IN VARCHAR2 :=FND_API.G_FALSE,
1199 p_validate_only IN VARCHAR2 :=FND_API.G_TRUE,
1200 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
1201 p_calling_module IN VARCHAR2 :='SELF_SERVICE',
1202 p_debug_mode IN VARCHAR2 :='N',
1203 p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
1204 p_project_id IN NUMBER ,
1205 p_row_id IN VARCHAR2 ,
1206 p_sort_order IN NUMBER ,
1207 p_field_name IN VARCHAR2 := 'JUNK_CHARS',
1208 p_field_meaning IN VARCHAR2 := 'JUNK_CHARS',
1209 p_specification IN VARCHAR2 := 'JUNK_CHARS',
1210 p_limiting_value IN VARCHAR2 := 'JUNK_CHARS',
1211 p_prompt IN VARCHAR2 ,
1212 p_required_flag IN VARCHAR2 := 'N',
1213 p_record_version_number IN NUMBER,
1214 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
1215 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
1216 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1217 ) IS
1218 l_api_name CONSTANT VARCHAR(30) := 'Update_Quick_Entry_Field';
1222 l_msg_count NUMBER;
1219 l_api_version CONSTANT NUMBER := 1.0;
1220
1221 l_return_status VARCHAR2(1);
1223 l_msg_data VARCHAR2(250);
1224 l_data VARCHAR2(250);
1225 l_msg_index_out NUMBER;
1226 l_error_msg_code VARCHAR2(250);
1227
1228 l_organization_id NUMBER;
1229
1230 l_field_name VARCHAR2(80);
1231 l_field_name2 VARCHAR2(80);
1235 CURSOR cur_pa_overrides
1232 l_limiting_value VARCHAR2(80);
1233 l_dummy_char VARCHAR2(1);
1234
1236 IS
1237 SELECT field_name
1238 FROM pa_project_copy_overrides
1239 WHERE rowid = p_row_id;
1240 BEGIN
1241 x_return_status := FND_API.G_RET_STS_SUCCESS;
1242
1243 pa_debug.init_err_stack ('PA_PROJ_TEMPLATE_SETUP_PUB.Update_Quick_Entry_Field');
1244
1245 IF (p_debug_mode = 'Y') THEN
1246 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Update_Quick_Entry_Field');
1247 END IF;
1248
1249 IF (p_commit = FND_API.G_TRUE) THEN
1250 savepoint Update_Quick_Entry_Field;
1251 END IF;
1252
1253 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
1254 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1255 END IF;
1256
1257
1258 IF FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
1259 FND_MSG_PUB.initialize;
1260 END IF;
1261
1262 IF p_sort_order IS NULL
1263 THEN
1264 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1265 p_msg_name => 'PA_SETUP_ORDER_REQ' );
1266 x_msg_data := 'PA_SETUP_ORDER_REQ';
1267 x_return_status := 'E';
1268 RAISE FND_API.G_EXC_ERROR;
1269 END IF;
1270
1271 IF ( p_field_name IS NOT NULL AND p_field_name <> 'JUNK_CHARS' )
1272 THEN
1273 l_field_name := p_field_name;
1274 ELSIF ( p_field_meaning IS NOT NULL AND p_field_meaning <> 'JUNK_CHARS' )
1275 THEN
1276 PA_PROJ_TEMPLATE_SETUP_UTILS.Get_Field_name(
1277 p_field_name_meaning => p_field_meaning
1278 ,x_field_name => l_field_name
1279 ,x_return_status => l_return_status
1280 ,x_error_msg_code => l_error_msg_code
1281 );
1282 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1283 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1284 p_msg_name => l_error_msg_code);
1285 END IF;
1286 ELSE
1287 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1288 p_msg_name => 'PA_SETUP_FIELD_NAME_REQ' );
1289 x_msg_data := 'PA_SETUP_FIELD_NAME_REQ';
1290 x_return_status := 'E';
1291 RAISE FND_API.G_EXC_ERROR;
1292 END IF;
1293
1294 OPEN cur_pa_overrides;
1295 FETCH cur_pa_overrides INTO l_field_name2;
1296 CLOSE cur_pa_overrides;
1297
1298 IF (l_field_name2 = 'SEGMENT1' OR l_field_name2 = 'NAME') AND
1299 l_field_name <> l_field_name2
1300 THEN
1301 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1302 p_msg_name => 'PA_SETUP_CANT_MODFY_OVER' );
1303 x_msg_data := 'PA_SETUP_CANT_MODFY_OVER';
1304 x_return_status := 'E';
1305 RAISE FND_API.G_EXC_ERROR;
1306 END IF;
1307
1308 IF p_prompt IS NULL
1309 THEN
1310 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1311 p_msg_name => 'PA_SETUP_PROMPT_REQ' );
1312 x_msg_data := 'PA_SETUP_PROMPT_REQ';
1313 x_return_status := 'E';
1314 RAISE FND_API.G_EXC_ERROR;
1315 END IF;
1316
1317 IF ( p_limiting_value IS NOT NULL AND p_limiting_value <> 'JUNK_CHARS' )
1318 THEN
1319 l_limiting_value := p_limiting_value;
1320 ELSIF ( p_specification IS NOT NULL AND p_specification <> 'JUNK_CHARS' )
1321 THEN
1322 PA_PROJ_TEMPLATE_SETUP_UTILS.Get_limiting_value(
1323 p_field_name => l_field_name
1324 ,p_specification => p_specification
1325 ,x_limiting_value => l_limiting_value
1326 ,x_return_status => l_return_status
1327 ,x_error_msg_code => l_error_msg_code
1328 );
1329 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1330 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1331 p_msg_name => l_error_msg_code);
1332 END IF;
1333 ELSE
1334 l_limiting_value := null;
1335 END IF;
1336
1337 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1338 x_msg_count := FND_MSG_PUB.count_msg;
1339 IF x_msg_count = 1 then
1340 pa_interface_utils_pub.get_messages
1341 (p_encoded => FND_API.G_TRUE,
1342 p_msg_index => 1,
1343 p_msg_count => l_msg_count,
1344 p_msg_data => l_msg_data,
1345 p_data => l_data,
1346 p_msg_index_out => l_msg_index_out);
1347 x_msg_data := l_data;
1348 END IF;
1349 raise FND_API.G_EXC_ERROR;
1350 END IF;
1351
1352 IF p_validate_only <> FND_API.G_TRUE
1353 THEN
1354 BEGIN
1355 SELECT 'x' INTO l_dummy_char
1356 FROM pa_project_copy_overrides
1357 WHERE project_id = p_project_id
1358 AND record_version_number = p_record_version_number
1359 AND rowid = p_row_id
1360 FOR UPDATE OF record_version_number NOWAIT;
1361 EXCEPTION
1362 WHEN TIMEOUT_ON_RESOURCE THEN
1363 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1367 WHEN NO_DATA_FOUND THEN
1364 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1365 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1366 x_return_status := 'E' ;
1368 if p_calling_module = 'FORM' then
1369 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'FND',
1370 p_msg_name => 'FORM_RECORD_CHANGED');
1371 x_msg_data := 'FORM_RECORD_CHANGED';
1372 else
1373 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1374 p_msg_name => 'PA_XC_RECORD_CHANGED');
1375 x_msg_data := 'PA_XC_RECORD_CHANGED';
1376 end if;
1377 x_return_status := 'E' ;
1378 WHEN OTHERS THEN
1379 IF SQLCODE = -54 THEN
1380 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1381 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1382 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1383 x_return_status := 'E' ;
1384 ELSE
1385 raise;
1386 END IF;
1387 END;
1388 ELSE
1389 BEGIN
1390 SELECT 'x' INTO l_dummy_char
1391 FROM pa_project_copy_overrides
1392 WHERE project_id = p_project_id
1393 AND rowid = p_row_id
1394 AND record_version_number = p_record_version_number;
1395 EXCEPTION
1396 WHEN NO_DATA_FOUND THEN
1397 if p_calling_module = 'FORM' then
1398 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'FND',
1399 p_msg_name => 'FORM_RECORD_CHANGED');
1400 x_msg_data := 'FORM_RECORD_CHANGED';
1401 else
1402 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1403 p_msg_name => 'PA_XC_RECORD_CHANGED');
1404 x_msg_data := 'PA_XC_RECORD_CHANGED';
1405 end if;
1406 x_return_status := 'E' ;
1407 WHEN OTHERS THEN
1408 IF SQLCODE = -54 THEN
1409 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1410 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1411 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1412 x_return_status := 'E' ;
1413 END IF;
1414 END;
1415 end if;
1416 l_msg_count := FND_MSG_PUB.count_msg;
1417
1418 IF l_msg_count > 0 THEN
1419 x_msg_count := l_msg_count;
1420 x_return_status := 'E';
1421 RAISE FND_API.G_EXC_ERROR;
1422 END IF;
1423
1424 PA_PROJ_TEMPLATE_SETUP_PVT.Update_Quick_Entry_Field(
1425 p_api_version => p_api_version
1426 ,p_init_msg_list => p_init_msg_list
1427 ,p_commit => p_commit
1428 ,p_validate_only => p_validate_only
1429 ,p_validation_level => p_validation_level
1430 ,p_calling_module => p_calling_module
1431 ,p_debug_mode => p_debug_mode
1432 ,p_max_msg_count => p_max_msg_count
1433 ,p_project_id => p_project_id
1434 ,p_row_id => p_row_id
1435 ,p_sort_order => p_sort_order
1436 ,p_field_name => l_field_name
1437 ,p_limiting_value => l_limiting_value
1438 ,p_prompt => p_prompt
1439 ,p_required_flag => p_required_flag
1440 ,p_record_version_number => p_record_version_number
1441 ,x_return_status => l_return_status
1442 ,x_msg_count => l_msg_count
1443 ,x_msg_data => l_msg_data );
1444
1445 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1446 x_msg_count := FND_MSG_PUB.count_msg;
1447 IF x_msg_count = 1 then
1448 pa_interface_utils_pub.get_messages
1449 (p_encoded => FND_API.G_TRUE,
1450 p_msg_index => 1,
1451 p_msg_count => l_msg_count,
1452 p_msg_data => l_msg_data,
1453 p_data => l_data,
1454 p_msg_index_out => l_msg_index_out);
1455 x_msg_data := l_data;
1456 END IF;
1457 raise FND_API.G_EXC_ERROR;
1458 END IF;
1459
1460 x_return_status := FND_API.G_RET_STS_SUCCESS;
1461
1462 IF (p_commit = FND_API.G_TRUE) THEN
1463 COMMIT;
1464 END IF;
1465
1466 IF (p_debug_mode = 'Y') THEN
1467 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Update_Quick_Entry_Field END');
1468 END IF;
1469 EXCEPTION
1470 when FND_API.G_EXC_ERROR then
1471 if p_commit = FND_API.G_TRUE then
1472 rollback to Update_Quick_Entry_Field;
1473 end if;
1474 x_return_status := FND_API.G_RET_STS_ERROR;
1475 when FND_API.G_EXC_UNEXPECTED_ERROR then
1476 if p_commit = FND_API.G_TRUE then
1477 rollback to Update_Quick_Entry_Field;
1478 end if;
1479 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1480 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
1481 p_procedure_name => 'Update_Quick_Entry_Field',
1482 p_error_text => SUBSTRB(SQLERRM,1,240));
1483 when OTHERS then
1484 if p_commit = FND_API.G_TRUE then
1485 rollback to Update_Quick_Entry_Field;
1486 end if;
1487 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1488 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
1492 END Update_Quick_Entry_Field;
1489 p_procedure_name => 'Update_Quick_Entry_Field',
1490 p_error_text => SUBSTRB(SQLERRM,1,240));
1491 raise;
1493
1494
1495 -- API name : Delete_Quick_Entry_Field
1496 -- Type : Public API
1497 -- Pre-reqs : None
1498 -- Return Value :
1499 --
1500 -- Parameters
1501 --p_project_id IN NUMBER No Not Null
1502 --p_field_name IN VARCHAR2 No FND_API.G_MISS_CHAR
1503 --p_record_version_number IN NUMBER No not null
1504 --
1505 -- History
1506 --
1507 -- 15-FEB-02 Majid Ansari -Created
1508 --
1509 --
1510
1511 PROCEDURE Delete_Quick_Entry_Field(
1512 p_api_version IN NUMBER :=1.0,
1513 p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE,
1514 p_commit IN VARCHAR2 :=FND_API.G_FALSE,
1515 p_validate_only IN VARCHAR2 :=FND_API.G_TRUE,
1516 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
1517 p_calling_module IN VARCHAR2 :='SELF_SERVICE',
1518 p_debug_mode IN VARCHAR2 :='N',
1519 p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM,
1520 p_project_id IN NUMBER,
1521 p_row_id IN VARCHAR2,
1522 p_record_version_number IN NUMBER,
1523 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
1524 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
1525 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1526 ) IS
1530 l_return_status VARCHAR2(1);
1527 l_api_name CONSTANT VARCHAR(30) := 'Delete_Quick_Entry_Field';
1528 l_api_version CONSTANT NUMBER := 1.0;
1529
1531 l_msg_count NUMBER;
1532 l_msg_data VARCHAR2(250);
1533 l_data VARCHAR2(250);
1534 l_msg_index_out NUMBER;
1535 l_error_msg_code VARCHAR2(250);
1536
1537 l_organization_id NUMBER;
1538 l_dummy_char VARCHAR2(1);
1539 BEGIN
1540 pa_debug.init_err_stack ('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Quick_Entry_Field');
1541
1542 IF (p_debug_mode = 'Y') THEN
1543 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Quick_Entry_Field');
1544 END IF;
1545
1546 IF (p_commit = FND_API.G_TRUE) THEN
1547 savepoint Delete_Quick_Entry_Field;
1548 END IF;
1549
1550 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
1551 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1552 END IF;
1553
1554
1555 IF FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
1556 FND_MSG_PUB.initialize;
1557 END IF;
1558
1559 IF p_validate_only <> FND_API.G_TRUE
1560 THEN
1561 BEGIN
1562 SELECT 'x' INTO l_dummy_char
1563 FROM pa_project_copy_overrides
1564 WHERE project_id = p_project_id
1565 AND record_version_number = p_record_version_number
1566 AND rowid = p_row_id
1567 FOR UPDATE OF record_version_number NOWAIT;
1568 EXCEPTION
1569 WHEN TIMEOUT_ON_RESOURCE THEN
1570 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1571 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1572 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1573 x_return_status := 'E' ;
1574 WHEN NO_DATA_FOUND THEN
1575 if p_calling_module = 'FORM' then
1576 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'FND',
1577 p_msg_name => 'FORM_RECORD_CHANGED');
1578 x_msg_data := 'FORM_RECORD_CHANGED';
1579 else
1580 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1581 p_msg_name => 'PA_XC_RECORD_CHANGED');
1582 x_msg_data := 'PA_XC_RECORD_CHANGED';
1583 end if;
1584 x_return_status := 'E' ;
1585 WHEN OTHERS THEN
1586 IF SQLCODE = -54 THEN
1587 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1588 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1589 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1590 x_return_status := 'E' ;
1594 END;
1591 ELSE
1592 raise;
1593 END IF;
1595 ELSE
1596 BEGIN
1597 SELECT 'x' INTO l_dummy_char
1598 FROM pa_project_copy_overrides
1599 WHERE project_id = p_project_id
1600 AND rowid = p_row_id
1601 AND record_version_number = p_record_version_number;
1602 EXCEPTION
1603 WHEN NO_DATA_FOUND THEN
1604 if p_calling_module = 'FORM' then
1605 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'FND',
1606 p_msg_name => 'FORM_RECORD_CHANGED');
1607 x_msg_data := 'FORM_RECORD_CHANGED';
1608 else
1609 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1610 p_msg_name => 'PA_XC_RECORD_CHANGED');
1611 x_msg_data := 'PA_XC_RECORD_CHANGED';
1612 end if;
1613 x_return_status := 'E' ;
1614 WHEN OTHERS THEN
1615 IF SQLCODE = -54 THEN
1616 PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1617 p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1618 x_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1619 x_return_status := 'E' ;
1620 END IF;
1621 END;
1622 end if;
1623 l_msg_count := FND_MSG_PUB.count_msg;
1624
1625 IF l_msg_count > 0 THEN
1626 x_msg_count := l_msg_count;
1627 x_return_status := 'E';
1628 RAISE FND_API.G_EXC_ERROR;
1629 END IF;
1630
1631 PA_PROJ_TEMPLATE_SETUP_PVT.Delete_Quick_Entry_Field(
1632 p_api_version => p_api_version
1633 ,p_init_msg_list => p_init_msg_list
1634 ,p_commit => p_commit
1635 ,p_validate_only => p_validate_only
1636 ,p_validation_level => p_validation_level
1637 ,p_calling_module => p_calling_module
1638 ,p_debug_mode => p_debug_mode
1639 ,p_max_msg_count => p_max_msg_count
1640 ,p_project_id => p_project_id
1641 ,p_row_id => p_row_id
1642 ,p_record_version_number => p_record_version_number
1643 ,x_return_status => l_return_status
1644 ,x_msg_count => l_msg_count
1645 ,x_msg_data => l_msg_data );
1646
1647 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1648 x_msg_count := FND_MSG_PUB.count_msg;
1649 IF x_msg_count = 1 then
1650 pa_interface_utils_pub.get_messages
1651 (p_encoded => FND_API.G_TRUE,
1652 p_msg_index => 1,
1653 p_msg_count => l_msg_count,
1654 p_msg_data => l_msg_data,
1655 p_data => l_data,
1656 p_msg_index_out => l_msg_index_out);
1657 x_msg_data := l_data;
1658 END IF;
1659 raise FND_API.G_EXC_ERROR;
1660 END IF;
1661
1662 x_return_status := FND_API.G_RET_STS_SUCCESS;
1663
1664 IF (p_commit = FND_API.G_TRUE) THEN
1665 COMMIT;
1666 END IF;
1667
1668 IF (p_debug_mode = 'Y') THEN
1669 pa_debug.debug('PA_PROJ_TEMPLATE_SETUP_PUB.Delete_Quick_Entry_Field END');
1670 END IF;
1671 EXCEPTION
1672 when FND_API.G_EXC_ERROR then
1673 if p_commit = FND_API.G_TRUE then
1674 rollback to Delete_Quick_Entry_Field;
1675 end if;
1676 x_return_status := FND_API.G_RET_STS_ERROR;
1677 when FND_API.G_EXC_UNEXPECTED_ERROR then
1678 if p_commit = FND_API.G_TRUE then
1679 rollback to Delete_Quick_Entry_Field;
1680 end if;
1684 p_error_text => SUBSTRB(SQLERRM,1,240));
1681 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1682 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
1683 p_procedure_name => 'Delete_Quick_Entry_Field',
1685 when OTHERS then
1686 if p_commit = FND_API.G_TRUE then
1687 rollback to Delete_Quick_Entry_Field;
1688 end if;
1689 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1690 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJ_TEMPLATE_SETUP_PUB',
1691 p_procedure_name => 'Delete_Quick_Entry_Field',
1695
1692 p_error_text => SUBSTRB(SQLERRM,1,240));
1693 raise;
1694 END Delete_Quick_Entry_Field;
1696
1697 END PA_PROJ_TEMPLATE_SETUP_PUB;