4: d_pkg_name CONSTANT VARCHAR2(50) :=
5: PO_LOG.get_package_base('PO_PDOI_MAINPROC_UTL_PVT');
6:
7: -- max line number for each document
8: g_max_line_num_tbl DBMS_SQL.number_table;
9:
10: -- max shipment number for each line
11: g_max_shipment_num_tbl DBMS_SQL.number_table;
12:
7: -- max line number for each document
8: g_max_line_num_tbl DBMS_SQL.number_table;
9:
10: -- max shipment number for each line
11: g_max_shipment_num_tbl DBMS_SQL.number_table;
12:
13: -- max distribution number for each shipment
14: g_max_dist_num_tbl DBMS_SQL.number_table;
15:
10: -- max shipment number for each line
11: g_max_shipment_num_tbl DBMS_SQL.number_table;
12:
13: -- max distribution number for each shipment
14: g_max_dist_num_tbl DBMS_SQL.number_table;
15:
16: -- max price differential number for each entity_type plus entity_id combination
17: TYPE max_price_diff_num_type IS TABLE OF DBMS_SQL.number_table INDEX BY VARCHAR2(30);
18: g_max_price_diff_num_tbl max_price_diff_num_type;
13: -- max distribution number for each shipment
14: g_max_dist_num_tbl DBMS_SQL.number_table;
15:
16: -- max price differential number for each entity_type plus entity_id combination
17: TYPE max_price_diff_num_type IS TABLE OF DBMS_SQL.number_table INDEX BY VARCHAR2(30);
18: g_max_price_diff_num_tbl max_price_diff_num_type;
19:
20: -- cache for quotation_class_code based on document subtype
21: TYPE quotation_class_code_type IS TABLE OF VARCHAR2(30) INDEX BY VARCHAR2(30);
197: l_key po_session_gt.key%TYPE;
198: l_po_header_id_tbl PO_TBL_NUMBER;
199: l_max_line_num_tbl PO_TBL_NUMBER;
200:
201: l_processing_row_tbl DBMS_SQL.number_table;
202: l_po_header_id_no_dup_tbl DBMS_SQL.number_table;
203: BEGIN
204: d_position := 0;
205:
198: l_po_header_id_tbl PO_TBL_NUMBER;
199: l_max_line_num_tbl PO_TBL_NUMBER;
200:
201: l_processing_row_tbl DBMS_SQL.number_table;
202: l_po_header_id_no_dup_tbl DBMS_SQL.number_table;
203: BEGIN
204: d_position := 0;
205:
206: IF (PO_LOG.d_proc) THEN
471: d_api_name CONSTANT VARCHAR2(30) := 'check_line_num_unique';
472: d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
473: d_position NUMBER;
474:
475: l_index_tbl DBMS_SQL.number_table;
476:
477: l_key po_session_gt.key%TYPE;
478: BEGIN
479: d_position := 0;
605: l_key po_session_gt.key%TYPE;
606: l_po_line_id_tbl PO_TBL_NUMBER;
607: l_max_shipment_num_tbl PO_TBL_NUMBER;
608:
609: l_processing_row_tbl DBMS_SQL.number_table;
610: l_po_line_id_no_dup_tbl DBMS_SQL.number_table;
611: BEGIN
612: d_position := 0;
613:
606: l_po_line_id_tbl PO_TBL_NUMBER;
607: l_max_shipment_num_tbl PO_TBL_NUMBER;
608:
609: l_processing_row_tbl DBMS_SQL.number_table;
610: l_po_line_id_no_dup_tbl DBMS_SQL.number_table;
611: BEGIN
612: d_position := 0;
613:
614: IF (PO_LOG.d_proc) THEN
899: d_api_name CONSTANT VARCHAR2(30) := 'check_shipment_num_unique';
900: d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
901: d_position NUMBER;
902:
903: l_index_tbl DBMS_SQL.number_table;
904:
905: l_key po_session_gt.key%TYPE;
906: BEGIN
907: d_position := 0;
1031: l_key po_session_gt.key%TYPE;
1032: l_line_loc_id_tbl PO_TBL_NUMBER;
1033: l_max_dist_num_tbl PO_TBL_NUMBER;
1034:
1035: l_processing_row_tbl DBMS_SQL.number_table;
1036: l_line_loc_id_no_dup_tbl DBMS_SQL.number_table;
1037: BEGIN
1038: d_position := 0;
1039:
1032: l_line_loc_id_tbl PO_TBL_NUMBER;
1033: l_max_dist_num_tbl PO_TBL_NUMBER;
1034:
1035: l_processing_row_tbl DBMS_SQL.number_table;
1036: l_line_loc_id_no_dup_tbl DBMS_SQL.number_table;
1037: BEGIN
1038: d_position := 0;
1039:
1040: IF (PO_LOG.d_proc) THEN
1309: d_position NUMBER;
1310:
1311: l_key po_session_gt.key%TYPE;
1312:
1313: l_index_tbl DBMS_SQL.NUMBER_TABLE;
1314: BEGIN
1315: d_position := 0;
1316:
1317: IF (PO_LOG.d_proc) THEN
1677: d_position NUMBER;
1678:
1679: l_key po_session_gt.key%TYPE;
1680:
1681: l_index_tbl DBMS_SQL.NUMBER_TABLE;
1682:
1683: TYPE two_dimension_table_type IS TABLE OF DBMS_SQL.VARCHAR2_TABLE INDEX BY PLS_INTEGER;
1684: TYPE three_dimension_table_type IS TABLE OF two_dimension_table_type INDEX BY VARCHAR2(30);
1685: l_price_diff_num_exist_tbl three_dimension_table_type;
1679: l_key po_session_gt.key%TYPE;
1680:
1681: l_index_tbl DBMS_SQL.NUMBER_TABLE;
1682:
1683: TYPE two_dimension_table_type IS TABLE OF DBMS_SQL.VARCHAR2_TABLE INDEX BY PLS_INTEGER;
1684: TYPE three_dimension_table_type IS TABLE OF two_dimension_table_type INDEX BY VARCHAR2(30);
1685: l_price_diff_num_exist_tbl three_dimension_table_type;
1686: BEGIN
1687: d_position := 0;