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