DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_CI_DOC_ATTACH_PKG

Source


1 PACKAGE BODY pa_ci_doc_attach_pkg AS
2 /* $Header: PACIDOCB.pls 120.1 2005/08/19 16:18:01 mwasowic noship $ */
3 
4 PROCEDURE delete_all_attachments (
5   p_api_version			IN NUMBER :=  1.0,
6   p_init_msg_list		IN VARCHAR2 := fnd_api.g_true,
7   p_commit			IN VARCHAR2 := FND_API.g_false,
8   p_validate_only		IN VARCHAR2 := FND_API.g_true,
9   p_max_msg_count		IN NUMBER := FND_API.g_miss_num,
10   p_ci_id			IN NUMBER,
11   x_return_status		OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
12   x_msg_count			OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
13   x_msg_data			OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
14 )
15 IS
16 BEGIN
17   pa_debug.set_err_stack ('PA_CI_DOC_ATTACH_PKG.DELETE_ALL_ATTACHMENTS');
18 
19   IF p_commit = FND_API.G_TRUE THEN
20     SAVEPOINT delete_all_attachments;
21   END IF;
22 
23   IF p_init_msg_list = FND_API.G_TRUE THEN
24     fnd_msg_pub.initialize;
25   END IF;
26 
27   x_return_status := 'S';
28   x_msg_count := 0;
29   x_msg_data := '';
30 
31   IF p_validate_only = fnd_api.g_false THEN
32     fnd_attached_documents2_pkg.delete_attachments(
33       X_entity_name => 'PA_CONTROL_ITEMS',
34       X_pk1_value => p_ci_id,
35       X_delete_document_flag => 'Y');
36   END IF;
37 
38   IF p_commit = fnd_api.g_true THEN
39     IF  x_return_status = 'S' THEN
40       COMMIT;
41     ELSE
42       ROLLBACK TO delete_all_attachments;
43     END IF;
44   END IF;
45 
46   fnd_msg_pub.count_and_get(p_count => x_msg_count,
47                             p_data  => x_msg_data);
48 
49   pa_debug.reset_err_stack;
50 
51 EXCEPTION
52   WHEN OTHERS THEN
53     IF p_commit = fnd_api.g_true THEN
54       ROLLBACK TO delete_all_attachments;
55     END IF;
56 
57     x_return_status := 'U';
58     fnd_msg_pub.add_exc_msg(p_pkg_name       => 'PA_CI_DOC_ATTACH_PKG',
59                             p_procedure_name => 'DELETE_ALL_ATTACHMENTS',
60                             p_error_text     => SUBSTRB(SQLERRM,1,240));
61 
62     fnd_msg_pub.count_and_get(p_count => x_msg_count,
63                               p_data  => x_msg_data);
64 END delete_all_attachments;
65 
66 PROCEDURE copy_attachments (
67   p_api_version			IN NUMBER :=  1.0,
68   p_init_msg_list		IN VARCHAR2 := fnd_api.g_true,
69   p_commit			IN VARCHAR2 := FND_API.g_false,
70   p_validate_only		IN VARCHAR2 := FND_API.g_true,
71   p_max_msg_count		IN NUMBER := FND_API.g_miss_num,
72   p_from_ci_id			IN NUMBER,
73   p_to_ci_id			IN NUMBER,
74   x_return_status		OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
75   x_msg_count			OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
76   x_msg_data			OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
77 )
78 IS
79 BEGIN
80   pa_debug.set_err_stack ('PA_CI_DOC_ATTACH_PKG.COPY_ATTACHMENTS');
81 
82   IF p_commit = FND_API.G_TRUE THEN
83     SAVEPOINT copy_attachments;
84   END IF;
85 
86   IF p_init_msg_list = FND_API.G_TRUE THEN
87     fnd_msg_pub.initialize;
88   END IF;
89 
90   x_return_status := 'S';
91   x_msg_count := 0;
92   x_msg_data := '';
93 
94   IF p_validate_only = fnd_api.g_false THEN
95     fnd_attached_documents2_pkg.copy_attachments(
96       X_from_entity_name => 'PA_CONTROL_ITEMS',
97       X_from_pk1_value => p_from_ci_id,
98       X_to_entity_name => 'PA_CONTROL_ITEMS',
99       X_to_pk1_value => p_to_ci_id,
100       X_created_by => fnd_global.user_id,
101       X_last_update_login => fnd_global.login_id);
102   END IF;
103 
104   IF p_commit = fnd_api.g_true THEN
105     IF  x_return_status = 'S' THEN
106       COMMIT;
107     ELSE
108       ROLLBACK TO copy_attachments;
109     END IF;
110   END IF;
111 
112   fnd_msg_pub.count_and_get(p_count => x_msg_count,
113                             p_data  => x_msg_data);
114 
115   pa_debug.reset_err_stack;
116 
117 EXCEPTION
118   WHEN OTHERS THEN
119     IF p_commit = fnd_api.g_true THEN
120       ROLLBACK TO copy_attachments;
121     END IF;
122 
123     x_return_status := 'U';
124     fnd_msg_pub.add_exc_msg(p_pkg_name       => 'PA_CI_DOC_ATTACH_PKG',
125                             p_procedure_name => 'COPY_ATTACHMENTS',
126                             p_error_text     => SUBSTRB(SQLERRM,1,240));
127 
128     fnd_msg_pub.count_and_get(p_count => x_msg_count,
129                               p_data  => x_msg_data);
130 END copy_attachments;
131 
132 END pa_ci_doc_attach_pkg;