[Home] [Help]
PACKAGE BODY: APPS.FEM_BR_DATA_LDR_PVT
Source
1 PACKAGE BODY FEM_BR_DATA_LDR_PVT AS
2 /* $Header: FEMDATALDRB.pls 120.0 2006/05/17 22:33:10 ugoswami noship $ */
3
4 g_pkg_name CONSTANT VARCHAR2(30) := 'FEM_BR_DATA_LDR_PVT';
5 c_module_pkg CONSTANT VARCHAR2(80) := 'fem.plsql.FEM_BR_DATA_LDR_PVT';
6
7
8 --------------------------------------------------------------------------------
9 --
10 -- PROCEDURE
11 -- DeleteObjectDefinition
12 --
13 -- DESCRIPTION
14 -- Deletes all the detail records of a Data Loader Rule Definition(Version)
15 -- (source) into another empty Data Loader Rule Definition (target).
16 -- NOTE: It does not delete the Data Loader Rule Definition record in
17 -- FEM_OBJECT_DEFINITION_VL. That record must already exist.
18 --
19 -- IN
20 -- p_obj_def_id - Object Definition ID
21 --
22 --------------------------------------------------------------------------------
23
24
25 PROCEDURE DeleteObjectDefinition (p_obj_def_id IN NUMBER) IS
26
27 l_api_name CONSTANT VARCHAR2(30) := 'DeleteObjectDefinition';
28 l_api_version CONSTANT NUMBER := 1.0;
29
30 l_ver_count NUMBER;
31 l_obj_id NUMBER(9);
32
33 BEGIN
34
35 FEM_ENGINES_PKG.Tech_Message (
36 p_severity => fnd_log.level_procedure
37 ,p_module => c_module_pkg||'.'||l_api_name
38 ,p_msg_text => 'Begining Function'
39 );
40
41 -- Get the Object Id for the version to be deleted and
42 -- check if the object has multiple versions.
43
44 SELECT object_id INTO l_obj_id FROM fem_object_definition_vl
45 WHERE object_definition_id = p_obj_def_id;
46
47 SELECT COUNT(*) INTO l_ver_count FROM fem_object_definition_vl
48 WHERE object_id = l_obj_id;
49
50 DELETE FROM fem_data_loader_params
51 WHERE loader_obj_def_id = p_obj_def_id;
52
53 DELETE FROM fem_object_definition_vl
54 WHERE object_definition_id = p_obj_def_id;
55
56 -- If the object had only 1 version, then delete the object also
57 IF l_ver_count = 1 THEN
58
59 DELETE FROM fem_object_catalog_vl WHERE object_id = l_obj_id;
60
61 DELETE FROM fem_data_loader_rules WHERE loader_obj_id = l_obj_id;
62
63 END IF; -- l_ver_count = 1
64
65 FEM_ENGINES_PKG.Tech_Message (
66 p_severity => fnd_log.level_procedure
67 ,p_module => c_module_pkg||'.'||l_api_name
68 ,p_msg_text => 'Ending Function'
69 );
70
71
72 EXCEPTION
73
74 when others then
75
76 FEM_ENGINES_PKG.Tech_Message (
77 p_severity => fnd_log.level_unexpected
78 ,p_module => c_module_pkg||'.'||l_api_name
79 ,p_msg_text => SQLERRM
80 );
81 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
82 RAISE fnd_api.g_exc_unexpected_error;
83
84 END DeleteObjectDefinition;
85
86
87 --------------------------------------------------------------------------------
88 --
89 -- PROCEDURE
90 -- CopyObjectDetails
91 --
92 -- DESCRIPTION
93 -- Duplicates all the detail records of a Data Loader Rule versions (source)
94 -- into another empty Data Loader Rule (target).
95 -- NOTE: It does not copy the Data Loader Rule record in
96 -- FEM_OBJECT_CATALOG_VL or its versions into FEM_OBJECT_DEFINITION_VL.
97 -- These records must already exist, this proceudre shall only duplicate the
98 -- rule data in rule specific tables.
99 --
100 -- IN
101 -- p_copy_type_code - Copy Type Code
102 -- p_source_obj_id - Source Object Id
103 -- p_target_obj_id - Target Object Id
104 -- p_created_by - Created By
105 -- p_creation_date - Creation Date
106 --
107 --------------------------------------------------------------------------------
108
109 PROCEDURE CopyObjectDetails (
110 p_copy_type_code IN VARCHAR2
111 ,p_source_obj_id IN NUMBER
112 ,p_target_obj_id IN NUMBER
113 ,p_created_by IN NUMBER
114 ,p_creation_date IN DATE
115 ) IS
116
117 l_api_name CONSTANT VARCHAR2(30) := 'CopyObjectDetails';
118 l_api_version CONSTANT NUMBER := 1.0;
119
120 BEGIN
121
122 FEM_ENGINES_PKG.Tech_Message (
123 p_severity => fnd_log.level_procedure
124 ,p_module => c_module_pkg||'.'||l_api_name
125 ,p_msg_text => 'Begining Function'
126 );
127
128
129 INSERT INTO fem_data_loader_rules
130 (
131 loader_obj_id,
132 loader_type,
133 created_by,
134 creation_date,
135 last_updated_by,
136 last_update_date,
137 last_update_login,
138 object_version_number
139 )
140 SELECT
141 p_target_obj_id,
142 loader_type,
143 p_created_by,
144 p_creation_date,
145 p_created_by,
146 p_creation_date,
147 fnd_global.login_id,
148 0
149 FROM fem_data_loader_rules WHERE loader_obj_id = p_source_obj_id;
150
151 FEM_ENGINES_PKG.Tech_Message (
152 p_severity => fnd_log.level_procedure
153 ,p_module => c_module_pkg||'.'||l_api_name
154 ,p_msg_text => 'Ending Function'
155 );
156
157
158 EXCEPTION
159 WHEN others THEN
160
161 FEM_ENGINES_PKG.Tech_Message (
162 p_severity => fnd_log.level_unexpected
163 ,p_module => c_module_pkg||'.'||l_api_name
164 ,p_msg_text => SQLERRM
165 );
166 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
167 RAISE fnd_api.g_exc_unexpected_error;
168
169 END CopyObjectDetails;
170
171
172 --------------------------------------------------------------------------------
173 --
174 -- PROCEDURE
175 -- CopyObjectDefintion
176 --
177 -- DESCRIPTION
178 -- Duplicates all the parameters associated with a Data Loader Version(source)
179 -- into the new Data Loader Version (target)
180 -- NOTE: It does not copy the Data Loader Rule Version record into
181 -- FEM_OBJECT_DEFINITION_VL.
182 -- These records must already exist, this procedure shall only duplicate the
183 -- rule version data in rule specific tables.
184 --
185 -- IN
186 -- p_source_obj_def_id - Source Object Definition ID.
187 -- p_target_obj_def_id - Target Object Definition ID.
188 -- p_created_by - FND User ID.
189 -- p_creation_date - System Date.
190 --
191 --------------------------------------------------------------------------------
192
193 PROCEDURE CopyObjectDefinition(
194 p_source_obj_def_id IN NUMBER
195 ,p_target_obj_def_id IN NUMBER
196 ,p_created_by IN NUMBER
197 ,p_creation_date IN DATE
198
199 ) IS
200
201 l_api_name CONSTANT VARCHAR2(30) := 'CopyObjectDefinition';
202 l_api_version CONSTANT NUMBER := 1.0;
203
204 CURSOR params_cur IS
205 SELECT
206 load_param_set_id,
207 loader_obj_def_id,
208 table_name,
209 source_system_code,
210 dataset_code,
211 ledger_id,
212 cal_period_grp_id,
213 load_option,
214 created_by,
215 creation_date,
216 FND_GLOBAL.user_id,
217 FND_GLOBAL.login_id,
218 sysdate,
219 object_version_number
220
221 FROM fem_data_loader_params WHERE loader_obj_def_id = p_source_obj_def_id;
222
223 BEGIN
224
225 FEM_ENGINES_PKG.Tech_Message (
226 p_severity => fnd_log.level_procedure
227 ,p_module => c_module_pkg||'.'||l_api_name
228 ,p_msg_text => 'Begining Function'
229 );
230
231 FOR params_cur_rec IN params_cur
232 LOOP
233
234 INSERT INTO fem_data_loader_params (
235 load_param_set_id,
236 loader_obj_def_id,
237 table_name,
238 source_system_code,
239 dataset_code,
240 ledger_id,
241 cal_period_grp_id,
242 load_option,
243 created_by,
244 creation_date,
245 last_updated_by,
246 last_update_login,
247 last_update_date,
248 object_version_number
249 )
250 VALUES (
251 fem_load_param_set_id_seq.nextval,
252 p_target_obj_def_id,
253 params_cur_rec.table_name,
254 params_cur_rec.source_system_code,
255 params_cur_rec.dataset_code,
256 params_cur_rec.ledger_id,
257 params_cur_rec.cal_period_grp_id,
258 params_cur_rec.load_option,
259 p_created_by,
260 p_creation_date,
261 fnd_global.user_id,
262 fnd_global.login_id,
263 sysdate,
264 0
265 );
266 END LOOP; --loop while params_cur_rec in params_cur
267
268 FEM_ENGINES_PKG.Tech_Message (
269 p_severity => fnd_log.level_procedure
270 ,p_module => c_module_pkg||'.'||l_api_name
271 ,p_msg_text => 'Ending Function'
272 );
273
274 EXCEPTION
275 WHEN others THEN
276
277 FEM_ENGINES_PKG.Tech_Message (
278 p_severity => fnd_log.level_unexpected
279 ,p_module => c_module_pkg||'.'||l_api_name
280 ,p_msg_text => SQLERRM
281 );
282
283 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
284 RAISE fnd_api.g_exc_unexpected_error;
285
286 END CopyObjectDefinition;
287
288
289 --------------------------------------------------------------------------------
290 --
291 -- FUNCTION
292 -- FindDefintion
293 --
294 -- DESCRIPTION
295 -- This function is to be called during the Rule Import process.
296 -- The function indicates whether the given version id has any
297 -- parameters associated with it.
298 --
299 -- IN
300 -- p_object_definition_id - Data Loader Version ID.
301 --
302 -- OUT
303 -- Returns a value indicating whether any parameters exist for the given
304 -- definition id.
305 --------------------------------------------------------------------------------
306
307 FUNCTION FindDefinition (
308 p_object_definition_id NUMBER
309 ) RETURN VARCHAR2 IS
310
311 l_api_name CONSTANT VARCHAR2(30) := 'FindDefinition';
312 l_param_count NUMBER :=0;
313 l_param_exists VARCHAR2(1) := 'N';
314
315 BEGIN
316
317 FEM_ENGINES_PKG.Tech_Message (
318 p_severity => fnd_log.level_procedure
319 ,p_module => c_module_pkg||'.'||l_api_name
320 ,p_msg_text => 'Begining Function'
321 );
322
323
324 SELECT COUNT(*) INTO l_param_count FROM fem_data_loader_params
325 WHERE loader_obj_def_id = p_object_definition_id;
326
327 IF l_param_count > 0 THEN
328
329 l_param_exists := 'Y';
330
331 END IF;
332
333 FEM_ENGINES_PKG.Tech_Message (
334 p_severity => fnd_log.level_procedure
335 ,p_module => c_module_pkg||'.'||l_api_name
336 ,p_msg_text => 'Ending Function'
337 );
338
339
340 RETURN l_param_exists;
341
342
343 EXCEPTION
344 WHEN others THEN
345
346 FEM_ENGINES_PKG.Tech_Message (
347 p_severity => fnd_log.level_unexpected
348 ,p_module => c_module_pkg||'.'||l_api_name
349 ,p_msg_text => SQLERRM
350 );
351
352 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
353 RAISE fnd_api.g_exc_unexpected_error;
354
355 END FindDefinition;
356
357 --------------------------------------------------------------------------------
358 --
359 -- FUNCTION
360 -- GetLoaderType
361 --
362 -- DESCRIPTION
363 -- This function is to be called during the Rule Import process.
364 -- The function returns the loader type of the rule.
365 --
366 -- IN
367 -- p_object_id - The Rule's Object ID.
368 --
369 -- OUT
370 -- Returns a value containing the loader type of the rule.
371 --------------------------------------------------------------------------------
372
373 FUNCTION GetLoaderType (
374 p_object_id NUMBER
375 )RETURN VARCHAR2 IS
376
377 l_api_name CONSTANT VARCHAR2(30) := 'GetLoaderType';
378 l_loader_type VARCHAR2(10);
379
380 BEGIN
381
382 FEM_ENGINES_PKG.Tech_Message (
383 p_severity => fnd_log.level_procedure
384 ,p_module => c_module_pkg||'.'||l_api_name
385 ,p_msg_text => 'Begining Function'
386 );
387
388 SELECT loader_type INTO l_loader_type FROM fem_data_loader_rules WHERE
389 loader_obj_id = p_object_id;
390
391 FEM_ENGINES_PKG.Tech_Message (
392 p_severity => fnd_log.level_procedure
393 ,p_module => c_module_pkg||'.'||l_api_name
394 ,p_msg_text => 'Ending Function'
395 );
396
397 RETURN l_loader_type;
398
399 EXCEPTION
400
401 WHEN NO_DATA_FOUND THEN
402 l_loader_type := NULL;
403
404 FEM_ENGINES_PKG.Tech_Message (
405 p_severity => fnd_log.level_exception
406 ,p_module => c_module_pkg||'.'||l_api_name
407 ,p_msg_text => 'Data Loader Rule does not exist '
408 );
409
410 RETURN l_loader_type;
411
412 WHEN others THEN
413
414 FEM_ENGINES_PKG.Tech_Message (
415 p_severity => fnd_log.level_unexpected
416 ,p_module => c_module_pkg||'.'||l_api_name
417 ,p_msg_text => SQLERRM
418 );
419
420 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
421 RAISE fnd_api.g_exc_unexpected_error;
422
423
424 END GetLoaderType;
425
426
427 END FEM_BR_DATA_LDR_PVT;
428