WIP工序移動(dòng)和完工接口開(kāi)發(fā)_第1頁(yè)
WIP工序移動(dòng)和完工接口開(kāi)發(fā)_第2頁(yè)
WIP工序移動(dòng)和完工接口開(kāi)發(fā)_第3頁(yè)
WIP工序移動(dòng)和完工接口開(kāi)發(fā)_第4頁(yè)
WIP工序移動(dòng)和完工接口開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——WIP工序移動(dòng)和完工接口開(kāi)發(fā)

WIP工序移動(dòng)和完工接口開(kāi)發(fā)

文檔控制

變更記錄

1

日期版本變更說(shuō)明

審閱

姓名職位

分發(fā)

拷貝編號(hào)姓名位置/崗位1234備注:

WIP工序移動(dòng)和工單完工接口開(kāi)發(fā)

在某個(gè)項(xiàng)目中,需要對(duì)WIP的工單的某工序進(jìn)行移動(dòng),完工,同時(shí)可能涉及到超量完工。Release之后的工單可以進(jìn)行工序移動(dòng)事務(wù)處理,在工序移動(dòng)的同時(shí)可以選擇報(bào)廢、(超量)完工。

接口開(kāi)發(fā)簡(jiǎn)單

接口開(kāi)發(fā)簡(jiǎn)述

大量的期初數(shù)據(jù)如何進(jìn)入ERP?如何使ERP的系統(tǒng)流程更加自動(dòng)化?如何遷移/合并兩個(gè)OracleERP系統(tǒng)?這些紛繁繁雜的海量工作不可能全部通過(guò)手工Key到系統(tǒng)中,必需通過(guò)某種方式灌入ERP、再現(xiàn)源系統(tǒng)數(shù)據(jù)風(fēng)貌。

處理這些業(yè)務(wù)需求的方式就是“接口〞:通過(guò)一組程序把數(shù)據(jù)批量寫入OracleERP相關(guān)表中,達(dá)到和在界面輸入同樣的效果:數(shù)據(jù)一致性,數(shù)據(jù)有效性,數(shù)據(jù)集成性(譬如插入PO數(shù)據(jù),要反饋到MRP的需求/供應(yīng))。接口開(kāi)發(fā)主要步驟????

工序移動(dòng)接口和完工接口

接口:

該方法是往移動(dòng)事務(wù)處理接口表wip_move_txn_interface中插入驗(yàn)證后的數(shù)據(jù),然后調(diào)用標(biāo)準(zhǔn)APIwip_movproc_cessinterface來(lái)進(jìn)行移動(dòng)和完工。但是往移動(dòng)事務(wù)處理接口表中插數(shù)據(jù)的時(shí)候我們?cè)趺粗酪男┳侄尾鍞?shù)據(jù)呢?首先我們可以導(dǎo)航到EBS中的移動(dòng)事務(wù)處理界面路徑:車間管理-》移動(dòng)事務(wù)處理-》移動(dòng)事務(wù)處理

采集數(shù)據(jù)

驗(yàn)證數(shù)據(jù):按接口要求格式化數(shù)據(jù),驗(yàn)證各個(gè)字段數(shù)據(jù)的合法性往相應(yīng)的接口表中插入驗(yàn)證后的數(shù)據(jù)

ERP接口處理請(qǐng)求(將數(shù)據(jù)插入ERP數(shù)據(jù)表中)

就可以查知那些字段代表了什么意思,該插什么值了。一下是一些關(guān)鍵字段:

字段transaction_type說(shuō)明1工序移動(dòng)(缺?。?移動(dòng)完工入庫(kù)3移動(dòng)入庫(kù)返回給11MoveValidation2MoveProcessing3OperationBackflushSetup給11Pending2Running3Error任務(wù)名稱CurrentInvOrganization組織代碼,這個(gè)字段必需給事務(wù)日期,必需betweenReleaseDateandSysdate移動(dòng)數(shù)量單位,可以不是主單位起始工序號(hào)起始工序內(nèi)部步驟終止工序號(hào)終止工序內(nèi)部步驟隨便給,一般用來(lái)追蹤必需給,比較特別必需給,比較特別習(xí)慣上都給process_phaseprocess_statuswip_entity_nameorganization_idorganization_codetransaction_datetransaction_quantitytransaction_uomfm_operation_seq_numfm_intraoperation_step_typeto_operation_seq_numto_intraoperation_step_typesource_codelast_updated_by_namecreated_by_name5個(gè)who字段

在處理的時(shí)候,可以判斷當(dāng)前的工序是否是最終一道工序,然后在設(shè)置transaction_type

的值,確定是移動(dòng)還是入庫(kù)

當(dāng)往接口表中插入數(shù)據(jù)之后,就可以調(diào)用wip_movproc_cessinterface來(lái)進(jìn)行后續(xù)的處理了;

超量完工

對(duì)于超量完工的狀況,只需增加多一個(gè)字段即可,往接口表中插數(shù)據(jù)的時(shí)候,同時(shí)設(shè)置overcompletion_transaction_qty的值為超量的部分的值即可;

代碼范例

一下是一個(gè)代碼范例

CREATEORREPLACEPACKAGEBODYcux_wip_dispatch_utlISg_mmt_ifacemtl_transactions_interface%ROWTYPE;g_wmti_ifacewip_move_txn_interface%ROWTYPE;

g_user_nameVARCHAR2(30):=fnd_global.user_name;

PROCEDUREtest_mmt(p_idINNUMBER)ISl_resultNUMBER;BEGIN

SELECTmti.transaction_quantityINTOl_result

FROMmtl_transactions_interfacemtiWHEREmti.transaction_header_id=p_id;ENDtest_mmt;

FUNCTIONget_wip_entity_name(p_wip_entity_idINNUMBER,

p_org_idINNUMBER)RETURNVARCHAR2ISl_returnwip_entities.wip_entity_name%TYPE;BEGIN

SELECTwip_entity_nameINTOl_return

FROMwip_entitiest

WHEREwip_entity_id=p_wip_entity_idANDorganization_id=p_org_id;RETURNl_return;

ENDget_wip_entity_name;

FUNCTIONget_work_order_item_id(p_wip_entity_idINNUMBER,

p_organization_idINNUMBER)RETURNNUMBERAS

CURSORc_work_orderIS

SELECTt.primary_item_idFROMwip_entitiest

WHEREt.wip_entity_id=p_wip_entity_id

ANDanization_id=p_organization_id;l_item_idNUMBER;BEGIN

OPENc_work_order;FETCHc_work_orderINTOl_item_id;CLOSEc_work_order;RETURNl_item_id;

ENDget_work_order_item_id;

FUNCTIONcheck_txn_date_in_period(p_transaction_dateINDATE,p_organization_idINNUMBER)RETURNVARCHAR2ASCURSORc_periodISSELECT'Y'

FROMorg_acct_periodstWHEREt.open_flag='Y'

ANDanization_id=p_organization_id

ANDtrunc(p_transaction_date)BETWEENt.period_start_dateANDt.schedule_close_date;l_valid_flagVARCHAR2(1);BEGIN

OPENc_period;FETCHc_period

INTOl_valid_flag;CLOSEc_period;

RETURNl_valid_flag;

ENDcheck_txn_date_in_period;

PROCEDUREvalidate_wip_complete(p_wip_entity_idINNUMBER,p_organization_idINNUMBER,p_transaction_dateINDATE,p_complete_qtyINNUMBER,p_uomINVARCHAR2,

1.0,x_return_status=>l_return_status,x_msg_count=>l_msg_count,x_msg_data=>l_msg_data,--errormessagex_trans_count=>l_trans_count,--recordprocessedp_table=>1,--interfacep_header_id=>g_mmt_iface.transaction_header_id);

IFl_result=0THEN

o_success_flag:='Y';o_error_mssg:=NULL;ELSE

o_success_flag:='N';IFp_table='1'THEN

--retreveerrorfrominterface

FORiIN(SELECTDISTINCTerror_explanationFROMmtl_transactions_interfaceWHEREtransaction_header_id=

g_mmt_iface.transaction_header_id)LOOPo_error_mssg:=o_error_mssg||'.Error:'||i.error_explanation;ENDLOOP;ELSE

o_error_mssg:=l_msg_data;

ENDIF;ENDIF;EXCEPTION

WHENOTHERSTHEN

o_success_flag:='N';

o_error_mssg:='OccurException:'||SQLERRM;ENDhandle_mmt_iface;

PROCEDUREhandle_wmti_iface(x_return_statusOUTNOCOPYVARCHAR2,x_msg_dataOUTNOCOPYVARCHAR2)ISBEGIN

--callapiprocesswmti

wip_movproc_cessinterface(p_txn_id=>g_wmti_iface.transaction_id,p_do_backflush=>fnd_api.g_true,p_commit=>fnd_api.g_false,x_returnstatus=>x_return_status,x_errormsg=>x_msg_data);

dbms_output.put_line('x_return_status:'||x_return_status);EXCEPTION

WHENOTHERSTHEN

x_return_status:=fnd_api.g_ret_sts_unexp_error;

x_msg_data:='cux_wip_dispatch_utl.handle_wmti_ifaceUnhandledexception:'||

SQLERRM;ENDhandle_wmti_iface;

PROCEDUREprocess_wip_complete(p_wip_entity_idINNUMBER,p_organization_idINNUMBER,p_transaction_dateINDATE,p_complete_qtyINNUMBER,p_uomINVARCHAR2,

p_is_max_operation_seq_numINVARCHAR2,p_is_overcomeINNUMBER,p_sourcr_line_idINNUMBER,x_return_statusOUTNOCOPYVARCHAR2,

x_msg_dataOUTNOCOPYVARCHAR2)ISBEGIN

x_return_status:=fnd_api.g_ret_sts_success;--setp1:validatedata

validate_wip_complete(p_wip_entity_id=>p_wip_entity_id,p_organization_id=>p_organization_id,p_transaction_date=>p_transaction_date,p_complete_qty=>p_complete_qty,p_uom=>p_uom,

x_return_status=>x_return_status,x_msg_data=>x_msg_data);IFx_return_status'COMPLETE',p_is_overcome=>p_is_overcome,p_is_max_operation_seq_num=>p_is_max_operation_seq_num,

x_return_status=>x_return_status,x_msg_data=>x_msg_data);IFx_return_statusfnd_api.g_ret_sts_successTHENRETURN;ENDIF;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論