--由于API效率问题,改用插接口表,运行标准请求的方式创建或者更新物料信息
DECLARE
l_iface_rec inv.mtl_system_items_interface%ROWTYPE;
l_user_id NUMBER := 0; --User ID, Sysadmin here
l_mst_mfg_org_id NUMBER := 82; --Master Inv Organization
l_cur_mfg_org_id NUMBER := 683; --Current Inv Organization
gn_org_id NUMBER;
ln_request_id NUMBER;
lv_errmsg VARCHAR2(2000);
lb_result BOOLEAN;
lv_phase VARCHAR2(100);
lv_status VARCHAR2(100);
lv_dev_phase VARCHAR2(100);
lv_dev_status VARCHAR2(100);
lv_message VARCHAR2(1000);
/*CURSOR stage2 IS
SELECT * FROM xxwe_mg_mtl_items_wk xmm WHERE xmm.batch_id = &batch_id;*/
BEGIN
fnd_global.apps_initialize(user_id => 2411, resp_id => 51081, resp_appl_id => 20003);
gn_org_id := fnd_global.org_id;
--DELETE mtl_system_items_interface WHERE segment1 = 'TEST_ITEM_0002';
l_iface_rec.last_update_date := SYSDATE;
l_iface_rec.last_updated_by := l_user_id;
l_iface_rec.creation_date := SYSDATE;
l_iface_rec.created_by := l_user_id;
l_iface_rec.last_update_login := -1;
l_iface_rec.process_flag := 1;
l_iface_rec.transaction_type := 'UPDATE';--Create or Update
l_iface_rec.set_process_id := 1;
l_iface_rec.segment1 := 'TEST_ITEM_0002';
l_iface_rec.primary_uom_code := 'UN';
l_iface_rec.description := 'For Interface Test';
l_iface_rec.template_id := 3105;
l_iface_rec.attribute3 := '000000';
l_iface_rec.attribute4 := '100';
l_iface_rec.attribute5 := '10000';
l_iface_rec.attribute8 := 'CU';
l_iface_rec.attribute9 := '0000';
l_iface_rec.attribute22 := '123';
l_iface_rec.attribute23 := '123';
l_iface_rec.attribute26 := '55';
l_iface_rec.attribute27 := '105890-01940';
--Master Inv Organization
l_iface_rec.organization_id := l_mst_mfg_org_id;
INSERT INTO mtl_system_items_interface VALUES l_iface_rec;
--Current Inv Organization
l_iface_rec.organization_id := l_cur_mfg_org_id;
INSERT INTO inv.mtl_system_items_interface VALUES l_iface_rec;
ln_request_id := fnd_request.submit_request('INV',
'INCOIN',
'',
to_char(SYSDATE, 'YYYY/MM/DD HH24:MI:SS'),
FALSE,
gn_org_id,
1,
1,
1,
1,
NULL,
2,--1 Create,2 Update
1,
chr(0));
COMMIT;
--
IF nvl(ln_request_id, 0) = 0 THEN
lv_errmsg := 'Import Item Error';
--RAISE global_process_expt;
dbms_output.put_line('lv_errmsg: ' || lv_errmsg);
END IF;
--
lb_result := fnd_concurrent.wait_for_request(ln_request_id, 1, 0, lv_phase, lv_status, lv_dev_phase, lv_dev_status, lv_message);
--
END;
Item 通过接口导入Demo
最新推荐文章于 2024-08-09 14:30:13 发布