1: PACKAGE BODY PO_UDA_PUB AS
2: /* $Header: PO_UDA_PUB.plb 120.7 2011/02/01 15:00:59 abhinraj ship $ */
3: d_pkg_name CONSTANT varchar2(50) := PO_LOG.get_package_base('PO_UDA_PUB');
4:
5: --- variables for persisting address value read --
6: g_pk1_value number;
7: g_pk2_value number;
85:
86: BEGIN
87: x_return_status := FND_API.G_RET_STS_SUCCESS;
88: d_progress := 010;
89: IF (PO_LOG.d_proc) THEN
90: PO_LOG.proc_begin(d_module);
91: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
92: PO_LOG.proc_begin(d_module, 'p_entity_code',p_template_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
86: BEGIN
87: x_return_status := FND_API.G_RET_STS_SUCCESS;
88: d_progress := 010;
89: IF (PO_LOG.d_proc) THEN
90: PO_LOG.proc_begin(d_module);
91: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
92: PO_LOG.proc_begin(d_module, 'p_entity_code',p_template_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
87: x_return_status := FND_API.G_RET_STS_SUCCESS;
88: d_progress := 010;
89: IF (PO_LOG.d_proc) THEN
90: PO_LOG.proc_begin(d_module);
91: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
92: PO_LOG.proc_begin(d_module, 'p_entity_code',p_template_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
88: d_progress := 010;
89: IF (PO_LOG.d_proc) THEN
90: PO_LOG.proc_begin(d_module);
91: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
92: PO_LOG.proc_begin(d_module, 'p_entity_code',p_template_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
89: IF (PO_LOG.d_proc) THEN
90: PO_LOG.proc_begin(d_module);
91: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
92: PO_LOG.proc_begin(d_module, 'p_entity_code',p_template_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
90: PO_LOG.proc_begin(d_module);
91: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
92: PO_LOG.proc_begin(d_module, 'p_entity_code',p_template_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
91: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
92: PO_LOG.proc_begin(d_module, 'p_entity_code',p_template_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
99: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
92: PO_LOG.proc_begin(d_module, 'p_entity_code',p_template_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
99: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
100: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
93: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
99: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
100: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
101: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
94: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
99: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
100: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
101: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
102: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
95: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
99: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
100: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
101: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
102: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
103: END IF;
96: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
99: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
100: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
101: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
102: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
103: END IF;
104:
97: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
99: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
100: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
101: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
102: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
103: END IF;
104:
105: IF p_entity_code IS NULL THEN
98: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
99: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
100: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
101: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
102: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
103: END IF;
104:
105: IF p_entity_code IS NULL THEN
106: SELECT ENTITY_CODE
110: ELSE
111: l_attr_group_Type := p_entity_code;
112: END IF;
113:
114: IF PO_LOG.d_stmt THEN
115: PO_LOG.stmt(d_module,d_progress,'l_attr_group_Type',l_attr_group_Type);
116: END IF;
117:
118: d_progress := 020;
111: l_attr_group_Type := p_entity_code;
112: END IF;
113:
114: IF PO_LOG.d_stmt THEN
115: PO_LOG.stmt(d_module,d_progress,'l_attr_group_Type',l_attr_group_Type);
116: END IF;
117:
118: d_progress := 020;
119: l_ext_table_name := po_uda_data_util.g_object_dff_tl(l_attr_group_Type).l_object_ext_b_table;
144: raise ATTR_GRP_REQD;
145: end if;
146: exception
147: when no_data_found then
148: po_log.exc(d_module,d_progress, 'At '|| d_progress ||': invalid attribute group');
149: raise ATTR_GRP_REQD;
150: end;
151:
152: IF PO_LOG.d_stmt THEN
148: po_log.exc(d_module,d_progress, 'At '|| d_progress ||': invalid attribute group');
149: raise ATTR_GRP_REQD;
150: end;
151:
152: IF PO_LOG.d_stmt THEN
153: PO_LOG.stmt(d_module,d_progress,'l_attr_grp_id',l_attr_grp_id);
154: PO_LOG.stmt(d_module,d_progress,'l_attr_grp_name',l_attr_grp_name);
155: END IF;
156:
149: raise ATTR_GRP_REQD;
150: end;
151:
152: IF PO_LOG.d_stmt THEN
153: PO_LOG.stmt(d_module,d_progress,'l_attr_grp_id',l_attr_grp_id);
154: PO_LOG.stmt(d_module,d_progress,'l_attr_grp_name',l_attr_grp_name);
155: END IF;
156:
157: -- next hit ego_attrs_v to get the db column name
150: end;
151:
152: IF PO_LOG.d_stmt THEN
153: PO_LOG.stmt(d_module,d_progress,'l_attr_grp_id',l_attr_grp_id);
154: PO_LOG.stmt(d_module,d_progress,'l_attr_grp_name',l_attr_grp_name);
155: END IF;
156:
157: -- next hit ego_attrs_v to get the db column name
158: d_progress := 040;
178: raise ATTR_REQD;
179: end if;
180: exception
181: when no_data_found then
182: po_log.exc(d_module,d_progress,'At '|| d_progress ||': invalid attribute');
183: raise ATTR_REQD;
184: end;
185: IF PO_LOG.d_stmt THEN
186: PO_LOG.stmt(d_module,d_progress,'l_db_col_name',l_db_col_name);
181: when no_data_found then
182: po_log.exc(d_module,d_progress,'At '|| d_progress ||': invalid attribute');
183: raise ATTR_REQD;
184: end;
185: IF PO_LOG.d_stmt THEN
186: PO_LOG.stmt(d_module,d_progress,'l_db_col_name',l_db_col_name);
187: END IF;
188:
189: -- construct the sql query on the ext table
182: po_log.exc(d_module,d_progress,'At '|| d_progress ||': invalid attribute');
183: raise ATTR_REQD;
184: end;
185: IF PO_LOG.d_stmt THEN
186: PO_LOG.stmt(d_module,d_progress,'l_db_col_name',l_db_col_name);
187: END IF;
188:
189: -- construct the sql query on the ext table
190: d_progress := 050;
211: end if;
212: if l_pk5_col_name is not null then
213: l_sql_stmt := l_sql_stmt ||' and '||l_pk5_col_name ||' = '|| pk5_value;
214: end if;
215: IF PO_LOG.d_stmt THEN
216: PO_LOG.stmt(d_module,d_progress,'l_sql_stmt',l_sql_stmt);
217: END IF;
218:
219: -- execute the query to get the attribute value
212: if l_pk5_col_name is not null then
213: l_sql_stmt := l_sql_stmt ||' and '||l_pk5_col_name ||' = '|| pk5_value;
214: end if;
215: IF PO_LOG.d_stmt THEN
216: PO_LOG.stmt(d_module,d_progress,'l_sql_stmt',l_sql_stmt);
217: END IF;
218:
219: -- execute the query to get the attribute value
220: d_progress := 060;
222:
223: x_multi_row_code := 'N';
224: IF l_data_type_code = 'D' THEN
225: execute immediate l_sql_stmt into l_attr_value_date;
226: IF PO_LOG.d_stmt THEN
227: PO_LOG.stmt(d_module,d_progress,'l_attr_value_date',substr(l_attr_value_date, 1, 2000));
228: END IF;
229: d_progress := 065;
230:
223: x_multi_row_code := 'N';
224: IF l_data_type_code = 'D' THEN
225: execute immediate l_sql_stmt into l_attr_value_date;
226: IF PO_LOG.d_stmt THEN
227: PO_LOG.stmt(d_module,d_progress,'l_attr_value_date',substr(l_attr_value_date, 1, 2000));
228: END IF;
229: d_progress := 065;
230:
231: if p_mode = 'INTERNAL_VALUE' then
235:
236:
237: ELSIF l_data_type_code = 'N' THEN
238: execute immediate l_sql_stmt into l_attr_value_number;
239: IF PO_LOG.d_stmt THEN
240: PO_LOG.stmt(d_module,d_progress,'l_attr_value_number',substr(l_attr_value_number, 1, 2000));
241: END IF;
242:
243: d_progress := 065;
236:
237: ELSIF l_data_type_code = 'N' THEN
238: execute immediate l_sql_stmt into l_attr_value_number;
239: IF PO_LOG.d_stmt THEN
240: PO_LOG.stmt(d_module,d_progress,'l_attr_value_number',substr(l_attr_value_number, 1, 2000));
241: END IF;
242:
243: d_progress := 065;
244:
249:
250:
251: ELSE
252: execute immediate l_sql_stmt into l_attr_value_str;
253: IF PO_LOG.d_stmt THEN
254: PO_LOG.stmt(d_module,d_progress,'l_attr_value_str',substr(l_attr_value_str, 1, 2000));
255: END IF;
256: d_progress := 065;
257:
250:
251: ELSE
252: execute immediate l_sql_stmt into l_attr_value_str;
253: IF PO_LOG.d_stmt THEN
254: PO_LOG.stmt(d_module,d_progress,'l_attr_value_str',substr(l_attr_value_str, 1, 2000));
255: END IF;
256: d_progress := 065;
257:
258: if p_mode = 'INTERNAL_VALUE' then
434:
435:
436: EXCEPTION
437: WHEN ATTR_GRP_REQD then
438: PO_LOG.exc(d_module,d_progress,'Either attribute group id or attribute group internal name must be specified');
439: x_return_status := FND_API.G_RET_STS_ERROR;
440: x_msg_data := 'Either attribute group id or attribute group internal name must be specified' ;
441: return;
442: WHEN ATTR_REQD then
439: x_return_status := FND_API.G_RET_STS_ERROR;
440: x_msg_data := 'Either attribute group id or attribute group internal name must be specified' ;
441: return;
442: WHEN ATTR_REQD then
443: PO_LOG.exc(d_module,d_progress,'Either attribute id or attribute internal name must be specified');
444: x_return_status := FND_API.G_RET_STS_ERROR;
445: x_msg_data := 'Either attribute id or attribute internal name must be specified' ;
446: return;
447: WHEN MULTI_ROW_ATTR_GRP THEN
444: x_return_status := FND_API.G_RET_STS_ERROR;
445: x_msg_data := 'Either attribute id or attribute internal name must be specified' ;
446: return;
447: WHEN MULTI_ROW_ATTR_GRP THEN
448: PO_LOG.exc(d_module,d_progress,'x_multi_attr_value is not fetched properly');
449: x_return_status := FND_API.G_RET_STS_ERROR;
450: x_msg_data := 'x_multi_attr_value is not fetched properly' ;
451: return;
452: when others then
449: x_return_status := FND_API.G_RET_STS_ERROR;
450: x_msg_data := 'x_multi_attr_value is not fetched properly' ;
451: return;
452: when others then
453: PO_LOG.exc(d_module,d_progress,'Unexpected error: '|| SQLERRM || 'at '||d_progress);
454: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
455: x_msg_data := 'Unexpected error: '|| SQLERRM || 'at '||d_progress ;
456: return;
457: END GET_ATTR_VALUE;
510: l_attributes_data_table EGO_USER_ATTR_DATA_TABLE;
511:
512: begin
513: d_progress := 010;
514: IF (PO_LOG.d_proc) THEN
515: PO_LOG.proc_begin(d_module);
516: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
517: PO_LOG.proc_begin(d_module, 'p_entity_code',p_entity_code);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
511:
512: begin
513: d_progress := 010;
514: IF (PO_LOG.d_proc) THEN
515: PO_LOG.proc_begin(d_module);
516: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
517: PO_LOG.proc_begin(d_module, 'p_entity_code',p_entity_code);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
512: begin
513: d_progress := 010;
514: IF (PO_LOG.d_proc) THEN
515: PO_LOG.proc_begin(d_module);
516: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
517: PO_LOG.proc_begin(d_module, 'p_entity_code',p_entity_code);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
513: d_progress := 010;
514: IF (PO_LOG.d_proc) THEN
515: PO_LOG.proc_begin(d_module);
516: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
517: PO_LOG.proc_begin(d_module, 'p_entity_code',p_entity_code);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
514: IF (PO_LOG.d_proc) THEN
515: PO_LOG.proc_begin(d_module);
516: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
517: PO_LOG.proc_begin(d_module, 'p_entity_code',p_entity_code);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
515: PO_LOG.proc_begin(d_module);
516: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
517: PO_LOG.proc_begin(d_module, 'p_entity_code',p_entity_code);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
516: PO_LOG.proc_begin(d_module, 'p_template_id',p_template_id);
517: PO_LOG.proc_begin(d_module, 'p_entity_code',p_entity_code);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
524: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
517: PO_LOG.proc_begin(d_module, 'p_entity_code',p_entity_code);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
524: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
525: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
518: PO_LOG.proc_begin(d_module, 'pk1_value',pk1_value);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
524: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
525: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
526: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
519: PO_LOG.proc_begin(d_module, 'pk2_value',pk2_value);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
524: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
525: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
526: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
527: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
520: PO_LOG.proc_begin(d_module, 'pk3_value',pk3_value);
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
524: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
525: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
526: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
527: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
528: END IF;
521: PO_LOG.proc_begin(d_module, 'pk4_value',pk4_value);
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
524: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
525: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
526: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
527: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
528: END IF;
529:
522: PO_LOG.proc_begin(d_module, 'pk5_value',pk5_value);
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
524: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
525: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
526: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
527: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
528: END IF;
529:
530: -- Determine the attribute group type ---------------
523: PO_LOG.proc_begin(d_module, 'p_attr_grp_id',p_attr_grp_id);
524: PO_LOG.proc_begin(d_module, 'p_attr_grp_int_name',p_attr_grp_int_name);
525: PO_LOG.proc_begin(d_module, 'p_attr_id',p_attr_id);
526: PO_LOG.proc_begin(d_module, 'p_attr_int_name',p_attr_int_name);
527: PO_LOG.proc_begin(d_module, 'p_mode',p_mode);
528: END IF;
529:
530: -- Determine the attribute group type ---------------
531: IF p_entity_code IS NULL THEN
536: ELSE
537: l_attr_group_Type := p_entity_code;
538: END IF;
539:
540: IF PO_LOG.d_stmt THEN
541: PO_LOG.stmt(d_module,d_progress,'l_attr_group_Type',l_attr_group_Type);
542: END IF;
543:
544: -- determine the attribute group --------------------
537: l_attr_group_Type := p_entity_code;
538: END IF;
539:
540: IF PO_LOG.d_stmt THEN
541: PO_LOG.stmt(d_module,d_progress,'l_attr_group_Type',l_attr_group_Type);
542: END IF;
543:
544: -- determine the attribute group --------------------
545: d_progress := 020;
562: and attr_group_id = p_attr_grp_id;
563: end if;
564: exception
565: when no_data_found then
566: po_log.exc(d_module,d_progress, 'At '|| d_progress ||': invalid attribute group');
567: raise ATTR_GRP_REQD;
568: end;
569:
570: IF PO_LOG.d_stmt THEN
566: po_log.exc(d_module,d_progress, 'At '|| d_progress ||': invalid attribute group');
567: raise ATTR_GRP_REQD;
568: end;
569:
570: IF PO_LOG.d_stmt THEN
571: PO_LOG.stmt(d_module,d_progress,'l_attr_grp_id:', l_attr_grp_id);
572: END IF;
573:
574: -- determine the attribute id ---
567: raise ATTR_GRP_REQD;
568: end;
569:
570: IF PO_LOG.d_stmt THEN
571: PO_LOG.stmt(d_module,d_progress,'l_attr_grp_id:', l_attr_grp_id);
572: END IF;
573:
574: -- determine the attribute id ---
575: d_progress := 030;
573:
574: -- determine the attribute id ---
575: d_progress := 030;
576: if p_attr_id is null and p_attr_int_name is null then
577: po_log.exc(d_module,d_progress, 'At '|| d_progress ||': invalid attribute');
578: raise ATTR_REQD;
579: end if;
580:
581: begin
595: and attr_group_type = l_attr_group_type;
596: end if;
597: exception
598: when no_data_found then
599: po_log.exc(d_module,d_progress, 'At '|| d_progress ||': invalid attribute');
600: raise ATTR_REQD;
601: end;
602:
603: IF PO_LOG.d_stmt THEN
599: po_log.exc(d_module,d_progress, 'At '|| d_progress ||': invalid attribute');
600: raise ATTR_REQD;
601: end;
602:
603: IF PO_LOG.d_stmt THEN
604: PO_LOG.stmt(d_module,d_progress,'l_attr_id:', l_attr_id);
605: END IF;
606:
607: -------- read the cached value -----------------
600: raise ATTR_REQD;
601: end;
602:
603: IF PO_LOG.d_stmt THEN
604: PO_LOG.stmt(d_module,d_progress,'l_attr_id:', l_attr_id);
605: END IF;
606:
607: -------- read the cached value -----------------
608: -------- Bug 11675463 Commenting logic to take value from cache -----------------
638: end if;
639: end loop;
640: end if;
641: if l_data_found = 'Y' then
642: IF PO_LOG.d_stmt THEN
643: PO_LOG.stmt(d_module,d_progress,'l_attr_value from cache:', l_attr_value);
644: END IF;
645: return(l_attr_value);
646: end if;
639: end loop;
640: end if;
641: if l_data_found = 'Y' then
642: IF PO_LOG.d_stmt THEN
643: PO_LOG.stmt(d_module,d_progress,'l_attr_value from cache:', l_attr_value);
644: END IF;
645: return(l_attr_value);
646: end if;
647: end if;
651: d_progress := 050;
652: l_ext_table_name := po_uda_data_util.g_object_dff_tl(l_attr_group_Type).l_object_ext_b_table;
653: l_db_object_name := po_uda_data_util.g_object_dff_tl(l_attr_group_Type).l_object_name;
654:
655: IF PO_LOG.d_stmt THEN
656: PO_LOG.stmt(d_module,d_progress,'l_ext_table_name:', l_ext_table_name);
657: PO_LOG.stmt(d_module,d_progress,'l_db_object_name', l_db_object_name);
658: END IF;
659:
652: l_ext_table_name := po_uda_data_util.g_object_dff_tl(l_attr_group_Type).l_object_ext_b_table;
653: l_db_object_name := po_uda_data_util.g_object_dff_tl(l_attr_group_Type).l_object_name;
654:
655: IF PO_LOG.d_stmt THEN
656: PO_LOG.stmt(d_module,d_progress,'l_ext_table_name:', l_ext_table_name);
657: PO_LOG.stmt(d_module,d_progress,'l_db_object_name', l_db_object_name);
658: END IF;
659:
660: d_progress := 060;
653: l_db_object_name := po_uda_data_util.g_object_dff_tl(l_attr_group_Type).l_object_name;
654:
655: IF PO_LOG.d_stmt THEN
656: PO_LOG.stmt(d_module,d_progress,'l_ext_table_name:', l_ext_table_name);
657: PO_LOG.stmt(d_module,d_progress,'l_db_object_name', l_db_object_name);
658: END IF;
659:
660: d_progress := 060;
661: begin
666: from fnd_objects
667: where obj_name = l_db_object_name
668: and rownum < 2;
669:
670: IF PO_LOG.d_stmt THEN
671: PO_LOG.stmt(d_module,d_progress,'l_pk1_col_name:', l_pk1_col_name);
672: PO_LOG.stmt(d_module,d_progress,'l_pk2_col_name', l_pk2_col_name);
673: PO_LOG.stmt(d_module,d_progress,'l_pk3_col_name', l_pk3_col_name);
674: PO_LOG.stmt(d_module,d_progress,'l_pk4_col_name', l_pk4_col_name);
667: where obj_name = l_db_object_name
668: and rownum < 2;
669:
670: IF PO_LOG.d_stmt THEN
671: PO_LOG.stmt(d_module,d_progress,'l_pk1_col_name:', l_pk1_col_name);
672: PO_LOG.stmt(d_module,d_progress,'l_pk2_col_name', l_pk2_col_name);
673: PO_LOG.stmt(d_module,d_progress,'l_pk3_col_name', l_pk3_col_name);
674: PO_LOG.stmt(d_module,d_progress,'l_pk4_col_name', l_pk4_col_name);
675: PO_LOG.stmt(d_module,d_progress,'l_pk5_col_name', l_pk5_col_name);
668: and rownum < 2;
669:
670: IF PO_LOG.d_stmt THEN
671: PO_LOG.stmt(d_module,d_progress,'l_pk1_col_name:', l_pk1_col_name);
672: PO_LOG.stmt(d_module,d_progress,'l_pk2_col_name', l_pk2_col_name);
673: PO_LOG.stmt(d_module,d_progress,'l_pk3_col_name', l_pk3_col_name);
674: PO_LOG.stmt(d_module,d_progress,'l_pk4_col_name', l_pk4_col_name);
675: PO_LOG.stmt(d_module,d_progress,'l_pk5_col_name', l_pk5_col_name);
676: END IF;
669:
670: IF PO_LOG.d_stmt THEN
671: PO_LOG.stmt(d_module,d_progress,'l_pk1_col_name:', l_pk1_col_name);
672: PO_LOG.stmt(d_module,d_progress,'l_pk2_col_name', l_pk2_col_name);
673: PO_LOG.stmt(d_module,d_progress,'l_pk3_col_name', l_pk3_col_name);
674: PO_LOG.stmt(d_module,d_progress,'l_pk4_col_name', l_pk4_col_name);
675: PO_LOG.stmt(d_module,d_progress,'l_pk5_col_name', l_pk5_col_name);
676: END IF;
677: exception
670: IF PO_LOG.d_stmt THEN
671: PO_LOG.stmt(d_module,d_progress,'l_pk1_col_name:', l_pk1_col_name);
672: PO_LOG.stmt(d_module,d_progress,'l_pk2_col_name', l_pk2_col_name);
673: PO_LOG.stmt(d_module,d_progress,'l_pk3_col_name', l_pk3_col_name);
674: PO_LOG.stmt(d_module,d_progress,'l_pk4_col_name', l_pk4_col_name);
675: PO_LOG.stmt(d_module,d_progress,'l_pk5_col_name', l_pk5_col_name);
676: END IF;
677: exception
678: when no_data_found then
671: PO_LOG.stmt(d_module,d_progress,'l_pk1_col_name:', l_pk1_col_name);
672: PO_LOG.stmt(d_module,d_progress,'l_pk2_col_name', l_pk2_col_name);
673: PO_LOG.stmt(d_module,d_progress,'l_pk3_col_name', l_pk3_col_name);
674: PO_LOG.stmt(d_module,d_progress,'l_pk4_col_name', l_pk4_col_name);
675: PO_LOG.stmt(d_module,d_progress,'l_pk5_col_name', l_pk5_col_name);
676: END IF;
677: exception
678: when no_data_found then
679: po_log.exc(d_module,d_progress,'At '|| d_progress ||': DB Object not found');
675: PO_LOG.stmt(d_module,d_progress,'l_pk5_col_name', l_pk5_col_name);
676: END IF;
677: exception
678: when no_data_found then
679: po_log.exc(d_module,d_progress,'At '|| d_progress ||': DB Object not found');
680: raise INVALID_DB_OBJ;
681: end;
682:
683: l_pk_column_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY();
722: where attr_group_type = l_attr_group_type
723: AND DATA_LEVEL_NAME NOT LIKE '%ARCHIVE';
724: end;
725:
726: if PO_LOG.d_stmt then
727: PO_LOG.stmt(d_module,d_progress,'l_data_level_name:', l_data_level);
728: end if;
729:
730: ---- attribute list --------------------------------
723: AND DATA_LEVEL_NAME NOT LIKE '%ARCHIVE';
724: end;
725:
726: if PO_LOG.d_stmt then
727: PO_LOG.stmt(d_module,d_progress,'l_data_level_name:', l_data_level);
728: end if;
729:
730: ---- attribute list --------------------------------
731: l_attr_list := 'addresstype' || ',' || l_attr_name;
729:
730: ---- attribute list --------------------------------
731: l_attr_list := 'addresstype' || ',' || l_attr_name;
732:
733: IF PO_LOG.d_stmt THEN
734: PO_LOG.stmt(d_module,d_progress,'l_attr_list:', l_attr_list);
735: END IF;
736:
737: -------- build the attr group request object ---
730: ---- attribute list --------------------------------
731: l_attr_list := 'addresstype' || ',' || l_attr_name;
732:
733: IF PO_LOG.d_stmt THEN
734: PO_LOG.stmt(d_module,d_progress,'l_attr_list:', l_attr_list);
735: END IF;
736:
737: -------- build the attr group request object ---
738: d_progress := 080;
787: end loop;
788: else
789: l_attr_value := '';
790: end if;
791: IF PO_LOG.d_stmt THEN
792: PO_LOG.stmt(d_module,d_progress,'l_attr_value:', l_attr_value);
793: END IF;
794:
795: ---- persist values for caching -------
788: else
789: l_attr_value := '';
790: end if;
791: IF PO_LOG.d_stmt THEN
792: PO_LOG.stmt(d_module,d_progress,'l_attr_value:', l_attr_value);
793: END IF;
794:
795: ---- persist values for caching -------
796: g_pk1_value := pk1_value;
813:
814: return l_attr_value;
815: exception
816: WHEN ATTR_GRP_REQD then
817: PO_LOG.exc(d_module,d_progress,
818: 'Either attribute group id or attribute group internal name must be specified');
819: return '';
820: WHEN ATTR_GRP_DATA_NOT_FOUND then
821: PO_LOG.exc(d_module,d_progress,'Attribute group data not found.');
817: PO_LOG.exc(d_module,d_progress,
818: 'Either attribute group id or attribute group internal name must be specified');
819: return '';
820: WHEN ATTR_GRP_DATA_NOT_FOUND then
821: PO_LOG.exc(d_module,d_progress,'Attribute group data not found.');
822: return '';
823: WHEN ATTR_REQD then
824: PO_LOG.exc(d_module,d_progress,
825: 'Either attribute id or attribute internal name must be specified');
820: WHEN ATTR_GRP_DATA_NOT_FOUND then
821: PO_LOG.exc(d_module,d_progress,'Attribute group data not found.');
822: return '';
823: WHEN ATTR_REQD then
824: PO_LOG.exc(d_module,d_progress,
825: 'Either attribute id or attribute internal name must be specified');
826: return '';
827: WHEN INVALID_DB_OBJ THEN
828: PO_LOG.exc(d_module,d_progress,'unable to determine the db object');
824: PO_LOG.exc(d_module,d_progress,
825: 'Either attribute id or attribute internal name must be specified');
826: return '';
827: WHEN INVALID_DB_OBJ THEN
828: PO_LOG.exc(d_module,d_progress,'unable to determine the db object');
829: return '';
830: when others then
831: PO_LOG.exc(d_module,d_progress,
832: 'Unexpected error: '|| SQLERRM || 'at '||d_progress);
827: WHEN INVALID_DB_OBJ THEN
828: PO_LOG.exc(d_module,d_progress,'unable to determine the db object');
829: return '';
830: when others then
831: PO_LOG.exc(d_module,d_progress,
832: 'Unexpected error: '|| SQLERRM || 'at '||d_progress);
833: return '';
834: end GET_ADDRESS_ATTR_VALUE;
835:
888: return l_multi_attr_value;
889:
890: EXCEPTION
891: WHEN OTHERS THEN
892: PO_LOG.exc(d_module,d_progress,'Unexpected error: '|| SQLERRM || 'at '||d_progress);
893: END get_multi_attr_value;
894:
895:
896: function get_single_attr_value
945: return l_single_attr_value;
946:
947: EXCEPTION
948: WHEN OTHERS THEN
949: PO_LOG.exc(d_module,d_progress,'Unexpected error: '|| SQLERRM || 'at '||d_progress);
950: END get_single_attr_value;
951:
952: END PO_UDA_PUB;