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;