603: EC_DEBUG.PUSH('ECE_FLATFILE_PVT.match_xref_conv_seq');
604: EC_DEBUG.PL(3, 'p_level group : ', p_level);
605: EC_DEBUG.PL(3, 'Conversion group : ', p_conversion_group);
606: EC_DEBUG.PL(3, 'Seq num : ', p_sequence_num);
607: ec_debug.pl(3, 'file_start_pos',ec_utils.g_ext_levels(p_level).file_start_pos);
608: ec_debug.pl(3, 'file_end_pos',ec_utils.g_ext_levels(p_level).file_end_pos);
609: end if;
610:
611: /*
604: EC_DEBUG.PL(3, 'p_level group : ', p_level);
605: EC_DEBUG.PL(3, 'Conversion group : ', p_conversion_group);
606: EC_DEBUG.PL(3, 'Seq num : ', p_sequence_num);
607: ec_debug.pl(3, 'file_start_pos',ec_utils.g_ext_levels(p_level).file_start_pos);
608: ec_debug.pl(3, 'file_end_pos',ec_utils.g_ext_levels(p_level).file_end_pos);
609: end if;
610:
611: /*
612: Bug 2112028 -Reverting this fix back to 115.16 as the change done in 1853627 causes
615: Bug 2340691 - The fix made in 1853627 was again added to improve the Performance. This fix
616: is for Inbound programs only. The Outbound programs use the previous logic.
617: */
618:
619: /* if ec_utils.g_direction = 'I' --bug 3133379
620: then */
621: /* Bug 2617428
622: For k in ec_utils.g_ext_levels(p_level).file_start_pos..ec_utils.g_ext_levels(p_level).file_end_pos
623: loop
618:
619: /* if ec_utils.g_direction = 'I' --bug 3133379
620: then */
621: /* Bug 2617428
622: For k in ec_utils.g_ext_levels(p_level).file_start_pos..ec_utils.g_ext_levels(p_level).file_end_pos
623: loop
624: if ec_utils.g_file_tbl(k).external_level = p_level
625: then
626: if ec_utils.g_file_tbl(k).conversion_group_id = p_conversion_group
620: then */
621: /* Bug 2617428
622: For k in ec_utils.g_ext_levels(p_level).file_start_pos..ec_utils.g_ext_levels(p_level).file_end_pos
623: loop
624: if ec_utils.g_file_tbl(k).external_level = p_level
625: then
626: if ec_utils.g_file_tbl(k).conversion_group_id = p_conversion_group
627: and ec_utils.g_file_tbl(k).conversion_sequence = p_sequence_num
628: then
622: For k in ec_utils.g_ext_levels(p_level).file_start_pos..ec_utils.g_ext_levels(p_level).file_end_pos
623: loop
624: if ec_utils.g_file_tbl(k).external_level = p_level
625: then
626: if ec_utils.g_file_tbl(k).conversion_group_id = p_conversion_group
627: and ec_utils.g_file_tbl(k).conversion_sequence = p_sequence_num
628: then
629: p_Pos := k;
630: b_found := TRUE;
623: loop
624: if ec_utils.g_file_tbl(k).external_level = p_level
625: then
626: if ec_utils.g_file_tbl(k).conversion_group_id = p_conversion_group
627: and ec_utils.g_file_tbl(k).conversion_sequence = p_sequence_num
628: then
629: p_Pos := k;
630: b_found := TRUE;
631: exit;
637: hash_string :=to_char(p_conversion_group)||'-'||
638: to_char(p_level)||'-'||
639: to_char(p_sequence_num);
640: hash_value := dbms_utility.get_hash_value(hash_string,1,8192);
641: if ec_utils.g_code_conv_pos_tbl_1.exists(hash_value) then
642: if ec_utils.g_code_conv_pos_tbl_1(hash_value).occr = 1 then
643: p_Pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).value;
644: b_found := TRUE;
645: else
638: to_char(p_level)||'-'||
639: to_char(p_sequence_num);
640: hash_value := dbms_utility.get_hash_value(hash_string,1,8192);
641: if ec_utils.g_code_conv_pos_tbl_1.exists(hash_value) then
642: if ec_utils.g_code_conv_pos_tbl_1(hash_value).occr = 1 then
643: p_Pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).value;
644: b_found := TRUE;
645: else
646: tbl_pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).start_pos;
639: to_char(p_sequence_num);
640: hash_value := dbms_utility.get_hash_value(hash_string,1,8192);
641: if ec_utils.g_code_conv_pos_tbl_1.exists(hash_value) then
642: if ec_utils.g_code_conv_pos_tbl_1(hash_value).occr = 1 then
643: p_Pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).value;
644: b_found := TRUE;
645: else
646: tbl_pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).start_pos;
647: while tbl_pos<=ec_utils.g_code_conv_pos_tbl_2.LAST
642: if ec_utils.g_code_conv_pos_tbl_1(hash_value).occr = 1 then
643: p_Pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).value;
644: b_found := TRUE;
645: else
646: tbl_pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).start_pos;
647: while tbl_pos<=ec_utils.g_code_conv_pos_tbl_2.LAST
648: loop
649: if ec_utils.g_code_conv_pos_tbl_2(tbl_pos) = hash_value then
650: if upper(ec_utils.g_file_tbl(tbl_pos).conversion_group_id) = p_conversion_group
643: p_Pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).value;
644: b_found := TRUE;
645: else
646: tbl_pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).start_pos;
647: while tbl_pos<=ec_utils.g_code_conv_pos_tbl_2.LAST
648: loop
649: if ec_utils.g_code_conv_pos_tbl_2(tbl_pos) = hash_value then
650: if upper(ec_utils.g_file_tbl(tbl_pos).conversion_group_id) = p_conversion_group
651: and ec_utils.g_file_tbl(tbl_pos).conversion_sequence=p_sequence_num then
645: else
646: tbl_pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).start_pos;
647: while tbl_pos<=ec_utils.g_code_conv_pos_tbl_2.LAST
648: loop
649: if ec_utils.g_code_conv_pos_tbl_2(tbl_pos) = hash_value then
650: if upper(ec_utils.g_file_tbl(tbl_pos).conversion_group_id) = p_conversion_group
651: and ec_utils.g_file_tbl(tbl_pos).conversion_sequence=p_sequence_num then
652: p_Pos := tbl_pos;
653: b_found := TRUE;
646: tbl_pos := ec_utils.g_code_conv_pos_tbl_1(hash_value).start_pos;
647: while tbl_pos<=ec_utils.g_code_conv_pos_tbl_2.LAST
648: loop
649: if ec_utils.g_code_conv_pos_tbl_2(tbl_pos) = hash_value then
650: if upper(ec_utils.g_file_tbl(tbl_pos).conversion_group_id) = p_conversion_group
651: and ec_utils.g_file_tbl(tbl_pos).conversion_sequence=p_sequence_num then
652: p_Pos := tbl_pos;
653: b_found := TRUE;
654: exit;
647: while tbl_pos<=ec_utils.g_code_conv_pos_tbl_2.LAST
648: loop
649: if ec_utils.g_code_conv_pos_tbl_2(tbl_pos) = hash_value then
650: if upper(ec_utils.g_file_tbl(tbl_pos).conversion_group_id) = p_conversion_group
651: and ec_utils.g_file_tbl(tbl_pos).conversion_sequence=p_sequence_num then
652: p_Pos := tbl_pos;
653: b_found := TRUE;
654: exit;
655: end if;
653: b_found := TRUE;
654: exit;
655: end if;
656: end if;
657: tbl_pos:=ec_utils.g_code_conv_pos_tbl_2.NEXT(tbl_pos);
658: end loop;
659: end if;
660: end if;
661: /* else --Bug 3133379
658: end loop;
659: end if;
660: end if;
661: /* else --Bug 3133379
662: For k in 1..ec_utils.g_file_tbl.count
663: loop
664: if ec_utils.g_file_tbl(k).external_level = p_level
665: then
666: if ec_utils.g_file_tbl(k).conversion_group_id = p_conversion_group
660: end if;
661: /* else --Bug 3133379
662: For k in 1..ec_utils.g_file_tbl.count
663: loop
664: if ec_utils.g_file_tbl(k).external_level = p_level
665: then
666: if ec_utils.g_file_tbl(k).conversion_group_id = p_conversion_group
667: and ec_utils.g_file_tbl(k).conversion_sequence = p_sequence_num
668: then
662: For k in 1..ec_utils.g_file_tbl.count
663: loop
664: if ec_utils.g_file_tbl(k).external_level = p_level
665: then
666: if ec_utils.g_file_tbl(k).conversion_group_id = p_conversion_group
667: and ec_utils.g_file_tbl(k).conversion_sequence = p_sequence_num
668: then
669: p_Pos := k;
670: b_found := TRUE;
663: loop
664: if ec_utils.g_file_tbl(k).external_level = p_level
665: then
666: if ec_utils.g_file_tbl(k).conversion_group_id = p_conversion_group
667: and ec_utils.g_file_tbl(k).conversion_sequence = p_sequence_num
668: then
669: p_Pos := k;
670: b_found := TRUE;
671: exit;