DBA Data[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