240: TYPE VARCHAR_TBL_TYPE IS TABLE OF VARCHAR2(256)
241: INDEX BY BINARY_INTEGER;
242: l_prod_col_name_tbl VARCHAR_TBL_TYPE;
243: l_intf_col_name_tbl VARCHAR_TBL_TYPE;
244: l_attr_id_table DBMS_SQL.NUMBER_TABLE;
245: l_intf_col_name_table DBMS_SQL.VARCHAR2_TABLE;
246: l_usr_attr_data_tbl L_USER_ATTR_TBL_TYPE;
247: l_pk_id_char VARCHAR(15);
248: l_site_num_char VARCHAR(1000);
241: INDEX BY BINARY_INTEGER;
242: l_prod_col_name_tbl VARCHAR_TBL_TYPE;
243: l_intf_col_name_tbl VARCHAR_TBL_TYPE;
244: l_attr_id_table DBMS_SQL.NUMBER_TABLE;
245: l_intf_col_name_table DBMS_SQL.VARCHAR2_TABLE;
246: l_usr_attr_data_tbl L_USER_ATTR_TBL_TYPE;
247: l_pk_id_char VARCHAR(15);
248: l_site_num_char VARCHAR(1000);
249: l_trade_area_num_char VARCHAR(10);
254: l_attr_int_name EGO_ATTRS_V.ATTR_NAME%TYPE;
255:
256: l_attr_group_id NUMBER(15); --bug 6493113
257: l_site_id NUMBER(15); --bug 6493113
258: l_attr_group_id_table DBMS_SQL.NUMBER_TABLE;
259: ---------------------------------------------------------
260: -- Example Data Types to be used in Bind Variable.
261: ---------------------------------------------------------
262: l_varchar_example VARCHAR2(10000);
273: l_varchar_data VARCHAR2(10000);
274: l_number_data NUMBER;
275: l_date_data DATE;
276: ---------------------------------------------------------
277: -- DBMS_SQL Open Cursor integers.
278: ---------------------------------------------------------
279: l_cursor_select INTEGER;
280: l_cursor_execute INTEGER;
281: l_cursor_attr_id_val INTEGER;
334: l_dyn_sql := ' SELECT To_Number(SUBSTR(attribute_code, INSTR(attribute_code, ''$$'')+2)) attr_id, intf_column_name, To_Number(SUBSTR(attribute_code, 1, INSTR(attribute_code, ''$$'') - 1)) attr_group_id '; --bug 6493113
335: l_dyn_sql := l_dyn_sql || ' FROM ego_results_fmt_usages ';
336: l_dyn_sql := l_dyn_sql || ' WHERE resultfmt_usage_id = :RESULTFMT_USAGE_ID';
337: l_dyn_sql := l_dyn_sql || ' AND attribute_code LIKE :ATTRIBUTE_CODE ';
338: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
339: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
340: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
341: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
342: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_attr_group_id_table,2500, l_temp);
335: l_dyn_sql := l_dyn_sql || ' FROM ego_results_fmt_usages ';
336: l_dyn_sql := l_dyn_sql || ' WHERE resultfmt_usage_id = :RESULTFMT_USAGE_ID';
337: l_dyn_sql := l_dyn_sql || ' AND attribute_code LIKE :ATTRIBUTE_CODE ';
338: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
339: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
340: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
341: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
342: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_attr_group_id_table,2500, l_temp);
343:
336: l_dyn_sql := l_dyn_sql || ' WHERE resultfmt_usage_id = :RESULTFMT_USAGE_ID';
337: l_dyn_sql := l_dyn_sql || ' AND attribute_code LIKE :ATTRIBUTE_CODE ';
338: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
339: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
340: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
341: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
342: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_attr_group_id_table,2500, l_temp);
343:
344:
337: l_dyn_sql := l_dyn_sql || ' AND attribute_code LIKE :ATTRIBUTE_CODE ';
338: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
339: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
340: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
341: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
342: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_attr_group_id_table,2500, l_temp);
343:
344:
345: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
338: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
339: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
340: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
341: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
342: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_attr_group_id_table,2500, l_temp);
343:
344:
345: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
346: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
341: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
342: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_attr_group_id_table,2500, l_temp);
343:
344:
345: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
346: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
347: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
348:
349: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
342: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_attr_group_id_table,2500, l_temp);
343:
344:
345: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
346: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
347: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
348:
349: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
350: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
343:
344:
345: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
346: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
347: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
348:
349: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
350: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
351: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
345: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
346: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
347: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
348:
349: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
350: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
351: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
352: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_attr_group_id_table);
353: --bug:6493113
346: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
347: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
348:
349: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
350: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
351: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
352: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_attr_group_id_table);
353: --bug:6493113
354:
347: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
348:
349: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
350: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
351: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
352: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_attr_group_id_table);
353: --bug:6493113
354:
355:
348:
349: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
350: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
351: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
352: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_attr_group_id_table);
353: --bug:6493113
354:
355:
356: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
352: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_attr_group_id_table);
353: --bug:6493113
354:
355:
356: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
357: --------------------------------------------------------------------
358: -- New DBMS_SQL Cursor for Select Attr Values.
359: --------------------------------------------------------------------
360: l_cursor_attr_id_val := DBMS_SQL.OPEN_CURSOR;
354:
355:
356: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
357: --------------------------------------------------------------------
358: -- New DBMS_SQL Cursor for Select Attr Values.
359: --------------------------------------------------------------------
360: l_cursor_attr_id_val := DBMS_SQL.OPEN_CURSOR;
361: l_dyn_attr_id_val_sql := '';
362: l_dyn_attr_id_val_sql := ' SELECT ';
356: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
357: --------------------------------------------------------------------
358: -- New DBMS_SQL Cursor for Select Attr Values.
359: --------------------------------------------------------------------
360: l_cursor_attr_id_val := DBMS_SQL.OPEN_CURSOR;
361: l_dyn_attr_id_val_sql := '';
362: l_dyn_attr_id_val_sql := ' SELECT ';
363: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' TRANSACTION_ID , ';
364: IF p_entity_name = 'RRS_SITE' THEN
383: END LOOP; --end: FOR i IN 1..l_attr_id_table.COUNT LOOP
384: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' FROM EGO_BULKLOAD_INTF ' ;
385: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' WHERE RESULTFMT_USAGE_ID = :RESULTFMT_USAGE_ID';
386: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' AND PROCESS_STATUS = :PROCESS_STATUS ';
387: DBMS_SQL.PARSE(l_cursor_attr_id_val, l_dyn_attr_id_val_sql, DBMS_SQL.NATIVE);
388: --------------------------------------------------------------------
389: --Setting Data Type for Trasaction ID
390: --------------------------------------------------------------------
391: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 1, l_number_example);
387: DBMS_SQL.PARSE(l_cursor_attr_id_val, l_dyn_attr_id_val_sql, DBMS_SQL.NATIVE);
388: --------------------------------------------------------------------
389: --Setting Data Type for Trasaction ID
390: --------------------------------------------------------------------
391: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 1, l_number_example);
392: --------------------------------------------------------------------
393: --Setting Data Type for INSTANCE_PK1_VALUE (SITE ID)
394: --------------------------------------------------------------------
395: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 2, l_varchar_example, 1000);
391: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 1, l_number_example);
392: --------------------------------------------------------------------
393: --Setting Data Type for INSTANCE_PK1_VALUE (SITE ID)
394: --------------------------------------------------------------------
395: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 2, l_varchar_example, 1000);
396: --------------------------------------------------------------------
397: --Setting Data Type for Site Num
398: --------------------------------------------------------------------
399: -- DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 3, l_varchar_example, 1000);
395: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 2, l_varchar_example, 1000);
396: --------------------------------------------------------------------
397: --Setting Data Type for Site Num
398: --------------------------------------------------------------------
399: -- DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 3, l_varchar_example, 1000);
400: Write_Conclog('Executing the l_attr_id table looping');
401: --------------------------------------------------------------------
402: -- Loop to Bind the Data Types for the SELECT Columns.
403: --------------------------------------------------------------------
412: ------------------------------------------------------------------------
413: -- Based on the Data Type of the attribute, define the column
414: ------------------------------------------------------------------------
415: IF (l_data_type_code = 'C') THEN
416: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 1000);
417: ELSIF (l_data_type_code = 'N') THEN
418: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_example);
419: ELSE --IF (l_data_type_code = 'D') THEN
420: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_example);
414: ------------------------------------------------------------------------
415: IF (l_data_type_code = 'C') THEN
416: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 1000);
417: ELSIF (l_data_type_code = 'N') THEN
418: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_example);
419: ELSE --IF (l_data_type_code = 'D') THEN
420: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_example);
421: END IF; --IF (l_data_type_code = 'C') THEN
422: END LOOP; --FOR i IN 1..l_attr_id_table.COUNT LOOP
416: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 1000);
417: ELSIF (l_data_type_code = 'N') THEN
418: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_example);
419: ELSE --IF (l_data_type_code = 'D') THEN
420: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_example);
421: END IF; --IF (l_data_type_code = 'C') THEN
422: END LOOP; --FOR i IN 1..l_attr_id_table.COUNT LOOP
423: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':RESULTFMT_USAGE_ID',p_resultfmt_usage_id);
424: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':PROCESS_STATUS',G_PS_IN_PROCESS);
419: ELSE --IF (l_data_type_code = 'D') THEN
420: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_example);
421: END IF; --IF (l_data_type_code = 'C') THEN
422: END LOOP; --FOR i IN 1..l_attr_id_table.COUNT LOOP
423: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':RESULTFMT_USAGE_ID',p_resultfmt_usage_id);
424: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':PROCESS_STATUS',G_PS_IN_PROCESS);
425:
426: ------------------------------------------------------------------------
427: -- Execute to get the Item User-Defined Attr values.
420: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_example);
421: END IF; --IF (l_data_type_code = 'C') THEN
422: END LOOP; --FOR i IN 1..l_attr_id_table.COUNT LOOP
423: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':RESULTFMT_USAGE_ID',p_resultfmt_usage_id);
424: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':PROCESS_STATUS',G_PS_IN_PROCESS);
425:
426: ------------------------------------------------------------------------
427: -- Execute to get the Item User-Defined Attr values.
428: ------------------------------------------------------------------------
425:
426: ------------------------------------------------------------------------
427: -- Execute to get the Item User-Defined Attr values.
428: ------------------------------------------------------------------------
429: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_attr_id_val);
430: l_rows_per_attr_grp_indx := 0;
431: L_ATTR_GRP_ROW_IDENT := 0;
432: ------------------------------------------------------------------------
433: -- Loop for each row found in EBI
433: -- Loop for each row found in EBI
434: ------------------------------------------------------------------------
435: Write_Conclog('Executing LOOP FOR CURSOR_ATTR_ID_VAL ');
436: LOOP --LOOP FOR CURSOR_ATTR_ID_VAL
437: IF DBMS_SQL.FETCH_ROWS(l_cursor_attr_id_val)>0 THEN
438: ------------------------------------------------------------------------
439: --Increment Row Identifier per (Attribute Group + Row) Combination.
440: ------------------------------------------------------------------------
441: L_ATTR_GRP_ROW_IDENT := L_ATTR_GRP_ROW_IDENT + 1;
441: L_ATTR_GRP_ROW_IDENT := L_ATTR_GRP_ROW_IDENT + 1;
442: ------------------------------------------------------------------------
443: -- First column is Transaction ID.
444: ------------------------------------------------------------------------
445: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 1, l_transaction_id);
446: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_pk_id_char);
447: -- DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_site_num_char);
448: FOR i IN 1..l_attr_id_table.COUNT LOOP
449: OPEN c_attr_grp_n_attr_int_names(l_attr_id_table(i),l_attr_group_type);
442: ------------------------------------------------------------------------
443: -- First column is Transaction ID.
444: ------------------------------------------------------------------------
445: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 1, l_transaction_id);
446: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_pk_id_char);
447: -- DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_site_num_char);
448: FOR i IN 1..l_attr_id_table.COUNT LOOP
449: OPEN c_attr_grp_n_attr_int_names(l_attr_id_table(i),l_attr_group_type);
450: FETCH c_attr_grp_n_attr_int_names INTO
443: -- First column is Transaction ID.
444: ------------------------------------------------------------------------
445: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 1, l_transaction_id);
446: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_pk_id_char);
447: -- DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_site_num_char);
448: FOR i IN 1..l_attr_id_table.COUNT LOOP
449: OPEN c_attr_grp_n_attr_int_names(l_attr_id_table(i),l_attr_group_type);
450: FETCH c_attr_grp_n_attr_int_names INTO
451: l_attr_group_int_name, l_attr_int_name;
471: -- Depending upon the Data Type, populate corresponding field in the
472: -- User-Defined Attribute Data record.
473: ------------------------------------------------------------------------
474: IF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'C') THEN
475: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_data);
476: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_STR := l_varchar_data;
477: ELSIF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'N') THEN
478: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_data);
479: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_NUM := l_number_data;
474: IF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'C') THEN
475: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_data);
476: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_STR := l_varchar_data;
477: ELSIF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'N') THEN
478: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_data);
479: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_NUM := l_number_data;
480: ELSE --IF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'D') THEN
481: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_data);
482: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_DATE := l_date_data;
477: ELSIF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'N') THEN
478: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_data);
479: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_NUM := l_number_data;
480: ELSE --IF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'D') THEN
481: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_data);
482: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_DATE := l_date_data;
483: END IF; --end: IF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'C') THEN
484: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).INTF_COLUMN_NAME := l_intf_col_name_table(i);
485: ------------------------------------------------------------------------
500: END IF; --end: IF ((l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_STR...
501: END IF; --end: IF c_attr_grp_n_attr_int_names%FOUND THEN
502: CLOSE c_attr_grp_n_attr_int_names;
503: END LOOP; --end: FOR i IN 1..l_attr_id_table.COUNT LOOP
504: ELSE --end: IF DBMS_SQL.FETCH_ROWS(l_cursor_attr_id_val)>0 THEN
505: Write_Conclog('No Rows Found (or) All rows are Done.');
506: EXIT;
507: END IF; --IF DBMS_SQL.FETCH_ROWS(l_cursor_attr_id_val)>0 THEN
508: END LOOP; --END: LOOP FOR CURSOR_ATTR_ID_VAL
503: END LOOP; --end: FOR i IN 1..l_attr_id_table.COUNT LOOP
504: ELSE --end: IF DBMS_SQL.FETCH_ROWS(l_cursor_attr_id_val)>0 THEN
505: Write_Conclog('No Rows Found (or) All rows are Done.');
506: EXIT;
507: END IF; --IF DBMS_SQL.FETCH_ROWS(l_cursor_attr_id_val)>0 THEN
508: END LOOP; --END: LOOP FOR CURSOR_ATTR_ID_VAL
509: l_attr_id_table.DELETE;
510: l_intf_col_name_table.DELETE;
511: ------------------------------------------------------------------------
508: END LOOP; --END: LOOP FOR CURSOR_ATTR_ID_VAL
509: l_attr_id_table.DELETE;
510: l_intf_col_name_table.DELETE;
511: ------------------------------------------------------------------------
512: DBMS_SQL.CLOSE_CURSOR(l_cursor_attr_id_val);
513: -------------------------------------------------------------------
514: -- Loop for all the rows to be inserted per Attribute Group.
515: -------------------------------------------------------------------
516: FOR i IN 1..l_rows_per_attr_grp_indx LOOP