1 PACKAGE EGO_USER_ATTRS_DATA_PVT AUTHID DEFINER AS
2 /* $Header: EGOPEFDS.pls 120.17.12020000.1 2012/06/26 16:36:41 appldev ship $ */
3
4
5
6 --=======================================================================--
7 --=*********************************************************************=--
8 --=*===================================================================*=--
9 --=*= =*=--
10 --=*= NOTE: This is a PRIVATE package; it is for internal use only, =*=--
11 --=*= and it is not supported for customer use. For access to this =*=--
12 --=*= functionality, please use EGO_USER_ATTRS_DATA_PUB. =*=--
13 --=*= =*=--
14 --=*===================================================================*=--
15 --=*********************************************************************=--
16 --=======================================================================--
17
18 ----------------------
19 -- Global Variables --
20 ----------------------
21
22 /*
23 * p_mode constants
24 * ----------------
25 * Possible values for p_mode parameter in Process_Row, Validate_Row,
26 * and Perform_DML_On_Row APIs: the value of the p_mode parameter
27 * affects how all three of these APIs treat the passed-in data.
28 * For example, passing G_CREATE_MODE to Perform_DML_On_Row will
29 * cause the API to execute an Insert statement on the extension table.
30 * As a more complicated example, consider an Attribute Group called
31 * 'Emp Info' with a 'Date Logged' Attribute and a 'Current Status'
32 * Attribute. The 'Date Logged' Attribute might well have a Minimum
33 * and Maximum value range of 'SYSDATE'. Thus, if G_CREATE_MODE were
34 * passed to Validate_Row, then the API would need to verify that the
35 * value of the 'Date Logged' Attribute was the Date on the day of that
36 * insertion. Say, however, that sometime later the bug status changes,
37 * and we want to update the extension table to reflect this. In this
38 * case, we wouldn't want Validate_Row to evaluate the 'Date Logged'
39 * Attribute as if it were just being inserted, so we'd pass either
40 * G_UPDATE_MODE or G_SYNC_MODE to Validate_Row so it would know the
41 * context in which it should apply the validation rules for the row.
42 * (G_SYNC_MODE instructs the API to determine for itself whether there
43 * exists a row in the extension table for the passed-in data. If such
44 * a row exists, then it is updated; if not, a row is created and the
45 * data are inserted into it.)
46 * If no value is passed for p_mode, G_SYNC_MODE is assumed. If an
47 * invalid value is passed for p_mode, such as G_DELETE_MODE on a row
48 * that doesn't exist, an error occurs.
49 */
50
51 G_CREATE_MODE CONSTANT VARCHAR2(10) := 'CREATE'; --4th
52 G_UPDATE_MODE CONSTANT VARCHAR2(10) := 'UPDATE'; --2nd
53 G_DELETE_MODE CONSTANT VARCHAR2(10) := 'DELETE'; --1st
54 G_SYNC_MODE CONSTANT VARCHAR2(10) := 'SYNC'; --3rd
55
56 -------------------------------------------------------------------------
57 -- The Business Object Identifier is used for error-handling purposes. --
58 -------------------------------------------------------------------------
59 G_BO_IDENTIFIER CONSTANT VARCHAR2(30) := 'USER_ATTRS_BO';
60
61
62
63 ----------------
64 -- Procedures --
65 ----------------
66
67 /*
68 * Process_User_Attrs_Data
69 * -----------------------
70 * Process_User_Attrs_Data processes User Attribute data for one object
71 * instance. In addition to identifying information for the instance,
72 * the procedure takes in a table of Attribute Group row objects and an
73 * accompanying table of Attribute data objects; it organizes the two
74 * sets of tables and calls Process_Row for each Attribute Group row,
75 * passing all the Attribute objects for that row. Process_Row then
76 * validates the data for each Attribute Group (in G_CREATE_MODE or
77 * G_UPDATE_MODE) and performs the appropriate DML operation on the
78 * appropriate extension table. If the passed-in mode is null or
79 * G_SYNC_MODE we decide whether the row needs to be inserted or updated.
80 */
81
82 PROCEDURE Process_User_Attrs_Data (
83 p_api_version IN NUMBER
84 ,p_object_name IN VARCHAR2
85 ,p_attributes_row_table IN EGO_USER_ATTR_ROW_TABLE
86 ,p_attributes_data_table IN EGO_USER_ATTR_DATA_TABLE
87 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
88 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
89 ,p_user_privileges_on_object IN EGO_VARCHAR_TBL_TYPE DEFAULT NULL
90 ,p_change_info_table IN EGO_USER_ATTR_CHANGE_TABLE DEFAULT NULL
91 ,p_pending_b_table_name IN VARCHAR2 DEFAULT NULL
92 ,p_pending_tl_table_name IN VARCHAR2 DEFAULT NULL
93 ,p_pending_vl_name IN VARCHAR2 DEFAULT NULL
94 ,p_entity_id IN NUMBER DEFAULT NULL
95 ,p_entity_index IN NUMBER DEFAULT NULL
96 ,p_entity_code IN VARCHAR2 DEFAULT NULL
97 ,p_debug_level IN NUMBER DEFAULT 0
98 ,p_validate_only IN VARCHAR2 DEFAULT FND_API.G_FALSE
99 ,p_validate_hierarchy IN VARCHAR2 DEFAULT FND_API.G_TRUE
100 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_FALSE
101 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
102 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
103 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_FALSE
104 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
105 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
106 ,p_raise_business_event IN BOOLEAN DEFAULT TRUE
107 ,x_failed_row_id_list OUT NOCOPY VARCHAR2
108 ,x_return_status OUT NOCOPY VARCHAR2
109 ,x_errorcode OUT NOCOPY NUMBER
110 ,x_msg_count OUT NOCOPY NUMBER
111 ,x_msg_data OUT NOCOPY VARCHAR2
112 );
113
114 /*
115 * Process_User_Attrs_Data
116 * -----------------------
117 * Please read the documentation given in the above method.
118 * We are having only two additional parameters x_extension_id and x_mode
119 * which are output parameters to identify the mode of operation and the
120 * record that is updated.
121 */
122
123 PROCEDURE Process_User_Attrs_Data (
124 p_api_version IN NUMBER
125 ,p_object_name IN VARCHAR2
126 ,p_attributes_row_table IN EGO_USER_ATTR_ROW_TABLE
127 ,p_attributes_data_table IN EGO_USER_ATTR_DATA_TABLE
128 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
129 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
130 ,p_user_privileges_on_object IN EGO_VARCHAR_TBL_TYPE DEFAULT NULL
131 ,p_change_info_table IN EGO_USER_ATTR_CHANGE_TABLE DEFAULT NULL
132 ,p_pending_b_table_name IN VARCHAR2 DEFAULT NULL
133 ,p_pending_tl_table_name IN VARCHAR2 DEFAULT NULL
134 ,p_pending_vl_name IN VARCHAR2 DEFAULT NULL
135 ,p_entity_id IN NUMBER DEFAULT NULL
136 ,p_entity_index IN NUMBER DEFAULT NULL
137 ,p_entity_code IN VARCHAR2 DEFAULT NULL
138 ,p_debug_level IN NUMBER DEFAULT 0
139 ,p_validate_only IN VARCHAR2 DEFAULT FND_API.G_FALSE
140 ,p_validate_hierarchy IN VARCHAR2 DEFAULT FND_API.G_TRUE
141 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_FALSE
142 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
143 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
144 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_FALSE
145 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
146 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
147 ,p_raise_business_event IN BOOLEAN DEFAULT TRUE
148 ,x_extension_id OUT NOCOPY NUMBER
149 ,x_mode OUT NOCOPY VARCHAR2
150 ,x_failed_row_id_list OUT NOCOPY VARCHAR2
151 ,x_return_status OUT NOCOPY VARCHAR2
152 ,x_errorcode OUT NOCOPY NUMBER
153 ,x_msg_count OUT NOCOPY NUMBER
154 ,x_msg_data OUT NOCOPY VARCHAR2
155 );
156
157 /*
158 * Get_User_Attrs_Data
159 * -------------------
160 * Get_User_Attrs_Data retrieves a requested subset of the User
161 * Attribute data for one object instance. In addition to identifying
162 * information for the instance, the procedure takes in a table of
163 * Attribute Group request objects (each of which contains a list of the
164 * requested Attribute values within that Attribute Group) and calls
165 * a private procedure that gets rows of Attr Group data for each Attribute
166 * Group requested. The procedure then converts those results into two
167 * tables: a table of Attribute Group row objects and a table of Attribute
168 * Group data objects. Every row object has a ROW_IDENTIFIER value that is
169 * used to find all data objects for that row (they each have ROW_IDENTIFIER
170 * values as well, and their values will match that of the row to which they
171 * belong).
172 */
173 PROCEDURE Get_User_Attrs_Data (
174 p_api_version IN NUMBER
175 ,p_object_name IN VARCHAR2
176 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
177 ,p_attr_group_request_table IN EGO_ATTR_GROUP_REQUEST_TABLE
178 ,p_user_privileges_on_object IN EGO_VARCHAR_TBL_TYPE DEFAULT NULL
179 ,p_entity_id IN NUMBER DEFAULT NULL
180 ,p_entity_index IN NUMBER DEFAULT NULL
181 ,p_entity_code IN VARCHAR2 DEFAULT NULL
182 ,p_debug_level IN NUMBER DEFAULT 0
183 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_FALSE
184 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
185 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
186 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
187 ,x_attributes_row_table OUT NOCOPY EGO_USER_ATTR_ROW_TABLE
188 ,x_attributes_data_table OUT NOCOPY EGO_USER_ATTR_DATA_TABLE
189 ,x_return_status OUT NOCOPY VARCHAR2
190 ,x_errorcode OUT NOCOPY NUMBER
191 ,x_msg_count OUT NOCOPY NUMBER
192 ,x_msg_data OUT NOCOPY VARCHAR2
193 );
194
195
196 /*
197 * Process_Row
198 * -----------
199 * Process_Row is the all-in-one API for handling the insertion, update,
200 * or deletion of one row from a User-Defined Attribute extension table.
201 * It internally handles validation to ensure that the passed-in data
202 * are correct with respect to formatting, data type, etc. If the data
203 * pass this test, Process_Row performs a DML operation on the extension
204 * table according to the passed-in p_mode parameter (this will be one of
205 * the global variables defined above).
206 * This signature takes in the Object Name and Object ID so that the
207 * caller may pass either; it also takes in the Attr Group ID and the
208 * three Attr Group PKs for the same reason.
209 */
210 PROCEDURE Process_Row (
211 p_api_version IN NUMBER
212 ,p_object_id IN NUMBER DEFAULT NULL
213 ,p_object_name IN VARCHAR2 DEFAULT NULL
214 ,p_attr_group_id IN NUMBER DEFAULT NULL
215 ,p_application_id IN NUMBER DEFAULT NULL
216 ,p_attr_group_type IN VARCHAR2 DEFAULT NULL
217 ,p_attr_group_name IN VARCHAR2 DEFAULT NULL
218 ,p_validate_hierarchy IN VARCHAR2 DEFAULT FND_API.G_TRUE
219 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
220 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
221 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
222 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
223 ,p_extension_id IN NUMBER DEFAULT NULL
224 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
225 ,p_entity_id IN NUMBER DEFAULT NULL
226 ,p_entity_index IN NUMBER DEFAULT NULL
227 ,p_entity_code IN VARCHAR2 DEFAULT NULL
228 ,p_validate_only IN VARCHAR2 DEFAULT FND_API.G_FALSE
229 ,p_language_to_process IN VARCHAR2 DEFAULT NULL
230 ,p_mode IN VARCHAR2 DEFAULT G_SYNC_MODE
231 ,p_change_obj IN EGO_USER_ATTR_CHANGE_OBJ DEFAULT NULL
232 ,p_pending_b_table_name IN VARCHAR2 DEFAULT NULL
233 ,p_pending_tl_table_name IN VARCHAR2 DEFAULT NULL
234 ,p_pending_vl_name IN VARCHAR2 DEFAULT NULL
235 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
236 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
237 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
238 ,p_raise_business_event IN BOOLEAN DEFAULT TRUE
239 ,x_return_status OUT NOCOPY VARCHAR2
240 ,x_errorcode OUT NOCOPY NUMBER
241 ,x_msg_count OUT NOCOPY NUMBER
242 ,x_msg_data OUT NOCOPY VARCHAR2
243 );
244
245
246 /* Overload method with additional parameters x_extension_id, x_mode */
247
248 PROCEDURE Process_Row (
249 p_api_version IN NUMBER
250 ,p_object_id IN NUMBER DEFAULT NULL
251 ,p_object_name IN VARCHAR2 DEFAULT NULL
252 ,p_attr_group_id IN NUMBER DEFAULT NULL
253 ,p_application_id IN NUMBER DEFAULT NULL
254 ,p_attr_group_type IN VARCHAR2 DEFAULT NULL
255 ,p_attr_group_name IN VARCHAR2 DEFAULT NULL
256 ,p_validate_hierarchy IN VARCHAR2 DEFAULT FND_API.G_TRUE
257 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
258 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
259 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
260 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
261 ,p_extension_id IN NUMBER DEFAULT NULL
262 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
263 ,p_entity_id IN NUMBER DEFAULT NULL
264 ,p_entity_index IN NUMBER DEFAULT NULL
265 ,p_entity_code IN VARCHAR2 DEFAULT NULL
266 ,p_validate_only IN VARCHAR2 DEFAULT FND_API.G_FALSE
267 ,p_language_to_process IN VARCHAR2 DEFAULT NULL
268 ,p_mode IN VARCHAR2 DEFAULT G_SYNC_MODE
269 ,p_change_obj IN EGO_USER_ATTR_CHANGE_OBJ DEFAULT NULL
270 ,p_pending_b_table_name IN VARCHAR2 DEFAULT NULL
271 ,p_pending_tl_table_name IN VARCHAR2 DEFAULT NULL
272 ,p_pending_vl_name IN VARCHAR2 DEFAULT NULL
273 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
274 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
275 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
276 ,p_raise_business_event IN BOOLEAN DEFAULT TRUE
277 ,x_extension_id OUT NOCOPY NUMBER
278 ,x_mode OUT NOCOPY VARCHAR2
279 ,x_return_status OUT NOCOPY VARCHAR2
280 ,x_errorcode OUT NOCOPY NUMBER
281 ,x_msg_count OUT NOCOPY NUMBER
282 ,x_msg_data OUT NOCOPY VARCHAR2
286 * Validate_Row
283 );
284
285 /*
287 * ------------
288 * Validate_Row is the API for checking to ensure that a particular set
289 * of User-Defined Attribute data is "valid"--i.e., that its values for
290 * each Attribute meet all constraints defined for that Attribute (these
291 * constraints may include data type, size, and value range, in addition
292 * to many other possible constraints).
293 * This signature takes in the Object Name and Object ID so that the
294 * caller may pass either; it also takes in the Attr Group ID and the
295 * three Attr Group PKs for the same reason.
296 */
297 PROCEDURE Validate_Row (
298 p_api_version IN NUMBER
299 ,p_object_id IN NUMBER DEFAULT NULL
300 ,p_object_name IN VARCHAR2 DEFAULT NULL
301 ,p_attr_group_id IN NUMBER DEFAULT NULL
302 ,p_application_id IN NUMBER DEFAULT NULL
303 ,p_attr_group_type IN VARCHAR2 DEFAULT NULL
304 ,p_attr_group_name IN VARCHAR2 DEFAULT NULL
305 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
306 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
307 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
308 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
309 ,p_extension_id IN NUMBER DEFAULT NULL
310 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
311 ,p_entity_id IN NUMBER DEFAULT NULL
312 ,p_entity_index IN NUMBER DEFAULT NULL
313 ,p_entity_code IN VARCHAR2 DEFAULT NULL
314 ,p_mode IN VARCHAR2 DEFAULT G_SYNC_MODE
315 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_FALSE
316 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
317 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
318 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
319 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
320 ,x_return_status OUT NOCOPY VARCHAR2
321 ,x_errorcode OUT NOCOPY NUMBER
322 ,x_msg_count OUT NOCOPY NUMBER
323 ,x_msg_data OUT NOCOPY VARCHAR2
324 );
325
326
327
328 /*
329 * Perform_DML_On_Row
330 * ------------------
331 * Perform_DML_On_Row is the API that actually inserts a row into, updates
332 * a row in, or deletes a row from the extension table. It performs no
333 * validation, which means that undefined behavior may arise if invalid data
334 * are passed in.
335 * This signature takes in the Object Name and Object ID so that the
336 * caller may pass either; it also takes in the Attr Group ID and the
337 * three Attr Group PKs for the same reason.
338 */
339 PROCEDURE Perform_DML_On_Row (
340 p_api_version IN NUMBER
341 ,p_object_id IN NUMBER DEFAULT NULL
342 ,p_object_name IN VARCHAR2 DEFAULT NULL
343 ,p_attr_group_id IN NUMBER DEFAULT NULL
344 ,p_application_id IN NUMBER DEFAULT NULL
345 ,p_attr_group_type IN VARCHAR2 DEFAULT NULL
346 ,p_attr_group_name IN VARCHAR2 DEFAULT NULL
347 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
348 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
349 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
350 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
351 ,p_extension_id IN NUMBER DEFAULT NULL
352 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
353 ,p_mode IN VARCHAR2 DEFAULT G_SYNC_MODE
354 ,p_change_obj IN EGO_USER_ATTR_CHANGE_OBJ DEFAULT NULL
355 ,p_pending_b_table_name IN VARCHAR2 DEFAULT NULL
356 ,p_pending_tl_table_name IN VARCHAR2 DEFAULT NULL
357 ,p_pending_vl_name IN VARCHAR2 DEFAULT NULL
358 ,p_entity_id IN NUMBER DEFAULT NULL
359 ,p_entity_index IN NUMBER DEFAULT NULL
360 ,p_entity_code IN VARCHAR2 DEFAULT NULL
361 ,p_debug_level IN NUMBER DEFAULT 0
362 ,p_use_def_vals_on_insert IN VARCHAR2 DEFAULT FND_API.G_FALSE
363 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_FALSE
364 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
365 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
366 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
367 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
368 ,p_bulkload_flag IN VARCHAR2 DEFAULT FND_API.G_FALSE
369 ,x_return_status OUT NOCOPY VARCHAR2
370 ,x_errorcode OUT NOCOPY NUMBER
371 ,x_msg_count OUT NOCOPY NUMBER
372 ,x_msg_data OUT NOCOPY VARCHAR2
373 );
374
375 /* Overload method with additional parameters x_extension_id, x_mode */
376
377 PROCEDURE Perform_DML_On_Row (
378 p_api_version IN NUMBER
379 ,p_object_id IN NUMBER DEFAULT NULL
380 ,p_object_name IN VARCHAR2 DEFAULT NULL
381 ,p_attr_group_id IN NUMBER DEFAULT NULL
382 ,p_application_id IN NUMBER DEFAULT NULL
383 ,p_attr_group_type IN VARCHAR2 DEFAULT NULL
387 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
384 ,p_attr_group_name IN VARCHAR2 DEFAULT NULL
385 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
386 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
388 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
389 ,p_extension_id IN NUMBER DEFAULT NULL
390 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
391 ,p_mode IN VARCHAR2 DEFAULT G_SYNC_MODE
392 ,p_change_obj IN EGO_USER_ATTR_CHANGE_OBJ DEFAULT NULL
393 ,p_pending_b_table_name IN VARCHAR2 DEFAULT NULL
394 ,p_pending_tl_table_name IN VARCHAR2 DEFAULT NULL
395 ,p_pending_vl_name IN VARCHAR2 DEFAULT NULL
396 ,p_entity_id IN NUMBER DEFAULT NULL
397 ,p_entity_index IN NUMBER DEFAULT NULL
398 ,p_entity_code IN VARCHAR2 DEFAULT NULL
399 ,p_debug_level IN NUMBER DEFAULT 0
400 ,p_use_def_vals_on_insert IN VARCHAR2 DEFAULT FND_API.G_FALSE
401 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_FALSE
402 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
403 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
404 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
405 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
406 ,p_bulkload_flag IN VARCHAR2 DEFAULT FND_API.G_FALSE
407 --Added by geguo for 9373845 begin
408 ,p_creation_date IN DATE DEFAULT NULL
409 ,p_last_update_date IN DATE DEFAULT NULL
410 --Added by geguo for 9373845 end
411 ,x_extension_id OUT NOCOPY NUMBER
412 ,x_mode OUT NOCOPY VARCHAR2
413 ,x_return_status OUT NOCOPY VARCHAR2
414 ,x_errorcode OUT NOCOPY NUMBER
415 ,x_msg_count OUT NOCOPY NUMBER
416 ,x_msg_data OUT NOCOPY VARCHAR2
417 );
418
419
420
421 PROCEDURE Generate_DML_For_Row (
422 p_api_version IN NUMBER
423 ,p_object_id IN NUMBER DEFAULT NULL
424 ,p_object_name IN VARCHAR2 DEFAULT NULL
425 ,p_attr_group_id IN NUMBER DEFAULT NULL
426 ,p_application_id IN NUMBER DEFAULT NULL
427 ,p_attr_group_type IN VARCHAR2 DEFAULT NULL
428 ,p_attr_group_name IN VARCHAR2 DEFAULT NULL
429 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
430 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
431 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
432 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
433 ,p_extension_id IN NUMBER DEFAULT NULL
434 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
435 ,p_mode IN VARCHAR2 DEFAULT G_SYNC_MODE
436 ,p_extra_pk_col_name_val_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
437 ,p_extra_attr_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
438 ,p_alternate_ext_b_table_name IN VARCHAR2 DEFAULT NULL
439 ,p_alternate_ext_tl_table_name IN VARCHAR2 DEFAULT NULL
440 ,p_alternate_ext_vl_name IN VARCHAR2 DEFAULT NULL
441 ,p_execute_dml IN VARCHAR2 DEFAULT FND_API.G_FALSE
442 ,p_entity_id IN NUMBER DEFAULT NULL
443 ,p_entity_index IN NUMBER DEFAULT NULL
444 ,p_entity_code IN VARCHAR2 DEFAULT NULL
445 ,p_debug_level IN NUMBER DEFAULT 0
446 ,p_use_def_vals_on_insert IN VARCHAR2 DEFAULT FND_API.G_FALSE
447 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_FALSE
448 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
449 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
450 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
451 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
452 ,p_bulkload_flag IN VARCHAR2 DEFAULT FND_API.G_FALSE
453 ,p_raise_business_event IN BOOLEAN DEFAULT TRUE
454 ,x_return_status OUT NOCOPY VARCHAR2
455 ,x_errorcode OUT NOCOPY NUMBER
456 ,x_msg_count OUT NOCOPY NUMBER
457 ,x_msg_data OUT NOCOPY VARCHAR2
458 ,x_b_dml_for_ag OUT NOCOPY VARCHAR2
459 ,x_tl_dml_for_ag OUT NOCOPY VARCHAR2
460 ,x_b_bind_count OUT NOCOPY NUMBER
461 ,x_tl_bind_count OUT NOCOPY NUMBER
462 ,x_b_bind_attr_table OUT NOCOPY EGO_USER_ATTR_DATA_TABLE
463 ,x_tl_bind_attr_table OUT NOCOPY EGO_USER_ATTR_DATA_TABLE
464 );
465
466
467
468 FUNCTION Get_Extension_Id (
469 p_object_name IN VARCHAR2
470 ,p_attr_group_id IN NUMBER DEFAULT NULL
471 ,p_application_id IN NUMBER
472 ,p_attr_group_type IN VARCHAR2
473 ,p_attr_group_name IN VARCHAR2 DEFAULT NULL
474 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
478 ,p_extra_pk_col_name_val_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
475 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
476 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
477 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
479 ,p_extra_attr_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
480 ,p_alternate_ext_b_table_name IN VARCHAR2 DEFAULT NULL
481 ,p_alternate_ext_tl_table_name IN VARCHAR2 DEFAULT NULL
482 ,p_alternate_ext_vl_name IN VARCHAR2 DEFAULT NULL
483 ) RETURN NUMBER ;
484
485
486 /*
487 * Perform_DML_From_Template
488 * -------------------------
489 */
490 PROCEDURE Perform_DML_From_Template (
491 p_api_version IN NUMBER
492 ,p_template_id IN NUMBER
493 ,p_object_name IN VARCHAR2
494 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
495 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
496 ,p_data_level IN VARCHAR2 DEFAULT NULL
497 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
498 ,p_attr_group_ids_to_exclude IN EGO_NUMBER_TBL_TYPE DEFAULT NULL
499 ,p_debug_level IN NUMBER DEFAULT 0
500 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
501 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
502 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
503 ,x_return_status OUT NOCOPY VARCHAR2
504 ,x_errorcode OUT NOCOPY NUMBER
505 ,x_msg_count OUT NOCOPY NUMBER
506 ,x_msg_data OUT NOCOPY VARCHAR2
507 );
508
509
510
511 /*
512 * Copy_User_Attrs_Data
513 * --------------------
514 * From PIM for Retail (R12C), when the user is copying data across data levels
515 * user must pass old and new data level
516 *
517 */
518 PROCEDURE Copy_User_Attrs_Data (
519 p_api_version IN NUMBER
520 ,p_application_id IN NUMBER
521 ,p_object_id IN NUMBER DEFAULT NULL
522 ,p_object_name IN VARCHAR2 DEFAULT NULL
523 ,p_old_pk_col_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
524 ,p_old_data_level_id IN NUMBER DEFAULT NULL
525 ,p_old_dtlevel_col_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
526 ,p_new_pk_col_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
527 ,p_new_data_level_id IN NUMBER DEFAULT NULL
528 ,p_new_dtlevel_col_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
529 ,p_new_cc_col_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
530 ,p_attr_group_list IN VARCHAR2 DEFAULT NULL
531 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_FALSE
532 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
533 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
534 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
535 ,x_return_status OUT NOCOPY VARCHAR2
536 ,x_errorcode OUT NOCOPY NUMBER
537 ,x_msg_count OUT NOCOPY NUMBER
538 ,x_msg_data OUT NOCOPY VARCHAR2
539 );
540
541 /*
542 * Implement_Change_Line
543 * ---------------------
544 */
545 PROCEDURE Implement_Change_Line (
546 p_api_version IN NUMBER
547 ,p_object_name IN VARCHAR2
548 ,p_production_b_table_name IN VARCHAR2
549 ,p_production_tl_table_name IN VARCHAR2
550 ,p_change_b_table_name IN VARCHAR2
551 ,p_change_tl_table_name IN VARCHAR2
552 ,p_tables_application_id IN NUMBER
553 ,p_change_line_id IN NUMBER
554 ,p_old_data_level_nv_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
555 ,p_new_data_level_nv_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
556 ,p_related_class_code_function IN VARCHAR2
557 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
558 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
559 ,x_return_status OUT NOCOPY VARCHAR2
560 ,x_errorcode OUT NOCOPY NUMBER
561 ,x_msg_count OUT NOCOPY NUMBER
562 ,x_msg_data OUT NOCOPY VARCHAR2
563 );
564
565 /*
566 * Get_Ext_Data
567 * ---------------------
568 */
569 PROCEDURE Get_Ext_Data (
570 p_attr_group_metadata_obj IN EGO_ATTR_GROUP_METADATA_OBJ
571 ,p_attr_metadata_obj IN EGO_ATTR_METADATA_OBJ
572 ,p_pk_col1 IN VARCHAR2
573 ,p_pk_col2 IN VARCHAR2 DEFAULT NULL
574 ,p_pk_col3 IN VARCHAR2 DEFAULT NULL
575 ,p_pk_col4 IN VARCHAR2 DEFAULT NULL
576 ,p_pk_col5 IN VARCHAR2 DEFAULT NULL
577 ,p_pk_value1 IN VARCHAR2
578 ,p_pk_value2 IN VARCHAR2 DEFAULT NULL
579 ,p_pk_value3 IN VARCHAR2 DEFAULT NULL
580 ,p_pk_value4 IN VARCHAR2 DEFAULT NULL
581 ,p_pk_value5 IN VARCHAR2 DEFAULT NULL
582 ,p_data_level IN VARCHAR2 DEFAULT NULL
583 ,p_dl_pk_values IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
587 ,x_date_val OUT NOCOPY DATE
584 ,p_dl_metadata_obj IN EGO_DATA_LEVEL_METADATA_OBJ DEFAULT NULL
585 ,x_str_val OUT NOCOPY VARCHAR2
586 ,x_num_val OUT NOCOPY NUMBER
588 );
589
590
591
592 /*
593 * Get_User_Attr_Val
594 * -----------------
595 */
596 FUNCTION Get_User_Attr_Val (
597 p_appl_id IN NUMBER
598 ,p_attr_grp_type IN VARCHAR2
599 ,p_attr_grp_name IN VARCHAR2
600 ,p_attr_name IN VARCHAR2
601 ,p_object_name IN VARCHAR2
602 ,p_pk_col1 IN VARCHAR2
603 ,p_pk_col2 IN VARCHAR2 DEFAULT NULL
604 ,p_pk_col3 IN VARCHAR2 DEFAULT NULL
605 ,p_pk_col4 IN VARCHAR2 DEFAULT NULL
606 ,p_pk_col5 IN VARCHAR2 DEFAULT NULL
607 ,p_pk_value1 IN VARCHAR2
608 ,p_pk_value2 IN VARCHAR2 DEFAULT NULL
609 ,p_pk_value3 IN VARCHAR2 DEFAULT NULL
610 ,p_pk_value4 IN VARCHAR2 DEFAULT NULL
611 ,p_pk_value5 IN VARCHAR2 DEFAULT NULL
612 ,p_data_level IN VARCHAR2 DEFAULT NULL
613 ,p_dl_pk_values IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
614 )
615 RETURN VARCHAR2;
616
617
618 /*
619 * Tokenized_Val_Set_Query
620 * -----------------------
621 */
622 FUNCTION Tokenized_Val_Set_Query (
623 p_attr_metadata_obj IN EGO_ATTR_METADATA_OBJ
624 ,p_attr_group_metadata_obj IN EGO_ATTR_GROUP_METADATA_OBJ
625 ,p_ext_table_metadata_obj IN EGO_EXT_TABLE_METADATA_OBJ
626 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
627 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
628 ,p_entity_id IN VARCHAR2
629 ,p_entity_index IN NUMBER
630 ,p_entity_code IN VARCHAR2
631 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
632 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
633 ,p_is_disp_to_int_query IN BOOLEAN
634 ,p_final_bind_value IN VARCHAR2
635 ,p_return_bound_sql IN BOOLEAN DEFAULT FALSE
636 )
637 RETURN VARCHAR2;
638
639
640
641 /*
642 * Get_Int_Val_For_Disp_Val
643 * ------------------------
644 */
645 FUNCTION Get_Int_Val_For_Disp_Val (
646 p_attr_metadata_obj IN EGO_ATTR_METADATA_OBJ
647 ,p_attr_value_obj IN EGO_USER_ATTR_DATA_OBJ
648 ,p_attr_group_metadata_obj IN EGO_ATTR_GROUP_METADATA_OBJ
649 ,p_ext_table_metadata_obj IN EGO_EXT_TABLE_METADATA_OBJ
650 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
651 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
652 ,p_entity_id IN VARCHAR2
653 ,p_entity_index IN NUMBER
654 ,p_entity_code IN VARCHAR2
655 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
656 )
657 RETURN VARCHAR2;
658
659
660
661 /*
662 * Update_Attributes
663 * -------------------------
664 */
665 PROCEDURE Update_Attributes
666 ( p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
667 , p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
668 , p_data_level IN VARCHAR2 DEFAULT NULL
669 , p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
670 , p_attr_diffs IN EGO_USER_ATTR_DIFF_TABLE
671 , p_transaction_type IN VARCHAR2
672 , p_attr_group_id IN NUMBER DEFAULT NULL
673 , x_error_message OUT NOCOPY VARCHAR2
674 );
675
676
677
678 /*
679 * Set_Up_Debug_Session
680 * --------------------
681 */
682 PROCEDURE Set_Up_Debug_Session (
683 p_entity_id IN NUMBER
684 ,p_entity_code IN VARCHAR2
685 ,p_debug_level IN NUMBER DEFAULT 0
686 );
687
688
689
690 /*
691 * Debug_Msg
692 * ---------
693 */
694 PROCEDURE Debug_Msg (
695 p_message IN VARCHAR2
696 ,p_level_of_debug IN NUMBER DEFAULT 3
697 );
698
699 -- BEGIN AMAY
700 PROCEDURE Get_Attr_Diffs
701 ( p_object_name IN VARCHAR2
702 , p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
703 , p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
704 , p_data_level IN VARCHAR2 DEFAULT NULL --R12C
705 , p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
706 , p_attr_group_id IN NUMBER DEFAULT NULL
707 , p_application_id IN NUMBER DEFAULT NULL
708 , p_attr_group_type IN VARCHAR2 DEFAULT NULL
709 , p_attr_group_name IN VARCHAR2 DEFAULT NULL
710 , px_attr_diffs IN OUT NOCOPY EGO_USER_ATTR_DIFF_TABLE
711 , x_error_message OUT NOCOPY VARCHAR2
712 );
713 -- END AMAY
714
715 /*
716 * Get_Attr_Disp_Val_From_ValueSet
717 * -------------------------------
718 * Function returns the display value
719 * of the attribute for a given internal value.
720 */
721 --gnanda api created for bug 4038065
722 FUNCTION Get_Attr_Disp_Val_From_VSet (
726 ,p_attr_internal_num_value IN NUMBER DEFAULT NULL
723 p_application_id IN NUMBER
724 ,p_attr_internal_date_value IN DATE DEFAULT NULL
725 ,p_attr_internal_str_value IN VARCHAR2 DEFAULT NULL
727 ,p_attr_internal_name IN VARCHAR2
728 ,p_attr_group_type IN VARCHAR2
729 ,p_attr_group_int_name IN VARCHAR2
730 ,p_attr_id IN NUMBER
731 ,p_object_name IN VARCHAR2
732 ,p_pk1_column_name IN VARCHAR2
733 ,p_pk1_value IN VARCHAR2
734 ,p_pk2_column_name IN VARCHAR2 DEFAULT NULL
735 ,p_pk2_value IN VARCHAR2 DEFAULT NULL
736 ,p_pk3_column_name IN VARCHAR2 DEFAULT NULL
737 ,p_pk3_value IN VARCHAR2 DEFAULT NULL
738 ,p_pk4_column_name IN VARCHAR2 DEFAULT NULL
739 ,p_pk4_value IN VARCHAR2 DEFAULT NULL
740 ,p_pk5_column_name IN VARCHAR2 DEFAULT NULL
741 ,p_pk5_value IN VARCHAR2 DEFAULT NULL
742 ,p_data_level1_column_name IN VARCHAR2 DEFAULT NULL
743 ,p_data_level1_value IN VARCHAR2 DEFAULT NULL
744 ,p_data_level2_column_name IN VARCHAR2 DEFAULT NULL
745 ,p_data_level2_value IN VARCHAR2 DEFAULT NULL
746 ,p_data_level3_column_name IN VARCHAR2 DEFAULT NULL
747 ,p_data_level3_value IN VARCHAR2 DEFAULT NULL
748 )
749 RETURN VARCHAR2;
750
751
752 /*
753 * Get_Attr_Int_Val_From_VSet
754 * -------------------------------
755 * Function returns the internal value for a given display value
756 */
757
758 FUNCTION Get_Attr_Int_Val_From_VSet (
759 p_application_id IN NUMBER
760 ,p_attr_disp_value IN VARCHAR2
761 ,p_attr_internal_name IN VARCHAR2
762 ,p_attr_group_type IN VARCHAR2
763 ,p_attr_group_int_name IN VARCHAR2
764 ,p_attr_group_id IN NUMBER
765 ,p_attr_id IN NUMBER
766 ,p_return_intf_col IN VARCHAR2
767 ,p_object_name IN VARCHAR2
768 ,p_ext_table_metadata_obj IN EGO_EXT_TABLE_METADATA_OBJ
769 ,p_pk1_column_name IN VARCHAR2
770 ,p_pk1_value IN VARCHAR2
771 ,p_pk2_column_name IN VARCHAR2
772 ,p_pk2_value IN VARCHAR2
773 ,p_pk3_column_name IN VARCHAR2
774 ,p_pk3_value IN VARCHAR2
775 ,p_pk4_column_name IN VARCHAR2
776 ,p_pk4_value IN VARCHAR2
777 ,p_pk5_column_name IN VARCHAR2
778 ,p_pk5_value IN VARCHAR2
779 ,p_data_level1_column_name IN VARCHAR2
780 ,p_data_level1_value IN VARCHAR2
781 ,p_data_level2_column_name IN VARCHAR2
782 ,p_data_level2_value IN VARCHAR2
783 ,p_data_level3_column_name IN VARCHAR2
784 ,p_data_level3_value IN VARCHAR2
785 ,p_entity_id IN VARCHAR2
786 ,p_entity_index IN NUMBER
787 ,p_entity_code IN VARCHAR2
788 )
789 RETURN VARCHAR2;
790
791
792 -----------------------------------------------
793 -- Wrappers for Add_Bind and Init
794 -----------------------------------------------
795
796 PROCEDURE Add_Bind ( p_bind_identifier IN VARCHAR2 DEFAULT NULL
797 ,p_value IN VARCHAR2);
798
799
800 PROCEDURE Add_Bind ( p_bind_identifier IN VARCHAR2 DEFAULT NULL
801 ,p_value IN DATE);
802
803
804 PROCEDURE Add_Bind ( p_bind_identifier IN VARCHAR2 DEFAULT NULL
805 ,p_value IN NUMBER);
806
807
808
809 PROCEDURE Set_Binds_And_Dml( p_sql IN VARCHAR2
810 ,p_mode IN VARCHAR2);
811
812 PROCEDURE Init;
813 ---------------------------------------------------------------
814
815
816
817
818 ------------------------------------------------------------------
819 -- Following API's are exposed for CM, they need these API's --
820 -- for moving the change line implementation code to CM package --
821 -- :gnanda --
822 ------------------------------------------------------------------
823
824 FUNCTION Get_Table_Columns_List (
825 p_application_id IN NUMBER
826 ,p_from_table_name IN VARCHAR2
827 ,p_from_cols_to_exclude_list IN VARCHAR2 DEFAULT NULL
828 ,p_from_table_alias_prefix IN VARCHAR2 DEFAULT NULL
829 ,p_to_table_name IN VARCHAR2 DEFAULT NULL
830 ,p_to_table_alias_prefix IN VARCHAR2 DEFAULT NULL
831 ,p_in_line_view_where_clause IN VARCHAR2 DEFAULT NULL
832 ,p_cast_date_cols_to_char IN BOOLEAN DEFAULT FALSE
833 )
834 RETURN VARCHAR2;
835
836 FUNCTION Is_Data_Level_Correct (
837 p_object_id IN NUMBER
838 ,p_attr_group_id IN NUMBER
839 ,p_ext_table_metadata_obj IN EGO_EXT_TABLE_METADATA_OBJ
840 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
841 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
842 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
843 ,p_attr_group_disp_name IN VARCHAR2
847 RETURN BOOLEAN;
844 ,x_err_msg_name OUT NOCOPY VARCHAR2
845 ,x_token_table OUT NOCOPY ERROR_HANDLER.Token_Tbl_Type
846 )
848
849 FUNCTION Get_Extension_Id_For_Row (
850 p_attr_group_metadata_obj IN EGO_ATTR_GROUP_METADATA_OBJ
851 ,p_ext_table_metadata_obj IN EGO_EXT_TABLE_METADATA_OBJ
852 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
853 ,p_data_level IN VARCHAR2 DEFAULT NULL --R12C
854 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
855 ,p_attr_name_value_pairs IN EGO_USER_ATTR_DATA_TABLE
856 ,p_change_obj IN EGO_USER_ATTR_CHANGE_OBJ DEFAULT NULL
857 ,p_extra_pk_col_name_val_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
858 ,p_pending_b_table_name IN VARCHAR2 DEFAULT NULL
859 ,p_pending_vl_name IN VARCHAR2 DEFAULT NULL
860 )
861 RETURN NUMBER;
862 ------------------------------------------------------------------
863 -- Above API's are exposed for CM, they need these API's --
864 -- for moving the change line implementation code to CM package --
865 -- :gnanda --
866 ------------------------------------------------------------------
867
868 /*
869 * Validate_Required_Attrs
870 * -----------------------
871 * Validate_Required_Attrs validates data for one object instance by
872 * checking which fields required fields does not have a value.
873 * The procedure takes in a primary key object, the object name,
874 * class code and data level information, as well as a list of
875 * attribute group types on which object data should be
876 * validated.
877 * The procedure returns a table of user attribute object listing
878 * required attributes for which the object does not have a value.
879 */
880 PROCEDURE Validate_Required_Attrs (
881 p_api_version IN NUMBER
882 ,p_object_name IN VARCHAR2
883 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
884 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
885 ,p_data_level_name IN EGO_DATA_LEVEL_B.DATA_LEVEL_NAME%TYPE := NULL
886 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
887 ,p_attr_group_type_table IN EGO_VARCHAR_TBL_TYPE
888 ,p_entity_id IN NUMBER DEFAULT NULL
889 ,p_entity_index IN NUMBER DEFAULT NULL
890 ,p_entity_code IN VARCHAR2 DEFAULT NULL
891 ,p_debug_level IN NUMBER DEFAULT 0
892 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_TRUE
893 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
894 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
895 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_FALSE
896 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
897 ,x_attributes_req_table OUT NOCOPY EGO_USER_ATTR_TABLE
898 ,x_return_status OUT NOCOPY VARCHAR2
899 ,x_errorcode OUT NOCOPY NUMBER
900 ,x_msg_count OUT NOCOPY NUMBER
901 ,x_msg_data OUT NOCOPY VARCHAR2
902 );
903
904
905
906
907 /*
908 * Get_Object_Id_From_Name
909 * ------------
910 * This API would return the object id for a given object name.
911 */
912
913 FUNCTION Get_Object_Id_From_Name (
914 p_object_name IN VARCHAR2
915 )
916 RETURN NUMBER;
917
918
919
920 /*
921 * Apply_Default_Vals_For_Entity
922 * ------------
923 * Apply_Default_Vals_For_Entity : This API should be called after the entity creation
924 * is successfuly done. This API would set the default values for attributes in the all
925 * the single row attribute groups not having a required attribute for the givent entity.
926 */
927
928
929 PROCEDURE Apply_Default_Vals_For_Entity (
930 p_object_name IN VARCHAR2
931 ,p_application_id IN NUMBER
932 ,p_attr_group_type IN VARCHAR2
933 ,p_attr_groups_to_exclude IN VARCHAR2 DEFAULT NULL
934 ,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
935 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
936 ,p_data_level IN VARCHAR2 DEFAULT NULL
937 ,p_data_level_values IN EGO_COL_NAME_VALUE_PAIR_ARRAY
938 ,p_additional_class_Code_list IN VARCHAR2 DEFAULT NULL
939 ,p_entity_id IN NUMBER DEFAULT NULL
940 ,p_entity_index IN NUMBER DEFAULT NULL
941 ,p_entity_code IN VARCHAR2 DEFAULT NULL
942 ,p_debug_level IN NUMBER DEFAULT 0
943 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_FALSE
944 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
945 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
946 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_FALSE
947 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
948 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
949 ,x_failed_row_id_list OUT NOCOPY VARCHAR2
950 ,x_return_status OUT NOCOPY VARCHAR2
951 ,x_errorcode OUT NOCOPY NUMBER
952 ,x_msg_count OUT NOCOPY NUMBER
953 ,x_msg_data OUT NOCOPY VARCHAR2
954 );
955
956 /*
957 *Bug:9277377
958 *Add the function to check column for both table and view oject
959 */
960 FUNCTION HAS_COLUMN_IN_TABLE_VIEW (p_object_name IN VARCHAR2
961 ,p_column_name IN VARCHAR2
962 )
963 RETURN VARCHAR2;
964
965 END EGO_USER_ATTRS_DATA_PVT;
966