56:
57: PROCEDURE reset_cat_attributes
58: (
59: p_index_tbl IN DBMS_SQL.NUMBER_TABLE,
60: p_po_line_id_tbl IN PO_TBL_NUMBER,
61: p_draft_id_tbl IN PO_TBL_NUMBER
62: );
63: --------------------------------------------------------------------------
64: ---------------------- PUBLIC PROCEDURES ---------------------------------
57: PROCEDURE reset_cat_attributes
58: (
59: p_index_tbl IN DBMS_SQL.NUMBER_TABLE,
60: p_po_line_id_tbl IN PO_TBL_NUMBER,
61: p_draft_id_tbl IN PO_TBL_NUMBER
62: );
63: --------------------------------------------------------------------------
64: ---------------------- PUBLIC PROCEDURES ---------------------------------
65: --------------------------------------------------------------------------
302: -- 2. store position of each row indexed by po_line_id
303: l_line_ref_tbl DBMS_SQL.NUMBER_TABLE;
304:
305: -- table to save distinct po_line_ids within the batch
306: l_po_line_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
307: l_draft_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
308: l_delete_flag_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
309: l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
310:
303: l_line_ref_tbl DBMS_SQL.NUMBER_TABLE;
304:
305: -- table to save distinct po_line_ids within the batch
306: l_po_line_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
307: l_draft_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
308: l_delete_flag_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
309: l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
310:
311: -- tables containing existing values for updatable attrs
309: l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
310:
311: -- tables containing existing values for updatable attrs
312: l_unit_of_measure_tbl PO_TBL_VARCHAR30;
313: l_unit_price_tbl PO_TBL_NUMBER;
314: l_item_desc_tbl PO_TBL_VARCHAR2000;
315: l_expiration_date_tbl PO_TBL_DATE;
316: l_retroactive_date_tbl PO_TBL_DATE;
317: l_price_break_lookup_code_tbl PO_TBL_VARCHAR30;
314: l_item_desc_tbl PO_TBL_VARCHAR2000;
315: l_expiration_date_tbl PO_TBL_DATE;
316: l_retroactive_date_tbl PO_TBL_DATE;
317: l_price_break_lookup_code_tbl PO_TBL_VARCHAR30;
318: l_base_unit_price_tbl PO_TBL_NUMBER;
319: l_attribute14_tbl PO_TBL_VARCHAR2000;
320: l_amount_tbl PO_TBL_NUMBER;
321: l_price_limit_tbl PO_TBL_NUMBER;
322: l_negotiated_flag_tbl PO_TBL_VARCHAR1;
316: l_retroactive_date_tbl PO_TBL_DATE;
317: l_price_break_lookup_code_tbl PO_TBL_VARCHAR30;
318: l_base_unit_price_tbl PO_TBL_NUMBER;
319: l_attribute14_tbl PO_TBL_VARCHAR2000;
320: l_amount_tbl PO_TBL_NUMBER;
321: l_price_limit_tbl PO_TBL_NUMBER;
322: l_negotiated_flag_tbl PO_TBL_VARCHAR1;
323: l_category_id_tbl PO_TBL_NUMBER;
324: l_ip_category_id_tbl PO_TBL_NUMBER;
317: l_price_break_lookup_code_tbl PO_TBL_VARCHAR30;
318: l_base_unit_price_tbl PO_TBL_NUMBER;
319: l_attribute14_tbl PO_TBL_VARCHAR2000;
320: l_amount_tbl PO_TBL_NUMBER;
321: l_price_limit_tbl PO_TBL_NUMBER;
322: l_negotiated_flag_tbl PO_TBL_VARCHAR1;
323: l_category_id_tbl PO_TBL_NUMBER;
324: l_ip_category_id_tbl PO_TBL_NUMBER;
325: l_orig_intf_line_id_tbl PO_TBL_NUMBER; -- bug5149827
319: l_attribute14_tbl PO_TBL_VARCHAR2000;
320: l_amount_tbl PO_TBL_NUMBER;
321: l_price_limit_tbl PO_TBL_NUMBER;
322: l_negotiated_flag_tbl PO_TBL_VARCHAR1;
323: l_category_id_tbl PO_TBL_NUMBER;
324: l_ip_category_id_tbl PO_TBL_NUMBER;
325: l_orig_intf_line_id_tbl PO_TBL_NUMBER; -- bug5149827
326: -- need the item_id value in processing even thought
327: -- it is not updatable
320: l_amount_tbl PO_TBL_NUMBER;
321: l_price_limit_tbl PO_TBL_NUMBER;
322: l_negotiated_flag_tbl PO_TBL_VARCHAR1;
323: l_category_id_tbl PO_TBL_NUMBER;
324: l_ip_category_id_tbl PO_TBL_NUMBER;
325: l_orig_intf_line_id_tbl PO_TBL_NUMBER; -- bug5149827
326: -- need the item_id value in processing even thought
327: -- it is not updatable
328: l_item_id_tbl PO_TBL_NUMBER;
321: l_price_limit_tbl PO_TBL_NUMBER;
322: l_negotiated_flag_tbl PO_TBL_VARCHAR1;
323: l_category_id_tbl PO_TBL_NUMBER;
324: l_ip_category_id_tbl PO_TBL_NUMBER;
325: l_orig_intf_line_id_tbl PO_TBL_NUMBER; -- bug5149827
326: -- need the item_id value in processing even thought
327: -- it is not updatable
328: l_item_id_tbl PO_TBL_NUMBER;
329: -- values read from item table
324: l_ip_category_id_tbl PO_TBL_NUMBER;
325: l_orig_intf_line_id_tbl PO_TBL_NUMBER; -- bug5149827
326: -- need the item_id value in processing even thought
327: -- it is not updatable
328: l_item_id_tbl PO_TBL_NUMBER;
329: -- values read from item table
330: l_allow_desc_update_tbl PO_TBL_VARCHAR1;
331:
332: -- variables to hold result from temp table
329: -- values read from item table
330: l_allow_desc_update_tbl PO_TBL_VARCHAR1;
331:
332: -- variables to hold result from temp table
333: l_index_tbl PO_TBL_NUMBER;
334:
335: -- ordered num list
336: l_num_tbl DBMS_SQL.NUMBER_TABLE;
337:
341: l_uom_rate NUMBER;
342:
343: -- location lines that need to be updated
344: l_update_loc_queue DBMS_SQL.NUMBER_TABLE;
345: l_change_loc_id_tbl PO_TBL_NUMBER;
346:
347: -- lines for which uom warning needs to be given
348: l_uom_warning_queue DBMS_SQL.NUMBER_TABLE;
349: l_price_limit_queue DBMS_SQL.NUMBER_TABLE;
350:
351: -- index of the po line for which description is changed;
352: -- we may need to update po_attribute_values_tlp_draft table
353: l_update_desc_queue DBMS_SQL.NUMBER_TABLE;
354: l_sync_attr_tlp_id_tbl PO_TBL_NUMBER;
355:
356: -- lines for which we need to null out the cat based attribute values
357: l_ip_cat_id_updated_queue DBMS_SQL.NUMBER_TABLE;
358:
1308: d_position NUMBER;
1309:
1310: l_key po_session_gt.key%TYPE;
1311:
1312: l_change_loc_id_tbl PO_TBL_NUMBER;
1313: l_draft_id_tbl PO_TBL_NUMBER;
1314: l_delete_flag_tbl PO_TBL_VARCHAR1;
1315: l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
1316: BEGIN
1309:
1310: l_key po_session_gt.key%TYPE;
1311:
1312: l_change_loc_id_tbl PO_TBL_NUMBER;
1313: l_draft_id_tbl PO_TBL_NUMBER;
1314: l_delete_flag_tbl PO_TBL_VARCHAR1;
1315: l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
1316: BEGIN
1317: d_position := 0;
1521: ------------------------------------------------------------------------
1522: PROCEDURE merge_attr_values
1523: (
1524: p_processing_row_tbl IN DBMS_SQL.NUMBER_TABLE,
1525: p_sync_attr_id_tbl IN PO_TBL_NUMBER,
1526: p_sync_draft_id_tbl IN PO_TBL_NUMBER,
1527: p_attr_values IN PO_PDOI_TYPES.attr_values_rec_type
1528: ) IS
1529:
1522: PROCEDURE merge_attr_values
1523: (
1524: p_processing_row_tbl IN DBMS_SQL.NUMBER_TABLE,
1525: p_sync_attr_id_tbl IN PO_TBL_NUMBER,
1526: p_sync_draft_id_tbl IN PO_TBL_NUMBER,
1527: p_attr_values IN PO_PDOI_TYPES.attr_values_rec_type
1528: ) IS
1529:
1530: d_api_name CONSTANT VARCHAR2(30) := 'merge_attr_values';
1639: ------------------------------------------------------------------------
1640: PROCEDURE merge_attr_values_tlp
1641: (
1642: p_processing_row_tbl IN DBMS_SQL.NUMBER_TABLE,
1643: p_sync_attr_tlp_id_tbl IN PO_TBL_NUMBER,
1644: p_sync_draft_id_tbl IN PO_TBL_NUMBER,
1645: p_attr_values_tlp IN PO_PDOI_TYPES.attr_values_tlp_rec_type
1646: ) IS
1647:
1640: PROCEDURE merge_attr_values_tlp
1641: (
1642: p_processing_row_tbl IN DBMS_SQL.NUMBER_TABLE,
1643: p_sync_attr_tlp_id_tbl IN PO_TBL_NUMBER,
1644: p_sync_draft_id_tbl IN PO_TBL_NUMBER,
1645: p_attr_values_tlp IN PO_PDOI_TYPES.attr_values_tlp_rec_type
1646: ) IS
1647:
1648: d_api_name CONSTANT VARCHAR2(30) := 'merge_attr_values_tlp';
1761: d_api_name CONSTANT VARCHAR2(30) := 'insert_po_headers_draft_all';
1762: d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
1763: d_position NUMBER;
1764:
1765: l_valid_intf_header_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
1766: l_count NUMBER;
1767: BEGIN
1768: d_position := 0;
1769:
2266: d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
2267: d_position NUMBER;
2268:
2269: -- variables used to print debug message
2270: l_valid_intf_dist_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
2271: l_count NUMBER := 0;
2272: BEGIN
2273: d_position := 0;
2274:
2520: d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
2521: d_position NUMBER;
2522:
2523: -- variables used to print debug message
2524: l_valid_intf_line_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
2525: l_count NUMBER := 0;
2526: BEGIN
2527: d_position := 0;
2528:
2799: d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
2800: d_position NUMBER;
2801:
2802: -- variables used to print debug message
2803: l_valid_intf_loc_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
2804: l_count NUMBER := 0;
2805: BEGIN
2806: d_position := 0;
2807:
3080: d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
3081: d_position NUMBER;
3082:
3083: -- variables used to print debug message
3084: l_valid_intf_diff_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
3085: l_count NUMBER := 0;
3086: BEGIN
3087: d_position := 0;
3088:
5317: ------------------------------------------------------------------------
5318: PROCEDURE reset_cat_attributes
5319: (
5320: p_index_tbl IN DBMS_SQL.NUMBER_TABLE,
5321: p_po_line_id_tbl IN PO_TBL_NUMBER,
5322: p_draft_id_tbl IN PO_TBL_NUMBER
5323: ) IS
5324:
5325: d_api_name CONSTANT VARCHAR2(30) := 'reset_cat_attributes';
5318: PROCEDURE reset_cat_attributes
5319: (
5320: p_index_tbl IN DBMS_SQL.NUMBER_TABLE,
5321: p_po_line_id_tbl IN PO_TBL_NUMBER,
5322: p_draft_id_tbl IN PO_TBL_NUMBER
5323: ) IS
5324:
5325: d_api_name CONSTANT VARCHAR2(30) := 'reset_cat_attributes';
5326: d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
5327: d_position NUMBER;
5328:
5329: l_key po_session_gt.key%TYPE;
5330:
5331: l_sync_attr_values_id_tbl PO_TBL_NUMBER;
5332: l_sync_attr_values_tlp_id_tbl PO_TBL_NUMBER;
5333: l_draft_id_tbl PO_TBL_NUMBER;
5334: l_delete_flag_tbl PO_TBL_VARCHAR1;
5335: l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
5328:
5329: l_key po_session_gt.key%TYPE;
5330:
5331: l_sync_attr_values_id_tbl PO_TBL_NUMBER;
5332: l_sync_attr_values_tlp_id_tbl PO_TBL_NUMBER;
5333: l_draft_id_tbl PO_TBL_NUMBER;
5334: l_delete_flag_tbl PO_TBL_VARCHAR1;
5335: l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
5336: BEGIN
5329: l_key po_session_gt.key%TYPE;
5330:
5331: l_sync_attr_values_id_tbl PO_TBL_NUMBER;
5332: l_sync_attr_values_tlp_id_tbl PO_TBL_NUMBER;
5333: l_draft_id_tbl PO_TBL_NUMBER;
5334: l_delete_flag_tbl PO_TBL_VARCHAR1;
5335: l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
5336: BEGIN
5337: d_position := 0;