[Home] [Help]
PACKAGE BODY: APPS.PA_PROJECT_SETS_PUB
Source
1 PACKAGE BODY pa_project_sets_pub AS
2 /*$Header: PAPPSPUB.pls 120.2 2005/08/23 21:50:24 avaithia noship $*/
3
4 --
5 PROCEDURE create_project_set
6 ( p_project_set_name IN pa_project_sets_tl.name%TYPE
7 ,p_party_id IN pa_project_sets_b.party_id%TYPE
8 ,p_effective_start_date IN pa_project_sets_b.effective_start_date%TYPE
9 ,p_effective_end_date IN pa_project_sets_b.effective_end_date%TYPE := NULL
10 ,p_access_level IN pa_project_sets_b.access_level%TYPE
11 ,p_description IN pa_project_sets_tl.description%TYPE := NULL
12 ,p_party_name IN hz_parties.party_name%TYPE
13 ,p_attribute_category IN pa_project_sets_b.attribute_category%TYPE := NULL
14 ,p_attribute1 IN pa_project_sets_b.attribute1%TYPE := NULL
15 ,p_attribute2 IN pa_project_sets_b.attribute2%TYPE := NULL
16 ,p_attribute3 IN pa_project_sets_b.attribute3%TYPE := NULL
17 ,p_attribute4 IN pa_project_sets_b.attribute4%TYPE := NULL
18 ,p_attribute5 IN pa_project_sets_b.attribute5%TYPE := NULL
19 ,p_attribute6 IN pa_project_sets_b.attribute6%TYPE := NULL
20 ,p_attribute7 IN pa_project_sets_b.attribute7%TYPE := NULL
21 ,p_attribute8 IN pa_project_sets_b.attribute8%TYPE := NULL
22 ,p_attribute9 IN pa_project_sets_b.attribute9%TYPE := NULL
23 ,p_attribute10 IN pa_project_sets_b.attribute10%TYPE := NULL
24 ,p_attribute11 IN pa_project_sets_b.attribute11%TYPE := NULL
25 ,p_attribute12 IN pa_project_sets_b.attribute12%TYPE := NULL
26 ,p_attribute13 IN pa_project_sets_b.attribute13%TYPE := NULL
27 ,p_attribute14 IN pa_project_sets_b.attribute14%TYPE := NULL
28 ,p_attribute15 IN pa_project_sets_b.attribute15%TYPE := NULL
29 ,p_api_version IN NUMBER := 1.0
30 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
31 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
32 ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
33 ,x_project_set_id OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
34 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
35 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
36 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
37 )
38 IS
39
40 l_return_status VARCHAR2(1);
41 l_msg_index_out NUMBER;
42 l_enable_log varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
43
44 BEGIN
45
46 -- Initialize the Error Stack
47 IF l_enable_log = 'Y' THEN
48 PA_DEBUG.init_err_stack('PA_PROJECT_SETS_PUB.Create_Project_Set');
49 END IF;
50
51 -- Initialize the return status to success
52 x_return_status := FND_API.G_RET_STS_SUCCESS;
53
54 --Clear the global PL/SQL message table
55 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
56 FND_MSG_PUB.initialize;
57 END IF;
58
59 -- Issue API savepoint if the transaction is to be committed
60 IF p_commit = FND_API.G_TRUE THEN
61 SAVEPOINT CREATE_PROJECT_SETS_PUB;
62 END IF;
63
64 --Log Message
65 IF l_enable_log = 'Y' THEN
66 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Create_Project_Set.begin'
67 ,x_msg => 'Beginning of Create_Project_Set pub'
68 ,x_log_level => 5);
69
70 --Log Message
71 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Create_Project_Set.begin'
72 ,x_msg => 'calling create_Project_Set pvt'
73 ,x_log_level => 5);
74 END IF;
75
76
77 PA_PROJECT_SETS_PVT.create_project_set(
78 p_project_set_name => p_project_set_name
79 ,p_party_id => p_party_id
80 ,p_effective_start_date => p_effective_start_date
81 ,p_effective_end_date => p_effective_end_date
82 ,p_access_level => p_access_level
83 ,p_description => p_description
84 ,p_party_name => p_party_name
85 ,p_attribute_category => p_attribute_category
86 ,p_attribute1 => p_attribute1
87 ,p_attribute2 => p_attribute2
88 ,p_attribute3 => p_attribute3
89 ,p_attribute4 => p_attribute4
90 ,p_attribute5 => p_attribute5
91 ,p_attribute6 => p_attribute6
92 ,p_attribute7 => p_attribute7
93 ,p_attribute8 => p_attribute8
94 ,p_attribute9 => p_attribute9
95 ,p_attribute10 => p_attribute10
96 ,p_attribute11 => p_attribute11
97 ,p_attribute12 => p_attribute12
98 ,p_attribute13 => p_attribute13
99 ,p_attribute14 => p_attribute14
100 ,p_attribute15 => p_attribute15
101 ,x_project_set_id => x_project_set_id
102 ,x_return_status => l_return_status);
103
104 x_msg_count := FND_MSG_PUB.Count_Msg;
105 IF x_msg_count = 1 THEN
106 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
107 ,p_msg_index => 1
108 ,p_data => x_msg_data
109 ,p_msg_index_out => l_msg_index_out
110 );
111 END IF;
112
113 -- Reset the error stack when returning to the calling program
114 IF l_enable_log = 'Y' THEN
115 PA_DEBUG.Reset_Err_Stack;
116 END IF;
117 -- If any errors exist then set the x_return_status to 'E'
118
119 IF x_msg_count > 0 THEN
120 x_return_status := FND_API.G_RET_STS_ERROR;
121 END IF;
122
123 -- Commit if the flag is set and there is no error
124 IF p_commit = FND_API.G_TRUE AND x_msg_count = 0 THEN
125 COMMIT;
126 END IF;
127
128 EXCEPTION
129 WHEN OTHERS THEN
130 IF p_commit = FND_API.G_TRUE THEN
131 ROLLBACK TO CREATE_PROJECT_SETS_PUB;
132 END IF;
133
134 -- 4537865 : RESET the OUT params properly
135 x_project_set_id := NULL ;
136 x_msg_count := 1;
137 x_msg_data := SUBSTRB(SQLERRM,1,120);
138
139 -- Set the exception Message and the stack
140 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROJECT_SETS_PUB.Create_Project_Set'
141 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
142 --
143 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
144 --RAISE;
145
146 END create_project_set;
147
148
149 PROCEDURE update_project_set
150 (p_project_set_id IN pa_project_sets_b.project_set_id%TYPE
151 ,p_project_set_name IN pa_project_sets_tl.name%TYPE := FND_API.G_MISS_CHAR
152 ,p_party_id IN pa_project_sets_b.party_id%TYPE := FND_API.G_MISS_NUM
153 ,p_effective_start_date IN pa_project_sets_b.effective_start_date%TYPE := FND_API.G_MISS_DATE
154 ,p_effective_end_date IN pa_project_sets_b.effective_end_date%TYPE := FND_API.G_MISS_DATE
155 ,p_access_level IN pa_project_sets_b.access_level%TYPE := FND_API.G_MISS_NUM
156 ,p_description IN pa_project_sets_tl.description%TYPE := FND_API.G_MISS_CHAR
157 ,p_party_name IN hz_parties.party_name%TYPE := FND_API.G_MISS_CHAR
158 ,p_attribute_category IN pa_project_sets_b.attribute_category%TYPE := FND_API.G_MISS_CHAR
159 ,p_attribute1 IN pa_project_sets_b.attribute1%TYPE := FND_API.G_MISS_CHAR
160 ,p_attribute2 IN pa_project_sets_b.attribute2%TYPE := FND_API.G_MISS_CHAR
161 ,p_attribute3 IN pa_project_sets_b.attribute3%TYPE := FND_API.G_MISS_CHAR
162 ,p_attribute4 IN pa_project_sets_b.attribute4%TYPE := FND_API.G_MISS_CHAR
163 ,p_attribute5 IN pa_project_sets_b.attribute5%TYPE := FND_API.G_MISS_CHAR
164 ,p_attribute6 IN pa_project_sets_b.attribute6%TYPE := FND_API.G_MISS_CHAR
165 ,p_attribute7 IN pa_project_sets_b.attribute7%TYPE := FND_API.G_MISS_CHAR
166 ,p_attribute8 IN pa_project_sets_b.attribute8%TYPE := FND_API.G_MISS_CHAR
167 ,p_attribute9 IN pa_project_sets_b.attribute9%TYPE := FND_API.G_MISS_CHAR
168 ,p_attribute10 IN pa_project_sets_b.attribute10%TYPE := FND_API.G_MISS_CHAR
169 ,p_attribute11 IN pa_project_sets_b.attribute11%TYPE := FND_API.G_MISS_CHAR
170 ,p_attribute12 IN pa_project_sets_b.attribute12%TYPE := FND_API.G_MISS_CHAR
171 ,p_attribute13 IN pa_project_sets_b.attribute13%TYPE := FND_API.G_MISS_CHAR
172 ,p_attribute14 IN pa_project_sets_b.attribute14%TYPE := FND_API.G_MISS_CHAR
173 ,p_attribute15 IN pa_project_sets_b.attribute15%TYPE := FND_API.G_MISS_CHAR
174 ,p_record_version_number IN pa_project_sets_b.record_version_number%TYPE := NULL
175 ,p_api_version IN NUMBER := 1.0
176 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
177 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
178 ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
179 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
180 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
181 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
182 )
183 IS
184
185 l_return_status VARCHAR2(1);
186 l_msg_index_out NUMBER;
187 l_enable_log varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
188
189 BEGIN
190
191 -- Initialize the Error Stack
192 IF l_enable_log = 'Y' THEN
193 PA_DEBUG.init_err_stack('PA_PROJECT_SETS_PUB.Update_Project_Set');
194 END IF;
195
196 -- Initialize the return status to success
197 x_return_status := FND_API.G_RET_STS_SUCCESS;
198
199 --Clear the global PL/SQL message table
200 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
201 FND_MSG_PUB.initialize;
202 END IF;
203
204 -- Issue API savepoint if the transaction is to be committed
205 IF p_commit = FND_API.G_TRUE THEN
206 SAVEPOINT UPDATE_PROJECT_SETS_PUB;
207 END IF;
208
209 --Log Message
210 IF l_enable_log = 'Y' THEN
211 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Update_Project_Set.begin'
212 ,x_msg => 'Beginning of Update_Project_Set pub'
213 ,x_log_level => 5);
214
215 --Log Message
216 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Update_Project_Set.begin'
217 ,x_msg => 'calling Update_Project_Set pvt'
218 ,x_log_level => 5);
219 END IF;
220
221 PA_PROJECT_SETS_PVT.update_project_set(
222 p_project_set_id => p_project_set_id
223 ,p_project_set_name => p_project_set_name
224 ,p_party_id => p_party_id
225 ,p_effective_start_date => p_effective_start_date
226 ,p_effective_end_date => p_effective_end_date
227 ,p_access_level => p_access_level
228 ,p_description => p_description
229 ,p_party_name => p_party_name
230 ,p_attribute_category => p_attribute_category
231 ,p_attribute1 => p_attribute1
232 ,p_attribute2 => p_attribute2
233 ,p_attribute3 => p_attribute3
234 ,p_attribute4 => p_attribute4
235 ,p_attribute5 => p_attribute5
236 ,p_attribute6 => p_attribute6
237 ,p_attribute7 => p_attribute7
238 ,p_attribute8 => p_attribute8
239 ,p_attribute9 => p_attribute9
240 ,p_attribute10 => p_attribute10
241 ,p_attribute11 => p_attribute11
242 ,p_attribute12 => p_attribute12
243 ,p_attribute13 => p_attribute13
244 ,p_attribute14 => p_attribute14
245 ,p_attribute15 => p_attribute15
246 ,p_record_version_number => p_record_version_number
247 ,x_return_status => l_return_status);
248
249
250 x_msg_count := FND_MSG_PUB.Count_Msg;
251 IF x_msg_count = 1 THEN
252 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
253 ,p_msg_index => 1
254 ,p_data => x_msg_data
255 ,p_msg_index_out => l_msg_index_out
256 );
257 END IF;
258
259 -- Reset the error stack when returning to the calling program
260 IF l_enable_log = 'Y' THEN
261 PA_DEBUG.Reset_Err_Stack;
262 END IF;
263 -- If any errors exist then set the x_return_status to 'E'
264
265 IF x_msg_count > 0 THEN
266 x_return_status := FND_API.G_RET_STS_ERROR;
267 END IF;
268
269 -- Commit if the flag is set and there is no error
270 IF p_commit = FND_API.G_TRUE AND x_msg_count = 0 THEN
271 COMMIT;
272 END IF;
273
274 EXCEPTION
275 WHEN OTHERS THEN
276 IF p_commit = FND_API.G_TRUE THEN
277 ROLLBACK TO UPDATE_PROJECT_SETS_PUB;
278 END IF;
279
280 -- 4537865 : RESET the OUT params properly
281 x_msg_count := 1;
282 x_msg_data := SUBSTRB(SQLERRM,1,120);
283
284 -- Set the excetption Message and the stack
285 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROJECT_SETS_PUB.Update_Project_Set'
286 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
287 --
288 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
289 --RAISE;
290
291 END update_project_set;
292
293
294 PROCEDURE delete_project_set
295 (p_project_set_id IN pa_project_sets_b.project_set_id%TYPE := NULL
296 ,p_record_version_number IN pa_project_sets_b.record_version_number%TYPE := NULL
297 ,p_api_version IN NUMBER := 1.0
298 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
299 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
300 ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
301 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
302 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
303 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
304 )
305 IS
306
307 l_return_status VARCHAR2(1);
308 l_msg_index_out NUMBER;
309 l_enable_log varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
310
311 BEGIN
312
313 -- Initialize the Error Stack
314 IF l_enable_log = 'Y' THEN
315 PA_DEBUG.init_err_stack('PA_PROJECT_SETS_PUB.Delete_Project_Set');
316 END IF;
317
318 -- Initialize the return status to success
319 x_return_status := FND_API.G_RET_STS_SUCCESS;
320
321 --Clear the global PL/SQL message table
322 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
323 FND_MSG_PUB.initialize;
324 END IF;
325
326 -- Issue API savepoint if the transproject is to be committed
327 IF p_commit = FND_API.G_TRUE THEN
328 SAVEPOINT Delete_PROJECT_SETS_PUB;
329 END IF;
330
331 --Log Message
332 IF l_enable_log = 'Y' THEN
333 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Delete_Project_Set.begin'
334 ,x_msg => 'Beginning of Delete_Project_Set pub'
335 ,x_log_level => 5);
336
337 --Log Message
338 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Delete_Project_Set.begin'
339 ,x_msg => 'calling Delete_Project_Set pvt'
340 ,x_log_level => 5);
341 END IF;
342
343 PA_PROJECT_SETS_PVT.delete_project_set
344 (p_project_set_id => p_project_set_id
345 ,p_record_version_number => p_record_version_number
346 ,x_return_status => l_return_status);
347
348 x_msg_count := FND_MSG_PUB.Count_Msg;
349 IF x_msg_count = 1 THEN
350 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
351 ,p_msg_index => 1
352 ,p_data => x_msg_data
353 ,p_msg_index_out => l_msg_index_out
354 );
355 END IF;
356
357 -- Reset the error stack when returning to the calling program
358 IF l_enable_log = 'Y' THEN
359 PA_DEBUG.Reset_Err_Stack;
360 END IF;
361 -- If any errors exist then set the x_return_status to 'E'
362
363 IF x_msg_count > 0 THEN
364 x_return_status := FND_API.G_RET_STS_ERROR;
365 END IF;
366
367 -- Commit if the flag is set and there is no error
368 IF p_commit = FND_API.G_TRUE AND x_msg_count = 0 THEN
369 COMMIT;
370 END IF;
371
372 EXCEPTION
373 WHEN OTHERS THEN
374 IF p_commit = FND_API.G_TRUE THEN
375 ROLLBACK TO Delete_PROJECT_SETS_PUB;
376 END IF;
377
378 -- 4537865 : RESET the OUT params properly
379 x_msg_count := 1;
380 x_msg_data := SUBSTRB(SQLERRM,1,120);
381
382 -- Set the excetption Message and the stack
383 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROJECT_SETS_PUB.Delete_Project_Set'
384 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
385 --
386 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
387 RAISE;
388
389 END delete_project_set;
390
391
392 PROCEDURE create_project_set_line
393 (p_project_set_id IN pa_project_set_lines.project_set_id%TYPE
394 ,p_project_id IN pa_project_set_lines.project_id%TYPE
395 ,p_api_version IN NUMBER := 1.0
396 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
397 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
398 ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
399 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
400 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
401 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
402 )
403 IS
404
405 l_return_status VARCHAR2(1);
406 l_msg_index_out NUMBER;
407 l_enable_log varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
408
409 BEGIN
410
411 -- Initialize the Error Stack
412 IF l_enable_log = 'Y' THEN
413 PA_DEBUG.init_err_stack('PA_PROJECT_SETS_PUB.Create_Project_Set_Line');
414 END IF;
415
416 -- Initialize the return status to success
417 x_return_status := FND_API.G_RET_STS_SUCCESS;
418
419 --Clear the global PL/SQL message table
420 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
421 FND_MSG_PUB.initialize;
422 END IF;
423
424 -- Issue API savepoint if the transproject is to be committed
425 IF p_commit = FND_API.G_TRUE THEN
426 SAVEPOINT CREATE_PROJECT_SET_LINE_PUB;
427 END IF;
428
429 --Log Message
430 IF l_enable_log = 'Y' THEN
431 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Create_Project_Set_Line.begin'
432 ,x_msg => 'Beginning of Create_Project_Set_Line pub'
433 ,x_log_level => 5);
434
435 --Log Message
436 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Create_Project_Set_Line.begin'
437 ,x_msg => 'calling create_Project_Set_Line pvt'
438 ,x_log_level => 5);
439 END IF;
440
441
442 PA_PROJECT_SETS_PVT.create_project_set_line
443 (p_project_set_id => p_project_set_id
444 ,p_project_id => p_project_id
445 ,x_return_status => l_return_status);
446
447 x_msg_count := FND_MSG_PUB.Count_Msg;
448 IF x_msg_count = 1 THEN
449 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
450 ,p_msg_index => 1
451 ,p_data => x_msg_data
452 ,p_msg_index_out => l_msg_index_out
453 );
454 END IF;
455
456 -- Reset the error stack when returning to the calling program
457 IF l_enable_log = 'Y' THEN
458 PA_DEBUG.Reset_Err_Stack;
459 END IF;
460 -- If any errors exist then set the x_return_status to 'E'
461
462 IF x_msg_count > 0 THEN
463 x_return_status := FND_API.G_RET_STS_ERROR;
464 END IF;
465
466 -- Commit if the flag is set and there is no error
467 IF p_commit = FND_API.G_TRUE AND x_msg_count = 0 THEN
468 COMMIT;
469 END IF;
470
471 EXCEPTION
472 WHEN OTHERS THEN
473 IF p_commit = FND_API.G_TRUE THEN
474 ROLLBACK TO CREATE_PROJECT_SET_LINE_PUB;
475 END IF;
476
477 -- 4537865 : RESET the OUT params properly
478 x_msg_count := 1;
479 x_msg_data := SUBSTRB(SQLERRM,1,120);
480
481 -- Set the excetption Message and the stack
482 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROJECT_SETS_PUB.Create_Project_Set_Line'
483 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
484 --
485 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
486 --RAISE;
487
488 END create_project_set_line;
489
490
491
492 PROCEDURE delete_project_set_line
493 (p_project_set_id IN pa_project_set_lines.project_set_id%TYPE
494 ,p_project_id IN pa_project_set_lines.project_id%TYPE
495 ,p_api_version IN NUMBER := 1.0
496 ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
497 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
498 ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
499 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
500 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
501 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
502 )
503 IS
504
505 l_return_status VARCHAR2(1);
506 l_msg_index_out NUMBER;
507 l_project_set_id NUMBER;
508 l_enable_log varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
509
510 BEGIN
511
512 -- Initialize the Error Stack
513 IF l_enable_log = 'Y' THEN
514 PA_DEBUG.init_err_stack('PA_PROJECT_SETS_PUB.Delete_Project_Set_Line');
515 END IF;
516
517 -- Initialize the return status to success
518 x_return_status := FND_API.G_RET_STS_SUCCESS;
519
520 --Clear the global PL/SQL message table
521 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
522 FND_MSG_PUB.initialize;
523 END IF;
524
525 -- Issue API savepoint if the transproject is to be committed
526 IF p_commit = FND_API.G_TRUE THEN
527 SAVEPOINT Delete_PROJECT_SET_LINE_PUB;
528 END IF;
529
530 --Log Message
531 IF l_enable_log = 'Y' THEN
532 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Delete_Project_Set_Line.begin'
533 ,x_msg => 'Beginning of Delete_Project_Set_Line pub'
534 ,x_log_level => 5);
535
536 --Log Message
537 PA_DEBUG.write_log (x_module => 'pa.plsql.PA_PROJECT_SETS_PUB.Delete_Project_Set_Line.begin'
538 ,x_msg => 'calling Delete_Project_Set_Line pvt'
539 ,x_log_level => 5);
540 END IF;
541
542 PA_PROJECT_SETS_PVT.delete_project_set_line
543 (p_project_set_id => p_project_set_id
544 ,p_project_id => p_project_id
545 ,x_return_status => l_return_status);
546
547 x_msg_count := FND_MSG_PUB.Count_Msg;
548 IF x_msg_count = 1 THEN
549 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
550 ,p_msg_index => 1
551 ,p_data => x_msg_data
552 ,p_msg_index_out => l_msg_index_out
553 );
554 END IF;
555
556 -- Reset the error stack when returning to the calling program
557 IF l_enable_log = 'Y' THEN
558 PA_DEBUG.Reset_Err_Stack;
559 END IF;
560 -- If any errors exist then set the x_return_status to 'E'
561
562 IF x_msg_count > 0 THEN
563 x_return_status := FND_API.G_RET_STS_ERROR;
564 END IF;
565
566 -- Commit if the flag is set and there is no error
567 IF p_commit = FND_API.G_TRUE AND x_msg_count = 0 THEN
568 COMMIT;
569 END IF;
570
571 EXCEPTION
572 WHEN OTHERS THEN
573 IF p_commit = FND_API.G_TRUE THEN
574 ROLLBACK TO Delete_PROJECT_SET_LINE_PUB;
575 END IF;
576
577 -- 4537865 : RESET the OUT params properly
578 x_msg_count := 1;
579 x_msg_data := SUBSTRB(SQLERRM,1,120);
580
581 -- Set the excetption Message and the stack
582 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROJECT_SETS_PUB.Delete_Project_Set_Line'
583 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
584 --
585 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
586 --RAISE;
587
588 END delete_project_set_line;
589
590 -- Update_PC_PARTY_MAERGE (PUBLIC)
591 -- This is the procedure being called during the Party Merge.
592 -- The input/output arguments format matches the document PartyMergeDD.doc.
593 -- The goal is to fix PARTY_ID in pa_project_sets_b table to point to the
594 -- same party when two parties are begin merged.
595 --
596 -- Usage example in pl/sql
597 -- This procedure should only be called from the PartyMerge utility.
598
599 procedure party_merge(
600 p_entity_name IN varchar2
601 ,p_from_id IN number
602 ,p_to_id in OUT nocopy number
603 ,p_from_fk_id IN number
604 ,p_to_fk_id IN number
605 ,p_parent_entity_name IN varchar2
606 ,p_batch_id IN number
607 ,p_batch_party_id IN number
608 ,p_return_status IN OUT nocopy varchar2
609 ) IS
610 l_incoming_p_to_id NUMBER ; -- 4537865
611 BEGIN
612
613 p_return_status := FND_API.G_RET_STS_SUCCESS;
614 l_incoming_p_to_id := p_to_id ; -- 4537865
615
616 if (p_from_fk_id <> p_to_fk_id) then
617
618 update PA_PROJECT_SETS_B
619 set PARTY_ID = p_to_fk_id,
620 last_update_date = hz_utility_pub.last_update_date,
621 last_updated_by = hz_utility_pub.user_id,
622 last_update_login = hz_utility_pub.last_update_login,
623 record_version_number = nvl(record_Version_number,0) +1
624 where PARTY_ID = p_from_fk_id;
625
626 p_to_id := p_from_id;
627
628 end if;
629 -- 4537865
630 EXCEPTION
631 WHEN OTHERS THEN
632 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633 p_to_id := l_incoming_p_to_id ; -- RESET this IN OUT param to the same IN value got
634
635 FND_MSG_PUB.add_exc_msg
636 ( p_pkg_name => 'PA_PROJECT_SETS_PUB'
637 , p_procedure_name => 'Party_Merge'
638 , p_error_text => SUBSTRB(SQLERRM,1,240));
639
640 -- Not RAISING because all similar APIs to this one doesnt raise
641 END Party_Merge;
642
643 END pa_project_sets_pub;