[Home] [Help]
PACKAGE BODY: APPS.CN_COLUMN_MAPS_PVT
Source
1 PACKAGE BODY CN_COLUMN_MAPS_PVT as
2 /* $Header: cnvcmapb.pls 120.4 2005/09/13 09:32:07 apink noship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CN_COLUMN_MAPS_PVT';
5 G_LAST_UPDATE_DATE DATE := sysdate;
6 G_LAST_UPDATED_BY NUMBER := fnd_global.user_id;
7 G_CREATION_DATE DATE := sysdate;
8 G_CREATED_BY NUMBER := fnd_global.user_id;
9 G_LAST_UPDATE_LOGIN NUMBER := fnd_global.login_id;
10
11 -----------------------------------------------------------------------------+
12 -- Procedure : insert_row
13 -----------------------------------------------------------------------------+
14 PROCEDURE insert_row
15 (
16 p_api_version IN NUMBER,
17 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
18 p_commit IN VARCHAR2 := FND_API.G_FALSE,
19 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
20 x_return_status OUT NOCOPY VARCHAR2,
21 x_msg_count OUT NOCOPY NUMBER,
22 x_msg_data OUT NOCOPY VARCHAR2,
23 p_destination_column_id IN NUMBER,
24 p_table_map_id IN NUMBER,
25 p_expression IN VARCHAR2,
26 p_editable IN VARCHAR2,
27 p_modified IN VARCHAR2,
28 p_update_clause IN VARCHAR2,
29 p_calc_ext_table_id IN NUMBER,
30 p_org_id IN NUMBER,
31 x_col_map_id IN OUT NOCOPY NUMBER) IS
32
33 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
34 l_api_version CONSTANT NUMBER := 1.0;
35 l_rowid ROWID;
36 l_column_map_id NUMBER;
37
38 BEGIN
39 -- Standard Start of API savepoint
40 SAVEPOINT insert_row_sv;
41 -- Standard call to check for call compatibility.
42 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
43 p_api_version ,
44 l_api_name,
45 G_PKG_NAME ) THEN
46 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
47 END IF;
48 -- Initialize message list if p_init_msg_list is set to TRUE.
49 IF FND_API.to_Boolean( p_init_msg_list ) THEN
50 FND_MSG_PUB.initialize;
51 END IF;
52 -- Initialize API return status to success
53 x_return_status := FND_API.G_RET_STS_SUCCESS;
54 -- API Body Begin
55
56
57 cn_column_maps_pkg.Insert_Row
58 (x_rowid => l_rowid,
59 x_column_map_id => l_column_map_id,
60 x_destination_column_id => p_destination_column_id,
61 x_table_map_id => p_table_map_id,
62 x_expression => p_expression,
63 x_editable => p_editable,
64 x_modified => p_modified,
65 x_update_clause => p_update_clause,
66 x_calc_ext_table_id => p_calc_ext_table_id,
67 x_creation_date => G_CREATION_DATE,
68 x_created_by => G_CREATED_BY,
69 X_org_id => p_org_id);
70
71 x_col_map_id := l_column_map_id;
72
73 -- End of API body.
74 -- Standard check of p_commit.
75 IF FND_API.To_Boolean( p_commit ) THEN
76 COMMIT WORK;
77 END IF;
78 -- Standard call to get message count and if count is 1, get message info.
79 FND_MSG_PUB.Count_And_Get
80 (p_count => x_msg_count ,
81 p_data => x_msg_data ,
82 p_encoded => FND_API.G_FALSE );
83
84 EXCEPTION
85 WHEN FND_API.G_EXC_ERROR THEN
86 ROLLBACK TO insert_row_sv;
87 x_return_status := FND_API.G_RET_STS_ERROR ;
88 FND_MSG_PUB.Count_And_Get(
89 p_count => x_msg_count ,
90 p_data => x_msg_data ,
91 p_encoded => FND_API.G_FALSE);
92 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
93 ROLLBACK TO insert_row_sv;
94 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
95 FND_MSG_PUB.Count_And_Get(
96 p_count => x_msg_count ,
97 p_data => x_msg_data ,
98 p_encoded => FND_API.G_FALSE);
99 WHEN OTHERS THEN
100 ROLLBACK TO insert_row_sv;
101 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
102 IF FND_MSG_PUB.Check_Msg_Level(
103 FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
104 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
105 END IF;
106 FND_MSG_PUB.Count_And_Get(
107 p_count => x_msg_count ,
108 p_data => x_msg_data ,
109 p_encoded => FND_API.G_FALSE);
110 END insert_row;
111
112 -----------------------------------------------------------------------------+
113 -- Procedure : update_row
114 -----------------------------------------------------------------------------+
115 PROCEDURE update_row
116 (
117 p_api_version IN NUMBER,
118 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
119 p_commit IN VARCHAR2 := FND_API.G_FALSE,
120 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
121 x_return_status OUT NOCOPY VARCHAR2,
122 x_msg_count OUT NOCOPY NUMBER,
123 x_msg_data OUT NOCOPY VARCHAR2,
124 p_column_map_id IN NUMBER,
125 p_destination_column_id IN NUMBER,
126 p_table_map_id IN NUMBER,
127 p_expression IN VARCHAR2,
128 p_editable IN VARCHAR2,
129 p_modified IN VARCHAR2,
130 p_update_clause IN VARCHAR2,
131 p_calc_ext_table_id IN NUMBER,
132 p_object_version_number IN OUT NOCOPY NUMBER,
133 p_org_id IN NUMBER) IS
134
135 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
136 l_api_version CONSTANT NUMBER := 1.0;
137 l_object_version_number cn_table_maps.object_version_number%TYPE;
138
139 CURSOR l_ovn_csr IS
140 SELECT object_version_number
141 FROM cn_column_maps
142 WHERE column_map_id = p_column_map_id
143 and org_id = p_org_id;
144
145 BEGIN
146 -- Standard Start of API savepoint
147 SAVEPOINT update_row_sv;
148 -- Standard call to check for call compatibility.
149 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
150 p_api_version ,
151 l_api_name,
152 G_PKG_NAME ) THEN
153 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
154 END IF;
155 -- Initialize message list if p_init_msg_list is set to TRUE.
156 IF FND_API.to_Boolean( p_init_msg_list ) THEN
157 FND_MSG_PUB.initialize;
158 END IF;
159 -- Initialize API return status to success
160 x_return_status := FND_API.G_RET_STS_SUCCESS;
161 -- API Body Begin
162
163 -- check if the object version number is the same
164 OPEN l_ovn_csr;
165 FETCH l_ovn_csr INTO l_object_version_number;
166 CLOSE l_ovn_csr;
167
168 if (l_object_version_number <> p_object_version_number) THEN
169
170 IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_error)
171 THEN
172 fnd_message.set_name('CN', 'CL_INVALID_OVN');
173 fnd_msg_pub.add;
174 END IF;
175
176 RAISE FND_API.G_EXC_ERROR;
177
178 end if;
179
180
181
182 cn_column_maps_pkg.Update_Row
183 (x_column_map_id => p_column_map_id,
184 x_destination_column_id => p_destination_column_id,
185 x_table_map_id => p_table_map_id,
186 x_expression => p_expression,
187 x_editable => p_editable,
188 x_modified => p_modified,
189 x_update_clause => p_update_clause,
190 x_calc_ext_table_id => p_calc_ext_table_id,
191 x_last_update_date => G_LAST_UPDATE_DATE,
192 x_last_updated_by => G_LAST_UPDATED_BY,
193 x_last_update_login => g_last_update_login,
194 x_object_version_number => p_object_version_number,
195 x_org_id => p_org_id);
196
197 p_object_version_number := l_object_version_number + 1;
198
199 -- End of API body.
200 -- Standard check of p_commit.
201 IF FND_API.To_Boolean( p_commit ) THEN
202 COMMIT WORK;
203 END IF;
204 -- Standard call to get message count and if count is 1, get message info.
205 FND_MSG_PUB.Count_And_Get
206 (p_count => x_msg_count ,
207 p_data => x_msg_data ,
208 p_encoded => FND_API.G_FALSE );
209 EXCEPTION
210 WHEN FND_API.G_EXC_ERROR THEN
211 ROLLBACK TO update_row_sv;
212 x_return_status := FND_API.G_RET_STS_ERROR ;
213 FND_MSG_PUB.Count_And_Get(
214 p_count => x_msg_count ,
215 p_data => x_msg_data ,
216 p_encoded => FND_API.G_FALSE);
217 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
218 ROLLBACK TO update_row_sv;
219 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
220 FND_MSG_PUB.Count_And_Get(
221 p_count => x_msg_count ,
222 p_data => x_msg_data ,
223 p_encoded => FND_API.G_FALSE);
224 WHEN OTHERS THEN
225 ROLLBACK TO update_row_sv;
226 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
227 IF FND_MSG_PUB.Check_Msg_Level(
228 FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
229 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
230 END IF;
231 FND_MSG_PUB.Count_And_Get(
232 p_count => x_msg_count ,
233 p_data => x_msg_data ,
234 p_encoded => FND_API.G_FALSE);
235 END update_row;
236
237 -----------------------------------------------------------------------------+
238 -- Procedure : delete_row
239 -----------------------------------------------------------------------------+
240 PROCEDURE delete_row
241 (
242 p_api_version IN NUMBER,
243 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
244 p_commit IN VARCHAR2 := FND_API.G_FALSE,
245 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
246 x_return_status OUT NOCOPY VARCHAR2,
247 x_msg_count OUT NOCOPY NUMBER,
248 x_msg_data OUT NOCOPY VARCHAR2,
249 p_column_map_id IN NUMBER,
250 p_org_id IN NUMBER) IS
251
252 l_api_name CONSTANT VARCHAR2(30) := 'delete_row';
253 l_api_version CONSTANT NUMBER := 1.0;
254
255 BEGIN
256 -- Standard Start of API savepoint
257 SAVEPOINT delete_row_sv;
258 -- Standard call to check for call compatibility.
259 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
260 p_api_version ,
261 l_api_name,
262 G_PKG_NAME ) THEN
263 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
264 END IF;
265 -- Initialize message list if p_init_msg_list is set to TRUE.
266 IF FND_API.to_Boolean( p_init_msg_list ) THEN
267 FND_MSG_PUB.initialize;
268 END IF;
269 -- Initialize API return status to success
270 x_return_status := FND_API.G_RET_STS_SUCCESS;
271 -- API Body Begin
272
273 cn_column_maps_pkg.Delete_Row
274 (x_column_map_id => p_column_map_id, x_org_id => p_org_id);
275
276 -- End of API body.
277 -- Standard check of p_commit.
278 IF FND_API.To_Boolean( p_commit ) THEN
279 COMMIT WORK;
280 END IF;
281 -- Standard call to get message count and if count is 1, get message info.
282 FND_MSG_PUB.Count_And_Get
283 (p_count => x_msg_count ,
284 p_data => x_msg_data ,
285 p_encoded => FND_API.G_FALSE );
286 EXCEPTION
287 WHEN FND_API.G_EXC_ERROR THEN
288 ROLLBACK TO delete_row_sv;
289 x_return_status := FND_API.G_RET_STS_ERROR ;
290 FND_MSG_PUB.Count_And_Get(
291 p_count => x_msg_count ,
292 p_data => x_msg_data ,
293 p_encoded => FND_API.G_FALSE);
294 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
295 ROLLBACK TO delete_row_sv;
296 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
297 FND_MSG_PUB.Count_And_Get(
298 p_count => x_msg_count ,
299 p_data => x_msg_data ,
300 p_encoded => FND_API.G_FALSE);
301 WHEN OTHERS THEN
302 ROLLBACK TO delete_row_sv;
303 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
304 IF FND_MSG_PUB.Check_Msg_Level(
305 FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
306 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
307 END IF;
308 FND_MSG_PUB.Count_And_Get(
309 p_count => x_msg_count ,
310 p_data => x_msg_data ,
311 p_encoded => FND_API.G_FALSE);
312
313 END delete_row;
314
315
316 END cn_column_maps_pvt;