- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
WIP工序移动和完工接口开发
文档控制
变更记录
SECTIONPAGES1
日期
作者
版本
变更说明
审阅
姓名
职位
分发
拷贝编号
姓名
位置/岗位
备注:
WIP工序移动和工单完工接口开发
在某个项目中,需要对WIP的工单的某工序进行移动,完工,同时可能涉及到超量完工。Release之后的工单可以进行工序移动事务处理,在工序移动的同时可以选择报废、(超量)完工。
接口开发简洁
接口开发简述
大量的期初数据如何进入ERP?如何使ERP的系统流程更加自动化?如何迁移/合并两个OracleERP系统?这些纷繁复杂的海量工作不可能全部通过手工Key到系统中,必须通过某种方式灌入ERP、再现源系统数据风貌。
处理这些业务需求的方式就是“接口”:通过一组程序把数据批量写入OracleERP相关表中,达到和在界面输入同样的效果:数据一致性,数据有效性,数据集成性(比如插入PO数据,要反馈到MRP的需求/供应)。
接口开发主要步骤
采集数据
验证数据:按接口要求格式化数据,验证各个字段数据的合法性
往相应的接口表中插入验证后的数据
ERP接口处理请求(将数据插入ERP数据表中)
工序移动接口和完工接口
接口:
该方法是往移动事务处理接口表wip_move_txn_interface中插入验证后的数据,然后调用标准APIwip_movproc_pub.processinterface来进行移动和完工。
但是往移动事务处理接口表中插数据的时候我们怎么知道要往哪些字段插数据呢?
首先我们可以导航到EBS中的移动事务处理界面
路径:车间管理-》移动事务处理-》移动事务处理
就可以查知那些字段代表了什么意思,该插什么值了。
一下是一些关键字段:
字段
说明
transaction_type
1工序移动(缺省)
2移动完工入库
3移动入库返回
process_phase
给1
1MoveValidation
2MoveProcessing
3OperationBackflushSetup
process_status
给1
1Pending
2Running
3Error
wip_entity_name
任务名称
organization_id
CurrentInvOrganization
organization_code
组织代码,这个字段必须给
transaction_date
事务日期,必须betweenReleaseDateandSysdate
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字段
习惯上都给
在处理的时候,可以判断当前的工序是否是最后一道工序,然后在设置transaction_type的值,确定是移动还是入库
当往接口表中插入数据之后,就可以调用wip_movproc_pub.processinterface来进行后续的处理了;
超量完工
对于超量完工的情况,只需增加多一个字段即可,往接口表中插数据的时候,同时设置overcompletion_transaction_qty的值为超量的部分的值即可;
代码范例
一下是一个代码范例
CREATEORREPLACEPACKAGEBODYcux_wip_dispatch_utlIS
g_mmt_ifacemtl_transactions_interface%ROWTYPE;
g_wmti_ifacewip_move_txn_interface%ROWTYPE;
g_user_nameVARCHAR2(30):=fnd_global.user_name;
PROCEDUREtest_mmt(p_idINNUMBER)IS
l_resultNUMBER;
BEGIN
SELECTmti.transaction_quantity
INTOl_result
FROMmtl_transactions_interfacemti
WHEREmti.transaction_header_id=p_i
文档评论(0)