DECLARE
L_IFACE_REC PO.PO_HEADERS_INTERFACE%ROWTYPE;
L_IFACE_LINES_REC PO.PO_LINES_INTERFACE%ROWTYPE;
L_ORG_ID NUMBER :=81; --OU ID
L_USER_ID NUMBER := FND_GLOBAL.USER_ID; --User ID?Sysadmin
l_header_interface_id NUMBER;
BEGIN
apps.fnd_global.apps_initialize(user_id => 1013475,
resp_id => 20707,
resp_appl_id => 201);
mo_global.set_policy_context('S', 81); --初始化才能插入到表中
L_IFACE_REC.ORG_ID := 81;--: COPYQUOTE.OPERATING_UNIT;
SELECT PO_HEADERS_INTERFACE_S.NEXTVAL
INTO L_IFACE_REC.INTERFACE_HEADER_ID
FROM DUAL;
--l_iface_rec.interface_header_id := l_header_interface_id;
L_IFACE_REC.PROCESS_CODE := 'PENDING';
L_IFACE_REC.ACTION := 'ORIGINAL';
L_IFACE_REC.DOCUMENT_TYPE_CODE := 'QUOTATION';
L_IFACE_REC.DOCUMENT_SUBTYPE := 'STANDARD';--
--L_IFACE_REC.QUOTE_WARNING_DELAY := 10;
L_IFACE_REC.DOCUMENT_NUM := NULL;
L_IFACE_REC.APPROVAL_STATUS := 'APPROVED';-- 可选--
L_IFACE_REC.AGENT_ID := 17992;
L_IFACE_REC.VENDOR_ID := 264;
L_IFACE_REC.VENDOR_SITE_ID := 218;
L_IFACE_REC.INTERFACE_SOURCE_CODE := 'CUXCOPYQUOTE';
L_IFACE_REC.BATCH_ID := l_header_interface_id;
L_IFACE_REC.COMMENTS :='test';
INSERT INTO PO.PO_HEADERS_INTERFACE VALUES L_IFACE_REC;
L_IFACE_LINES_REC.INTERFACE_HEADER_ID := L_IFACE_REC.INTERFACE_HEADER_ID;
L_IFACE_LINES_REC.PROCESS_CODE := 'PENDING';
L_IFACE_LINES_REC.ACTION := 'ORIGINAL';
L_IFACE_LINES_REC.LINE_NUM := 1;
L_IFACE_LINES_REC.ITEM_ID := 3003;
SELECT po_lines_interface_s.nextval
INTO l_iface_lines_rec.interface_line_id
FROM dual;
INSERT INTO PO.PO_LINES_INTERFACE VALUES L_IFACE_LINES_REC;
po_docs_interface_sv5.process_po_headers_interface(X_SELECTED_BATCH_ID => L_IFACE_REC.BATCH_ID,
X_BUYER_ID => NULL,
X_DOCUMENT_TYPE => L_IFACE_REC.DOCUMENT_TYPE_CODE,
X_DOCUMENT_SUBTYPE => L_IFACE_REC.DOCUMENT_SUBTYPE,
X_CREATE_ITEMS => 'N',
X_CREATE_SOURCING_RULES_FLAG => NULL,
X_REL_GEN_METHOD => NULL,
X_APPROVED_STATUS => L_IFACE_REC.APPROVAL_STATUS,
X_COMMIT_INTERVAL => 1,
X_PROCESS_CODE => 'PENDING',
X_INTERFACE_HEADER_ID => NULL,
X_ORG_ID_PARAM => NULL,
X_GA_FLAG => NULL);
dbms_output.put_line('OK');
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
DBMS_OUTPUT.put_line(SQLERRM);
END;