703:
704: -----------------------------------------------------------------------
705: -- Variables used to query Item Number Generation Method
706: -----------------------------------------------------------------------
707: l_item_num_table DBMS_SQL.VARCHAR2_TABLE;
708: l_item_num_cursor INTEGER;
709: l_item_num_exec INTEGER;
710: l_item_num_rows_cnt NUMBER;
711:
713: -----------------------------------------------------------------------
714:
715: BEGIN
716:
717: l_item_num_cursor := DBMS_SQL.OPEN_CURSOR;
718: --Developer_Debug('l_item_num_sql => '||l_item_num_sql);
719:
720: DBMS_SQL.PARSE(l_item_num_cursor, l_item_num_sql, DBMS_SQL.NATIVE);
721:
716:
717: l_item_num_cursor := DBMS_SQL.OPEN_CURSOR;
718: --Developer_Debug('l_item_num_sql => '||l_item_num_sql);
719:
720: DBMS_SQL.PARSE(l_item_num_cursor, l_item_num_sql, DBMS_SQL.NATIVE);
721:
722: DBMS_SQL.DEFINE_ARRAY(
723: c => l_item_num_cursor -- cursor --
724: , position => 1 -- select position --
718: --Developer_Debug('l_item_num_sql => '||l_item_num_sql);
719:
720: DBMS_SQL.PARSE(l_item_num_cursor, l_item_num_sql, DBMS_SQL.NATIVE);
721:
722: DBMS_SQL.DEFINE_ARRAY(
723: c => l_item_num_cursor -- cursor --
724: , position => 1 -- select position --
725: , c_tab => l_item_num_table -- table of chars --
726: , cnt => 10000 -- rows requested --
726: , cnt => 10000 -- rows requested --
727: , lower_bound => 1 -- start at --
728: );
729:
730: DBMS_SQL.BIND_VARIABLE(l_item_num_cursor, ':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
731:
732: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
733: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
734:
728: );
729:
730: DBMS_SQL.BIND_VARIABLE(l_item_num_cursor, ':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
731:
732: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
733: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
734:
735: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
736: -- Bug : 4099546
729:
730: DBMS_SQL.BIND_VARIABLE(l_item_num_cursor, ':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
731:
732: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
733: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
734:
735: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
736: -- Bug : 4099546
737: DBMS_SQL.CLOSE_CURSOR(l_item_num_cursor);
731:
732: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
733: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
734:
735: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
736: -- Bug : 4099546
737: DBMS_SQL.CLOSE_CURSOR(l_item_num_cursor);
738: FND_MESSAGE.SET_NAME('EGO','EGO_NUM_OF_ITEMS_PROCD');
739: l_msg := FND_MESSAGE.GET;
733: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
734:
735: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
736: -- Bug : 4099546
737: DBMS_SQL.CLOSE_CURSOR(l_item_num_cursor);
738: FND_MESSAGE.SET_NAME('EGO','EGO_NUM_OF_ITEMS_PROCD');
739: l_msg := FND_MESSAGE.GET;
740:
741: Developer_Debug(l_msg||' '||To_char(l_item_num_rows_cnt));
764: -----------------------------------------------------------------------
765: PROCEDURE Log_created_Items (REQUEST_ID IN NUMBER)
766: IS
767: l_item_num_sql VARCHAR2(10000);
768: l_item_num_table DBMS_SQL.VARCHAR2_TABLE;
769: l_transaction_id_table DBMS_SQL.NUMBER_TABLE;
770: l_item_num_cursor INTEGER;
771: l_item_num_exec INTEGER;
772: l_item_num_rows_cnt NUMBER;
765: PROCEDURE Log_created_Items (REQUEST_ID IN NUMBER)
766: IS
767: l_item_num_sql VARCHAR2(10000);
768: l_item_num_table DBMS_SQL.VARCHAR2_TABLE;
769: l_transaction_id_table DBMS_SQL.NUMBER_TABLE;
770: l_item_num_cursor INTEGER;
771: l_item_num_exec INTEGER;
772: l_item_num_rows_cnt NUMBER;
773: l_msg fnd_new_messages.message_text%TYPE;
781: || ' WHERE REQUEST_ID = '||REQUEST_ID
782: || ' AND PROCESS_FLAG = '||G_INTF_STATUS_SUCCESS
783: || ' AND TRANSACTION_TYPE = '''||G_CREATE||'''';
784:
785: l_item_num_cursor := DBMS_SQL.OPEN_CURSOR;
786: DBMS_SQL.PARSE(l_item_num_cursor, l_item_num_sql, DBMS_SQL.NATIVE);
787: DBMS_SQL.DEFINE_ARRAY(
788: c => l_item_num_cursor
789: , position => 1
782: || ' AND PROCESS_FLAG = '||G_INTF_STATUS_SUCCESS
783: || ' AND TRANSACTION_TYPE = '''||G_CREATE||'''';
784:
785: l_item_num_cursor := DBMS_SQL.OPEN_CURSOR;
786: DBMS_SQL.PARSE(l_item_num_cursor, l_item_num_sql, DBMS_SQL.NATIVE);
787: DBMS_SQL.DEFINE_ARRAY(
788: c => l_item_num_cursor
789: , position => 1
790: , c_tab => l_item_num_table
783: || ' AND TRANSACTION_TYPE = '''||G_CREATE||'''';
784:
785: l_item_num_cursor := DBMS_SQL.OPEN_CURSOR;
786: DBMS_SQL.PARSE(l_item_num_cursor, l_item_num_sql, DBMS_SQL.NATIVE);
787: DBMS_SQL.DEFINE_ARRAY(
788: c => l_item_num_cursor
789: , position => 1
790: , c_tab => l_item_num_table
791: , cnt => 10000
791: , cnt => 10000
792: , lower_bound => 1
793: );
794:
795: DBMS_SQL.DEFINE_ARRAY(
796: c => l_item_num_cursor
797: , position => 2
798: , n_tab => l_transaction_id_table
799: , cnt => 10000
799: , cnt => 10000
800: , lower_bound => 1
801: );
802:
803: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
804: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
805: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
806: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 2, l_transaction_id_table);
807: DBMS_SQL.CLOSE_CURSOR(l_item_num_cursor);
800: , lower_bound => 1
801: );
802:
803: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
804: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
805: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
806: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 2, l_transaction_id_table);
807: DBMS_SQL.CLOSE_CURSOR(l_item_num_cursor);
808: IF (l_item_num_rows_cnt > 0) THEN
801: );
802:
803: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
804: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
805: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
806: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 2, l_transaction_id_table);
807: DBMS_SQL.CLOSE_CURSOR(l_item_num_cursor);
808: IF (l_item_num_rows_cnt > 0) THEN
809: FOR i IN 1..l_item_num_rows_cnt LOOP
802:
803: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
804: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
805: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
806: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 2, l_transaction_id_table);
807: DBMS_SQL.CLOSE_CURSOR(l_item_num_cursor);
808: IF (l_item_num_rows_cnt > 0) THEN
809: FOR i IN 1..l_item_num_rows_cnt LOOP
810: Developer_Debug(l_msg||' ['||i||'] = '||l_item_num_table(i));
803: l_item_num_exec := DBMS_SQL.EXECUTE(l_item_num_cursor);
804: l_item_num_rows_cnt := DBMS_SQL.FETCH_ROWS(l_item_num_cursor);
805: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 1, l_item_num_table);
806: DBMS_SQL.COLUMN_VALUE(l_item_num_cursor, 2, l_transaction_id_table);
807: DBMS_SQL.CLOSE_CURSOR(l_item_num_cursor);
808: IF (l_item_num_rows_cnt > 0) THEN
809: FOR i IN 1..l_item_num_rows_cnt LOOP
810: Developer_Debug(l_msg||' ['||i||'] = '||l_item_num_table(i));
811: Error_Handler.Add_Error_Message
856:
857: -----------------------------------------------------------------------
858: -- Variables used to query Item Number Generation Method
859: -----------------------------------------------------------------------
860: l_org_id_table DBMS_SQL.VARCHAR2_TABLE;
861: l_org_id_cursor INTEGER;
862: l_org_id_exec INTEGER;
863: l_org_id_rows_cnt NUMBER;
864:
870: -----------------------------------------------------------------------
871:
872: BEGIN
873:
874: l_org_id_cursor := DBMS_SQL.OPEN_CURSOR;
875: --Write_Debug('l_org_id_sql => '||l_org_id_sql);
876:
877: DBMS_SQL.PARSE(l_org_id_cursor, l_org_id_sql, DBMS_SQL.NATIVE);
878:
873:
874: l_org_id_cursor := DBMS_SQL.OPEN_CURSOR;
875: --Write_Debug('l_org_id_sql => '||l_org_id_sql);
876:
877: DBMS_SQL.PARSE(l_org_id_cursor, l_org_id_sql, DBMS_SQL.NATIVE);
878:
879: DBMS_SQL.DEFINE_ARRAY(
880: c => l_org_id_cursor -- cursor --
881: , position => 1 -- select position --
875: --Write_Debug('l_org_id_sql => '||l_org_id_sql);
876:
877: DBMS_SQL.PARSE(l_org_id_cursor, l_org_id_sql, DBMS_SQL.NATIVE);
878:
879: DBMS_SQL.DEFINE_ARRAY(
880: c => l_org_id_cursor -- cursor --
881: , position => 1 -- select position --
882: , c_tab => l_org_id_table -- table of chars --
883: , cnt => 10000 -- rows requested --
883: , cnt => 10000 -- rows requested --
884: , lower_bound => 1 -- start at --
885: );
886:
887: DBMS_SQL.BIND_VARIABLE(l_org_id_cursor, ':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
888:
889: l_org_id_exec := DBMS_SQL.EXECUTE(l_org_id_cursor);
890: l_org_id_rows_cnt := DBMS_SQL.FETCH_ROWS(l_org_id_cursor);
891:
885: );
886:
887: DBMS_SQL.BIND_VARIABLE(l_org_id_cursor, ':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
888:
889: l_org_id_exec := DBMS_SQL.EXECUTE(l_org_id_cursor);
890: l_org_id_rows_cnt := DBMS_SQL.FETCH_ROWS(l_org_id_cursor);
891:
892: DBMS_SQL.COLUMN_VALUE(l_org_id_cursor, 1, l_org_id_table);
893:
886:
887: DBMS_SQL.BIND_VARIABLE(l_org_id_cursor, ':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
888:
889: l_org_id_exec := DBMS_SQL.EXECUTE(l_org_id_cursor);
890: l_org_id_rows_cnt := DBMS_SQL.FETCH_ROWS(l_org_id_cursor);
891:
892: DBMS_SQL.COLUMN_VALUE(l_org_id_cursor, 1, l_org_id_table);
893:
894: Write_Debug('Number of rows where ITEM_NUMBER is NULL => '||To_char(l_org_id_rows_cnt));
888:
889: l_org_id_exec := DBMS_SQL.EXECUTE(l_org_id_cursor);
890: l_org_id_rows_cnt := DBMS_SQL.FETCH_ROWS(l_org_id_cursor);
891:
892: DBMS_SQL.COLUMN_VALUE(l_org_id_cursor, 1, l_org_id_table);
893:
894: Write_Debug('Number of rows where ITEM_NUMBER is NULL => '||To_char(l_org_id_rows_cnt));
895:
896: IF (l_org_id_rows_cnt > 0) THEN
904: ELSE
905: x_item_num_tbl := NULL;
906: END IF; --end: IF (l_org_id_rows_cnt > 0) THEN
907: -- Bug : 4099546
908: DBMS_SQL.CLOSE_CURSOR(l_org_id_cursor);
909: END Get_Seq_Gen_Item_Nums;
910:
911:
912: ---------------------------------------------------------------------------
1212: i NUMBER;
1213: l_cursor_select INTEGER;
1214: l_cursor_execute INTEGER;
1215:
1216: l_item_number_table DBMS_SQL.VARCHAR2_TABLE;
1217: l_org_id_table DBMS_SQL.NUMBER_TABLE;
1218: l_trans_type_table DBMS_SQL.VARCHAR2_TABLE;
1219: l_trans_id_table DBMS_SQL.NUMBER_TABLE;
1220:
1213: l_cursor_select INTEGER;
1214: l_cursor_execute INTEGER;
1215:
1216: l_item_number_table DBMS_SQL.VARCHAR2_TABLE;
1217: l_org_id_table DBMS_SQL.NUMBER_TABLE;
1218: l_trans_type_table DBMS_SQL.VARCHAR2_TABLE;
1219: l_trans_id_table DBMS_SQL.NUMBER_TABLE;
1220:
1221: ---------------------------------------------------------------------
1214: l_cursor_execute INTEGER;
1215:
1216: l_item_number_table DBMS_SQL.VARCHAR2_TABLE;
1217: l_org_id_table DBMS_SQL.NUMBER_TABLE;
1218: l_trans_type_table DBMS_SQL.VARCHAR2_TABLE;
1219: l_trans_id_table DBMS_SQL.NUMBER_TABLE;
1220:
1221: ---------------------------------------------------------------------
1222: -- This is to store the Sequence Generated Item Numbers.
1215:
1216: l_item_number_table DBMS_SQL.VARCHAR2_TABLE;
1217: l_org_id_table DBMS_SQL.NUMBER_TABLE;
1218: l_trans_type_table DBMS_SQL.VARCHAR2_TABLE;
1219: l_trans_id_table DBMS_SQL.NUMBER_TABLE;
1220:
1221: ---------------------------------------------------------------------
1222: -- This is to store the Sequence Generated Item Numbers.
1223: ---------------------------------------------------------------------
1241: --Bug 4713312
1242: l_col_name VARCHAR2(40);
1243:
1244: -- fix bug: 14307504
1245: l_executed_item DBMS_SQL.VARCHAR2_TABLE;
1246: l_executed_item_flag boolean := false;
1247:
1248: BEGIN
1249:
1524: -- l_dyn_sql := l_dyn_sql || ' AND '|| l_item_number_col ||' IS NOT NULL';
1525:
1526: Write_Debug(l_dyn_sql);
1527:
1528: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
1529: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
1530: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
1531: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
1532: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_type_table,2500, l_temp);
1525:
1526: Write_Debug(l_dyn_sql);
1527:
1528: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
1529: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
1530: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
1531: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
1532: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_type_table,2500, l_temp);
1533: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 4,l_trans_id_table,2500, l_temp);
1526: Write_Debug(l_dyn_sql);
1527:
1528: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
1529: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
1530: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
1531: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
1532: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_type_table,2500, l_temp);
1533: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 4,l_trans_id_table,2500, l_temp);
1534:
1527:
1528: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
1529: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
1530: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
1531: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
1532: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_type_table,2500, l_temp);
1533: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 4,l_trans_id_table,2500, l_temp);
1534:
1535: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
1528: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
1529: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
1530: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
1531: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
1532: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_type_table,2500, l_temp);
1533: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 4,l_trans_id_table,2500, l_temp);
1534:
1535: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
1536: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
1529: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
1530: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
1531: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
1532: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_type_table,2500, l_temp);
1533: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 4,l_trans_id_table,2500, l_temp);
1534:
1535: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
1536: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
1537: Write_Debug('About to start the Loop to fetch Rows');
1531: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
1532: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_type_table,2500, l_temp);
1533: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 4,l_trans_id_table,2500, l_temp);
1534:
1535: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
1536: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
1537: Write_Debug('About to start the Loop to fetch Rows');
1538:
1539: -------------------------------------------------------------
1532: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_type_table,2500, l_temp);
1533: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 4,l_trans_id_table,2500, l_temp);
1534:
1535: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
1536: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
1537: Write_Debug('About to start the Loop to fetch Rows');
1538:
1539: -------------------------------------------------------------
1540: -- Separate Index to keep track of Generated Item Numbers.
1546: -- l_gen_itemnum_indx := l_gen_item_num_tbl.FIRST;
1547: -- END IF;
1548:
1549: LOOP
1550: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
1551: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
1552: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
1553: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_type_table);
1554: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 4, l_trans_id_table);
1547: -- END IF;
1548:
1549: LOOP
1550: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
1551: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
1552: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
1553: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_type_table);
1554: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 4, l_trans_id_table);
1555:
1548:
1549: LOOP
1550: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
1551: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
1552: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
1553: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_type_table);
1554: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 4, l_trans_id_table);
1555:
1556: Write_Debug('Retrieved rows => '||To_char(l_count));
1549: LOOP
1550: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
1551: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
1552: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
1553: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_type_table);
1554: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 4, l_trans_id_table);
1555:
1556: Write_Debug('Retrieved rows => '||To_char(l_count));
1557:
1550: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
1551: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
1552: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
1553: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_type_table);
1554: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 4, l_trans_id_table);
1555:
1556: Write_Debug('Retrieved rows => '||To_char(l_count));
1557:
1558: -------------------------------------------------------------
1721: EXIT WHEN l_count <> 2500;
1722:
1723: END LOOP;
1724:
1725: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
1726:
1727: Write_Debug('Done with Item IDs population.');
1728:
1729: Write_Debug('Populating item number into ego_bulkload_intf for function generated items');
3459: i NUMBER;
3460: l_cursor_select INTEGER;
3461: l_cursor_execute INTEGER;
3462:
3463: l_item_number_table DBMS_SQL.VARCHAR2_TABLE;
3464: l_org_id_table DBMS_SQL.NUMBER_TABLE;
3465: l_temp NUMBER(10) := 1;
3466: l_count NUMBER := 0;
3467: l_exists VARCHAR2(2);
3460: l_cursor_select INTEGER;
3461: l_cursor_execute INTEGER;
3462:
3463: l_item_number_table DBMS_SQL.VARCHAR2_TABLE;
3464: l_org_id_table DBMS_SQL.NUMBER_TABLE;
3465: l_temp NUMBER(10) := 1;
3466: l_count NUMBER := 0;
3467: l_exists VARCHAR2(2);
3468:
3465: l_temp NUMBER(10) := 1;
3466: l_count NUMBER := 0;
3467: l_exists VARCHAR2(2);
3468:
3469: l_trans_id_table DBMS_SQL.NUMBER_TABLE;
3470:
3471: --------------------------------------------
3472: -- Long Dynamic SQL String
3473: --------------------------------------------
3627: l_dyn_sql := l_dyn_sql || ' WHERE RESULTFMT_USAGE_ID = :RESULTFMT_USAGE_ID';
3628: l_dyn_sql := l_dyn_sql || ' AND PROCESS_STATUS = 1 ';
3629: Write_Debug(l_dyn_sql);
3630:
3631: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
3632: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
3633: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
3634: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
3635: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_id_table,2500, l_temp);
3628: l_dyn_sql := l_dyn_sql || ' AND PROCESS_STATUS = 1 ';
3629: Write_Debug(l_dyn_sql);
3630:
3631: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
3632: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
3633: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
3634: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
3635: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_id_table,2500, l_temp);
3636: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
3629: Write_Debug(l_dyn_sql);
3630:
3631: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
3632: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
3633: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
3634: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
3635: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_id_table,2500, l_temp);
3636: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
3637: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
3630:
3631: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
3632: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
3633: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
3634: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
3635: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_id_table,2500, l_temp);
3636: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
3637: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
3638: Write_Debug('About to start the Loop to fetch Rows');
3631: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
3632: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
3633: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
3634: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
3635: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_id_table,2500, l_temp);
3636: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
3637: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
3638: Write_Debug('About to start the Loop to fetch Rows');
3639:
3632: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
3633: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
3634: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
3635: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_id_table,2500, l_temp);
3636: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
3637: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
3638: Write_Debug('About to start the Loop to fetch Rows');
3639:
3640: LOOP
3633: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_org_id_table,2500, l_temp);
3634: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_item_number_table,2500, l_temp);
3635: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_trans_id_table,2500, l_temp);
3636: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
3637: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
3638: Write_Debug('About to start the Loop to fetch Rows');
3639:
3640: LOOP
3641: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
3637: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
3638: Write_Debug('About to start the Loop to fetch Rows');
3639:
3640: LOOP
3641: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
3642: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
3643: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
3644: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_id_table);
3645:
3638: Write_Debug('About to start the Loop to fetch Rows');
3639:
3640: LOOP
3641: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
3642: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
3643: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
3644: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_id_table);
3645:
3646: Write_Debug('Retrieved rows => '||To_char(l_count));
3639:
3640: LOOP
3641: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
3642: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
3643: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
3644: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_id_table);
3645:
3646: Write_Debug('Retrieved rows => '||To_char(l_count));
3647:
3640: LOOP
3641: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
3642: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_org_id_table);
3643: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_item_number_table);
3644: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_trans_id_table);
3645:
3646: Write_Debug('Retrieved rows => '||To_char(l_count));
3647:
3648: -------------------------------------------------------------
3731: -- For the final batch of records, either it will be 0 or < 2500
3732: -----------------------------------------------------------------
3733: EXIT WHEN l_count <> 2500;
3734:
3735: END LOOP; --l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
3736:
3737: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
3738:
3739: Write_Debug('Done with Item IDs population.');
3733: EXIT WHEN l_count <> 2500;
3734:
3735: END LOOP; --l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
3736:
3737: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
3738:
3739: Write_Debug('Done with Item IDs population.');
3740:
3741: -----------------------------------------------------------------
4476: l_api_name VARCHAR2(32) := 'load_itm_or_rev_usrattr_intf()';
4477: l_prod_col_name_tbl VARCHAR_TBL_TYPE;
4478: l_intf_col_name_tbl VARCHAR_TBL_TYPE;
4479:
4480: l_attr_id_table DBMS_SQL.VARCHAR2_TABLE; -- R12C UOM Change
4481: --DBMS_SQL.NUMBER_TABLE;
4482: l_intf_col_name_table DBMS_SQL.VARCHAR2_TABLE;
4483: l_data_level_id_table DBMS_SQL.NUMBER_TABLE;
4484:
4477: l_prod_col_name_tbl VARCHAR_TBL_TYPE;
4478: l_intf_col_name_tbl VARCHAR_TBL_TYPE;
4479:
4480: l_attr_id_table DBMS_SQL.VARCHAR2_TABLE; -- R12C UOM Change
4481: --DBMS_SQL.NUMBER_TABLE;
4482: l_intf_col_name_table DBMS_SQL.VARCHAR2_TABLE;
4483: l_data_level_id_table DBMS_SQL.NUMBER_TABLE;
4484:
4485: l_usr_attr_data_tbl L_USER_ATTR_TBL_TYPE;
4478: l_intf_col_name_tbl VARCHAR_TBL_TYPE;
4479:
4480: l_attr_id_table DBMS_SQL.VARCHAR2_TABLE; -- R12C UOM Change
4481: --DBMS_SQL.NUMBER_TABLE;
4482: l_intf_col_name_table DBMS_SQL.VARCHAR2_TABLE;
4483: l_data_level_id_table DBMS_SQL.NUMBER_TABLE;
4484:
4485: l_usr_attr_data_tbl L_USER_ATTR_TBL_TYPE;
4486:
4479:
4480: l_attr_id_table DBMS_SQL.VARCHAR2_TABLE; -- R12C UOM Change
4481: --DBMS_SQL.NUMBER_TABLE;
4482: l_intf_col_name_table DBMS_SQL.VARCHAR2_TABLE;
4483: l_data_level_id_table DBMS_SQL.NUMBER_TABLE;
4484:
4485: l_usr_attr_data_tbl L_USER_ATTR_TBL_TYPE;
4486:
4487: l_item_id_char VARCHAR(15);
4524: l_number_data NUMBER;
4525: l_date_data DATE;
4526:
4527: ---------------------------------------------------------
4528: -- DBMS_SQL Open Cursor integers.
4529: ---------------------------------------------------------
4530: l_cursor_select INTEGER;
4531: l_cursor_execute INTEGER;
4532: l_cursor_attr_id_val INTEGER;
4678: l_dyn_sql := l_dyn_sql || ' ORDER BY DISPLAY_SEQUENCE '; --- R12C UOM Change.so that UOM col comes next to corresponding number col
4679:
4680: Write_Debug(l_api_name || l_dyn_sql);
4681:
4682: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
4683: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
4684: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
4685: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
4686: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_data_level_id_table,2500, l_temp);
4679:
4680: Write_Debug(l_api_name || l_dyn_sql);
4681:
4682: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
4683: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
4684: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
4685: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
4686: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_data_level_id_table,2500, l_temp);
4687:
4680: Write_Debug(l_api_name || l_dyn_sql);
4681:
4682: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
4683: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
4684: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
4685: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
4686: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_data_level_id_table,2500, l_temp);
4687:
4688: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
4681:
4682: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
4683: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
4684: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
4685: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
4686: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_data_level_id_table,2500, l_temp);
4687:
4688: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
4689: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
4682: l_cursor_select := DBMS_SQL.OPEN_CURSOR;
4683: DBMS_SQL.PARSE(l_cursor_select, l_dyn_sql, DBMS_SQL.NATIVE);
4684: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
4685: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
4686: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_data_level_id_table,2500, l_temp);
4687:
4688: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
4689: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
4690: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
4684: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 1,l_attr_id_table,2500, l_temp);
4685: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
4686: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_data_level_id_table,2500, l_temp);
4687:
4688: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
4689: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
4690: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
4691: Write_Debug(l_api_name || 'About to start the Loop to fetch Rows');
4692: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
4685: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 2,l_intf_col_name_table,2500, l_temp);
4686: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_data_level_id_table,2500, l_temp);
4687:
4688: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
4689: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
4690: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
4691: Write_Debug(l_api_name || 'About to start the Loop to fetch Rows');
4692: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
4693: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
4686: DBMS_SQL.DEFINE_ARRAY(l_cursor_select, 3,l_data_level_id_table,2500, l_temp);
4687:
4688: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
4689: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
4690: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
4691: Write_Debug(l_api_name || 'About to start the Loop to fetch Rows');
4692: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
4693: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
4694: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
4688: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
4689: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
4690: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
4691: Write_Debug(l_api_name || 'About to start the Loop to fetch Rows');
4692: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
4693: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
4694: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
4695: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_data_level_id_table);
4696:
4689: DBMS_SQL.BIND_VARIABLE(l_cursor_select,':ATTRIBUTE_CODE', c_attr_grp_rec.attr_group_id||'$$%');
4690: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
4691: Write_Debug(l_api_name || 'About to start the Loop to fetch Rows');
4692: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
4693: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
4694: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
4695: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_data_level_id_table);
4696:
4697: Write_Debug(l_api_name || 'Retrieved rows => '||To_char(l_count));
4690: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_select);
4691: Write_Debug(l_api_name || 'About to start the Loop to fetch Rows');
4692: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
4693: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
4694: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
4695: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_data_level_id_table);
4696:
4697: Write_Debug(l_api_name || 'Retrieved rows => '||To_char(l_count));
4698: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
4691: Write_Debug(l_api_name || 'About to start the Loop to fetch Rows');
4692: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_select);
4693: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 1, l_attr_id_table);
4694: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
4695: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_data_level_id_table);
4696:
4697: Write_Debug(l_api_name || 'Retrieved rows => '||To_char(l_count));
4698: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
4699:
4694: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 2, l_intf_col_name_table);
4695: DBMS_SQL.COLUMN_VALUE(l_cursor_select, 3, l_data_level_id_table);
4696:
4697: Write_Debug(l_api_name || 'Retrieved rows => '||To_char(l_count));
4698: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
4699:
4700: --------------------------------------------------------------------
4701: -- New DBMS_SQL Cursor for Select Attr Values.
4702: --------------------------------------------------------------------
4697: Write_Debug(l_api_name || 'Retrieved rows => '||To_char(l_count));
4698: DBMS_SQL.CLOSE_CURSOR(l_cursor_select);
4699:
4700: --------------------------------------------------------------------
4701: -- New DBMS_SQL Cursor for Select Attr Values.
4702: --------------------------------------------------------------------
4703: l_cursor_attr_id_val := DBMS_SQL.OPEN_CURSOR;
4704: l_dyn_attr_id_val_sql := ' SELECT ';
4705: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' TRANSACTION_ID , ';
4699:
4700: --------------------------------------------------------------------
4701: -- New DBMS_SQL Cursor for Select Attr Values.
4702: --------------------------------------------------------------------
4703: l_cursor_attr_id_val := DBMS_SQL.OPEN_CURSOR;
4704: l_dyn_attr_id_val_sql := ' SELECT ';
4705: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' TRANSACTION_ID , ';
4706: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' UPPER(TRANSACTION_TYPE) , ';
4707: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' INSTANCE_PK1_VALUE , ';
4753: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' WHERE RESULTFMT_USAGE_ID = :RESULTFMT_USAGE_ID';
4754: l_dyn_attr_id_val_sql := l_dyn_attr_id_val_sql || ' AND PROCESS_STATUS = :PROCESS_STATUS ';
4755: Write_Debug(l_api_name || l_dyn_attr_id_val_sql);
4756:
4757: DBMS_SQL.PARSE(l_cursor_attr_id_val, l_dyn_attr_id_val_sql, DBMS_SQL.NATIVE);
4758: --------------------------------------------------------------------
4759: --Setting Data Type for Trasaction ID
4760: --------------------------------------------------------------------
4761: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 1, l_number_example);
4757: DBMS_SQL.PARSE(l_cursor_attr_id_val, l_dyn_attr_id_val_sql, DBMS_SQL.NATIVE);
4758: --------------------------------------------------------------------
4759: --Setting Data Type for Trasaction ID
4760: --------------------------------------------------------------------
4761: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 1, l_number_example);
4762:
4763: --------------------------------------------------------------------
4764: --Setting Data Type for Trasaction Type
4765: --------------------------------------------------------------------
4762:
4763: --------------------------------------------------------------------
4764: --Setting Data Type for Trasaction Type
4765: --------------------------------------------------------------------
4766: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 2, l_varchar_example,10);
4767:
4768: --------------------------------------------------------------------
4769: --Setting Data Type for INSTANCE_PK1_VALUE (Item ID)
4770: --------------------------------------------------------------------
4767:
4768: --------------------------------------------------------------------
4769: --Setting Data Type for INSTANCE_PK1_VALUE (Item ID)
4770: --------------------------------------------------------------------
4771: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 3, l_varchar_example, 1000);
4772:
4773: --------------------------------------------------------------------
4774: --Setting Data Type for INSTANCE_PK2_VALUE (Org ID)
4775: --------------------------------------------------------------------
4772:
4773: --------------------------------------------------------------------
4774: --Setting Data Type for INSTANCE_PK2_VALUE (Org ID)
4775: --------------------------------------------------------------------
4776: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 4, l_varchar_example, 1000);
4777:
4778: --------------------------------------------------------------------
4779: --Setting Data Type for INSTANCE_PK3_VALUE (Revision ID)
4780: --------------------------------------------------------------------
4777:
4778: --------------------------------------------------------------------
4779: --Setting Data Type for INSTANCE_PK3_VALUE (Revision ID)
4780: --------------------------------------------------------------------
4781: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 5, l_varchar_example, 1000);
4782:
4783: --------------------------------------------------------------------
4784: --Setting Data Type for Item Num
4785: --------------------------------------------------------------------
4782:
4783: --------------------------------------------------------------------
4784: --Setting Data Type for Item Num
4785: --------------------------------------------------------------------
4786: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 6, l_varchar_example, 1000);
4787:
4788: --------------------------------------------------------------------
4789: --Setting Data Type for Org Code
4790: --------------------------------------------------------------------
4787:
4788: --------------------------------------------------------------------
4789: --Setting Data Type for Org Code
4790: --------------------------------------------------------------------
4791: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 7, l_varchar_example, 1000);
4792:
4793: --------------------------------------------------------------------
4794: --Setting Data Type for Revision Code
4795: --------------------------------------------------------------------
4792:
4793: --------------------------------------------------------------------
4794: --Setting Data Type for Revision Code
4795: --------------------------------------------------------------------
4796: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 8, l_varchar_example, 1000);
4797:
4798: --------------------------------------------------------------------
4799: --Setting Data Type for Source System Id
4800: --------------------------------------------------------------------
4797:
4798: --------------------------------------------------------------------
4799: --Setting Data Type for Source System Id
4800: --------------------------------------------------------------------
4801: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 9, l_number_example);
4802:
4803: --------------------------------------------------------------------
4804: --Setting Data Type for Source System Reference
4805: --------------------------------------------------------------------
4802:
4803: --------------------------------------------------------------------
4804: --Setting Data Type for Source System Reference
4805: --------------------------------------------------------------------
4806: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 10, l_varchar_example, 1000);
4807:
4808: ---------------------------------------------------------------
4809: --R12C setting data type for suppplier/supplier site columns
4810: ---------------------------------------------------------------
4809: --R12C setting data type for suppplier/supplier site columns
4810: ---------------------------------------------------------------
4811: l_dummy := 0;
4812: IF(l_supplier_name_col IS NOT NULL) THEN
4813: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 11 + l_dummy, l_varchar_example, 1000);
4814: l_dummy := l_dummy +1;
4815: END IF;
4816: IF(l_supplier_number_col IS NOT NULL) THEN
4817: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 11 + l_dummy, l_varchar_example, 1000);
4813: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 11 + l_dummy, l_varchar_example, 1000);
4814: l_dummy := l_dummy +1;
4815: END IF;
4816: IF(l_supplier_number_col IS NOT NULL) THEN
4817: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 11 + l_dummy, l_varchar_example, 1000);
4818: l_dummy := l_dummy +1;
4819: END IF;
4820: IF(l_supplier_site_name_col IS NOT NULL) THEN
4821: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 11 + l_dummy, l_varchar_example, 1000);
4817: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 11 + l_dummy, l_varchar_example, 1000);
4818: l_dummy := l_dummy +1;
4819: END IF;
4820: IF(l_supplier_site_name_col IS NOT NULL) THEN
4821: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, 11 + l_dummy, l_varchar_example, 1000);
4822: l_dummy := l_dummy +1;
4823: END IF;
4824:
4825: --------------------------------------------------------------------
4842: -- Based on the Data Type of the attribute, define the column
4843: ------------------------------------------------------------------------
4844:
4845: IF (l_data_type_code = 'C') THEN
4846: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 1000);
4847: ELSIF (l_data_type_code = 'U') THEN -- R12C UOM Changes
4848: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 150);
4849: ELSIF (l_data_type_code = 'N') THEN
4850: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_example);
4844:
4845: IF (l_data_type_code = 'C') THEN
4846: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 1000);
4847: ELSIF (l_data_type_code = 'U') THEN -- R12C UOM Changes
4848: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 150);
4849: ELSIF (l_data_type_code = 'N') THEN
4850: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_example);
4851: ELSE --IF (l_data_type_code = 'D') THEN
4852: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_example);
4846: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 1000);
4847: ELSIF (l_data_type_code = 'U') THEN -- R12C UOM Changes
4848: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 150);
4849: ELSIF (l_data_type_code = 'N') THEN
4850: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_example);
4851: ELSE --IF (l_data_type_code = 'D') THEN
4852: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_example);
4853: END IF; --IF (l_data_type_code = 'C') THEN
4854:
4848: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_example, 150);
4849: ELSIF (l_data_type_code = 'N') THEN
4850: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_example);
4851: ELSE --IF (l_data_type_code = 'D') THEN
4852: DBMS_SQL.DEFINE_COLUMN(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_example);
4853: END IF; --IF (l_data_type_code = 'C') THEN
4854:
4855: END LOOP LIORUI_data_types_loop_1; --FOR i IN 1..l_attr_id_table.COUNT LOOP
4856:
4854:
4855: END LOOP LIORUI_data_types_loop_1; --FOR i IN 1..l_attr_id_table.COUNT LOOP
4856:
4857:
4858: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':RESULTFMT_USAGE_ID',p_resultfmt_usage_id);
4859:
4860: write_debug(l_api_name || 'Binding the PROCESS_STATUS = '||G_INTF_STATUS_TOBE_PROCESS);
4861: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':PROCESS_STATUS',G_INTF_STATUS_TOBE_PROCESS);
4862: ------------------------------------------------------------------------
4857:
4858: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':RESULTFMT_USAGE_ID',p_resultfmt_usage_id);
4859:
4860: write_debug(l_api_name || 'Binding the PROCESS_STATUS = '||G_INTF_STATUS_TOBE_PROCESS);
4861: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':PROCESS_STATUS',G_INTF_STATUS_TOBE_PROCESS);
4862: ------------------------------------------------------------------------
4863: -- Execute to get the Item User-Defined Attr values.
4864: ------------------------------------------------------------------------
4865: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_attr_id_val);
4861: DBMS_SQL.BIND_VARIABLE(l_cursor_attr_id_val,':PROCESS_STATUS',G_INTF_STATUS_TOBE_PROCESS);
4862: ------------------------------------------------------------------------
4863: -- Execute to get the Item User-Defined Attr values.
4864: ------------------------------------------------------------------------
4865: l_cursor_execute := DBMS_SQL.EXECUTE(l_cursor_attr_id_val);
4866:
4867: l_rows_per_attr_grp_indx := 0;
4868: ------------------------------------------------------------------------
4869: -- Loop for each row found in EBI
4873:
4874: Write_Debug(l_api_name || 'LIORUI_ebi_rows_loop - begin');
4875:
4876:
4877: IF DBMS_SQL.FETCH_ROWS(l_cursor_attr_id_val)>0 THEN
4878:
4879: ------------------------------------------------------------------------
4880: --Increment Row Identifier per (Attribute Group + Row) Combination.
4881: ------------------------------------------------------------------------
4885:
4886: ------------------------------------------------------------------------
4887: -- First column is Transaction ID.
4888: ------------------------------------------------------------------------
4889: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 1, l_transaction_id);
4890: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_transaction_type);
4891: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_item_id_char);
4892: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 4, l_org_id_char);
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4886: ------------------------------------------------------------------------
4887: -- First column is Transaction ID.
4888: ------------------------------------------------------------------------
4889: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 1, l_transaction_id);
4890: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_transaction_type);
4891: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_item_id_char);
4892: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 4, l_org_id_char);
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4887: -- First column is Transaction ID.
4888: ------------------------------------------------------------------------
4889: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 1, l_transaction_id);
4890: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_transaction_type);
4891: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_item_id_char);
4892: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 4, l_org_id_char);
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4895: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 7, l_org_code_char);
4888: ------------------------------------------------------------------------
4889: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 1, l_transaction_id);
4890: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_transaction_type);
4891: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_item_id_char);
4892: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 4, l_org_id_char);
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4895: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 7, l_org_code_char);
4896: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 8, l_item_rev_code_char);
4889: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 1, l_transaction_id);
4890: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_transaction_type);
4891: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_item_id_char);
4892: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 4, l_org_id_char);
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4895: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 7, l_org_code_char);
4896: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 8, l_item_rev_code_char);
4897: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 9, l_source_system_id);
4890: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 2, l_transaction_type);
4891: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_item_id_char);
4892: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 4, l_org_id_char);
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4895: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 7, l_org_code_char);
4896: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 8, l_item_rev_code_char);
4897: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 9, l_source_system_id);
4898: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 10, l_source_system_ref);
4891: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 3, l_item_id_char);
4892: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 4, l_org_id_char);
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4895: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 7, l_org_code_char);
4896: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 8, l_item_rev_code_char);
4897: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 9, l_source_system_id);
4898: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 10, l_source_system_ref);
4899:
4892: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 4, l_org_id_char);
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4895: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 7, l_org_code_char);
4896: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 8, l_item_rev_code_char);
4897: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 9, l_source_system_id);
4898: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 10, l_source_system_ref);
4899:
4900: l_dummy := 0;
4893: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 5, l_item_rev_id_char);
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4895: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 7, l_org_code_char);
4896: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 8, l_item_rev_code_char);
4897: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 9, l_source_system_id);
4898: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 10, l_source_system_ref);
4899:
4900: l_dummy := 0;
4901: l_supplier_site_id := NULL;
4894: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 6, l_item_num_char);
4895: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 7, l_org_code_char);
4896: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 8, l_item_rev_code_char);
4897: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 9, l_source_system_id);
4898: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 10, l_source_system_ref);
4899:
4900: l_dummy := 0;
4901: l_supplier_site_id := NULL;
4902: l_supplier_id := NULL;
4904: l_supplier_number := NULL;
4905: l_supplier_site_name := NULL;
4906:
4907: IF(l_supplier_name_col IS NOT NULL) THEN
4908: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 11 + l_dummy, l_supplier_name);
4909: l_dummy := l_dummy +1;
4910:
4911: IF(l_supplier_name IS NOT NULL) THEN
4912: BEGIN
4921: END IF;
4922: END IF;
4923:
4924: IF(l_supplier_number_col IS NOT NULL) THEN
4925: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 11 + l_dummy, l_supplier_number);
4926: l_dummy := l_dummy +1;
4927: IF(l_supplier_number IS NOT NULL) THEN
4928: BEGIN
4929: SELECT VENDOR_ID
4963: ------------------------------------------------------------------------
4964: IF c_attr_grp_details%FOUND THEN
4965:
4966: IF(l_supplier_site_name_col IS NOT NULL) THEN
4967: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, 11 + l_dummy -1, l_supplier_site_name);
4968: IF(l_supplier_site_name IS NOT NULL AND l_supplier_id IS NOT NULL) THEN
4969: BEGIN
4970:
4971: l_site_org_id := FND_PROFILE.VALUE('ORG_ID');
5050: l_date_data := NULL;
5051: l_dummy_char := SUBSTR (l_intf_col_name_table(i), 1, 1);
5052:
5053: IF l_dummy_char = 'C' THEN
5054: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_varchar_data);
5055: IF l_dummy_char = l_attr_data_type THEN
5056: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_STR := l_varchar_data;
5057: ELSE
5058: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DISP_VALUE := l_varchar_data;
5058: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DISP_VALUE := l_varchar_data;
5059: END IF;
5060: Write_Debug(l_api_name || 'String Value =>'||l_varchar_data);
5061: ELSIF l_dummy_char = 'N' THEN
5062: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_number_data);
5063: IF l_dummy_char = l_attr_data_type THEN
5064: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_NUM := l_number_data;
5065: ELSE
5066: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DISP_VALUE := l_number_data;
5066: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DISP_VALUE := l_number_data;
5067: END IF;
5068: Write_Debug(l_api_name || 'Number Value =>'||l_number_data);
5069: ELSE --IF (l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DATATYPE_CODE = 'D') THEN
5070: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_date_data);
5071: IF l_dummy_char = l_attr_data_type THEN
5072: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_VALUE_DATE := l_date_data;
5073: ELSE
5074: l_usr_attr_data_tbl(l_rows_per_attr_grp_indx).ATTR_DISP_VALUE := l_date_data;
5106: ELSE -- R12C UOM Changes:if uom column comes, previous row was the number col. so not increasing index
5107:
5108: l_varchar_data := null;
5109: l_actual_userattr_indx := l_actual_userattr_indx +1 ;
5110: DBMS_SQL.COLUMN_VALUE(l_cursor_attr_id_val, l_actual_userattr_indx, l_uom_meaning);
5111:
5112: IF (l_uom_class IS NOT NULL AND l_uom_meaning IS NOT NULL) THEN --BugFix:6271824
5113: SELECT UOM_CODE
5114: INTO l_varchar_data
5125: END IF ; -- end IF ( INSTR(l_attr_id_table(i),'$$UOM') = 0 ) -- R12C UOM Changes:
5126:
5127: END LOOP LIORUI_data_types_loop_2; --end: FOR i IN 1..l_attr_id_table.COUNT LOOP
5128:
5129: ELSE --end: IF DBMS_SQL.FETCH_ROWS(l_cursor_attr_id_val)>0 THEN
5130:
5131: Write_Debug(l_api_name || 'Nothing Found (or) Done.');
5132: EXIT;
5133:
5130:
5131: Write_Debug(l_api_name || 'Nothing Found (or) Done.');
5132: EXIT;
5133:
5134: END IF; --IF DBMS_SQL.FETCH_ROWS(l_cursor_attr_id_val)>0 THEN
5135:
5136: END LOOP LIORUI_ebi_rows_loop; --END: LOOP FOR CURSOR_ATTR_ID_VAL
5137:
5138: l_attr_id_table.DELETE;
5138: l_attr_id_table.DELETE;
5139: l_intf_col_name_table.DELETE;
5140: l_data_level_id_table.DELETE;
5141:
5142: DBMS_SQL.CLOSE_CURSOR(l_cursor_attr_id_val);
5143:
5144: -------------------------------------------------------------------
5145: -- Loop for all the rows to be inserted per Attribute Group.
5146: -------------------------------------------------------------------
5450: l_org_id_char VARCHAR2(15);
5451: l_trans_type_char VARCHAR2(15);
5452: l_attr_name VARCHAR2(100);
5453:
5454: l_attr_id_table DBMS_SQL.NUMBER_TABLE;
5455: l_attr_disp_name_table DBMS_SQL.VARCHAR2_TABLE;
5456: l_intf_col_table DBMS_SQL.VARCHAR2_TABLE;
5457: l_attr_disp_val_table DBMS_SQL.VARCHAR2_TABLE;
5458: l_attr_int_val_table DBMS_SQL.VARCHAR2_TABLE;
5451: l_trans_type_char VARCHAR2(15);
5452: l_attr_name VARCHAR2(100);
5453:
5454: l_attr_id_table DBMS_SQL.NUMBER_TABLE;
5455: l_attr_disp_name_table DBMS_SQL.VARCHAR2_TABLE;
5456: l_intf_col_table DBMS_SQL.VARCHAR2_TABLE;
5457: l_attr_disp_val_table DBMS_SQL.VARCHAR2_TABLE;
5458: l_attr_int_val_table DBMS_SQL.VARCHAR2_TABLE;
5459: l_msii_col_table DBMS_SQL.VARCHAR2_TABLE;
5452: l_attr_name VARCHAR2(100);
5453:
5454: l_attr_id_table DBMS_SQL.NUMBER_TABLE;
5455: l_attr_disp_name_table DBMS_SQL.VARCHAR2_TABLE;
5456: l_intf_col_table DBMS_SQL.VARCHAR2_TABLE;
5457: l_attr_disp_val_table DBMS_SQL.VARCHAR2_TABLE;
5458: l_attr_int_val_table DBMS_SQL.VARCHAR2_TABLE;
5459: l_msii_col_table DBMS_SQL.VARCHAR2_TABLE;
5460:
5453:
5454: l_attr_id_table DBMS_SQL.NUMBER_TABLE;
5455: l_attr_disp_name_table DBMS_SQL.VARCHAR2_TABLE;
5456: l_intf_col_table DBMS_SQL.VARCHAR2_TABLE;
5457: l_attr_disp_val_table DBMS_SQL.VARCHAR2_TABLE;
5458: l_attr_int_val_table DBMS_SQL.VARCHAR2_TABLE;
5459: l_msii_col_table DBMS_SQL.VARCHAR2_TABLE;
5460:
5461: -- Example Data Types to be used in Bind Variable. --
5454: l_attr_id_table DBMS_SQL.NUMBER_TABLE;
5455: l_attr_disp_name_table DBMS_SQL.VARCHAR2_TABLE;
5456: l_intf_col_table DBMS_SQL.VARCHAR2_TABLE;
5457: l_attr_disp_val_table DBMS_SQL.VARCHAR2_TABLE;
5458: l_attr_int_val_table DBMS_SQL.VARCHAR2_TABLE;
5459: l_msii_col_table DBMS_SQL.VARCHAR2_TABLE;
5460:
5461: -- Example Data Types to be used in Bind Variable. --
5462: l_varchar_example VARCHAR2(1000);
5455: l_attr_disp_name_table DBMS_SQL.VARCHAR2_TABLE;
5456: l_intf_col_table DBMS_SQL.VARCHAR2_TABLE;
5457: l_attr_disp_val_table DBMS_SQL.VARCHAR2_TABLE;
5458: l_attr_int_val_table DBMS_SQL.VARCHAR2_TABLE;
5459: l_msii_col_table DBMS_SQL.VARCHAR2_TABLE;
5460:
5461: -- Example Data Types to be used in Bind Variable. --
5462: l_varchar_example VARCHAR2(1000);
5463: l_number_example NUMBER;
5466: -- Actual Data to store corresponding data type value. --
5467: l_varchar_data VARCHAR2(1000);
5468: l_number_data NUMBER;
5469:
5470: -- DBMS_SQL Open Cursor integers. --
5471: l_cursor_oper_attr INTEGER;
5472: l_execute INTEGER;
5473:
5474: -- Bug# 13816809
5548: -- Fetch the Oper Attrs IDs, Intf Column names. --
5549: ----------------------------------------------------------------------------
5550: Write_Debug(l_item_oper_attr_sql);
5551:
5552: l_cursor_oper_attr := DBMS_SQL.OPEN_CURSOR;
5553: DBMS_SQL.PARSE(l_cursor_oper_attr, l_item_oper_attr_sql, DBMS_SQL.NATIVE);
5554: DBMS_SQL.DEFINE_ARRAY(
5555: c => l_cursor_oper_attr -- cursor --
5556: , position => 1 -- select position --
5549: ----------------------------------------------------------------------------
5550: Write_Debug(l_item_oper_attr_sql);
5551:
5552: l_cursor_oper_attr := DBMS_SQL.OPEN_CURSOR;
5553: DBMS_SQL.PARSE(l_cursor_oper_attr, l_item_oper_attr_sql, DBMS_SQL.NATIVE);
5554: DBMS_SQL.DEFINE_ARRAY(
5555: c => l_cursor_oper_attr -- cursor --
5556: , position => 1 -- select position --
5557: , n_tab => l_attr_id_table -- table of numbers --
5550: Write_Debug(l_item_oper_attr_sql);
5551:
5552: l_cursor_oper_attr := DBMS_SQL.OPEN_CURSOR;
5553: DBMS_SQL.PARSE(l_cursor_oper_attr, l_item_oper_attr_sql, DBMS_SQL.NATIVE);
5554: DBMS_SQL.DEFINE_ARRAY(
5555: c => l_cursor_oper_attr -- cursor --
5556: , position => 1 -- select position --
5557: , n_tab => l_attr_id_table -- table of numbers --
5558: , cnt => 2500 -- rows requested --
5557: , n_tab => l_attr_id_table -- table of numbers --
5558: , cnt => 2500 -- rows requested --
5559: , lower_bound => 1 -- start at --
5560: );
5561: DBMS_SQL.DEFINE_ARRAY(
5562: c => l_cursor_oper_attr -- cursor --
5563: , position => 2 -- select position --
5564: , c_tab => l_intf_col_table -- table of varchar --
5565: , cnt => 2500 -- rows requested --
5565: , cnt => 2500 -- rows requested --
5566: , lower_bound => 1 -- start at --
5567: );
5568:
5569: DBMS_SQL.BIND_VARIABLE(l_cursor_oper_attr,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
5570: DBMS_SQL.BIND_VARIABLE(l_cursor_oper_attr,':ATTR_GROUP_ID', attr_grp_id_rec.OPER_ATTR_GRP_ID);
5571: Write_Debug('Binding :RESULTFMT_USAGE_ID to => '||p_resultfmt_usage_id);
5572: Write_Debug('Binding :ATTR_GROUP_ID to => '||attr_grp_id_rec.OPER_ATTR_GRP_ID);
5573:
5566: , lower_bound => 1 -- start at --
5567: );
5568:
5569: DBMS_SQL.BIND_VARIABLE(l_cursor_oper_attr,':RESULTFMT_USAGE_ID', p_resultfmt_usage_id);
5570: DBMS_SQL.BIND_VARIABLE(l_cursor_oper_attr,':ATTR_GROUP_ID', attr_grp_id_rec.OPER_ATTR_GRP_ID);
5571: Write_Debug('Binding :RESULTFMT_USAGE_ID to => '||p_resultfmt_usage_id);
5572: Write_Debug('Binding :ATTR_GROUP_ID to => '||attr_grp_id_rec.OPER_ATTR_GRP_ID);
5573:
5574: l_execute := DBMS_SQL.EXECUTE(l_cursor_oper_attr);
5570: DBMS_SQL.BIND_VARIABLE(l_cursor_oper_attr,':ATTR_GROUP_ID', attr_grp_id_rec.OPER_ATTR_GRP_ID);
5571: Write_Debug('Binding :RESULTFMT_USAGE_ID to => '||p_resultfmt_usage_id);
5572: Write_Debug('Binding :ATTR_GROUP_ID to => '||attr_grp_id_rec.OPER_ATTR_GRP_ID);
5573:
5574: l_execute := DBMS_SQL.EXECUTE(l_cursor_oper_attr);
5575: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr);
5576: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_attr_id_table);
5577: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_intf_col_table);
5578:
5571: Write_Debug('Binding :RESULTFMT_USAGE_ID to => '||p_resultfmt_usage_id);
5572: Write_Debug('Binding :ATTR_GROUP_ID to => '||attr_grp_id_rec.OPER_ATTR_GRP_ID);
5573:
5574: l_execute := DBMS_SQL.EXECUTE(l_cursor_oper_attr);
5575: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr);
5576: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_attr_id_table);
5577: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_intf_col_table);
5578:
5579: Write_Debug('load_item_oper_attr_values: Retrieved rows => '||To_char(l_count));
5572: Write_Debug('Binding :ATTR_GROUP_ID to => '||attr_grp_id_rec.OPER_ATTR_GRP_ID);
5573:
5574: l_execute := DBMS_SQL.EXECUTE(l_cursor_oper_attr);
5575: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr);
5576: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_attr_id_table);
5577: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_intf_col_table);
5578:
5579: Write_Debug('load_item_oper_attr_values: Retrieved rows => '||To_char(l_count));
5580: DBMS_SQL.CLOSE_CURSOR(l_cursor_oper_attr);
5573:
5574: l_execute := DBMS_SQL.EXECUTE(l_cursor_oper_attr);
5575: l_count := DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr);
5576: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_attr_id_table);
5577: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_intf_col_table);
5578:
5579: Write_Debug('load_item_oper_attr_values: Retrieved rows => '||To_char(l_count));
5580: DBMS_SQL.CLOSE_CURSOR(l_cursor_oper_attr);
5581:
5576: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_attr_id_table);
5577: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_intf_col_table);
5578:
5579: Write_Debug('load_item_oper_attr_values: Retrieved rows => '||To_char(l_count));
5580: DBMS_SQL.CLOSE_CURSOR(l_cursor_oper_attr);
5581:
5582:
5583: ------------------------------------------ Bug#13816809: (HIGH SQL VERSION COUNT PROBLEM) --------------------------------------------
5584:
5624: -- Use dynamic sql with bind variable to share cursor for all items. --
5625: -- Construct the sql text once and bind variables for each item. --
5626: --------------------------------------------------------------------------------
5627: l_dyn_sql_update_msii := 'UPDATE MTL_SYSTEM_ITEMS_INTERFACE SET ';
5628: l_cursor_update_msii := DBMS_SQL.OPEN_CURSOR;
5629:
5630: -- construct dynamic sql
5631: FOR i in 1..l_msii_col_table.COUNT LOOP
5632: IF (i <> l_msii_col_table.COUNT) THEN
5637: END LOOP; --FOR i in 1..l_msii_col_table.COUNT LOOP
5638: l_dyn_sql_update_msii := l_dyn_sql_update_msii || ' WHERE TRANSACTION_ID = :TRANSACTION_ID';
5639:
5640: Write_Debug(l_dyn_sql);
5641: DBMS_SQL.PARSE(l_cursor_update_msii, l_dyn_sql_update_msii, DBMS_SQL.NATIVE);
5642:
5643: ------------------------------------------ Bug#13816809: (HIGH SQL VERSION COUNT PROBLEM) --------------------------------------------
5644:
5645:
5646: ----------------------------------------------------------------------------
5647: -- Fetch the Oper Attrs values from EGO_BULKLOAD_INTF. --
5648: ----------------------------------------------------------------------------
5649:
5650: l_cursor_oper_attr := DBMS_SQL.OPEN_CURSOR;
5651: l_dyn_sql := ' SELECT ';
5652: l_dyn_sql := l_dyn_sql || ' TRANSACTION_ID , ';
5653: l_dyn_sql := l_dyn_sql || ' UPPER(TRANSACTION_TYPE) , ';
5654: l_dyn_sql := l_dyn_sql || ' INSTANCE_PK1_VALUE , ';
5664: l_dyn_sql := l_dyn_sql || ' WHERE RESULTFMT_USAGE_ID = :RESULTFMT_USAGE_ID ';
5665: l_dyn_sql := l_dyn_sql || ' AND PROCESS_STATUS = 1 ';
5666:
5667: Write_Debug(l_dyn_sql);
5668: DBMS_SQL.PARSE(l_cursor_oper_attr, l_dyn_sql, DBMS_SQL.NATIVE);
5669:
5670: ----------------------------------------------------------------------------
5671: -- Setting the Data type for Oper Attrs values before Select. --
5672: ----------------------------------------------------------------------------
5670: ----------------------------------------------------------------------------
5671: -- Setting the Data type for Oper Attrs values before Select. --
5672: ----------------------------------------------------------------------------
5673: -- Setting Data Type for Trasaction ID --
5674: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 1, l_number_example);
5675: -- Setting Data Type for Transaction Type --
5676: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 2, l_varchar_example, 1000);
5677: --Setting Data Type for INSTANCE_PK1_VALUE (Item ID)
5678: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 3, l_varchar_example, 1000);
5672: ----------------------------------------------------------------------------
5673: -- Setting Data Type for Trasaction ID --
5674: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 1, l_number_example);
5675: -- Setting Data Type for Transaction Type --
5676: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 2, l_varchar_example, 1000);
5677: --Setting Data Type for INSTANCE_PK1_VALUE (Item ID)
5678: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 3, l_varchar_example, 1000);
5679: --Setting Data Type for INSTANCE_PK2_VALUE (Org ID)
5680: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 4, l_varchar_example, 1000);
5674: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 1, l_number_example);
5675: -- Setting Data Type for Transaction Type --
5676: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 2, l_varchar_example, 1000);
5677: --Setting Data Type for INSTANCE_PK1_VALUE (Item ID)
5678: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 3, l_varchar_example, 1000);
5679: --Setting Data Type for INSTANCE_PK2_VALUE (Org ID)
5680: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 4, l_varchar_example, 1000);
5681: FOR i in 1..l_attr_id_table.COUNT LOOP
5682: ------------------------------------------------------------------------------------
5676: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 2, l_varchar_example, 1000);
5677: --Setting Data Type for INSTANCE_PK1_VALUE (Item ID)
5678: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 3, l_varchar_example, 1000);
5679: --Setting Data Type for INSTANCE_PK2_VALUE (Org ID)
5680: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, 4, l_varchar_example, 1000);
5681: FOR i in 1..l_attr_id_table.COUNT LOOP
5682: ------------------------------------------------------------------------------------
5683: -- Since TRANSACTION_ID, TRANSACTION_TYPE, INSTANCE_PK1_VALUE, INSTANCE_PK2_VALUE --
5684: -- are added to the SELECT before we need to adjust the index as follows. --
5683: -- Since TRANSACTION_ID, TRANSACTION_TYPE, INSTANCE_PK1_VALUE, INSTANCE_PK2_VALUE --
5684: -- are added to the SELECT before we need to adjust the index as follows. --
5685: ------------------------------------------------------------------------------------
5686: l_indx := i + 4;
5687: DBMS_SQL.DEFINE_COLUMN(l_cursor_oper_attr, l_indx, l_varchar_example, 1000);
5688: END LOOP; --2nd: FOR (i in 1..l_attr_id_table.COUNT) LOOP
5689:
5690: ----------------------------------------------------------------------------
5691: -- Binding the ResultFmtUsageId and Executing the Query. --
5689:
5690: ----------------------------------------------------------------------------
5691: -- Binding the ResultFmtUsageId and Executing the Query. --
5692: ----------------------------------------------------------------------------
5693: DBMS_SQL.BIND_VARIABLE(l_cursor_oper_attr,':RESULTFMT_USAGE_ID',p_resultfmt_usage_id);
5694: l_execute := DBMS_SQL.EXECUTE(l_cursor_oper_attr);
5695:
5696: LOOP --Loop for l_cursor_oper_attr
5697:
5690: ----------------------------------------------------------------------------
5691: -- Binding the ResultFmtUsageId and Executing the Query. --
5692: ----------------------------------------------------------------------------
5693: DBMS_SQL.BIND_VARIABLE(l_cursor_oper_attr,':RESULTFMT_USAGE_ID',p_resultfmt_usage_id);
5694: l_execute := DBMS_SQL.EXECUTE(l_cursor_oper_attr);
5695:
5696: LOOP --Loop for l_cursor_oper_attr
5697:
5698: IF DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr)>0 THEN
5694: l_execute := DBMS_SQL.EXECUTE(l_cursor_oper_attr);
5695:
5696: LOOP --Loop for l_cursor_oper_attr
5697:
5698: IF DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr)>0 THEN
5699:
5700: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_transaction_id);
5701: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_trans_type_char);
5702: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 3, l_item_id_char);
5696: LOOP --Loop for l_cursor_oper_attr
5697:
5698: IF DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr)>0 THEN
5699:
5700: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_transaction_id);
5701: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_trans_type_char);
5702: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 3, l_item_id_char);
5703: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 4, l_org_id_char);
5704:
5697:
5698: IF DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr)>0 THEN
5699:
5700: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_transaction_id);
5701: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_trans_type_char);
5702: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 3, l_item_id_char);
5703: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 4, l_org_id_char);
5704:
5705: Write_Debug('load_item_oper_attr_values: l_trans_type_char => '||l_trans_type_char);
5698: IF DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr)>0 THEN
5699:
5700: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_transaction_id);
5701: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_trans_type_char);
5702: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 3, l_item_id_char);
5703: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 4, l_org_id_char);
5704:
5705: Write_Debug('load_item_oper_attr_values: l_trans_type_char => '||l_trans_type_char);
5706: ------------------------------------------------------------------------------------
5699:
5700: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 1, l_transaction_id);
5701: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 2, l_trans_type_char);
5702: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 3, l_item_id_char);
5703: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, 4, l_org_id_char);
5704:
5705: Write_Debug('load_item_oper_attr_values: l_trans_type_char => '||l_trans_type_char);
5706: ------------------------------------------------------------------------------------
5707: -- Prepare Primary Key Name Value pair object. --
5724: -- Since TRANSACTION_ID, TRANSACTION_TYPE, INSTANCE_PK1_VALUE, INSTANCE_PK2_VALUE --
5725: -- are added to the SELECT before we need to adjust the index as follows. --
5726: ------------------------------------------------------------------------------------
5727: l_indx := i + 4;
5728: DBMS_SQL.COLUMN_VALUE(l_cursor_oper_attr, l_indx, l_varchar_data);
5729: Write_Debug('load_item_oper_attr_values: String Value =>'||l_varchar_data);
5730:
5731: -- store the Display values in a plsql table --
5732: l_attr_disp_val_table(i) := l_varchar_data;
5884:
5885: IF l_error_indicator = FALSE THEN
5886: -- bind variable and use share cursor l_cursor_update_msii
5887: FOR i in 1..l_msii_col_table.COUNT LOOP
5888: DBMS_SQL.BIND_VARIABLE(l_cursor_update_msii, ':' || l_msii_col_table(i), l_attr_int_val_table(i));
5889: END LOOP; --FOR i in 1..l_msii_col_table.COUNT LOOP
5890: DBMS_SQL.BIND_VARIABLE(l_cursor_update_msii, ':TRANSACTION_ID', l_transaction_id);
5891: l_execute := DBMS_SQL.EXECUTE(l_cursor_update_msii);
5892: ELSE
5886: -- bind variable and use share cursor l_cursor_update_msii
5887: FOR i in 1..l_msii_col_table.COUNT LOOP
5888: DBMS_SQL.BIND_VARIABLE(l_cursor_update_msii, ':' || l_msii_col_table(i), l_attr_int_val_table(i));
5889: END LOOP; --FOR i in 1..l_msii_col_table.COUNT LOOP
5890: DBMS_SQL.BIND_VARIABLE(l_cursor_update_msii, ':TRANSACTION_ID', l_transaction_id);
5891: l_execute := DBMS_SQL.EXECUTE(l_cursor_update_msii);
5892: ELSE
5893: -- use l_dyn_sql with literals to update
5894: l_dyn_sql := l_dyn_sql || ' WHERE TRANSACTION_ID = ' || l_transaction_id;
5887: FOR i in 1..l_msii_col_table.COUNT LOOP
5888: DBMS_SQL.BIND_VARIABLE(l_cursor_update_msii, ':' || l_msii_col_table(i), l_attr_int_val_table(i));
5889: END LOOP; --FOR i in 1..l_msii_col_table.COUNT LOOP
5890: DBMS_SQL.BIND_VARIABLE(l_cursor_update_msii, ':TRANSACTION_ID', l_transaction_id);
5891: l_execute := DBMS_SQL.EXECUTE(l_cursor_update_msii);
5892: ELSE
5893: -- use l_dyn_sql with literals to update
5894: l_dyn_sql := l_dyn_sql || ' WHERE TRANSACTION_ID = ' || l_transaction_id;
5895: Write_Debug('load_item_oper_attr_values: Internal value errors while update msii ' || l_dyn_sql);
5895: Write_Debug('load_item_oper_attr_values: Internal value errors while update msii ' || l_dyn_sql);
5896: EXECUTE IMMEDIATE l_dyn_sql;
5897: END IF;
5898:
5899: ELSE --IF DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr)>0 THEN
5900: -------------------------------------------------------------------
5901: -- Exit loop as there are no more rows available for processing. --
5902: -------------------------------------------------------------------
5903: Write_Debug('load_item_oper_attr_values: No more rows found !');
5901: -- Exit loop as there are no more rows available for processing. --
5902: -------------------------------------------------------------------
5903: Write_Debug('load_item_oper_attr_values: No more rows found !');
5904: EXIT;
5905: END IF; --IF DBMS_SQL.FETCH_ROWS(l_cursor_oper_attr)>0 THEN
5906:
5907: END LOOP; --END: Loop for l_cursor_oper_attr
5908:
5909: -- Bug#13816809 close share cursor
5906:
5907: END LOOP; --END: Loop for l_cursor_oper_attr
5908:
5909: -- Bug#13816809 close share cursor
5910: DBMS_SQL.CLOSE_CURSOR(l_cursor_update_msii);
5911:
5912: -- Bug : 4099546
5913: DBMS_SQL.CLOSE_CURSOR(l_cursor_oper_attr);
5914: END IF; --IF (attr_grp_id_rec.OPER_ATTR_GRP_ID IS NOT NULL) THEN
5909: -- Bug#13816809 close share cursor
5910: DBMS_SQL.CLOSE_CURSOR(l_cursor_update_msii);
5911:
5912: -- Bug : 4099546
5913: DBMS_SQL.CLOSE_CURSOR(l_cursor_oper_attr);
5914: END IF; --IF (attr_grp_id_rec.OPER_ATTR_GRP_ID IS NOT NULL) THEN
5915:
5916: -------------------------------------------------------------------
5917: -- Before proceeding to process the next Attribute Group rows, --
7147: TYPE num_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
7148:
7149: l_cc_id_table num_tbl_type;
7150: l_trans_id_table num_tbl_type;
7151: l_org_id_table DBMS_SQL.VARCHAR2_TABLE;
7152: l_ss_id_table num_tbl_type;
7153: l_ss_ref_table EGO_VARCHAR_TBL_TYPE;
7154: l_item_num_table EGO_VARCHAR_TBL_TYPE;
7155: l_old_item_num_table EGO_VARCHAR_TBL_TYPE; --Added R12C