DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_PROGRESS_REPORT_PUB

Source


1 package body PA_PROGRESS_REPORT_PUB as
2 /* $Header: PAPRRPPB.pls 120.1 2005/08/19 16:45:07 mwasowic noship $ */
3 
4 PROCEDURE Create_REPORT_REGION
5 (
6  p_api_version                 IN     NUMBER :=  1.0,
7  p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
8  p_commit                      IN     VARCHAR2 := FND_API.g_false,
9  p_validate_only               IN     VARCHAR2 := FND_API.g_true,
10  p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
11 
12  p_version_id                  IN NUMBER := NULL,
13 
14  P_REGION_SOURCE_TYPE in VARCHAR2 default 'STD',
15  P_REGION_CODE in VARCHAR2 :=NULL,
16  P_RECORD_SEQUENCE in NUMBER :=NULL,
17  P_ATTRIBUTE1 in VARCHAR2 :=NULL,
18  P_ATTRIBUTE2 in VARCHAR2 :=NULL,
19  P_ATTRIBUTE3 in VARCHAR2 :=NULL,
20  P_ATTRIBUTE4 in VARCHAR2 :=NULL,
21  P_ATTRIBUTE5 in VARCHAR2 :=NULL,
22  P_ATTRIBUTE6 in VARCHAR2 :=NULL,
23  P_ATTRIBUTE7 in VARCHAR2 :=NULL,
24  P_ATTRIBUTE8 in VARCHAR2 :=NULL,
25  P_ATTRIBUTE9 in VARCHAR2 :=NULL,
26  P_ATTRIBUTE10 in VARCHAR2 :=NULL,
27  P_ATTRIBUTE11 in VARCHAR2 :=NULL,
28  P_ATTRIBUTE12 in VARCHAR2 :=NULL,
29  P_ATTRIBUTE13 in VARCHAR2 :=NULL,
30  P_ATTRIBUTE14 in VARCHAR2 :=NULL,
31  P_ATTRIBUTE15 in VARCHAR2 :=NULL,
32  P_ATTRIBUTE16 in VARCHAR2 :=NULL,
33  P_ATTRIBUTE17 in VARCHAR2 :=NULL,
34  P_ATTRIBUTE18 in VARCHAR2 :=NULL,
35  P_ATTRIBUTE19 in VARCHAR2 :=NULL,
36  P_ATTRIBUTE20 in VARCHAR2 :=NULL,
37  P_UDS_ATTRIBUTE_CATEGORY in VARCHAR2 default null,
38  P_UDS_ATTRIBUTE1 in VARCHAR2 default null,
39  P_UDS_ATTRIBUTE2 in VARCHAR2 default null,
40  P_UDS_ATTRIBUTE3 in VARCHAR2 default null,
41  P_UDS_ATTRIBUTE4 in VARCHAR2 default null,
42  P_UDS_ATTRIBUTE5 in VARCHAR2 default null,
43  P_UDS_ATTRIBUTE6 in VARCHAR2 default null,
44  P_UDS_ATTRIBUTE7 in VARCHAR2 default null,
45  P_UDS_ATTRIBUTE8 in VARCHAR2 default null,
46  P_UDS_ATTRIBUTE9 in VARCHAR2 default null,
47  P_UDS_ATTRIBUTE10 in VARCHAR2 default null,
48  P_UDS_ATTRIBUTE11 in VARCHAR2 default null,
49  P_UDS_ATTRIBUTE12 in VARCHAR2 default null,
50  P_UDS_ATTRIBUTE13 in VARCHAR2 default null,
51  P_UDS_ATTRIBUTE14 in VARCHAR2 default null,
52  P_UDS_ATTRIBUTE15 in VARCHAR2 default null,
53  P_UDS_ATTRIBUTE16 in VARCHAR2 default null,
54  P_UDS_ATTRIBUTE17 in VARCHAR2 default null,
55  P_UDS_ATTRIBUTE18 in VARCHAR2 default null,
56  P_UDS_ATTRIBUTE19 in VARCHAR2 default null,
57  P_UDS_ATTRIBUTE20 in VARCHAR2 default null,
58  x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
59  x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
60  x_msg_data                    OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
61   ) IS
62 
63    l_msg_index_out        NUMBER;
64 
65 BEGIN
66 
67   -- Initialize the Error Stack
68   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.Create_REPORT_REGION');
69 
70   -- Initialize the return status to success
71   x_return_status := FND_API.G_RET_STS_SUCCESS;
72 
73   --Clear the global PL/SQL message table
74   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
75     FND_MSG_PUB.initialize;
76   END IF;
77   /** CAll the Create Region only if any of the attribute values is not null.
78       Reason, it is creating empty records only with PK values populated  **/
79   if ( p_attribute1 is not null OR
80        p_attribute2 is not null OR
81        p_attribute3 is not null OR
82        p_attribute4 is not null OR
83        p_attribute5 is not null OR
84        p_attribute6 is not null OR
85        p_attribute7 is not null OR
86        p_attribute8 is not null OR
87        p_attribute9 is not null OR
88        p_attribute10 is not null OR
89        p_attribute11 is not null OR
90        p_attribute12 is not null OR
91        p_attribute13 is not null OR
92        p_attribute14 is not null OR
93        p_attribute15 is not null OR
94        p_attribute16 is not null OR
95        p_attribute17 is not null OR
96        p_attribute18 is not null OR
97        p_attribute19 is not null OR
98        p_attribute20 is not null OR
99        p_uds_attribute1 is not null OR
100        p_uds_attribute2 is not null OR
101        p_uds_attribute3 is not null OR
102        p_uds_attribute4 is not null OR
103        p_uds_attribute5 is not null OR
104        p_uds_attribute6 is not null OR
105        p_uds_attribute7 is not null OR
106        p_uds_attribute8 is not null OR
107        p_uds_attribute9 is not null OR
108        p_uds_attribute10 is not null OR
109        p_uds_attribute11 is not null OR
110        p_uds_attribute12 is not null OR
111        p_uds_attribute13 is not null OR
112        p_uds_attribute14 is not null OR
113        p_uds_attribute15 is not null OR
114        p_uds_attribute16 is not null OR
115        p_uds_attribute17 is not null OR
116        p_uds_attribute18 is not null OR
117        p_uds_attribute19 is not null OR
118        p_uds_attribute20 is not null ) then
119   pa_progress_report_pvt.create_report_region
120     (
121      p_api_version        ,
122      p_init_msg_list      ,
123      p_commit             ,
124      p_validate_only      ,
125      p_max_msg_count      ,
126 
127      p_version_id         ,
128 
129      P_REGION_SOURCE_TYPE ,
130      P_REGION_CODE        ,
131      P_RECORD_SEQUENCE    ,
132      P_ATTRIBUTE1 ,
133      P_ATTRIBUTE2 ,
134      P_ATTRIBUTE3 ,
135      P_ATTRIBUTE4 ,
136      P_ATTRIBUTE5 ,
137     P_ATTRIBUTE6 ,
138     P_ATTRIBUTE7 ,
139     P_ATTRIBUTE8 ,
140     P_ATTRIBUTE9 ,
141     P_ATTRIBUTE10 ,
142     P_ATTRIBUTE11 ,
143     P_ATTRIBUTE12 ,
144     P_ATTRIBUTE13 ,
145     P_ATTRIBUTE14 ,
146     P_ATTRIBUTE15 ,
147     P_ATTRIBUTE16 ,
148     P_ATTRIBUTE17 ,
149     P_ATTRIBUTE18 ,
150     P_ATTRIBUTE19 ,
151     P_ATTRIBUTE20 ,
152     P_UDS_ATTRIBUTE_CATEGORY ,
153     P_UDS_ATTRIBUTE1 ,
154     P_UDS_ATTRIBUTE2 ,
155     P_UDS_ATTRIBUTE3 ,
156     P_UDS_ATTRIBUTE4 ,
157     P_UDS_ATTRIBUTE5 ,
158     P_UDS_ATTRIBUTE6 ,
159     P_UDS_ATTRIBUTE7 ,
160     P_UDS_ATTRIBUTE8 ,
161     P_UDS_ATTRIBUTE9 ,
162     P_UDS_ATTRIBUTE10 ,
163     P_UDS_ATTRIBUTE11 ,
164     P_UDS_ATTRIBUTE12 ,
165     P_UDS_ATTRIBUTE13 ,
166     P_UDS_ATTRIBUTE14 ,
167     P_UDS_ATTRIBUTE15 ,
168     P_UDS_ATTRIBUTE16 ,
169     P_UDS_ATTRIBUTE17 ,
170     P_UDS_ATTRIBUTE18 ,
171     P_UDS_ATTRIBUTE19 ,
172     P_UDS_ATTRIBUTE20 ,
173     x_return_status,
174     x_msg_count    ,
175     x_msg_data
176 
177      );
178  end if;
179 --
180   -- IF the number of messaages is 1 then fetch the message code from the stack
181   -- and return its text
182   --
183 
184   x_msg_count :=  FND_MSG_PUB.Count_Msg;
185   IF x_msg_count = 1 THEN
186     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
187                                          ,p_msg_index     => 1
188                                          ,p_data          => x_msg_data
189                                          ,p_msg_index_out => l_msg_index_out
190                                         );
191   END IF;
192 
193   -- Reset the error stack when returning to the calling program
194   PA_DEBUG.Reset_Err_Stack;
195 
196 
197 -- Put any message text from message stack into the Message ARRAY
198 EXCEPTION
199    WHEN OTHERS THEN
200        rollback;
201 
202        -- Set the excetption Message and the stack
203        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.Create_REPORT_REGION'
204                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
205        --
206        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
207        RAISE;  -- This is optional depending on the needs
208 
209 END Create_REPORT_REGION;
210 
211 PROCEDURE Update_REPORT_REGION
212 (
213 
214  p_api_version                 IN     NUMBER :=  1.0,
215  p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
216  p_commit                      IN     VARCHAR2 := FND_API.g_false,
217  p_validate_only               IN     VARCHAR2 := FND_API.g_true,
218  p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
219 
220  P_VERSION_ID in NUMBER :=NULL,
221  P_REGION_SOURCE_TYPE in VARCHAR2 default 'STD',
222  P_REGION_CODE in VARCHAR2 :=NULL,
223  P_RECORD_SEQUENCE in NUMBER :=NULL,
224  P_RECORD_VERSION_NUMBER in NUMBER :=NULL,
225  P_ATTRIBUTE1 in VARCHAR2 :=NULL,
226  P_ATTRIBUTE2 in VARCHAR2 :=NULL,
227  P_ATTRIBUTE3 in VARCHAR2 :=NULL,
228  P_ATTRIBUTE4 in VARCHAR2 :=NULL,
229  P_ATTRIBUTE5 in VARCHAR2 :=NULL,
230  P_ATTRIBUTE6 in VARCHAR2 :=NULL,
231  P_ATTRIBUTE7 in VARCHAR2 :=NULL,
232  P_ATTRIBUTE8 in VARCHAR2 :=NULL,
233  P_ATTRIBUTE9 in VARCHAR2 :=NULL,
234  P_ATTRIBUTE10 in VARCHAR2 :=NULL,
235  P_ATTRIBUTE11 in VARCHAR2 :=NULL,
236  P_ATTRIBUTE12 in VARCHAR2 :=NULL,
237  P_ATTRIBUTE13 in VARCHAR2 :=NULL,
238  P_ATTRIBUTE14 in VARCHAR2 :=NULL,
239  P_ATTRIBUTE15 in VARCHAR2 :=NULL,
240  P_ATTRIBUTE16 in VARCHAR2 :=NULL,
241  P_ATTRIBUTE17 in VARCHAR2 :=NULL,
242  P_ATTRIBUTE18 in VARCHAR2 :=NULL,
243  P_ATTRIBUTE19 in VARCHAR2 :=NULL,
244  P_ATTRIBUTE20 in VARCHAR2 :=NULL,
245   P_UDS_ATTRIBUTE_CATEGORY in VARCHAR2 := NULL,
246   P_UDS_ATTRIBUTE1 in VARCHAR2 := NULL,
247   P_UDS_ATTRIBUTE2 in VARCHAR2 := NULL,
248   P_UDS_ATTRIBUTE3 in VARCHAR2 := NULL,
249   P_UDS_ATTRIBUTE4 in VARCHAR2 := NULL,
250   P_UDS_ATTRIBUTE5 in VARCHAR2 := NULL,
251   P_UDS_ATTRIBUTE6 in VARCHAR2 := NULL,
252   P_UDS_ATTRIBUTE7 in VARCHAR2 := NULL,
253   P_UDS_ATTRIBUTE8 in VARCHAR2 := NULL,
254   P_UDS_ATTRIBUTE9 in VARCHAR2 := NULL,
255   P_UDS_ATTRIBUTE10 in VARCHAR2 := NULL,
256   P_UDS_ATTRIBUTE11 in VARCHAR2 := NULL,
257   P_UDS_ATTRIBUTE12 in VARCHAR2 := NULL,
258   P_UDS_ATTRIBUTE13 in VARCHAR2 := NULL,
259   P_UDS_ATTRIBUTE14 in VARCHAR2 := NULL,
260   P_UDS_ATTRIBUTE15 in VARCHAR2 := NULL,
261   P_UDS_ATTRIBUTE16 in VARCHAR2 := NULL,
262   P_UDS_ATTRIBUTE17 in VARCHAR2 := NULL,
263   P_UDS_ATTRIBUTE18 in VARCHAR2 := NULL,
264   P_UDS_ATTRIBUTE19 in VARCHAR2 := NULL,
265   P_UDS_ATTRIBUTE20 in VARCHAR2 := NULL,
266 
267  x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
268  x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
269  x_msg_data                    OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
270   )  IS
271      l_msg_index_out        NUMBER;
272 BEGIN
273 
274       -- Initialize the Error Stack
275   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.Update_REPORT_REGION');
276 
277   -- Initialize the return status to success
278   x_return_status := FND_API.G_RET_STS_SUCCESS;
279 
280   --Clear the global PL/SQL message table
281   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
282     FND_MSG_PUB.initialize;
283   END IF;
284 
285 
286   pa_progress_report_pvt.Update_REPORT_REGION
287   (
288    p_api_version   ,
289    p_init_msg_list ,
290    p_commit        ,
291    p_validate_only ,
292    p_max_msg_count   ,
293 
294    P_VERSION_ID ,
295    P_REGION_SOURCE_TYPE ,
296    P_REGION_CODE ,
297    p_record_sequence,
298    p_record_version_number,
299    P_ATTRIBUTE1 ,
300    P_ATTRIBUTE2 ,
301    P_ATTRIBUTE3 ,
302    P_ATTRIBUTE4 ,
303    P_ATTRIBUTE5 ,
304    P_ATTRIBUTE6 ,
305    P_ATTRIBUTE7 ,
306    P_ATTRIBUTE8 ,
307    P_ATTRIBUTE9 ,
308    p_attribute10,
309    p_attribute11,
310    p_attribute12,
311    p_attribute13,
312    p_attribute14,
313    p_attribute15,
314    p_attribute16,
315    p_attribute17,
316    P_ATTRIBUTE18 ,
317    P_ATTRIBUTE19 ,
318    P_ATTRIBUTE20 ,
319  P_UDS_ATTRIBUTE_CATEGORY ,
320   P_UDS_ATTRIBUTE1 ,
321   P_UDS_ATTRIBUTE2 ,
322   P_UDS_ATTRIBUTE3 ,
323   P_UDS_ATTRIBUTE4 ,
324   P_UDS_ATTRIBUTE5 ,
325   P_UDS_ATTRIBUTE6 ,
326   P_UDS_ATTRIBUTE7 ,
327   P_UDS_ATTRIBUTE8 ,
328   P_UDS_ATTRIBUTE9 ,
329   P_UDS_ATTRIBUTE10 ,
330   P_UDS_ATTRIBUTE11 ,
331   P_UDS_ATTRIBUTE12 ,
332   P_UDS_ATTRIBUTE13 ,
333   P_UDS_ATTRIBUTE14 ,
334   P_UDS_ATTRIBUTE15 ,
335   P_UDS_ATTRIBUTE16 ,
336   P_UDS_ATTRIBUTE17 ,
337   P_UDS_ATTRIBUTE18 ,
338   P_UDS_ATTRIBUTE19 ,
339   P_UDS_ATTRIBUTE20 ,
340    x_return_status   ,
341    x_msg_count       ,
342    x_msg_data
343      );
344 
345   --
346   -- IF the number of messaages is 1 then fetch the message code from the stack
347   -- and return its text
348   --
349 
350   x_msg_count :=  FND_MSG_PUB.Count_Msg;
351   IF x_msg_count = 1 THEN
352     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
353                                          ,p_msg_index     => 1
354                                          ,p_data          => x_msg_data
355                                          ,p_msg_index_out => l_msg_index_out
356                                         );
357   END IF;
358 
359   -- Reset the error stack when returning to the calling program
360   PA_DEBUG.Reset_Err_Stack;
361 
362 
363 -- Put any message text from message stack into the Message ARRAY
364 EXCEPTION
365    WHEN OTHERS THEN
366        rollback;
367 
368        -- Set the excetption Message and the stack
369        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.Update_REPORT_REGION'
370                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
371        --
372        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
373        RAISE;  -- This is optional depending on the needs
374 END Update_REPORT_REGION;
375 
376 
377 
378 PROCEDURE Delete_Report_Region
379 (
380  p_api_version                 IN     NUMBER :=  1.0,
381  p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
382  p_commit                      IN     VARCHAR2 := FND_API.g_false,
383  p_validate_only               IN     VARCHAR2 := FND_API.g_true,
384  p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
385 
386  p_version_id                  IN     NUMBER := NULL,
387  P_REGION_SOURCE_TYPE          in VARCHAR2 := NULL,
388  P_REGION_CODE                 in VARCHAR2 := NULL,
389  P_RECORD_SEQUENCE             in NUMBER := NULL,
390  p_record_version_number       IN NUMBER  := NULL,
391 
392  x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
393  x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
394  x_msg_data                    OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
395  ) IS
396      l_msg_index_out        NUMBER;
397 BEGIN
398 
399       -- Initialize the Error Stack
400   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.Delete_Progress_Report');
401 
402   -- Initialize the return status to success
403   x_return_status := FND_API.G_RET_STS_SUCCESS;
404 
405   --Clear the global PL/SQL message table
406   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
407     FND_MSG_PUB.initialize;
408   END IF;
409 
410 
411   pa_progress_report_pvt.delete_report_region
412   (
413    p_api_version   ,
414    p_init_msg_list ,
415    p_commit        ,
416    p_validate_only ,
417    p_max_msg_count   ,
418 
419    p_version_id         ,
420    p_region_source_type      ,
421    p_region_code      ,
422    p_record_sequence ,
423    p_record_version_number,
424 
425    x_return_status   ,
426    x_msg_count       ,
427    x_msg_data
428      );
429 
430   --
431   -- IF the number of messaages is 1 then fetch the message code from the stack
432   -- and return its text
433   --
434 
435   x_msg_count :=  FND_MSG_PUB.Count_Msg;
436   IF x_msg_count = 1 THEN
437     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
438                                          ,p_msg_index     => 1
439                                          ,p_data          => x_msg_data
440                                          ,p_msg_index_out => l_msg_index_out
441                                         );
442   END IF;
443 
444   -- Reset the error stack when returning to the calling program
445   PA_DEBUG.Reset_Err_Stack;
446 
447 
448 -- Put any message text from message stack into the Message ARRAY
449 EXCEPTION
450    WHEN OTHERS THEN
451        rollback;
452 
453        -- Set the excetption Message and the stack
454        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.Delete_Progress_Report'
455                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
456        --
457        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
458        RAISE;  -- This is optional depending on the needs
459 END Delete_Report_Region;
460 
461 
462 PROCEDURE define_progress_report_setup
463   (
464    p_api_version                 IN     NUMBER :=  1.0,
465    p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
466    p_commit                      IN     VARCHAR2 := FND_API.g_false,
467    p_validate_only               IN     VARCHAR2 := FND_API.g_true,
468    p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
469 
470    p_object_id                   IN     NUMBER := NULL,
471    p_object_type                 IN     VARCHAR2 := NULL,
472    p_page_type_code              IN     VARCHAR2 := 'PPR',
473    p_page_id                     IN     NUMBER := NULL,
474    p_page_name                   IN     VARCHAR2 := NULL,
475    p_approval_required           IN     VARCHAR2 := NULL,
476    --p_auto_publish                IN     VARCHAR2 := NULL,
477    p_report_cycle_id             IN     NUMBER := NULL,
478    p_report_offset_days          IN     NUMBER := NULL,
479    p_next_reporting_date         IN     DATE := NULL,
480    p_reminder_days              IN     NUMBER := NULL,
481    p_reminder_days_type         IN     VARCHAR2 := NULL,
482    p_initial_progress_status 	IN	VARCHAR2 := NULL,
483    p_final_progress_status	IN	VARCHAR2 := NULL,
484    p_rollup_progress_status	IN	VARCHAR2 := NULL,
485    p_report_type_id              IN     NUMBER:= NULL,
486    p_approver_source_id          IN     NUMBER:= NULL,
487    p_approver_source_name        IN     VARCHAR2:= NULL,
488    p_approver_source_type        IN     NUMBER:= NULL,
489    p_effective_from              IN     DATE:= NULL,
490    p_effective_to                IN     DATE:= NULL,
491    p_object_page_layout_id       IN     NUMBER := NULL,
492    p_action_set_id               IN     NUMBER := NULL,
493 
494 
495    p_record_version_number       IN     NUMBER := NULL,
496 
497    p_function_name               IN     VARCHAR2,
498    x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
499    x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
500    x_msg_data                    OUT    NOCOPY VARCHAR2    --File.Sql.39 bug 4440895
501   ) IS
502    l_msg_index_out        NUMBER;
503 BEGIN
504 
505   -- Initialize the Error Stack
506   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.define_progress_report_setup');
507 
508   -- Initialize the return status to success
509   x_return_status := FND_API.G_RET_STS_SUCCESS;
510 
511   --Clear the global PL/SQL message table
512   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
513     FND_MSG_PUB.initialize;
514   END IF;
515 
516 
517   pa_progress_report_pvt.define_progress_report_setup
518   (
519    p_api_version   ,
520    p_init_msg_list ,
521    p_commit        ,
522    p_validate_only ,
523    p_max_msg_count   ,
524 
525    p_object_id                   ,
526    p_object_type                 ,
527    p_page_type_code              ,
528    p_page_id                     ,
529    p_page_name,
530    p_approval_required           ,
531    --p_auto_publish                ,
532    p_report_cycle_id             ,
533    p_report_offset_days          ,
534    p_next_reporting_date         ,
535    p_reminder_days              ,
536    p_reminder_days_type         ,
537    p_initial_progress_status	,
538    p_final_progress_status	,
539    p_rollup_progress_status	,
540    p_report_type_id             ,
541    p_approver_source_id         ,
542    p_approver_source_name       ,
543    p_approver_source_type       ,
544    p_effective_from             ,
545    p_effective_to               ,
546    p_object_page_layout_id,
547    p_action_set_id  ,
548 
549 
550    p_record_version_number      ,
551    p_function_name,
552    x_return_status   ,
553    x_msg_count       ,
554    x_msg_data
555      );
556 
557   --
558   -- IF the number of messaages is 1 then fetch the message code from the stack
559   -- and return its text
560   --
561 
562   x_msg_count :=  FND_MSG_PUB.Count_Msg;
563   IF x_msg_count = 1 THEN
564     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
565                                          ,p_msg_index     => 1
566                                          ,p_data          => x_msg_data
567                                          ,p_msg_index_out => l_msg_index_out
568                                         );
569   END IF;
570 
571   -- Reset the error stack when returning to the calling program
572   PA_DEBUG.Reset_Err_Stack;
573 
574 
575 -- Put any message text from message stack into the Message ARRAY
576 EXCEPTION
577    WHEN OTHERS THEN
578        rollback;
579 
580        -- Set the excetption Message and the stack
581        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.define_progress_report_setup'
582                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
583        --
584        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
585        RAISE;  -- This is optional depending on the needs
586 END define_progress_report_setup;
587 
588 
589 PROCEDURE create_report
590   (
591    p_api_version                 IN     NUMBER :=  1.0,
592    p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
593    p_commit                      IN     VARCHAR2 := FND_API.g_false,
594    p_validate_only               IN     VARCHAR2 := FND_API.g_true,
595    p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
596 
597    p_object_id                   IN     NUMBER := NULL,
598    p_object_type                 IN     VARCHAR2 := NULL,
599    p_report_type_id              IN     NUMBER := NULL,
600 
601    x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
602    x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
603    x_msg_data                    OUT    NOCOPY VARCHAR2,    --File.Sql.39 bug 4440895
604    x_version_id                  OUT    NOCOPY NUMBER --File.Sql.39 bug 4440895
605    ) IS
606  l_msg_index_out        NUMBER;
607 BEGIN
608 
609   -- Initialize the Error Stack
610   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.create_report');
611 
612   -- Initialize the return status to success
613   x_return_status := FND_API.G_RET_STS_SUCCESS;
614 
615   --Clear the global PL/SQL message table
616   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
617     FND_MSG_PUB.initialize;
618   END IF;
619 
620 
621   pa_progress_report_pvt.create_report
622   (
623    p_api_version   ,
624    p_init_msg_list ,
625    p_commit        ,
626    p_validate_only ,
627    p_max_msg_count   ,
628 
629    p_object_id                   ,
630    p_object_type                 ,
631    p_report_type_id,
632 
633    x_return_status   ,
634    x_msg_count       ,
635    x_msg_data        ,
636    x_version_id
637      );
638 
639   --
640   -- IF the number of messaages is 1 then fetch the message code from the stack
641   -- and return its text
642   --
643 
644   x_msg_count :=  FND_MSG_PUB.Count_Msg;
645   IF x_msg_count = 1 THEN
646     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
647                                          ,p_msg_index     => 1
648                                          ,p_data          => x_msg_data
649                                          ,p_msg_index_out => l_msg_index_out
650                                         );
651   END IF;
652 
653   -- Reset the error stack when returning to the calling program
654   PA_DEBUG.Reset_Err_Stack;
655 
656 
657 -- Put any message text from message stack into the Message ARRAY
658 EXCEPTION
659    WHEN OTHERS THEN
660        rollback;
661 
662        -- Set the excetption Message and the stack
663        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.create_report'
664                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
665        --
666        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
667        RAISE;  -- This is optional depending on the needs
668 
669 END create_report;
670 
671 
672 PROCEDURE change_report_status
673   (
674    p_api_version                 IN     NUMBER :=  1.0,
675    p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
676    p_commit                      IN     VARCHAR2 := FND_API.g_false,
677    p_validate_only               IN     VARCHAR2 := FND_API.g_true,
678    p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
679 
680    p_version_id                  IN     NUMBER := NULL,
681    p_action                      IN     VARCHAR2,
682    p_record_version_number       IN     NUMBER := NULL,
683    p_summary_version_number       IN     NUMBER := NULL,
684 
685    p_cancel_comments             IN     VARCHAR2 := NULL,
686 
687    x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
688    x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
689    x_msg_data                    OUT    NOCOPY VARCHAR2    --File.Sql.39 bug 4440895
690    ) IS
691  l_msg_index_out        NUMBER;
692 BEGIN
693 
694   -- Initialize the Error Stack
695   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.change_report_status');
696 
697   -- Initialize the return status to success
698   x_return_status := FND_API.G_RET_STS_SUCCESS;
699 
700   --Clear the global PL/SQL message table
701   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
702     FND_MSG_PUB.initialize;
703   END IF;
704 
705   IF (p_action = 'SUBMIT') THEN
706      pa_progress_report_pvt.submit_report
707        (
708 	p_api_version   ,
709 	p_init_msg_list ,
710 	p_commit        ,
711 	p_validate_only ,
712 	p_max_msg_count   ,
713 
714 	p_version_id                  ,
715 	p_record_version_number       ,
716 	p_summary_version_number,
717 
718 	x_return_status   ,
719 	x_msg_count       ,
720 	x_msg_data
721 	);
722    ELSIF (p_action = 'PUBLISH') THEN
723      pa_progress_report_pvt.publish_report
724        (
725 	p_api_version   ,
726 	p_init_msg_list ,
727 	p_commit        ,
728 	p_validate_only ,
729 	p_max_msg_count   ,
730 
731 	p_version_id                  ,
732 	p_record_version_number       ,
733 	p_summary_version_number       ,
734 
735 	x_return_status   ,
736 	x_msg_count       ,
737 	x_msg_data
738 	);
739    ELSIF (p_action = 'REWORK') THEN
740      pa_progress_report_pvt.rework_report
741        (
742 	p_api_version   ,
743 	p_init_msg_list ,
744 	p_commit        ,
745 	p_validate_only ,
746 	p_max_msg_count   ,
747 
748 	p_version_id                  ,
749 	p_record_version_number       ,
750 
751 	x_return_status   ,
752 	x_msg_count       ,
753 	x_msg_data
754 	);
755    ELSIF (p_action = 'APPROVE') THEN
756      pa_progress_report_pvt.approve_report
757        (
758 	p_api_version   ,
759 	p_init_msg_list ,
760 	p_commit        ,
761 	p_validate_only ,
762 	p_max_msg_count   ,
763 
764 	p_version_id                  ,
765 	p_record_version_number       ,
766 
767 	x_return_status   ,
768 	x_msg_count       ,
769 	x_msg_data
770 	);
771    ELSIF (p_action = 'REJECT') THEN
772      pa_progress_report_pvt.reject_report
773        (
774 	p_api_version   ,
775 	p_init_msg_list ,
776 	p_commit        ,
777 	p_validate_only ,
778 	p_max_msg_count   ,
779 
780 	p_version_id                  ,
781 	p_record_version_number       ,
782 
783 	x_return_status   ,
784 	x_msg_count       ,
785 	x_msg_data
786 	);
787    ELSIF (p_action = 'CANCEL') THEN
788      pa_progress_report_pvt.cancel_report
789        (
790 	p_api_version   ,
791 	p_init_msg_list ,
792 	p_commit        ,
793 	p_validate_only ,
794 	p_max_msg_count   ,
795 
796 	p_version_id                  ,
797 	p_record_version_number       ,
798 	p_cancel_comments,
799 
800 	x_return_status   ,
801 	x_msg_count       ,
802 	x_msg_data
803 	);
804   END IF;
805 
806 
807   --
808   -- IF the number of messaages is 1 then fetch the message code from the stack
809   -- and return its text
810   --
811 
812   x_msg_count :=  FND_MSG_PUB.Count_Msg;
813   IF x_msg_count = 1 THEN
814     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
815                                          ,p_msg_index     => 1
816                                          ,p_data          => x_msg_data
817                                          ,p_msg_index_out => l_msg_index_out
818                                         );
819   END IF;
820 
821   -- Reset the error stack when returning to the calling program
822   PA_DEBUG.Reset_Err_Stack;
823 
824 
825 -- Put any message text from message stack into the Message ARRAY
826 EXCEPTION
827    WHEN OTHERS THEN
828        rollback;
829 
830        -- Set the excetption Message and the stack
831        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.change_report_status'
832                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
833        --
834        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
835        RAISE;  -- This is optional depending on the needs
836 
837 END change_report_status;
838 
839 PROCEDURE update_report_details
840   (
841    p_api_version                 IN     NUMBER :=  1.0,
842    p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
843    p_commit                      IN     VARCHAR2 := FND_API.g_false,
844    p_validate_only               IN     VARCHAR2 := FND_API.g_true,
845    p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
846 
847    p_version_id                  IN     NUMBER := NULL,
848 
849    p_report_start_date           IN     DATE:= NULL,
850    p_report_end_date             IN     DATE:= NULL,
851    p_reported_by                 IN     NUMBER:= NULL,
852    p_reported_by_name            IN     VARCHAR2:= NULL,
853    p_progress_status             IN     VARCHAR2:= NULL,
854    p_overview                    IN     VARCHAR2:= NULL,
855    p_record_version_number       IN     NUMBER := NULL,
856 
857    x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
858    x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
859    x_msg_data                    OUT    NOCOPY VARCHAR2    --File.Sql.39 bug 4440895
860    ) IS
861  l_msg_index_out        NUMBER;
862 BEGIN
863 
864   -- Initialize the Error Stack
865   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.update_report_details');
866 
867   -- Initialize the return status to success
868   x_return_status := FND_API.G_RET_STS_SUCCESS;
869 
870   --Clear the global PL/SQL message table
871   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
872     FND_MSG_PUB.initialize;
873   END IF;
874 
875 
876   pa_progress_report_pvt.update_report_details
877   (
878    p_api_version   ,
879    p_init_msg_list ,
880    p_commit        ,
881    p_validate_only ,
882    p_max_msg_count   ,
883 
884    p_version_id                  ,
885    p_report_start_date      ,
886    p_report_end_date        ,
887    p_reported_by             ,
888    p_reported_by_name             ,
889    p_progress_status          ,
890    p_overview                  ,
891    p_record_version_number       ,
892 
893    x_return_status   ,
894    x_msg_count       ,
895    x_msg_data
896      );
897 
898   --
899   -- IF the number of messaages is 1 then fetch the message code from the stack
900   -- and return its text
901   --
902 
903   x_msg_count :=  FND_MSG_PUB.Count_Msg;
904   IF x_msg_count = 1 THEN
905     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
906                                          ,p_msg_index     => 1
907                                          ,p_data          => x_msg_data
908                                          ,p_msg_index_out => l_msg_index_out
909                                         );
910   END IF;
911 
912   -- Reset the error stack when returning to the calling program
913   PA_DEBUG.Reset_Err_Stack;
914 
915 
916 -- Put any message text from message stack into the Message ARRAY
917 EXCEPTION
918    WHEN OTHERS THEN
919        rollback;
920 
921        -- Set the excetption Message and the stack
922        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.update_report_details'
923                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
924        --
925        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
926        RAISE;  -- This is optional depending on the needs
927 
928 END update_report_details;
929 
930 PROCEDURE delete_report
931   (
932    p_api_version                 IN     NUMBER :=  1.0,
933    p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
934    p_commit                      IN     VARCHAR2 := FND_API.g_false,
935    p_validate_only               IN     VARCHAR2 := FND_API.g_true,
936    p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
937 
938    p_version_id                  IN     NUMBER :=NULL,
939    p_record_version_number       IN     NUMBER := NULL,
940 
941    x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
942    x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
943    x_msg_data                    OUT    NOCOPY VARCHAR2    --File.Sql.39 bug 4440895
944    ) IS
945 
946   l_msg_index_out        NUMBER;
947 BEGIN
948 
949   -- Initialize the Error Stack
950   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.delete_report');
951 
952   -- Initialize the return status to success
953   x_return_status := FND_API.G_RET_STS_SUCCESS;
954 
955   --Clear the global PL/SQL message table
956   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
957     FND_MSG_PUB.initialize;
958   END IF;
959 
960 
961   pa_progress_report_pvt.delete_report
962   (
963    p_api_version   ,
964    p_init_msg_list ,
965    p_commit        ,
966    p_validate_only ,
967    p_max_msg_count   ,
968 
969    p_version_id                  ,
970    p_record_version_number       ,
971 
972    x_return_status   ,
973    x_msg_count       ,
974    x_msg_data
975      );
976 
977   --
978   -- IF the number of messaages is 1 then fetch the message code from the stack
979   -- and return its text
980   --
981 
982   x_msg_count :=  FND_MSG_PUB.Count_Msg;
983   IF x_msg_count = 1 THEN
984     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
985                                          ,p_msg_index     => 1
986                                          ,p_data          => x_msg_data
987                                          ,p_msg_index_out => l_msg_index_out
988                                         );
989   END IF;
990 
991   -- Reset the error stack when returning to the calling program
992   PA_DEBUG.Reset_Err_Stack;
993 
994 
995 -- Put any message text from message stack into the Message ARRAY
996 EXCEPTION
997    WHEN OTHERS THEN
998        rollback;
999 
1000        -- Set the excetption Message and the stack
1001        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.delete_report'
1002                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
1003        --
1004        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1005        RAISE;  -- This is optional depending on the needs
1006 END delete_report;
1007 
1008 
1009 
1010 PROCEDURE submit_report
1011   (
1012    p_api_version                 IN     NUMBER :=  1.0,
1013    p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
1014    p_commit                      IN     VARCHAR2 := FND_API.g_false,
1015    p_validate_only               IN     VARCHAR2 := FND_API.g_true,
1016    p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
1017 
1018    p_version_id                  IN     NUMBER := NULL,
1019    p_record_version_number       IN     NUMBER := NULL,
1020    p_summary_version_number       IN     NUMBER := NULL,
1021 
1022    x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
1023    x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
1024    x_msg_data                    OUT    NOCOPY VARCHAR2    --File.Sql.39 bug 4440895
1025    ) IS
1026   l_msg_index_out        NUMBER;
1027 BEGIN
1028 
1029   -- Initialize the Error Stack
1030   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.submit_report');
1031 
1032   -- Initialize the return status to success
1033   x_return_status := FND_API.G_RET_STS_SUCCESS;
1034 
1035   --Clear the global PL/SQL message table
1036   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
1037     FND_MSG_PUB.initialize;
1038   END IF;
1039 
1040 
1041   pa_progress_report_pvt.submit_report
1042   (
1043    p_api_version   ,
1044    p_init_msg_list ,
1045    p_commit        ,
1046    p_validate_only ,
1047    p_max_msg_count   ,
1048 
1049    p_version_id                  ,
1050    p_record_version_number       ,
1051    p_summary_version_number      ,
1052    x_return_status   ,
1053    x_msg_count       ,
1054    x_msg_data
1055      );
1056 
1057   --
1058   -- IF the number of messaages is 1 then fetch the message code from the stack
1059   -- and return its text
1060   --
1061 
1062   x_msg_count :=  FND_MSG_PUB.Count_Msg;
1063   IF x_msg_count = 1 THEN
1064     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
1065                                          ,p_msg_index     => 1
1066                                          ,p_data          => x_msg_data
1067                                          ,p_msg_index_out => l_msg_index_out
1068                                         );
1069   END IF;
1070 
1071   -- Reset the error stack when returning to the calling program
1072   PA_DEBUG.Reset_Err_Stack;
1073 
1074 
1075 -- Put any message text from message stack into the Message ARRAY
1076 EXCEPTION
1077    WHEN OTHERS THEN
1078        rollback;
1079 
1080        -- Set the excetption Message and the stack
1081        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.submit_report'
1082                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
1083        --
1084        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1085        RAISE;  -- This is optional depending on the needs
1086 END submit_report;
1087 
1088 
1089 PROCEDURE cancel_report
1090 (
1091    p_api_version                 IN     NUMBER :=  1.0,
1092    p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
1093    p_commit                      IN     VARCHAR2 := FND_API.g_false,
1094    p_validate_only               IN     VARCHAR2 := FND_API.g_true,
1095    p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
1096 
1097    p_version_id                  IN     NUMBER :=NULL,
1098    p_record_version_number       IN     NUMBER := NULL,
1099    p_cancel_comments             IN     VARCHAR2 := NULL,
1100 
1101    x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
1102    x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
1103    x_msg_data                    OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1104  ) IS
1105     l_msg_index_out        NUMBER;
1106 BEGIN
1107 
1108   -- Initialize the Error Stack
1109   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.cancel_report');
1110 
1111   -- Initialize the return status to success
1112   x_return_status := FND_API.G_RET_STS_SUCCESS;
1113 
1114   --Clear the global PL/SQL message table
1115   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
1116     FND_MSG_PUB.initialize;
1117   END IF;
1118 
1119 
1120   pa_progress_report_pvt.cancel_report
1121   (
1122    p_api_version   ,
1123    p_init_msg_list ,
1124    p_commit        ,
1125    p_validate_only ,
1126    p_max_msg_count   ,
1127 
1128    p_version_id                  ,
1129    p_record_version_number       ,
1130    p_cancel_comments             ,
1131 
1132    x_return_status   ,
1133    x_msg_count       ,
1134    x_msg_data
1135      );
1136 
1137   --
1138   -- IF the number of messaages is 1 then fetch the message code from the stack
1139   -- and return its text
1140   --
1141 
1142   x_msg_count :=  FND_MSG_PUB.Count_Msg;
1143   IF x_msg_count = 1 THEN
1144     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
1145                                          ,p_msg_index     => 1
1146                                          ,p_data          => x_msg_data
1147                                          ,p_msg_index_out => l_msg_index_out
1148                                         );
1149   END IF;
1150 
1151   -- Reset the error stack when returning to the calling program
1152   PA_DEBUG.Reset_Err_Stack;
1153 
1154 
1155 -- Put any message text from message stack into the Message ARRAY
1156 EXCEPTION
1157    WHEN OTHERS THEN
1158        rollback;
1159 
1160        -- Set the excetption Message and the stack
1161        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.cancel_report'
1162                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
1163        --
1164        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1165        RAISE;  -- This is optional depending on the needs
1166 END cancel_report;
1167 
1168 
1169 PROCEDURE rework_report
1170   (
1171    p_api_version                 IN     NUMBER :=  1.0,
1172    p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
1173    p_commit                      IN     VARCHAR2 := FND_API.g_false,
1174    p_validate_only               IN     VARCHAR2 := FND_API.g_true,
1175    p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
1176 
1177    p_version_id                  IN     NUMBER := NULL,
1178    p_record_version_number       IN     NUMBER := NULL,
1179 
1180    x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
1181    x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
1182    x_msg_data                    OUT    NOCOPY VARCHAR2    --File.Sql.39 bug 4440895
1183    ) IS
1184    l_msg_index_out        NUMBER;
1185 BEGIN
1186 
1187   -- Initialize the Error Stack
1188   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.rework_report');
1189 
1190   -- Initialize the return status to success
1191   x_return_status := FND_API.G_RET_STS_SUCCESS;
1192 
1193   --Clear the global PL/SQL message table
1194   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
1195     FND_MSG_PUB.initialize;
1196   END IF;
1197 
1198 
1199   pa_progress_report_pvt.rework_report
1200   (
1201    p_api_version   ,
1202    p_init_msg_list ,
1203    p_commit        ,
1204    p_validate_only ,
1205    p_max_msg_count   ,
1206 
1207    p_version_id                  ,
1208    p_record_version_number       ,
1209 
1210    x_return_status   ,
1211    x_msg_count       ,
1212    x_msg_data
1213      );
1214 
1215   --
1216   -- IF the number of messaages is 1 then fetch the message code from the stack
1217   -- and return its text
1218   --
1219 
1220   x_msg_count :=  FND_MSG_PUB.Count_Msg;
1221   IF x_msg_count = 1 THEN
1222     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
1223                                          ,p_msg_index     => 1
1224                                          ,p_data          => x_msg_data
1225                                          ,p_msg_index_out => l_msg_index_out
1226                                         );
1227   END IF;
1228 
1229   -- Reset the error stack when returning to the calling program
1230   PA_DEBUG.Reset_Err_Stack;
1231 
1232 
1233 -- Put any message text from message stack into the Message ARRAY
1234 EXCEPTION
1235    WHEN OTHERS THEN
1236        rollback;
1237 
1238        -- Set the excetption Message and the stack
1239        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.rework_report'
1240                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
1241        --
1242        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1243        RAISE;  -- This is optional depending on the needs
1244 END rework_report;
1245 
1246 
1247 PROCEDURE publish_report (
1248  p_api_version                 IN     NUMBER :=  1.0,
1249  p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
1250  p_commit                      IN     VARCHAR2 := FND_API.g_false,
1251  p_validate_only               IN     VARCHAR2 := FND_API.g_true,
1252  p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
1253 
1254   p_version_id IN NUMBER := null,
1255 			  p_record_version_number       IN     NUMBER := NULL,
1256 			  p_summary_version_number       IN     NUMBER := NULL,
1257 
1258   x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
1259   x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
1260   x_msg_data                    OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1261 			  ) IS
1262    l_msg_index_out        NUMBER;
1263 BEGIN
1264 
1265   -- Initialize the Error Stack
1266   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.publish_report');
1267 
1268   -- Initialize the return status to success
1269   x_return_status := FND_API.G_RET_STS_SUCCESS;
1270 
1271   --Clear the global PL/SQL message table
1272   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
1273     FND_MSG_PUB.initialize;
1274   END IF;
1275 
1276 
1277   pa_progress_report_pvt.publish_report
1278   (
1279    p_api_version   ,
1280    p_init_msg_list ,
1281    p_commit        ,
1282    p_validate_only ,
1283    p_max_msg_count   ,
1284 
1285    p_version_id                  ,
1286    p_record_version_number       ,
1287    p_summary_version_number       ,
1288 
1289    x_return_status   ,
1290    x_msg_count       ,
1291    x_msg_data
1292      );
1293 
1294   --
1295   -- IF the number of messaages is 1 then fetch the message code from the stack
1296   -- and return its text
1297   --
1298 
1299   x_msg_count :=  FND_MSG_PUB.Count_Msg;
1300   IF x_msg_count = 1 THEN
1301     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
1302                                          ,p_msg_index     => 1
1303                                          ,p_data          => x_msg_data
1304                                          ,p_msg_index_out => l_msg_index_out
1305                                         );
1306   END IF;
1307 
1308   -- Reset the error stack when returning to the calling program
1309   PA_DEBUG.Reset_Err_Stack;
1310 
1311 
1312 -- Put any message text from message stack into the Message ARRAY
1313 EXCEPTION
1314    WHEN OTHERS THEN
1315        rollback;
1316 
1317        -- Set the excetption Message and the stack
1318        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.publish_report'
1319                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
1320        --
1321        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1322        RAISE;  -- This is optional depending on the needs
1323 END publish_report;
1324 
1325 PROCEDURE approve_report (
1326  p_api_version                 IN     NUMBER :=  1.0,
1327  p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
1328  p_commit                      IN     VARCHAR2 := FND_API.g_false,
1329  p_validate_only               IN     VARCHAR2 := FND_API.g_true,
1330  p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
1331 
1332   p_version_id IN NUMBER := null,
1333   p_record_version_number       IN     NUMBER := NULL,
1334 
1335   x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
1336   x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
1337   x_msg_data                    OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1338 			  ) IS
1339    l_msg_index_out        NUMBER;
1340 BEGIN
1341 
1342   -- Initialize the Error Stack
1343   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.approve_report');
1344 
1345   -- Initialize the return status to success
1346   x_return_status := FND_API.G_RET_STS_SUCCESS;
1347 
1348   --Clear the global PL/SQL message table
1349   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
1350     FND_MSG_PUB.initialize;
1351   END IF;
1352 
1353 
1354   pa_progress_report_pvt.approve_report
1355   (
1356    p_api_version   ,
1357    p_init_msg_list ,
1358    p_commit        ,
1359    p_validate_only ,
1360    p_max_msg_count   ,
1361 
1362    p_version_id                  ,
1363    p_record_version_number       ,
1364 
1365    x_return_status   ,
1366    x_msg_count       ,
1367    x_msg_data
1368      );
1369 
1370   --
1371   -- IF the number of messaages is 1 then fetch the message code from the stack
1372   -- and return its text
1373   --
1374 
1375   x_msg_count :=  FND_MSG_PUB.Count_Msg;
1376   IF x_msg_count = 1 THEN
1377     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
1378                                          ,p_msg_index     => 1
1379                                          ,p_data          => x_msg_data
1380                                          ,p_msg_index_out => l_msg_index_out
1381                                         );
1382   END IF;
1383 
1384   -- Reset the error stack when returning to the calling program
1385   PA_DEBUG.Reset_Err_Stack;
1386 
1387 
1388 -- Put any message text from message stack into the Message ARRAY
1389 EXCEPTION
1390    WHEN OTHERS THEN
1391        rollback;
1392 
1393        -- Set the excetption Message and the stack
1394        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.approve_report'
1395                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
1396        --
1397        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1398        RAISE;  -- This is optional depending on the needs
1399 END approve_report;
1400 
1401 
1402 PROCEDURE reject_report (
1403  p_api_version                 IN     NUMBER :=  1.0,
1404  p_init_msg_list               IN     VARCHAR2 := fnd_api.g_true,
1405  p_commit                      IN     VARCHAR2 := FND_API.g_false,
1406  p_validate_only               IN     VARCHAR2 := FND_API.g_true,
1407  p_max_msg_count               IN     NUMBER := FND_API.g_miss_num,
1408 
1409   p_version_id IN NUMBER := null,
1410   p_record_version_number       IN     NUMBER := NULL,
1411 
1412   x_return_status               OUT    NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
1413   x_msg_count                   OUT    NOCOPY NUMBER, --File.Sql.39 bug 4440895
1414   x_msg_data                    OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1415 			  ) IS
1416    l_msg_index_out        NUMBER;
1417 BEGIN
1418 
1419   -- Initialize the Error Stack
1420   PA_DEBUG.init_err_stack('PA_PROGRESS_REPORT_PUB.reject_report');
1421 
1422   -- Initialize the return status to success
1423   x_return_status := FND_API.G_RET_STS_SUCCESS;
1424 
1425   --Clear the global PL/SQL message table
1426   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
1427     FND_MSG_PUB.initialize;
1428   END IF;
1429 
1430 
1431   pa_progress_report_pvt.reject_report
1432   (
1433    p_api_version   ,
1434    p_init_msg_list ,
1435    p_commit        ,
1436    p_validate_only ,
1437    p_max_msg_count   ,
1438 
1439    p_version_id                  ,
1440    p_record_version_number       ,
1441 
1442    x_return_status   ,
1443    x_msg_count       ,
1444    x_msg_data
1445      );
1446 
1447   --
1448   -- IF the number of messaages is 1 then fetch the message code from the stack
1449   -- and return its text
1450   --
1451 
1452   x_msg_count :=  FND_MSG_PUB.Count_Msg;
1453   IF x_msg_count = 1 THEN
1454     pa_interface_utils_pub.get_messages ( p_encoded       => FND_API.G_TRUE
1455                                          ,p_msg_index     => 1
1456                                          ,p_data          => x_msg_data
1457                                          ,p_msg_index_out => l_msg_index_out
1458                                         );
1459   END IF;
1460 
1461   -- Reset the error stack when returning to the calling program
1462   PA_DEBUG.Reset_Err_Stack;
1463 
1464 
1465 -- Put any message text from message stack into the Message ARRAY
1466 EXCEPTION
1467    WHEN OTHERS THEN
1468        rollback;
1469 
1470        -- Set the excetption Message and the stack
1471        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PROGRESS_REPORT_PUB.reject_report'
1472                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
1473        --
1474        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1475        RAISE;  -- This is optional depending on the needs
1476 END reject_report;
1477 
1478 
1479 END pa_progress_report_pub;
1480