EBS-工单导入
数据导入步骤:
1.根据用户需要字段,创建客户化接口表;
2.将用户整理好的数据插入客户化接口表中;
3.对数据进行校验(数据有效性,弹性域值集)
4.将客户化接口表中的数据写入EBS系统的接口表中
5.提交标准请求
工单导入接口表
|
接口表 |
数据表 |
说明 |
|
wip_move_txn_interface |
wip_move_transactions |
移动事务处理;它有可能触发物料事务处理和资源事务处理 |
|
cst_comp_snap_interface |
cst_comp_snapshot |
仅当做WIP装配件完工或退回且组织使用平均成本时使用 |
|
wip_txn_interface_errors |
|
错误信息表 |
接口表关键字段
|
字段 |
说明 |
|
transaction_type |
1 工序移动(缺省) 2 移动完工入库 3 移动入库返回 |
|
process_phase |
给1 1 Move Validation 2 Move Processing 3 Operation Backflush Setup |
|
process_status |
给1 1 Pending 2 Running 3 Error |
|
wip_entity_name |
任务名称 |
|
organization_id |
Current Inv Organization |
|
organization_code |
组织代码,这个字段必须给 |
|
transaction_date |
事务日期,必须between Release Date and Sysdate |
|
transaction_quantity |
移动数量 |
|
transaction_uom |
单位,可以不是主单位 |
|
fm_operation_seq_num |
起始工序号 |
|
fm_intraoperation_step_type |
起始工序内部步骤 |
|
to_operation_seq_num |
终止工序号 |
|
to_intraoperation_step_type |
终止工序内部步骤 |
|
source_code |
随便给,一般用来追踪 |
|
last_updated_by_name |
必须给,比较特殊 |
|
created_by_name |
必须给,比较特殊 |
|
5个who字段 |
习惯上都给 |
如果不涉及超量完工、如果拉式组件不涉及批次控制等,移动事务处理本身都很简单
脚本如下:
DECLARE l_iface_rec wip.wip_move_txn_interface%ROWTYPE; l_cur_mfg_org_id NUMBER := 82; --Current Inv Organization l_cur_mfg_org_code VARCHAR2(240) := '101'; l_user_id NUMBER := 0; --User ID, Sysadmin here l_user_name VARCHAR2(240) := 'SYSADMIN'; BEGIN 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.last_updated_by_name := l_user_name; l_iface_rec.created_by_name := l_user_name; l_iface_rec.transaction_type := 1; l_iface_rec.process_phase := 1; l_iface_rec.process_status := 1; l_iface_rec.wip_entity_name := 'TEST_JOB_0001'; l_iface_rec.organization_id := l_cur_mfg_org_id; l_iface_rec.organization_code := l_cur_mfg_org_code; l_iface_rec.transaction_date := SYSDATE; l_iface_rec.transaction_quantity := 234; l_iface_rec.transaction_uom := 'Kg'; l_iface_rec.fm_operation_seq_num := 10; l_iface_rec.fm_intraoperation_step_type := '1'; --Queue l_iface_rec.to_operation_seq_num := 10; l_iface_rec.to_intraoperation_step_type := 3; --To move l_iface_rec.source_code := 'Test Only'; l_iface_rec.source_code := 'Test Only'; l_iface_rec.source_line_id := 987654321; INSERT INTO wip.wip_move_txn_interface VALUES l_iface_rec; v_request_id := fnd_request.submit_request('WIP', 'WICMLP', NULL, NULL, FALSE, v_group_id, 0, 1, chr(0)); IF v_request_id <= 0 OR v_request_id IS NULL THEN LOG('提交 请求 错误!'); RETURN; ELSE COMMIT; log('已成功提交请求,request_id=' || v_request_id); END IF; -- wait request l_wait_req := fnd_concurrent.wait_for_request(v_request_id, 40, 0, v_phase, v_status, v_dev_phase, v_dev_status, v_message); IF upper(v_status) NOT IN ('NORMAL', '正常') THEN log(chr(10) || 'Import new wip job failure. ' || v_message); RETURN; ELSE log(chr(10) || '请求正常结束! '); RETURN; END IF; END;
浙公网安备 33010602011771号