0% found this document useful (0 votes)
95 views8 pages

Standard Po Import 1

The document is an INSERT statement that populates a PO interface table with values from variables and constants. It inserts 86 fields covering PO header information like the PO number, organization, vendor, currency, terms, locations, approval status, and various attribute fields. The values come from variables like v_org_id and constants like 'STANDARD' for the document type.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views8 pages

Standard Po Import 1

The document is an INSERT statement that populates a PO interface table with values from variables and constants. It inserts 86 fields covering PO header information like the PO number, organization, vendor, currency, terms, locations, approval status, and various attribute fields. The values come from variables like v_org_id and constants like 'STANDARD' for the document type.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 8

INSERT INTO PO.

PO_HEADERS_INTERFACE --<Col Num>--


(
INTERFACE_HEADER_ID, -- 1 --
BATCH_ID, -- 2 --
INTERFACE_SOURCE_CODE, -- 3 --
PROCESS_CODE, -- 4 --
ACTION, -- 5 --
GROUP_CODE, -- 6 --
ORG_ID, -- 7 --
DOCUMENT_TYPE_CODE, -- 8 --
DOCUMENT_SUBTYPE, -- 9 --
DOCUMENT_NUM, -- 10 --
PO_HEADER_ID, -- 11 --
RELEASE_NUM, -- 12 --
PO_RELEASE_ID, -- 13 --
RELEASE_DATE, -- 14 --
CURRENCY_CODE, -- 15 --
RATE_TYPE, -- 16 --
RATE_TYPE_CODE, -- 17 --
RATE_DATE, -- 18 --
RATE, -- 19 --
AGENT_NAME, -- 20 --
AGENT_ID, -- 21 --
VENDOR_NAME, -- 22 --
VENDOR_ID, -- 23 --
VENDOR_SITE_CODE, -- 24 --
VENDOR_SITE_ID, -- 25 --
VENDOR_CONTACT, -- 26 --
VENDOR_CONTACT_ID, -- 27 --
SHIP_TO_LOCATION, -- 28 --
SHIP_TO_LOCATION_ID, -- 29 --
BILL_TO_LOCATION, -- 30 --
BILL_TO_LOCATION_ID, -- 31 --
PAYMENT_TERMS, -- 32 --
TERMS_ID, -- 33 --
FREIGHT_CARRIER, -- 34 --
FOB, -- 35 --
FREIGHT_TERMS, -- 36 --
APPROVAL_STATUS, -- 37 --
APPROVED_DATE, -- 38 --
REVISED_DATE, -- 39 --
REVISION_NUM, -- 40 --
NOTE_TO_VENDOR, -- 41 --
NOTE_TO_RECEIVER, -- 42 --
CONFIRMING_ORDER_FLAG, -- 43 --
COMMENTS, -- 44 --
ACCEPTANCE_REQUIRED_FLAG, -- 45 --
ACCEPTANCE_DUE_DATE, -- 46 --
AMOUNT_AGREED, -- 47 --
AMOUNT_LIMIT, -- 48 --
MIN_RELEASE_AMOUNT, -- 49 --
EFFECTIVE_DATE, -- 50 --
EXPIRATION_DATE, -- 51 --
PRINT_COUNT, -- 52 --
PRINTED_DATE, -- 53 --
FIRM_FLAG, -- 54 --
FROZEN_FLAG, -- 55 --
CLOSED_CODE, -- 56 --
CLOSED_DATE, -- 57 --
REPLY_DATE, -- 58 --
REPLY_METHOD, -- 59 --
RFQ_CLOSE_DATE, -- 60 --
QUOTE_WARNING_DELAY, -- 61 --
VENDOR_DOC_NUM, -- 62 --
APPROVAL_REQUIRED_FLAG, -- 63 --
VENDOR_LIST, -- 64 --
VENDOR_LIST_HEADER_ID, -- 65 --
FROM_HEADER_ID, -- 66 --
FROM_TYPE_LOOKUP_CODE, -- 67 --
USSGL_TRANSACTION_CODE, -- 68 --
ATTRIBUTE_CATEGORY, -- 69 --
ATTRIBUTE1, -- 70 --
ATTRIBUTE2, -- 71 --
ATTRIBUTE3, -- 72 --
ATTRIBUTE4, -- 73 --
ATTRIBUTE5, -- 74 --
ATTRIBUTE6, -- 75 --
ATTRIBUTE7, -- 76 --
ATTRIBUTE8, -- 77 --
ATTRIBUTE9, -- 78 --
ATTRIBUTE10, -- 79 --
ATTRIBUTE11, -- 80 --
ATTRIBUTE12, -- 81 --
ATTRIBUTE13, -- 82 --
ATTRIBUTE14, -- 83 --
ATTRIBUTE15, -- 84 --
CREATION_DATE, -- 85 --
CREATED_BY, -- 86 --
LAST_UPDATE_DATE, -- 87 --
LAST_UPDATED_BY, -- 88 --
LAST_UPDATE_LOGIN, -- 89 --
REQUEST_ID, -- 90 --
PROGRAM_APPLICATION_ID, -- 91 --
PROGRAM_ID, -- 92 --
PROGRAM_UPDATE_DATE, -- 93 --
REFERENCE_NUM, -- 94 --
LOAD_SOURCING_RULES_FLAG, -- 95 --
VENDOR_NUM, -- 96 --
FROM_RFQ_NUM, -- 97 --
WF_GROUP_ID, -- 98 --
PCARD_ID, -- 99 --
PAY_ON_CODE) -- 100 --
VALUES
(
V_INTERFACE_HEADER_ID /*c1.v_h_po_number*/, -- 1
--
NULL, -- 2 --
NULL, -- 3 --
NULL, -- 4 --
'ORIGINAL', -- 5 --
NULL, -- 6 --
v_org_id, -- 7 --
'STANDARD', --> Standard Purchase Order -- 8 --
NULL, -- 9 --
c1.v_ref_no, -- 10 --
NULL, -- 11 --
NULL, -- 12 --
NULL, -- 13 --
NULL, -- 14 --
c1.v_currency, -- 15 --
v_rate_type, -- 16 --
v_rate_type_code, -- 17 --
v_rate_date, -- 18 --
NULL, -- 19 --
NULL, -- 20 --
v_buyer_id, -- 21
NULL, -- 22 --
v_vendor_id, -- 23 --
v_vendor_site_code, -- 24 --
v_vendor_site_id, -- 25 --
NULL, -- 26 --
NULL, -- 27 --
NULL, -- 28 --
v_ship_to_location_id, -- 29 --
NULL, -- 30 --
v_bill_to_location_id, -- 31 --
NULL, -- 32 --
v_terms_id, -- 33 --
NULL, -- 34 --
'FOB', -- 35 --
'Due', -- 36 --
--# modified by xxx @ 11/03/2009 -- automated approval of GPOs through the
interface
-- 'INCOMPLETE', -- 37 --
'APPROVED', -- 37 --
--#
NULL, -- 38 --
NULL, -- 39 --
0, -- 40 --
NULL, -- 41 --
NULL, -- 42 --
NULL, -- 43 --
NULL, -- 44 --
NULL, -- 45 --
NULL, -- 46 --
NULL, -- 47 --
NULL, -- 48 --
NULL, -- 49 --
NULL, -- 50 --
NULL, -- 51 --
NULL, -- 52 --
NULL, -- 53 --
NULL, -- 54 --
NULL, -- 55 --
NULL, -- 56 --
NULL, -- 57 --
NULL, -- 58 --
NULL, -- 59 --
NULL, -- 60 --
NULL, -- 61 --
c1.v_ref_no, -- 62 --
NULL, -- 63 --
NULL, -- 64 --
NULL, -- 65 --
NULL, -- 66 --
NULL, -- 67 --
NULL, -- 68 --
NULL, -- 69 --
NULL, -- 70 --
NULL, -- 71 --
NULL, -- 72 --
NULL, -- 73 --
NULL, -- 74 --
NULL, -- 75 --
NULL, -- 76 --
NULL, -- 77 --
NULL, -- 78 --
NULL, -- 79 --
NULL, -- 80 --
NULL, -- 81 --
NULL, -- 82 --
NULL, -- 83 --
NULL, -- 84 --
c1.v_h_created, -- 85 --
v_user_id, -- 86 --
c1.v_h_modified, -- 87 --
v_user_id, -- 88 --
NULL, -- 89 --
NULL, -- 90 --
NULL, -- 91 --
NULL, -- 92 --
NULL, -- 93 --
NULL, -- 94 --
NULL, -- 95 --
NULL, -- 96 --
NULL, -- 97 --
NULL, -- 98 --
NULL, -- 99 --
NULL -- 100 --
);

v_err_msg := 'BEFORE INSERT INTO INTERFACE_CTL';

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;

--Insert a record into Interface Control Table to track transferred rows.


INSERT INTO INTERFACE_CTL
(
D_PK,
FROM_APPLICATION_ID,
TO_APPLICATION_ID,
FK_TABLE,
FK_PK_NUM,
STATUS,
STATUS_DATE
)
VALUES
(
q_interface_ctl.NEXTVAL,
'PRC_OA',
'OA_PO',
v_fk_table,
c1.v_h_po_number,
'T',
SYSDATE
);

v_err_msg := 'AFTER INSERT INTO INTERFACE_CTL';

IF p_debug THEN
dbms_output.put_line('AFTER INSERT INTO INTERFACE_CTL' );
END IF;

--Initialise counter from po_lines_interface

SELECT
NVL(MAX(INTERFACE_LINE_ID),0)
INTO v_counter
FROM PO_LINES_INTERFACE;

v_err_msg := 'AFTER selecting FROM PO_LINES_INTERFACE > c1.v_h_po_number = ' ||


c1.v_h_po_number;

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

v_err_msg := 'BEFORE selecting FROM mtl_system_items';


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.inventory_item_id = c2.item_id
AND mtl_system_items.organization_id = v_item_org;

v_err_msg := 'AFTER selecting FROM mtl_system_items';


EXCEPTION
WHEN NO_DATA_FOUND THEN

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
);

You might also like