DBA Data[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;