|
数据导入步骤:
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;
|
|