详解EBS接口开发之采购申请导入
生活随笔
收集整理的這篇文章主要介紹了
详解EBS接口开发之采购申请导入
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
更多內容可以參考我的博客
詳解EBS接口開發之采購訂單導入 http://blog.csdn.net/cai_xingyun/article/details/17114697
/*+++++++++++++++++++++++++++++++++++++++++++++++++++--將數據寫入至采購申請接口表+++++++++++++++++++++++++++++++++++++++++++++++++++*/PROCEDURE insert_procure_main(errbuf OUT NOCOPY VARCHAR2,retcode OUT NOCOPY VARCHAR2) ASl_poreq_inter_record po.po_requisitions_interface_all%ROWTYPE;CURSOR poreq_cur IS /**此處為游標收集數據的SQL,略***/--索引表TYPE l_poreq_tbl IS TABLE OF poreq_cur%ROWTYPE INDEX BY BINARY_INTEGER;l_poreq_record l_poreq_tbl;/*L_TEMPLATE_ID Number;L_LINE_ID Number; --記錄上一行L_HEADER_ID Number; --記錄上一個頭信息L_COUNT Number := 0; --記錄行中非本狀態的行數L_LINE_STATUS Varchar2(120);L_HEADER_STATUS Varchar2(120);L_IMPORTED_COUNT Number := 0; --已導入的行數L_LINE_COUNT Number := 0;L_ERROR_COUNT Number := 0; --導入發生錯誤的行數*/BEGIN--初始化 --RETCODE := '0';--ERRBUF := Null;l_poreq_record.delete;----Body StartOPEN poreq_cur;--批量獲取數據FETCH poreq_cur BULK COLLECTINTO l_poreq_record;IF l_poreq_record.count > 0THEN--在輸出結果時既可以使用集合的count屬性和可以使用first和last:--for i in L_POREQ_RECORD.first .. L_POREQ_RECORD.lastFOR i IN 1 .. l_poreq_record.count LOOP--接口表的序列:PO_REQUISITIONS_INTER_ALL_sSELECT po_requisitions_inter_all_s.nextvalINTO l_poreq_inter_record.request_idFROM dual;--費用賬戶IDSELECT mpv.material_accountINTO l_poreq_inter_record.charge_account_idFROM mtl_parameters_view mpvWHERE mpv.organization_id = l_poreq_record(i).received_org_id;--whol_poreq_inter_record.creation_date := SYSDATE;l_poreq_inter_record.created_by := fnd_global.user_id;l_poreq_inter_record.last_update_login := fnd_global.login_id;l_poreq_inter_record.last_update_date := SYSDATE;l_poreq_inter_record.last_updated_by := fnd_global.user_id;--purchasel_poreq_inter_record.interface_source_code := 'ROI'; --來源代碼,用來控制接口請求的運行范圍l_poreq_inter_record.source_type_code := 'VENDOR'; --來源類型。如果目標類型是EXPENSE或者SHOP FLOOR,那么必須給,一般是VENDORl_poreq_inter_record.requisition_type := 'PURCHASE'; --采購申請類型:默認采購申請l_poreq_inter_record.destination_type_code := l_poreq_record(i).destination_type_code; --目的地類型l_poreq_inter_record.item_description := l_poreq_record(i).item_description; --物料名稱l_poreq_inter_record.quantity := l_poreq_record(i).quantity; --數量l_poreq_inter_record.unit_price := l_poreq_record(i).unit_price; --物料編碼攜帶的價格l_poreq_inter_record.authorization_status := 'INCOMPLETE'; --狀態,未審批INCOMPLETEl_poreq_inter_record.req_number_segment1 := l_poreq_record(i).application_no; --申請編號l_poreq_inter_record.header_attribute10 := l_poreq_record(i).current_month; --月份l_poreq_inter_record.header_attribute11 := l_poreq_record(i).equip_mai_required; --是否設備維修l_poreq_inter_record.note_to_buyer := l_poreq_record(i).note_to_buyer; --通知采購員l_poreq_inter_record.note_to_receiver := l_poreq_record(i).note_to_receiver; --通知接收員l_poreq_inter_record.item_id := l_poreq_record(i).item_id; --物料編碼IDl_poreq_inter_record.item_segment1 := l_poreq_record(i).item_number; --物料編碼l_poreq_inter_record.category_id := l_poreq_record(i).category_id; --物料類別的IDl_poreq_inter_record.category_segment1 := l_poreq_record(i).category_segment1; --物料類別l_poreq_inter_record.unit_of_measure := l_poreq_record(i).unit_of_measure; --計量單位l_poreq_inter_record.line_type := '貨物'; --行類型默認為貨物(物料類型)l_poreq_inter_record.un_number_id := l_poreq_record(i).un_number_id; --提報部門IDl_poreq_inter_record.un_number := l_poreq_record(i).un_number; --提報部門l_poreq_inter_record.hazard_class_id := l_poreq_record(i).project_number_id; --工程項目號IDl_poreq_inter_record.hazard_class := l_poreq_record(i).project_number; --工程項目號l_poreq_inter_record.destination_organization_id := l_poreq_record(i).received_org_id; --接收組織IDl_poreq_inter_record.deliver_to_location_id := l_poreq_record(i).received_place_id; --接收地點IDl_poreq_inter_record.deliver_to_requestor_id := l_poreq_record(i).deliver_to_requestor_id; --申請人IDl_poreq_inter_record.deliver_to_requestor_name := l_poreq_record(i).deliver_to_requestor_name; --申請人l_poreq_inter_record.suggested_buyer_id := l_poreq_record(i).buyer_id; --采購員IDl_poreq_inter_record.suggested_buyer_name := l_poreq_record(i).suggested_buyer_name; --采購員l_poreq_inter_record.suggested_vendor_item_num := substrb(l_poreq_record(i).equip_spare_use,1,25); --設備備件用途l_poreq_inter_record.line_attribute_category := '';--<span id="kM0.9812031188048422">@此處為說明性彈性域的段值</span>l_poreq_inter_record.line_attribute2 := l_poreq_record(i).line_attribute2; --<span id="kM0.2401782302185893">@彈性域值(客戶化)</span>l_poreq_inter_record.line_attribute6 := l_poreq_record(i).line_attribute6; --維修號l_poreq_inter_record.need_by_date := l_poreq_record(i).require_time; --需要時間l_poreq_inter_record.currency_code := l_poreq_record(i).currency_code; --幣種l_poreq_inter_record.org_id := l_poreq_record(i).org_id; --業務實體--L_POREQ_INTER_RECORD.CHARGE_ACCOUNT_ID := L_POREQ_INTER_REC(i).ACCOUNT_ID;--L_POREQ_INTER_RECORD.ACCRUAL_ACCOUNT_ID := --應計帳戶--L_POREQ_INTER_RECORD.VARIANCE_ACCOUNT_ID := --差異帳戶INSERT INTO po.po_requisitions_interface_allVALUES l_poreq_inter_record; /*******此處需要增加反寫記錄設置,即是標記哪些數據已經被創建過申請等*********/COMMIT;END LOOP;CLOSE poreq_cur;retcode := '0';errbuf := '導入成功' || l_poreq_record.count || '條采購申請。';END IF;/* --勾選的記錄的數量與成功導入的記錄數的關系If L_POREQ_RECORD.COUNT*/END;轉載于:https://www.cnblogs.com/wanghang/p/6299371.html
總結
以上是生活随笔為你收集整理的详解EBS接口开发之采购申请导入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqlserver改主键初始ID
- 下一篇: 重新抛出异常与异常链