DBA Data[Home] [Help]

PACKAGE BODY: APPS.IES_SAVE_METADATA

Source


1 PACKAGE BODY IES_SAVE_METADATA AS
2 /* $Header: iessmetb.pls 115.6 2003/06/06 20:16:15 prkotha noship $ */
3 
4 Procedure  insert_meta_object_types(p_obj_name IN VARCHAR2, p_parent_name IN VARCHAR2) IS
5    parentId NUMBER := null;
6 begin
7    if (p_parent_name IS NOT NULL) then
8        parentId := get_obj_id(p_parent_name);
9    end if;
10    INSERT INTO IES_META_OBJECT_TYPES (type_id, type_name, parent_id, created_by)
11     SELECT ies_meta_object_types_s.nextval, p_obj_name, parentId, 1
12       FROM dual
13      WHERE NOT EXISTS (SELECT 1
14                          FROM ies_meta_object_types
15                         WHERE type_name = p_obj_name);
16 end insert_meta_object_types;
17 
18 Procedure  insert_meta_obj_type_props(p_obj_name IN VARCHAR2, p_prop_name IN VARCHAR2) IS
19     objId  NUMBER;
20     propId NUMBER;
21 begin
22     objId := get_obj_id(p_obj_name);
23     propId := get_prop_id(p_prop_name);
24 
25     INSERT INTO IES_META_OBJ_TYPE_PROPERTIES
26       (typeprop_id, created_by, objtype_id, property_id)
27       SELECT ies_meta_obj_type_properties_s.nextval, 1, objId, propId
28         FROM dual
29        WHERE NOT EXISTS (SELECT 1
30                            FROM IES_META_OBJ_TYPE_PROPERTIES
31                           WHERE objType_id = objId
32                             AND property_id = propId);
33 end insert_meta_obj_type_props;
34 
35 Procedure  insert_meta_prop_lookups(p_prop_name IN VARCHAR2, p_prop_key IN NUMBER, p_prop_val IN VARCHAR2) IS
36   propId NUMBER;
37 begin
38     propId := get_prop_id(p_prop_name);
39 
40     INSERT INTO IES_META_PROPERTY_LOOKUPS
41      (prop_lookup_id, property_id, lookup_key, lookup_value, created_by)
42       SELECT ies_meta_property_lookups_s.nextval, propId, p_prop_key, p_prop_val, 1
43         FROM dual
44        WHERE NOT EXISTS (SELECT 1
45                            FROM IES_META_PROPERTY_LOOKUPS
46                           WHERE lookup_key = p_prop_key
47                             AND lookup_value = p_prop_val
48                             AND property_id = propId);
49 
50 end insert_meta_prop_lookups;
51 
52 Procedure  insert_meta_props(p_prop_name IN VARCHAR2, p_datatype IN VARCHAR2) IS
53    dataTypeId NUMBER;
54 begin
55     dataTypeId := get_prop_datatype_id(p_datatype);
56     INSERT INTO IES_META_PROPERTIES (property_id, name, datatype_id, created_by)
57       SELECT ies_meta_properties_s.nextval, p_prop_name, datatypeId, 1
58         FROM dual
59        WHERE NOT EXISTS (SELECT 1
60                            FROM IES_META_PROPERTIES
61                           WHERE name = p_prop_name
62                             AND datatype_id = datatypeId);
63 end insert_meta_props;
64 
65 Procedure insert_meta_prop_datatypes(p_datatype IN VARCHAR2) IS
66 begin
67      INSERT INTO IES_META_PROP_DATATYPES (type_id, type_name, created_by)
68        SELECT ies_meta_prop_datatypes_s.nextval, p_datatype, 1
69          FROM dual
70         WHERE NOT EXISTS (SELECT 1
71                             FROM IES_META_PROP_DATATYPES
72                            WHERE type_name = p_datatype);
73 end insert_meta_prop_datatypes;
74 
75 Procedure  insert_meta_relationship_types(p_type_name IN VARCHAR2) IS
76 begin
77    insert_meta_relationship_types(p_type_name, 0);
78 end insert_meta_relationship_types;
79 
80 Procedure  insert_meta_relationship_types(p_type_name IN VARCHAR2, list_relationship IN NUMBER) IS
81 begin
82      INSERT INTO IES_META_RELATIONSHIP_TYPES (type_id, type_name, created_by, list_relationship)
83         SELECT ies_meta_relationship_types_s.nextval, p_type_name, 1 , list_relationship
84           FROM dual
85          WHERE NOT EXISTS (SELECT 1
86                              FROM IES_META_RELATIONSHIP_TYPES
87                             WHERE type_name = p_type_name);
88 end insert_meta_relationship_types;
89 
90 Function   get_prop_id(p_prop_name IN VARCHAR2) return NUMBER IS
91    propId NUMBER;
92 begin
93    SELECT property_id
94      INTO propId
95      FROM ies_meta_properties
96     WHERE name = p_prop_name;
97 
98     RETURN propId;
99 end get_prop_id;
100 
101 Function   get_obj_id(p_obj_name IN VARCHAR2) return NUMBER IS
102    objId NUMBER;
103 begin
104    SELECT type_id
105      INTO objId
106      FROM ies_meta_object_types
107     WHERE type_name = p_obj_name;
108 
109   RETURN objId;
110 end get_obj_id;
111 
112 Function   get_prop_datatype_id(p_datatype IN VARCHAR2) return NUMBER IS
113    datatypeId NUMBER;
114 begin
115    SELECT type_id
116      INTO datatypeId
117      FROM ies_meta_prop_datatypes
118     WHERE type_name = p_datatype;
119 
120    RETURN datatypeId;
121 end get_prop_datatype_id;
122 
123 END; -- Package body