DBA Data[Home] [Help]

PACKAGE: APPS.FND_OAM_DSCFG_API_PKG

Source


1 PACKAGE FND_OAM_DSCFG_API_PKG AUTHID CURRENT_USER as
2 /* $Header: AFOAMDSCAPIS.pls 120.3 2006/01/17 11:29 ilawler noship $ */
3 
4    ---------------
5    -- Constants --
6    ---------------
7    -- Data Scramling Configuration Entity Types - used as the PARENT_TYPE for properties
8    G_TYPE_INSTANCE                      CONSTANT VARCHAR2(30) := 'INSTANCE';
9    G_TYPE_OBJECT                        CONSTANT VARCHAR2(30) := 'OBJECT';
10    G_TYPE_PROC                          CONSTANT VARCHAR2(30) := 'PROC';
11 
12    -- Config Procedure Types
13    G_PROCTYPE_TARGET_PLSQL              CONSTANT VARCHAR2(30) := 'TARGET_PLSQL';
14    G_PROCTYPE_AGENT_JAVA                CONSTANT VARCHAR2(30) := 'AGENT_JAVA';
15 
16    -- Config Procedure Stages
17    G_STAGE_IMPORT                       CONSTANT VARCHAR2(30) := 'IMPORT';
18    G_STAGE_PRE_COMPILE                  CONSTANT VARCHAR2(30) := 'PRE_COMPILE';
19    G_STAGE_POST_COMPILE                 CONSTANT VARCHAR2(30) := 'POST_COMPILE';
20    G_STAGE_PRE_EXECUTE                  CONSTANT VARCHAR2(30) := 'PRE_EXECUTE';
21    G_STAGE_POST_EXECUTE                 CONSTANT VARCHAR2(30) := 'POST_EXECUTE';
22    G_STAGE_CLEANUP                      CONSTANT VARCHAR2(30) := 'CLEANUP';
23 
24    -- Configuration Instance Types
25    G_CONFTYPE_CLONING                   CONSTANT VARCHAR2(30) := 'CLONING';
26 
27    -- Config Object Types
28    G_INTERNAL_PREFIX                    CONSTANT VARCHAR2(30) := '_ORA_';
29    G_OTYPE_DML_UPDATE_SEGMENT           CONSTANT VARCHAR2(30) := G_INTERNAL_PREFIX||'DML_UPDATE_SEGMENT';
30    G_OTYPE_DML_DELETE_STMT              CONSTANT VARCHAR2(30) := G_INTERNAL_PREFIX||'DML_DELETE_STMT';
31    G_OTYPE_DML_TRUNCATE_STMT            CONSTANT VARCHAR2(30) := G_INTERNAL_PREFIX||'DML_TRUNCATE_STMT';
32    G_OTYPE_PLSQL_TEXT                   CONSTANT VARCHAR2(30) := G_INTERNAL_PREFIX||'PLSQL_TEXT';
33    G_OTYPE_RUN                          CONSTANT VARCHAR2(30) := G_INTERNAL_PREFIX||'RUN';
34    G_OTYPE_BUNDLE                       CONSTANT VARCHAR2(30) := G_INTERNAL_PREFIX||'BUNDLE';
35    G_OTYPE_DOMAIN_METADATA              CONSTANT VARCHAR2(30) := G_INTERNAL_PREFIX||'DOMAIN_METADATA';
36 
37    -- Property Data Types
38    G_DATATYPE_VARCHAR2  CONSTANT VARCHAR2(30) := 'VARCHAR2';
39    G_DATATYPE_NUMBER    CONSTANT VARCHAR2(30) := 'NUMBER';
40    G_DATATYPE_DATE      CONSTANT VARCHAR2(30) := 'DATE';
41    G_DATATYPE_BOOLEAN   CONSTANT VARCHAR2(30) := 'BOOLEAN'; --not a supported SQL type, but can be used for better typed logic
42    G_DATATYPE_ROWID     CONSTANT VARCHAR2(30) := 'ROWID';
43    G_DATATYPE_RAW       CONSTANT VARCHAR2(30) := 'RAW';
44 
45    -- Property Names
46    --  Object Properties
47    G_PROP_TABLE_OWNER           CONSTANT VARCHAR2(30) := 'TABLE_OWNER';
48    G_PROP_TABLE_NAME            CONSTANT VARCHAR2(30) := 'TABLE_NAME';
49    G_PROP_COLUMN_NAME           CONSTANT VARCHAR2(30) := 'COLUMN_NAME';
50    G_PROP_NEW_COLUMN_VALUE      CONSTANT VARCHAR2(30) := 'NEW_COLUMN_VALUE';
51    G_PROP_WHERE_CLAUSE          CONSTANT VARCHAR2(30) := 'WHERE_CLAUSE';
52    G_PROP_PLSQL_TEXT            CONSTANT VARCHAR2(30) := 'PLSQL_TEXT';
53    G_PROP_WEIGHT_MODIFIER       CONSTANT VARCHAR2(30) := 'WEIGHT_MODIFIER';
54    --  Run Metadata
55    G_PROP_RUN_ID                CONSTANT VARCHAR2(30) := 'RUN_ID';
56    G_PROP_RUN_MODE              CONSTANT VARCHAR2(30) := 'RUN_MODE';
57    G_PROP_VALID_CHECK_INTERVAL  CONSTANT VARCHAR2(30) := 'VALID_CHECK_INTERVAL';
58    G_PROP_NUM_BUNDLES           CONSTANT VARCHAR2(30) := 'NUM_BUNDLES';
59    --  Bundle Metadata
60    G_PROP_BUNDLE_ID             CONSTANT VARCHAR2(30) := 'BUNDLE_ID';
61    G_PROP_TARGET_HOSTNAME       CONSTANT VARCHAR2(30) := 'TARGET_HOSTNAME';
62    G_PROP_WORKERS_ALLOWED       CONSTANT VARCHAR2(30) := 'WORKERS_ALLOWED';
63    G_PROP_MIN_PARALLEL_WEIGHT   CONSTANT VARCHAR2(30) := 'MIN_PARALLEL_WEIGHT';
64    G_PROP_BATCH_SIZE            CONSTANT VARCHAR2(30) := 'BATCH_SIZE';
65    --  Unit Metadata
66    G_PROP_PHASE                 CONSTANT VARCHAR2(30) := 'PHASE';
67    G_PROP_DISABLE_SPLITTING     CONSTANT VARCHAR2(30) := 'DISABLE_SPLITTING';
68    G_PROP_ERROR_FATALITY_LEVEL  CONSTANT VARCHAR2(30) := 'ERROR_FATALITY_LEVEL';
69    --  Run/Bundle/Task/Unit Metadata
70    G_PROP_WEIGHT                CONSTANT VARCHAR2(30) := 'WEIGHT';
71    G_PROP_PRIORITY              CONSTANT VARCHAR2(30) := 'PRIORITY';
72    -- Common Object Properties
73    G_PROP_PRIMARY_DOMAIN        CONSTANT VARCHAR2(30) := 'PRIMARY_DOMAIN';
74    G_PROP_ADDITIONAL_DOMAIN     CONSTANT VARCHAR2(30) := 'ADDITIONAL_DOMAIN';
75 
76    --Execution Run Modes - must be kept in sync with DSCRAM_UTILS_PKG.G_MODE_*
77    G_RUNMODE_NORMAL             CONSTANT VARCHAR2(30) := 'NORMAL';
78    G_RUNMODE_TEST               CONSTANT VARCHAR2(30) := 'TEST';
79    G_RUNMODE_TEST_NO_EXEC       CONSTANT VARCHAR2(30) := 'TEST_NO_EXEC';
80 
81    ---------------------------------
82    -- Public Procedures/Functions --
83    ---------------------------------
84 
85    -- ####################
86    --  General Utility  --
87    -- ####################
88 
89    -- Function to check the safety harness to see if scrambling configuration changes are allowed.
90    -- Invariants:
91    --   None
92    -- Parameters:
93    --   None
94    -- Returns:
95    --   Boolean indicating whether scrambling config changes are allowed.
96    -- Exceptions:
97    --   None Expected
98    FUNCTION ARE_CONFIG_CHANGES_ALLOWED
99       RETURN BOOLEAN;
100 
101    -- ################################################
102    --  Wrapper Accessors for Import Procedure State  --
103    -- ################################################
104 
105    -- Accessor function, obtains proc_id stored in the PROCS_PKG state for the last fetched proc.
106    -- Invariants:
107    --   Only has a value during execute a proc has been get/set.
108    -- Parameters:
109    --   None
110    -- Returns:
111    --   The numerical ID of the in-progress proc.
112    -- Exceptions:
113    --   If the proc package state isn't initialized, a NO_DATA_FOUND exception is thrown.
114    FUNCTION GET_CURRENT_PROC_ID
115       RETURN NUMBER;
116 
117    -- ################################################
118    --  Wrapper Accessors for Config Instance State  --
119    -- ################################################
120 
121    -- Accessor function, checks if the config instance state is initialized.
122    -- Invariants:
123    --   None
124    -- Parameters:
125    --   None
126    -- Returns:
127    --   Boolean where TRUE=Initialized
128    -- Exceptions:
129    --   None
130    FUNCTION IS_CONFIG_INSTANCE_INITIALIZED
131       RETURN BOOLEAN;
132 
133    -- Accessor function, obtains the config_instance_id associated with currently in-progress config instance.
134    -- Invariants:
135    --   Only has a value after the configuration instance has been initialized with a call to ADD_CONFIG_INSTANCE/
136    --   SET_CURRENT_CONFIG_INSTANCE.
137    -- Parameters:
138    --   None
139    -- Returns:
140    --   The numerical ID of the in-progress configuration instance.
141    -- Exceptions:
142    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
143    FUNCTION GET_CURRENT_CONFIG_INSTANCE_ID
144       RETURN NUMBER;
145 
146    -- Accessor function, obtains policyset_id associated with currently in-progress configuration instance.
147    -- Invariants:
148    --   Only has a value after the configuration instance has been initialized with a call to ADD_CONFIG_INSTANCE/
149    --   SET_CURRENT_CONFIG_INSTANCE.
150    -- Parameters:
151    --   None
152    -- Returns:
153    --   The numerical ID of the Policy Set associated with the in-progress configuration instance, may be NULL
154    --   if there is no policyset_id associated with this instance.
155    -- Exceptions:
156    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
157    FUNCTION GET_CURRENT_POLICYSET_ID
158       RETURN NUMBER;
159 
160    -- ######################################################
161    --  Configuration Instance-Related Utility Procedures  --
162    -- ######################################################
163 
164    -- This API is used to return a list of all owners and tables that are in the scope of the Data Scrambling Engine.
165    -- Setup procedures that need to modify any characteristics of the tables to be scrambled can use this procedure.
166    -- Invariants:
167    --   Assumes Configuration Instance has been initialized, throws NO_DATA_FOUND if not.
168    -- Parameters:
169    --   x_table_owners        OWNER of the target table
170    --   x_table_names         NAME of the target table, indicies match between lists.
171    -- Return Statuses:
172    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
173    PROCEDURE GET_CURRENT_TARGET_TABLE_LIST(x_table_owners       OUT NOCOPY DBMS_SQL.VARCHAR2_TABLE,
174                                            x_table_names        OUT NOCOPY DBMS_SQL.VARCHAR2_TABLE);
175 
176    -- ##################################################
177    --  Object+Properties Complex Creation Procedures  --
178    -- ##################################################
179 
180    -- This API is used to create a new configuration object representing a table's column to be updated using DML.
181    -- Invariants:
182    --   Assumes Configuration Instance has been initialized, throws NO_DATA_FOUND if not.
183    -- Parameters:
184    --   p_table_owner         DML update target table's owner
185    --   p_table_name          DML update target table
186    --   p_column_name         DML update target table's column name
187    --   p_new_column_value    New value for target column, expressed as text that you'd find in the SQL statement.  This means
188    --                         new values that are strings will need to be expressed as 'VALUE' with the apostrophes to distinguish
189    --                         from numbers or other column references.
190    --   p_where_clause        [OPTIONAL]Where clause to use when updating this column.
191    --   p_source_type         [OPTIONAL]A VARCHAR2(30) sized field used for declaring a type of the source object, for use
192    --                         in directives to identify a link to part of the original configuration source.
193    --   p_source_id           [OPTIONAL]A corresponding Number ID for the source_type.  May refer to a mapped ID
194    --                         obtained from FND_OAM_DSCFG_MAPPED_KEYS if the source requires a complex or varchar2 key.
195    --
196    --   x_object_id:          The corresponding ID of the newly created, corresponding configuration object.
197    -- Return Statuses:
198    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
199    PROCEDURE ADD_DML_UPDATE_SEGMENT(p_table_owner               IN VARCHAR2,
200                                     p_table_name                IN VARCHAR2,
201                                     p_column_name               IN VARCHAR2,
202                                     p_new_column_value          IN VARCHAR2,
203                                     p_where_clause              IN VARCHAR2     DEFAULT NULL,
204                                     p_weight_modifier           IN NUMBER       DEFAULT NULL,
205                                     p_source_type               IN VARCHAR2     DEFAULT NULL,
206                                     p_source_id                 IN NUMBER       DEFAULT NULL,
207                                     x_object_id                 OUT NOCOPY NUMBER);
208 
209    -- This API is used to create a new configuration object representing a DML delete statement.
210    -- Invariants:
211    --   Assumes Configuration Instance has been initialized, throws NO_DATA_FOUND if not.
212    -- Parameters:
213    --   p_table_owner         DML delete target table's owner
214    --   p_table_name          DML delete target table
215    --   p_where_clause        [OPTIONAL]Where clause to use when deleting rows from this target table.
216    --   p_source_type         [OPTIONAL]A VARCHAR2(30) sized field used for declaring a type of the source object, for use
217    --                         in directives to identify a link to part of the original configuration source.
218    --   p_source_id           [OPTIONAL]A corresponding Number ID for the source_type.  May refer to a mapped ID
219    --                         obtained from FND_OAM_DSCFG_MAPPED_KEYS if the source requires a complex or varchar2 key.
220    --
221    --   x_object_id:          The corresponding ID of the newly created, corresponding configuration object.
222    -- Return Statuses:
223    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
224    PROCEDURE ADD_DML_DELETE_STMT(p_table_owner          IN VARCHAR2,
225                                  p_table_name           IN VARCHAR2,
226                                  p_where_clause         IN VARCHAR2     DEFAULT NULL,
227                                  p_weight               IN NUMBER       DEFAULT NULL,
228                                  p_source_type          IN VARCHAR2     DEFAULT NULL,
229                                  p_source_id            IN NUMBER       DEFAULT NULL,
230                                  x_object_id            OUT NOCOPY NUMBER);
231 
232    -- This API is used to create a new configuration object representing a DML truncate statement.
233    -- Invariants:
234    --   Assumes Configuration Instance has been initialized, throws NO_DATA_FOUND if not.
235    -- Parameters:
236    --   p_table_owner         DML truncate target table's owner
237    --   p_table_name          DML truncate target table
238    --   p_source_type         [OPTIONAL]A VARCHAR2(30) sized field used for declaring a type of the source object, for use
239    --                         in directives to identify a link to part of the original configuration source.
240    --   p_source_id           [OPTIONAL]A corresponding Number ID for the source_type.  May refer to a mapped ID
241    --                         obtained from FND_OAM_DSCFG_MAPPED_KEYS if the source requires a complex or varchar2 key.
242    --
243    --   x_object_id:          The corresponding ID of the newly created, corresponding configuration object.
244    -- Return Statuses:
245    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
246    PROCEDURE ADD_DML_TRUNCATE_STMT(p_table_owner        IN VARCHAR2,
247                                    p_table_name         IN VARCHAR2,
248                                    p_weight             IN NUMBER       DEFAULT NULL,
249                                    p_source_type        IN VARCHAR2     DEFAULT NULL,
250                                    p_source_id          IN NUMBER       DEFAULT NULL,
251                                    x_object_id          OUT NOCOPY NUMBER);
252 
253    -- This API is used to create a new configuration object representing a chunk of PL/SQL text.  This text
254    -- will be executed by wrapping it in an anonymous BEGIN END; block and issuing it through the DBMS_SQL package.
255    -- Invariants:
256    --   Assumes Configuration Instance has been initialized, throws NO_DATA_FOUND if not.
257    -- Parameters:
258    --   p_plsql_text          PL/SQL text - this should typically be a reference to a PROCEDURE whose inputs are
259    --                         either hardcoded or represented with argument-type objects.
260    --   p_source_type         [OPTIONAL]A VARCHAR2(30) sized field used for declaring a type of the source object, for use
261    --                         in directives to identify a link to part of the original configuration source.
262    --   p_source_id           [OPTIONAL]A corresponding Number ID for the source_type.  May refer to a mapped ID
263    --                         obtained from FND_OAM_DSCFG_MAPPED_KEYS if the source requires a complex or varchar2 key.
264    --
265    --   x_object_id:          The corresponding ID of the newly created, corresponding configuration object.
266    -- Return Statuses:
270                             p_table_name                IN VARCHAR2 DEFAULT NULL,
267    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
268    PROCEDURE ADD_PLSQL_TEXT(p_plsql_text                IN VARCHAR2,
269                             p_table_owner               IN VARCHAR2 DEFAULT NULL,
271                             p_primary_domain            IN VARCHAR2 DEFAULT NULL,
272                             p_weight                    IN NUMBER DEFAULT NULL,
273                             p_source_type               IN VARCHAR2     DEFAULT NULL,
274                             p_source_id                 IN NUMBER       DEFAULT NULL,
275                             x_object_id                 OUT NOCOPY NUMBER);
276 
277    -- This API is used to create a new engine run object.  At most one of these can be created for a single config
278    -- instance.  If not run object is added, a default one is created by the configuration compiler.
279    -- Invariants:
280    --   Assumes Configuration Instance has been initialized, throws NO_DATA_FOUND if not.
281    -- Parameters:
282    --   p_run_mode              Mode to use for execution - use G_RUNMODE_* constants.  Default=NORMAL.
283    --   p_valid_check_interval  Interval expressed in number of seconds controlling how often runtime entities are polled
284    --                           for status updates.  This controls how responsive the engine is to user STOP requests.
285    --                           Default=600 seconds.
286    --   p_num_bundles           Number of bundles to use. Default=1.
287    --   p_weight                Forced Weight of the run, may be provided if the compiler's calculated run weight is insufficient.
288    --
289    --   x_object_id:            The corresponding ID of the newly created, corresponding configuration object.
290    -- Return Statuses:
291    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
292    PROCEDURE ADD_RUN_OBJECT(p_run_mode                  IN VARCHAR2 DEFAULT NULL,
293                             p_valid_check_interval      IN NUMBER DEFAULT NULL,
294                             p_num_bundles               IN NUMBER DEFAULT NULL,
295                             p_weight                    IN NUMBER DEFAULT NULL,
296                             x_object_id                 OUT NOCOPY NUMBER);
297 
298    -- This API is used to create a new engine bundle object.  A bundle object can be created for each node
299    -- of a database which will participate in the scramble.
300    -- Invariants:
301    --   Assumes Configuration Instance has been initialized, throws NO_DATA_FOUND if not.
302    -- Parameters:
303    --   p_target_hostname       Hostname from v$instance to which this bundle should be attached.  If left NULL, the compiler
304    --                           will choose a host at random.
305    --   p_workers_allowed       Number of workers to use on this host.  Default=2xcpu_count.
306    --   p_batch_size            The default number of rows each parallelized worker should request when working on a splitable
307    --                           work item.  Default=10000.
308    --   p_min_parallel_unit_weight  The minimum weight which will be parallelized. Default=50.
309    --   p_weight                Forced Weight of the bundle, may be provided if the compiler's calculated weight is insufficient.
310    --
311    --   x_object_id:            The corresponding ID of the newly created, corresponding configuration object.
312    -- Return Statuses:
313    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
314    PROCEDURE ADD_BUNDLE_OBJECT(p_target_hostname                IN VARCHAR2 DEFAULT NULL,
315                                p_workers_allowed                IN NUMBER DEFAULT NULL,
316                                p_batch_size                     IN NUMBER DEFAULT NULL,
317                                p_min_parallel_unit_weight       IN NUMBER DEFAULT NULL,
318                                p_weight                         IN NUMBER DEFAULT NULL,
319                                x_object_id                      OUT NOCOPY NUMBER);
320 
321    -- This API is used to create a new configuration object with an error message.  This is typically used by import
322    -- procedures to make a record of an object it failed to import.
323    -- Invariants:
324    --   Assumes Configuration Instance has been initialized, throws NO_DATA_FOUND if not.
325    -- Parameters:
326    --   p_object_type           The type of the configuration object that should have been created.  Use the G_OTYPE_* constants.
327    --   p_message               VARCHAR2(4000) field to explain the error.
328    --   p_source_type           [OPTIONAL]A VARCHAR2(30) sized field used for declaring a type of the source object, for use
329    --                           in directives to identify a link to part of the original configuration source.
330    --   p_source_id             [OPTIONAL]A corresponding Number ID for the source_type.  May refer to a mapped ID
331    --                           obtained from FND_OAM_DSCFG_MAPPED_KEYS if the source requires a complex or varchar2 key.
332    --
333    --   x_object_id:            The corresponding ID of the newly created, corresponding configuration object.
334    -- Return Statuses:
335    --   If the configuration instance state isn't initialized, a NO_DATA_FOUND exception is thrown.
336    PROCEDURE ADD_ERRORED_OBJECT(p_object_type           IN VARCHAR2,
337                                 p_message               IN VARCHAR2     DEFAULT NULL,
338                                 p_source_type           IN VARCHAR2     DEFAULT NULL,
339                                 p_source_id             IN NUMBER       DEFAULT NULL,
340                                 x_object_id             OUT NOCOPY NUMBER);
341 
345 
342    -- ##############################################
343    --  Wrappers for Generic Operations on Procs   --
344    -- ##############################################
346    -- See FND_OAM_DSCFG_PROCS_PKG.GET_NEXT_PROC for description.
347    PROCEDURE GET_NEXT_PROC(p_stage              IN VARCHAR2,
348                            x_proc_id            OUT NOCOPY NUMBER,
349                            x_proc_type          OUT NOCOPY VARCHAR2,
350                            x_error_is_fatal     OUT NOCOPY VARCHAR2,
351                            x_location           OUT NOCOPY VARCHAR2,
352                            x_executable         OUT NOCOPY VARCHAR2);
353 
354    -- #########################################################
355    --  Wrappers for Generic Operations on Config Instances   --
356    -- #########################################################
357 
358    -- See FND_OAM_DSCFG_INSTANCES_PKG.ADD_CONFIG_INSTANCE for description.
359    PROCEDURE ADD_CONFIG_INSTANCE(p_target_dbname        IN VARCHAR2,
360                                  p_config_instance_type IN VARCHAR2,
361                                  p_name                 IN VARCHAR2,
362                                  p_description          IN VARCHAR2     DEFAULT NULL,
363                                  p_language             IN VARCHAR2     DEFAULT NULL,
364                                  p_source_dbname        IN VARCHAR2     DEFAULT NULL,
365                                  p_clone_key            IN VARCHAR2     DEFAULT NULL,
366                                  p_policyset_id         IN NUMBER       DEFAULT NULL,
367                                  x_config_instance_id   OUT NOCOPY NUMBER);
368 
369    -- See FND_OAM_DSCFG_INSTANCES_PKG.SET_CURRENT_CONFIG_INSTANCE for description.
370    PROCEDURE SET_CURRENT_CONFIG_INSTANCE(p_config_instance_id   IN NUMBER);
371 
372    -- ################################################
373    --  Wrappers for Generic Operations on Objects   --
374    -- ################################################
375 
376    -- See FND_OAM_DSCFG_OBJECTS_PKG.ADD_OBJECT for description.
377    PROCEDURE ADD_OBJECT(p_object_type           IN VARCHAR2,
378                         p_parent_object_id      IN NUMBER       DEFAULT NULL,
379                         p_source_type           IN VARCHAR2     DEFAULT NULL,
380                         p_source_id             IN NUMBER       DEFAULT NULL,
381                         p_errors_found_flag     IN VARCHAR2     DEFAULT NULL,
382                         p_message               IN VARCHAR2     DEFAULT NULL,
383                         x_object_id             OUT NOCOPY NUMBER);
384 
385    -- See FND_OAM_DSCFG_OBJECTS_PKG.GET_OBJECTS_FOR_TYPE for description.
386    PROCEDURE GET_OBJECTS_FOR_TYPE(p_object_type         IN VARCHAR2,
387                                   x_object_ids          OUT NOCOPY DBMS_SQL.NUMBER_TABLE);
388 
389    -- See FND_OAM_DSCFG_OBJECTS_PKG.GET_OBJECTS_FOR_TYPE for description.
390    PROCEDURE GET_OBJECTS_FOR_TYPE(p_object_type         IN VARCHAR2,
391                                   p_errors_found_flag   IN VARCHAR2,
392                                   x_object_ids          OUT NOCOPY DBMS_SQL.NUMBER_TABLE);
393 
394    -- ###################################################
395    --  Wrappers for Generic Operations on Properties   --
396    -- ###################################################
397 
398    -- See FND_OAM_DSCFG_PROPERTIES_PKG.ADD_PROPERTY for description.
399    PROCEDURE ADD_PROPERTY(p_parent_type         IN VARCHAR2,
400                           p_parent_id           IN NUMBER,
401                           p_property_name       IN VARCHAR2,
402                           p_datatype            IN VARCHAR2,
403                           p_canonical_value     IN VARCHAR2,
404                           x_property_id         OUT NOCOPY NUMBER);
405 
406    -- Simple wrapper on ADD_PROPERTY to default in parent_type = G_OBJECT, datatype = VARCHAR2
407    PROCEDURE ADD_OBJECT_PROPERTY(p_object_id            IN NUMBER,
408                                  p_property_name        IN VARCHAR2,
409                                  p_varchar2_value       IN VARCHAR2,
410                                  x_property_id          OUT NOCOPY NUMBER);
411 
412    -- Simple wrapper on ADD_PROPERTY to default in parent_type = G_OBJECT, datatype = NUMBER
413    PROCEDURE ADD_OBJECT_PROPERTY(p_object_id            IN NUMBER,
414                                  p_property_name        IN VARCHAR2,
415                                  p_number_value         IN NUMBER,
416                                  x_property_id          OUT NOCOPY NUMBER);
417 
418    -- Simple wrapper on ADD_PROPERTY to default in parent_type = G_OBJECT, datatype = DATE
419    PROCEDURE ADD_OBJECT_PROPERTY(p_object_id            IN NUMBER,
420                                  p_property_name        IN VARCHAR2,
421                                  p_date_value           IN DATE,
422                                  x_property_id          OUT NOCOPY NUMBER);
423 
424    -- See FND_OAM_DSCFG_PROPERTIES_PKG.GET_PROPERTY_CANONICAL_VALUE for description.
425    PROCEDURE GET_PROPERTY_CANONICAL_VALUE(p_parent_type         IN VARCHAR2,
426                                           p_parent_id           IN NUMBER,
427                                           p_property_name       IN VARCHAR2,
428                                           x_canonical_value     OUT NOCOPY VARCHAR2);
429 
430    -- Simple wrapper on GET_PROPERTY_CANONICAL_VALUE to default in parent_type = G_OBJECT, datatype = VARCHAR2
431    PROCEDURE GET_OBJECT_PROPERTY_VALUE(p_object_id              IN NUMBER,
432                                        p_property_name          IN VARCHAR2,
436    PROCEDURE GET_OBJECT_PROPERTY_VALUE(p_object_id              IN NUMBER,
433                                        x_varchar2_value         OUT NOCOPY VARCHAR2);
434 
435    -- Simple wrapper on GET_PROPERTY_CANONICAL_VALUE to default in parent_type = G_OBJECT, datatype = NUMBER
437                                        p_property_name          IN VARCHAR2,
438                                        x_number_value           OUT NOCOPY NUMBER);
439 
440    -- Simple wrapper on GET_PROPERTY_CANONICAL_VALUE to default in parent_type = G_OBJECT, datatype = DATE
441    PROCEDURE GET_OBJECT_PROPERTY_VALUE(p_object_id              IN NUMBER,
442                                        p_property_name          IN VARCHAR2,
443                                        x_date_value             OUT NOCOPY DATE);
444 
445    -- See FND_OAM_DSCFG_PROPERTIES_PKG.SET_OR_ADD_PROPERTY for description.
446    PROCEDURE SET_OR_ADD_PROPERTY(p_parent_type          IN VARCHAR2,
447                                  p_parent_id            IN NUMBER,
448                                  p_property_name        IN VARCHAR2,
449                                  p_datatype             IN VARCHAR2,
450                                  p_canonical_value      IN VARCHAR2,
451                                  x_property_id          OUT NOCOPY NUMBER);
452 
453    -- Simple wrapper on SET_OR_ADD_PROPERTY to default in parent_type = G_OBJECT, datatype = VARCHAR2
454    PROCEDURE SET_OR_ADD_OBJECT_PROPERTY(p_object_id             IN NUMBER,
455                                         p_property_name         IN VARCHAR2,
456                                         p_varchar2_value        IN VARCHAR2,
457                                         x_property_id           OUT NOCOPY NUMBER);
458 
459    -- Simple wrapper on SET_OR_ADD_PROPERTY to default in parent_type = G_OBJECT, datatype = NUMBER
460    PROCEDURE SET_OR_ADD_OBJECT_PROPERTY(p_object_id             IN NUMBER,
461                                         p_property_name         IN VARCHAR2,
462                                         p_number_value          IN NUMBER,
463                                         x_property_id           OUT NOCOPY NUMBER);
464 
465    -- Simple wrapper on SET_OR_ADD_PROPERTY to default in parent_type = G_OBJECT, datatype = DATE
469                                         x_property_id           OUT NOCOPY NUMBER);
466    PROCEDURE SET_OR_ADD_OBJECT_PROPERTY(p_object_id             IN NUMBER,
467                                         p_property_name         IN VARCHAR2,
468                                         p_date_value            IN DATE,
470 
471 END FND_OAM_DSCFG_API_PKG;