Standard Po Import 1
Standard Po Import 1
IF p_debug THEN
dbms_output.put_line('AFTER INSERT INTO PO_Headers_Interface' );
dbms_output.put_line('BEFORE INSERT INTO INTERFACE_CTL' );
END IF;
IF p_debug THEN
dbms_output.put_line('AFTER INSERT INTO INTERFACE_CTL' );
END IF;
SELECT
NVL(MAX(INTERFACE_LINE_ID),0)
INTO v_counter
FROM PO_LINES_INTERFACE;
v_counter := v_counter + 1;
/* FOR c2 IN (SELECT
SUM(GPO_DON_LINES.QTY) QTY,
GPO_DON_LINES.UNIT_PRICE UNIT_PRICE,
GPO_DON_LINES.UNIT_PRICE_LOCAL UNIT_PRICE_LOCAL,
GPO_DON_LINES.VAT_LOCAL VAT_LOCAL,
OA_ITEMS.D_PK ITEM_ID,
OA_ITEMS.DESCRIPTION,
OA_ITEMS.CODE,
OA_ITEMS.ORGANIZATION_ID
FROM GPO_DON_LINES,
PULSE_PRODUCTS,
OA_ITEMS
WHERE GPO_DON_LINES.FK_GPO_DON = c1.v_h_po_number
AND GPO_DON_LINES.FK_PU_PRODUCT = PULSE_PRODUCTS.D_PK
AND PULSE_PRODUCTS.IK_OA_ITEM = OA_ITEMS.D_PK
GROUP BY GPO_DON_LINES.UNIT_PRICE,
GPO_DON_LINES.UNIT_PRICE_LOCAL,
GPO_DON_LINES.VAT_LOCAL,
OA_ITEMS.D_PK,
OA_ITEMS.DESCRIPTION,
OA_ITEMS.CODE,
OA_ITEMS.ORGANIZATION_ID)*/
FOR c2 IN c_item (c1.v_h_po_number)
LOOP
v_err_msg := 'IN po_lines CURSOR > BEFORE SELECT FROM oa_items c2.item_id = ' ||
c2.item_id;
SELECT OA_ITEMS.DESCRIPTION,
OA_ITEMS.CODE,
OA_ITEMS.ORGANIZATION_ID
INTO v_item_desc,
v_item_code,
v_item_org
FROM OA_ITEMS
WHERE OA_ITEMS.D_PK = C2.ITEM_ID;
v_err_msg := 'IN po_lines CURSOR > AFTER SELECT FROM oa_items ';
BEGIN
BEGIN
SELECT mtl_system_items.inventory_item_id
INTO v_inv_item_id
FROM APPS.MTL_SYSTEM_ITEMS
WHERE trim(UPPER(mtl_system_items.segment1)) = v_item_code
AND mtl_system_items.organization_id = v_item_org;
EXCEPTION
WHEN OTHERS THEN
--# Modified by xxx @ 20/11/2008 -- to issue a WARNING only that the item was
not generated in IC
v_err_msg := 'WARNING - The Service Item ' || v_item_code || ' does not exist
in Oracle Inventory (IC).' || SQLERRM;
--RAISE v_item_err;
END;
WHEN OTHERS THEN
v_err_msg := 'Comparing inventory item ' || v_item_code || ' FROM
MTL_SYSTEM_ITEMS AND OA_ITEMS : ' || SQLERRM;
RAISE v_item_err;
END;
--#
INSERT INTO
PO.PO_LINES_INTERFACE
(
INTERFACE_HEADER_ID,
INTERFACE_LINE_ID,
ACTION,
CREATED_BY,
CREATION_DATE,
FOB,
FREIGHT_TERMS,
ITEM_ID,
ITEM_DESCRIPTION,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LINE_NUM,
LINE_TYPE,
ORGANIZATION_ID,
PO_HEADER_ID,
PO_LINE_ID,
QUANTITY,
SHIP_TO_LOCATION_ID,
TAX_CODE_ID,
TAX_NAME,
UNIT_PRICE,
UOM_CODE,
NEED_BY_DATE
--#
)
VALUES
(
V_INTERFACE_HEADER_ID /*c1.v_h_po_number*/,
v_counter,
'ORIGINAL',
NULL,
NULL,
'FOB',
'Due',
-- c2.item_id,
v_inv_item_id,
-- c2.description,
v_item_desc,
NULL,
NULL,
NULL,
'Goods',
v_org_id,
NULL,
NULL,
c2.qty,
v_ship_to_location_id,
DECODE(NVL(c2.vat_local, 0), 0, v_exempt_id, v_tax_id),
DECODE(NVL(c2.vat_local, 0), 0, 'Exempt Vat', 'Vat 10%'),
c2.unit_price,
'EA',
c1.v_po_due_date
--#
);
v_counter := v_counter + 1;
INSERT INTO
PO.PO_DISTRIBUTIONS_INTERFACE
(
interface_header_id,
interface_line_id,
interface_distribution_id,
distribution_num,
quantity_ordered,
charge_account_id
)
VALUES
(
po.po_headers_interface_s.currval,
po.po_lines_interface_s.currval,
po.po_distributions_interface_s.nextval,
1,
c2.qty,
c1.v_vote_number
);