[Home] [Help]
PACKAGE BODY: APPS.PA_CI_TYPE_USAGE_PVT
Source
1 PACKAGE BODY pa_ci_type_usage_pvt AS
2 /* $Header: PACITUVB.pls 120.1 2005/08/19 16:19:02 mwasowic noship $ */
3
4 PROCEDURE create_ci_type_usage (
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_project_type_id IN NUMBER,
11 p_ci_type_id IN NUMBER,
12 p_created_by IN NUMBER DEFAULT fnd_global.user_id,
13 p_creation_date IN DATE DEFAULT SYSDATE,
14 p_last_update_login IN NUMBER DEFAULT fnd_global.user_id,
15 x_ci_type_usage_id OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
16 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
17 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
18 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
19 )
20 IS
21 l_rowid VARCHAR2(30);
22 BEGIN
23 pa_debug.set_err_stack ('PA_CI_TYPE_USAGE_PVT.CREATE_CI_TYPE_USAGE');
24
25 IF p_commit = FND_API.G_TRUE THEN
26 SAVEPOINT create_ci_type_usage;
27 END IF;
28
29 IF p_init_msg_list = FND_API.G_TRUE THEN
30 fnd_msg_pub.initialize;
31 END IF;
32
33 x_return_status := 'S';
34 x_msg_count := 0;
35 x_msg_data := '';
36
37 IF (p_validate_only <> fnd_api.g_true AND x_return_status = 'S') THEN
38 pa_ci_type_usage_pkg.insert_row(
39 x_rowid => l_rowid,
40 x_ci_type_usage_id => x_ci_type_usage_id,
41 x_project_type_id => p_project_type_id,
42 x_ci_type_id => p_ci_type_id,
43 x_creation_date => p_creation_date,
44 x_created_by => p_created_by,
45 x_last_update_date => p_creation_date,
46 x_last_updated_by => p_created_by,
47 x_last_update_login => p_last_update_login);
48 END IF;
49
50 IF p_commit = fnd_api.g_true THEN
51 IF x_return_status = 'S' THEN
52 COMMIT;
53 ELSE
54 ROLLBACK TO create_ci_type_usage;
55 END IF;
56 END IF;
57
58 fnd_msg_pub.count_and_get(p_count => x_msg_count,
59 p_data => x_msg_data);
60
61 pa_debug.reset_err_stack;
62
63 EXCEPTION
64 WHEN OTHERS THEN
65 IF p_commit = fnd_api.g_true THEN
66 ROLLBACK TO create_ci_type_usage;
67 END IF;
68
69 x_return_status := 'U';
70 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_TYPE_USAGE_PVT',
71 p_procedure_name => 'CREATE_CI_TYPE_USAGE',
72 p_error_text => SUBSTRB(SQLERRM,1,240));
73
74 fnd_msg_pub.count_and_get(p_count => x_msg_count,
75 p_data => x_msg_data);
76 END create_ci_type_usage;
77
78 PROCEDURE update_ci_type_usage (
79 p_api_version IN NUMBER := 1.0,
80 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
81 p_commit IN VARCHAR2 := FND_API.g_false,
82 p_validate_only IN VARCHAR2 := FND_API.g_true,
83 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
84 p_ci_type_usage_id IN NUMBER,
85 p_project_type_id IN NUMBER,
86 p_ci_type_id IN NUMBER,
87 p_last_updated_by IN NUMBER DEFAULT fnd_global.user_id,
88 p_last_update_date IN DATE DEFAULT SYSDATE,
89 p_last_update_login IN NUMBER DEFAULT fnd_global.user_id,
90 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
91 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
92 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
93 )
94 IS
95 BEGIN
96 pa_debug.set_err_stack ('PA_CI_TYPE_USAGE_PVT.UPDATE_CI_TYPE_USAGE');
97
98 IF p_commit = FND_API.G_TRUE THEN
99 SAVEPOINT update_ci_type_usage;
100 END IF;
101
102 IF p_init_msg_list = FND_API.G_TRUE THEN
103 fnd_msg_pub.initialize;
104 END IF;
105
106 x_return_status := 'S';
107 x_msg_count := 0;
108 x_msg_data := '';
109
110 IF (p_validate_only <> fnd_api.g_true AND x_return_status = 'S') THEN
111 pa_ci_type_usage_pkg.update_row(
112 x_ci_type_usage_id => p_ci_type_usage_id,
113 x_project_type_id => p_project_type_id,
114 x_ci_type_id => p_ci_type_id,
115 x_last_update_date => p_last_update_date,
116 x_last_updated_by => p_last_updated_by,
117 x_last_update_login => p_last_update_login);
118 END IF;
119
120 IF p_commit = fnd_api.g_true THEN
121 IF x_return_status = 'S' THEN
122 COMMIT;
123 ELSE
124 ROLLBACK TO update_ci_type_usage;
125 END IF;
126 END IF;
127
128 fnd_msg_pub.count_and_get(p_count => x_msg_count,
129 p_data => x_msg_data);
130
131 pa_debug.reset_err_stack;
132
133 EXCEPTION
134 WHEN OTHERS THEN
135 IF p_commit = fnd_api.g_true THEN
136 ROLLBACK TO update_ci_type_usage;
137 END IF;
138
139 x_return_status := 'U';
140 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_TYPE_USAGE_PVT',
141 p_procedure_name => 'UPDATE_CI_TYPE_USAGE',
142 p_error_text => SUBSTRB(SQLERRM,1,240));
143
144 fnd_msg_pub.count_and_get(p_count => x_msg_count,
145 p_data => x_msg_data);
146 END update_ci_type_usage;
147
148 PROCEDURE delete_ci_type_usage (
149 p_api_version IN NUMBER := 1.0,
150 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
151 p_commit IN VARCHAR2 := FND_API.g_false,
152 p_validate_only IN VARCHAR2 := FND_API.g_true,
153 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
154 p_ci_type_usage_id IN NUMBER,
155 p_project_type_id IN NUMBER,
156 p_ci_type_id IN NUMBER,
157 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
158 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
159 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
160 )
161 IS
162 l_temp VARCHAR2(1);
163 BEGIN
164 pa_debug.set_err_stack ('PA_CI_TYPE_USAGE_PVT.DELETE_CI_TYPE_USAGE');
165
166 IF p_commit = FND_API.G_TRUE THEN
167 SAVEPOINT delete_ci_type_usage;
168 END IF;
169
170 IF p_init_msg_list = FND_API.G_TRUE THEN
171 fnd_msg_pub.initialize;
172 END IF;
173
174 x_return_status := 'S';
175 x_msg_count := 0;
176 x_msg_data := '';
177
178 -- Trying to lock the record
179 pa_ci_type_usage_pkg.lock_row (
180 x_ci_type_usage_id => p_ci_type_usage_id,
181 x_project_type_id => p_project_type_id,
182 x_ci_type_id => p_ci_type_id);
183
184 IF (p_validate_only <> fnd_api.g_true AND x_return_status = 'S') THEN
185 pa_ci_type_usage_pkg.delete_row(
186 x_ci_type_usage_id => p_ci_type_usage_id);
187 END IF;
188
189 IF p_commit = fnd_api.g_true THEN
190 IF x_return_status = 'S' THEN
191 COMMIT;
192 ELSE
193 ROLLBACK TO delete_ci_type_usage;
194 END IF;
195 END IF;
196
197 fnd_msg_pub.count_and_get(p_count => x_msg_count,
198 p_data => x_msg_data);
199
200 pa_debug.reset_err_stack;
201
202 EXCEPTION
203 WHEN OTHERS THEN
204 IF p_commit = fnd_api.g_true THEN
205 ROLLBACK TO delete_ci_type_usage;
206 END IF;
207
208 x_return_status := 'U';
209 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_TYPES_PVT',
210 p_procedure_name => 'DELETE_CI_TYPE_USAGE',
211 p_error_text => SUBSTRB(SQLERRM,1,240));
212
213 fnd_msg_pub.count_and_get(p_count => x_msg_count,
214 p_data => x_msg_data);
215 END delete_ci_type_usage;
216
217 END pa_ci_type_usage_pvt;