HAND-深入浅出Oracle EBS之常用接口开发参考_第1页
HAND-深入浅出Oracle EBS之常用接口开发参考_第2页
HAND-深入浅出Oracle EBS之常用接口开发参考_第3页
HAND-深入浅出Oracle EBS之常用接口开发参考_第4页
HAND-深入浅出Oracle EBS之常用接口开发参考_第5页
已阅读5页,还剩215页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OracleERP最佳技术实践E-BUSINESSSUITEXX100–应用技术Author:黄建华Jianhua.HuangMSN:huajhua@CreationDate:November1,2005LastUpdated:December14,2006DocumentRef:<DocumentReferenceNumber>Version:DRAFT1Aals <Approver <Approver2>CopyNumber_____OracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,20065DateDateAuthorVersionChangeReference29-Oct-05Jianhua.HuangDraft1aNoPreviousDocumentNameitionCopyNo.NameLocation1LibraryMasterProjectLibrary2ProjectManager34Ifyoureceiveanelectroniccopyofthisdocumentandprintitout,pleasewriteyournameontheequivalentofthecoverpage,fordocumentcontrolpurposes.Ifyoureceiveahardcopyofthisdocument,pleasewriteyournameonthefrontcover,fordocumentcontrolpurposes.接口开发参考FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyDocumentControliiOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006tents 1.1.本文档目的 11.2.业务需求 11.3.接口模式.OpenInterface模式 1 1.5.问题解决方法 5 2.3.关键字段(参数)+最简单例子 72.4.已知问题 113.INVItemCategories物料类别【OpenInterface、UnopenedAPI】 133.1.快速参考 13开发参考 133.3.关键字段(参数)+最简单例子 14 4.INVMaterialTransactions物料事务处理【OpenInterface】 174.1.快速参考 17 4.3.关键字段(参数)+最简单例子 19 veOrdersOpenAPI 快速参考 23 5.3.关键字段(参数)+最简单例子 24 6.INV/BOMDeleteGroups删除组【Simulation】 27 6.3.关键字段(参数)+最简单例子 286.4.已知问题 31 7.1.快速参考 32接口开发参考DocumentControliiiFileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,20067.2.开发参考 327.3.关键字段(参数)+最简单例子 347.4.已知问题 39 8.1.快速参考 408.2.开发参考 408.3.关键字段(参数)+最简单例子 428.4.已知问题 49 9.1.快速参考 509.2.开发参考 509.3.关键字段(参数)+最简单例子 529.4.已知问题 55nterfaceOpenAPI 10.1.快速参考 5610.2.开发参考 5610.3.关键字段(参数)+最简单例子 58 InterfaceUnopenAPI 11.1.快速参考 69开发参考 6911.3.关键字段(参数)+最简单例子 71已知问题 79 快速参考 80 12.3.关键字段(参数)+最简单例子 82 onsOpenInterface 13.1.快速参考 85 13.3.关键字段(参数)+最简单例子 86 89 14.3.关键字段(参数)+最简单例子 90 MRPMasterDemand/ProductionSchedules【OpenInterface】 94.快速参考 94 15.3.关键字段(参数)+最简单例子 94 FAMassAddtions成批添加【OpenInterface】 97快速参考 97接口开发参考DocumentControlivFileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>DecemberOracleERP最佳技术实践 16.3.关键字段(参数)+最简单例子 9916.4.已知问题 101 17.1.快速参考 10217.2.开发参考 10217.3.关键字段(参数)+最简单例子 10317.4.已知问题 10318.OpenandClosedIssuesforthisDeliverable 104 ClosedIssues 104接口开发参考FileRef:接口开发参考FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-Forinternaluseonly1.总体说明1.1.本文档目的作为接口开发的快速入门材料;不可能涵盖所有细节,任何问题或疑问,请仔细阅读OracleAPIPDF文档或者参考Metalink。1.2.业务需求集成数据采集终端现场用带记忆功能的条码机、手持式PDA、RFID设备等采集业务数据,比如投料事务数据(含批号、料号、数量),通过无线实时传送到ERP,也可以事后批量上传;这某种方式生成ERP的库存事务。集成企业其他系统OracleERP并非信息化系统的全部,企业通常还有大量外购或者自行开发的软件平Notes售系统、计划平台等,这些系统不能仅作为一个个信息孤岛,他们产生的数据也需要和ERP集成。如通过Notes电子流审批的请购需要通过某种方式生成ERP的PR或者PO。集成企业外部系统链下游的采购系统、银行、税务,都可能通过某种ERP本身的功能扩展大量的期初数据如何进入ERP?如何使ERP的系统流程更加自动化?如何迁移/合并两个OracleERP系统?这些纷繁复杂的海量工作不可能全部通过手工Key到系统中,必灌入ERP、再现源系统数据风貌。处理这些业务需求的方式就是“接口”:通过一组程序把数据批量写入OracleERP相关表中,达到和在界面输入同样的效果:数据一致性,数据有效性,数据集成性(比如插入PO数据,要反馈到MRP的需求/供应)。这个就是我们通常讲的“接口表”。把数据通过各种方式写进接口表,然后提交标准入Product表。OracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,OracleERP最佳技术实践OpenInterface、验证和处理并发程序、接口维护Form界面或者错误Report等。在开发过程中,要综合考虑它们的作用,合理安排4和5是必须要开发的,需要对系统逻辑和接口功能有深入的了解才能确保程序的正确有时候还需要做和企业特定业务相关的判断,所以需要我们自己做预验证。实际开发e。1很可能需要开发,视具体情况而定。8和11不一定有。点O适合处理大批量数据O系统自动进行并发处理O数据进入接口表的形式灵活多样O用户可以查看/补录/修改/提交接口数据接口开发参考FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-Forinternaluseonly总体说明2of109OracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006OracleERP最佳技术实践O联机处理的难度较大O常情况下,错误需要用户在EBS里面处理1.4.接口模式.OpenAPI模式从功能角度看,和OpenInterface一样;差异体现在程序开发上。通过PL/SQL直接调用开放的APIProcedure,把数据导入目标Product表。OpenAPI基本是由一套PL/SQLPackage组成的,没有用户界面,从Package类型看,API类型说明Private私有API,是Oracle开发团队自己使用的程序包,每次升级可能变化,我们不能使用Public公有API,Oracle提供给我们使用的程序包,我们可以调用;但只要没有以文档形式公开发布过,Oracle仍有可能改变,并且风险由我们自己承担Published公开发布的API,Oracle提供给我们使用的Public程序包,并以文档形式公开发布,我们可以调用,每次升级变化的可能性极小参数名称方向类型必須默认值p_api_version_numberINNUMBER✔p_init_msg_listINVARCHAR2FND_API.G_FALSEp_commitINVARCHAR2FND_API.G_FALSEx_return_statusOUTVARCHAR2x_msg_countOUTNUMBERx_msg_dataOUTVARCHAR2接口开发参考FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-Forinternaluseonly总体说明3of109OracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006e。1很可能需要开发,视具体情况而定。点APIO适合处理小批量离散数据O立即联机处理,用户可以得到实时反馈O错误传回源系统,通过源系统修正错误APIO小结:两种模式各有优缺点,对于同时存在两种模式的开放接口,在项目开发中需要根据实际情况灵活选用。在可能的情况下,建议采用OpenAPI模式。接口开发参考FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-Forinternaluseonly总体说明4of109OracleERP最佳技术实践.问题解决方法DocRef:<DocumentReferenceNumber>December14,2006最好用英文登录EBS后运行接口处理请求,这样出错信息等都是英文的,方便查阅资看请求运行的Log和Output,简单问题一般可以解决。Form报表。接口错误Table或者错误信息到Metalink查找。激活相关模块的DebugProfile后,出错信息就更明确更丰富了。有些Profile是选Yes/No,有的是输个数字,有的直接就在请求的参数里面。激活并发程序的Trace模式(如果是API就在程序中Enable),然后看生成的TRC文接口开发参考FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-Forinternaluseonly总体说明5of109OracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,20062.INVItems物料【OpenInterface、UnopenedAPI】2.1.快速参考N:INV/Items/OrganizationItemsN:INV/Items/OrganizationItems/Tools/RevisionsImportItemsN:INV/Items/Import/ImportItemsmtl_system_items_interfacemtl_item_revisions_interfaceAPIinv_item_grp.create_itemmtl_interface_errors接口FormN/A接口ReportN/ADebugProfileINV:DebugLevel,大于0即可oracle_iface_scripts_pkg.mtl_sys_items_ifacecux_inv_item_load_pvt.item_load115mfgapi.pdf:OracleManufacturingAPIsandOpenInterfacesManualinvpopif.inopinp_open_interface_processINVPVALI、INVPVDR52.2.开发参考接口表、错误信息表TableList:mtl_system_items_interfacemtl_system_items_bmtl_system_items_tlmtl_item_revisions_interfacemtl_item_revisions_bmtl_item_revisions_tl物料版本;可选;不能单独使用,关联字段organization_code、item_numbermtl_interface_errorsTableRelation:mtl_system_items_anization_code=mtl_item_revisions_anization_codeANDmtl_system_items_interface.item_number=mtl_item_revisions_interface.item_numbermtl_interface_errorsSELECTmie.error_message FROMmtl_system_items_interfacemii,mtl_interface_errorsmie WHEREmii.transaction_id=mie.transaction_id;N:INV/Items/Import/ImportItems接口开发参考INVItems物料【OpenInterface、UnopenedAPI】6of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006OracleERP最佳技术实践AllOrganiztionsrgNoChangeOrgValidateItems是否验证接口数据;请选YesProcessItems是否处理接口数据;请选YesDeleteProcessedRows是否删除成功处理过的接口数据;请选YesProcessSet(NullforAll)放空处理所有数据;如果输入XXX,则仅处理SET_PROCESS_ID=XXX的记录CreateorUpdateItemsValidateItemsProcessItemsDeleteProcessedRowsYesNoNo的数据NoYesNoNoNoYes的数据YesYesYes2.3.关键字段(参数)+最简单例子mtl_system_items_interface接口开发参考INVItems物料【OpenInterface、UnopenedAPI】7of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,OracleERP最佳技术实践process_flag插入接口时需要给11pending2assigncomplete3assign/validationfailed4validationsucceeded,importedfailed5importinprocess7importsucceededtransaction_typeCREATE或者UPDATE,相对组织来说的。比如一个物料,MasterInvOrganization已经建立了,但本组织还没有,这个时候仍要用CREATEset_process_idorganization_id给organization_code也行segment1通常物料弹性域只启用1段,所以这里仅列出segment1;给item_number也行descriptionprimary_uom_code不给的话从Template取;Template没有从Profile“INV:DefaultPrimaryUnitofMeasure”取;再没有则报错lateidDinv_item_grp.item_rec_typeorganization_idCurrentInvOrganization。给organization_code也行item_numberdescriptionprimary_uom_code不给的话从Template取;Template没有从Profile“INV:DefaultPrimaryUnitofMeasure”取;再没有则报错lateidD获得OpenInterface最简单例子(模版创建Item)(11.5.9GITI环境测试通过)的字段最少。DECLARE l_iface_recinv.mtl_system_items_interface%ROWTYPE; l_user_idNUMBER:=0;--UserID,Sysadminhere l_mst_mfg_org_idNUMBER:=83;--MasterInvOrganization l_cur_mfg_org_idNUMBER:=82;--CurrentInvOrganizationBEGIN 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_cess_flag:=1; l_iface_rec.transaction_type:='CREATE'; l_iface_rec.set_process_id:=987654321; l_iface_rec.segment1:='TEST_ITEM_0001'; l_iface_rec.primary_uom_code:='Kg';接口开发参考INVItems物料【OpenInterface、UnopenedAPI】8of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006 l_iface_rec.description:='ForInterfaceTest'; l_iface_rec.template_id:=2;--PurchasedItem?tableinv.mtl_item_templates --??MasterInvOrganization l_iface_anization_id:=l_mst_mfg_org_id; INSERTINTOmtl_system_items_interfaceVALUESl_iface_rec; --?¨®CurrentInvOrganization l_iface_anization_id:=l_cur_mfg_org_id; INSERTINTOinv.mtl_system_items_interfaceVALUESl_iface_rec;END;OpenAPI最简单例子(模版创建Item)(VIS环境测试通过)DECLARE l_item_recinv_item_grp.item_rec_type; x_item_recinv_item_grp.item_rec_type; x_error_tblinv_item_grp.error_tbl_type; l_template_idNUMBER:=2;--PurchasedItem£¬tableinv.mtl_item_templates x_return_statusVARCHAR2(1); l_user_idNUMBER:=0;--UserID,Sysadminhere l_mst_mfg_org_idNUMBER:=204;--MasterInvOrganization l_cur_mfg_org_idNUMBER:=207;--CurrentInvOrganizationBEGIN --Initializefirst,orcreate_bywillbe-1 fnd_global.apps_initialize(user_id=>l_user_id,respresp_id=>20420respresp_appl_id=>1);Item l_item_rec.item_number:='TEST_ITEM_0004'; l_item_rec.description:='ForAPITest'; l_item_rec.primary_uom_code:='KG'; --MasterInvOrganizationfirst,thenCurrentInvOrganization l_item_anization_id:=l_mst_mfg_org_id;API inv_item_grp.create_item(p_commit=>fnd_api.g_false,pp_item_rec=>l_item_rec,xx_item_rec=>x_item_rec,xx_return_status=>x_return_status,xx_error_tbl=>x_error_tbl,pp_template_id=>l_template_id);Result IFx_return_status<>fnd_api.g_ret_sts_successTHENROLLBACKROLLBACK;FORiIN1..x_error_tbl.COUNTLOOP dbms_output.put_line('TransactionID:'||x_error_tbl(i)接口开发参考INVItems物料【OpenInterface、UnopenedAPI】9of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006..transaction_id); dbms_output.put_line('UniqueID:'||x_error_tbl(i)..unique_id); dbms_output.put_line('MessageName:'||x_error_tbl(i)..message_name); dbms_output.put_line('MessageText::'||x_error_tbl(i)..message_text); dbms_output.put_line('TableName:'||x_error_tbl(i)..table_name); dbms_output.put_line('ColumnName:'||x_error_tbl(i).column_name); dbms_output.put_line('OrganizationID:'||x_error_tbl(i)..organization_id);ENDENDLOOP; IF(x_return_status=fnd_api.g_ret_sts_unexp_error)THENRAISEfnd_api.g_exc_unexpected_error; ELSIF(x_return_status=fnd_api.g_ret_sts_error)THENRAISEfnd_api.g_exc_error;ENDENDIF;EELSECOMMITCOMMIT; dbms_output.put_line(x_item_rec.inventory_item_id);ENDENDIF;END;OpenAPI最简单例子(更新物料状态)(11.5.9GITI环境测试通过)DECLARE l_item_recinv_item_grp.item_rec_type; x_item_recinv_item_grp.item_rec_type; x_error_tblinv_item_grp.error_tbl_type; x_return_statusVARCHAR2(1); l_user_idNUMBER:=0;--UserID,Sysadminhere l_cur_mfg_org_idNUMBER:=443;--CurrentInvOrganizationBEGIN --Initializefirst,orcreate_bywillbe-1 fnd_global.apps_initialize(user_id=>l_user_id,respresp_id=>20420respresp_appl_id=>1);Item l_item_rec.item_number:='100E033L'; l_item_rec.inventory_item_status_code:='Inactive';--ActiveInactive --MasterInvOrganizationfirst,thenCurrentInvOrganization l_item_anization_id:=l_cur_mfg_org_id;API接口开发参考INVItems物料【OpenInterface、UnopenedAPI】10of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006 inv_item_grp.update_item(p_commit=>fnd_api.g_false,pp_item_rec=>l_item_rec,xx_item_rec=>x_item_rec,xx_return_status=>x_return_status,xx_error_tbl=>x_error_tbl);Result IFx_return_status<>fnd_api.g_ret_sts_successTHENROLLBACKROLLBACK;FORiIN1..x_error_tbl.COUNTLOOP dbms_output.put_line('TransactionID:'||x_error_tbl(i)..transaction_id); dbms_output.put_line('UniqueID:'||x_error_tbl(i)..unique_id); dbms_output.put_line('MessageName:'||x_error_tbl(i)..message_name); dbms_output.put_line('MessageText::'||x_error_tbl(i)..message_text); dbms_output.put_line('TableName:'||x_error_tbl(i)..table_name); dbms_output.put_line('ColumnName:'||x_error_tbl(i).column_name); dbms_output.put_line('OrganizationID:'||x_error_tbl(i)..organization_id);ENDENDLOOP; IF(x_return_status=fnd_api.g_ret_sts_unexp_error)THENRAISEfnd_api.g_exc_unexpected_error; ELSIF(x_return_status=fnd_api.g_ret_sts_error)THENRAISEfnd_api.g_exc_error;ENDENDIF;EELSECOMMITCOMMIT; dbms_output.put_line(x_item_rec.item_number);ENDENDIF;END;据重复问题mtl_system_items_interface没有unique索引(transaction_id不算),所以注意接口数据不要重复;否则MasterInvOrganization的物料可以进入系统,但其他组织的就属性控制层次问题MasterInvOrganizationItemMasterOrgControl的字段需要保持MasterInvOrganization的值(mtl_item_attributes中conctrol_level=1);还有一些字段也需要保持MasterInvOrganization的值,否则接口会报错,它们是:接口开发参考INVItems物料【OpenInterface、UnopenedAPI】11of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践create_supply_flagdual_uom_controlbuyer_idallowed_units_lookup_codepurchasing_item_flaginternal_order_flaginventory_item_flagDocRef:<DocumentReferenceNumber>December14,2006接口开发参考INVItems物料【OpenInterface、UnopenedAPI】12of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,20063.INVItemCategories物料类别【OpenInterface、UnopenedAPI】3.1.快速参考做物料类别分配的时候,主要需考虑类别的控制层次、一个类别集下是否允许多类目前接口和API都不支持Update操作,需要通过Delete后Create来实现。11.5.10的API有Update功能。定义类别代码:N:INV/Setup/Items/Categories/CategoryCodes定义类别集:N:INV/Setup/Items/Categories/CategorySets分配物料类别:N:INV/Items/OrganizationItems/Tools/CategoriesN:INV/Items/Import/ItemCategoryAssignmentOpenInterfacemtl_item_categories_interfaceAPIinv_item_category_pub.delete_category_assignmentinv_item_category_pub.create_category_assignment接口FormN:接口ReportN/ADebugProfile115mfgapi.pdf:OracleManufacturingAPIsandOpenInterfacesManual3.2.开发参考接口表、错误信息表TableList:mtl_item_categories_interfacemtl_item_categoriesceN:INV/Items/Import/ItemCategoryAssignmentOpenInterfaceSetProcessID对应接口字段set_process_idN:接口开发参考INVItemCategories物料类别【OpenInterface、UnopenedAPI】13of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践3.3.关键字段(参数)+最简单例子DocRef:<DocumentReferenceNumber>December14,2006mtl_item_categories_interfaceset_process_idtransaction_typeCREATE或者DELETE,没有Update,其=DELETE+CREATEprocess_flag1organization_idinventory_item_idcategory_set_idcategory_idOpenInterface最简单例子(11.5.9GITI环境测试通过)DECLARE l_iface_recmtl_item_categories_interface%ROWTYPE; l_cur_mfg_org_idNUMBER:=82;--CurrentInvOrganization l_user_idNUMBER:=0;--UserID,SysadminhereBEGIN l_iface_rec.last_updated_by:=l_user_id; l_iface_rec.last_update_date:=SYSDATE; l_iface_rec.created_by:=l_user_id; l_iface_rec.creation_date:=SYSDATE; l_iface_rec.set_process_id:=987654321; l_iface_rec.transaction_type:='CREATE'; l_iface_cess_flag:=1; l_iface_anization_id:=l_cur_mfg_org_id; l_iface_rec.inventory_item_id:=5159; l_iface_rec.category_set_id:=1; l_iface_rec.category_id:=913; INSERTINTOmtl_item_categories_interfaceVALUESl_iface_rec;END;UnopenedAPI最简单例子(11.5.9GITI环境测试通过)DECLARE x_return_statusVARCHAR2(1); x_msg_countNUMBER; x_msg_dataVARCHAR2(2000);接口开发参考INVItemCategories物料类别【OpenInterface、UnopenedAPI】14of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践 x_errorcodeVARCHAR2(30);DocRef:<DocumentReferenceNumber>December14,2006 l_cur_mfg_org_idNUMBER:=82;--CurrentInvOrganization l_user_idNUMBER:=0;--UserID,SysadminhereBEGIN --Initializefirst,orcreate_bywillbe-1 fnd_global.apps_initialize(user_id=>l_user_id,respresp_id=>20420respresp_appl_id=>1); inv_item_category_pub.create_category_assignment(p_api_version=>'1.0',pp_init_msg_list=>fnd_api.g_true,pp_commit=>fnd_api.g_false,xx_return_status=>x_return_status,xx_errorcode=>x_errorcode,xx_msg_count=>x_msg_count,xx_msg_data=>x_msg_data,pp_category_id=>913,pp_category_set_id=>1,--1Inventorypp_inventory_item_id=>5159,pp_organization_id=>l_cur_mfg_org_id); IFx_return_status<>fnd_api.g_ret_sts_successTHENROLLBACKROLLBACK; dbms_output.put_line('errorcode:'||x_errorcode); fnd_msg_pub.count_and_get(p_count=>x_msg_count,p_data=>x_msg_data); dbms_output.put_line('errorcount:'||to_char(x_msg_count)); dbms_output.put_line(REPLACE(x_msg_data,chr(0),''));FORiIN2..x_msg_countLOOPx_msg_data:=fnd_msg_pub.get;dbms_output.put_line(REPLACE(x_msg_data,chr(0),''));ENDENDLOOP; IF(x_return_status=fnd_api.g_ret_sts_unexp_error)THENRAISEfnd_api.g_exc_unexpected_error; ELSIF(x_return_status=fnd_api.g_ret_sts_error)THENRAISEfnd_api.g_exc_error;ENDENDIF;EELSECOMMITCOMMIT; ENDENDIF;END;接口开发参考INVItemCategories物料类别【OpenInterface、UnopenedAPI】15of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006接口开发参考INVItemCategories物料类别【OpenInterface、UnopenedAPI】16of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,20064.INVMaterialTransactions物料事务处理【OpenInterface】4.1.快速参考物料事务处理的内容非常丰富,有库存本身的三种杂项、子库转移、组织间转移、物不管哪种类型,关键是控制Source和Type字段(transaction_type_id、transaction_source_id)。N:INV/Transactions/MiscellaneousTransactionsN:INV/Transactions/MaterialTransactionsProcesstransactioninterfaceN:INV/Setup/Transactions/InterfaceManagers/Processtransactioninterface/Tools/LaunchManagermtl_transactions_interfacemtl_transaction_lots_interfacemtl_serial_numbers_interfacecst_comp_snap_interfacemtl_transactions_interface接口FormN:INV/Transactions/TransactionOpenInterface接口ReportN/ADebugProfileINV:DebugLevel,大于0即可oracle_iface_scripts_pkg.mtl_misc_trx/mtl_subinv_transfer/wip_issue_ifa115mfgapi.pdf:OracleManufacturingAPIsandOpenInterfacesManual4.2.开发参考接口表、错误信息表TableList:mtl_transactions_interfacemtl_material_transactionsmtl_transaction_accounts分录mtl_transaction_lots_interfacemtl_transaction_lot_numbers批次,可选,视Item是否mtl_serial_numbers_interfacemtl_serial_numbers序列号,可选,视Item是cst_comp_snap_interfacecst_comp_snapshot仅当做WIP装配件完工或退回且组织使用平均成本mtl_transactions_interface*不要使用xxx_temp接口表,如mtl_material_transactions_temp;用它们会绕过系统直接进入数据表TableRelation:接口开发参考INVMaterialTransactions物料事务处理【OpenInterface】17of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,2006OracleERP最佳技术实践mtl_transactions_interface.transaction_interface_id=mtl_transaction_lots_interface.transaction_interface_idmtl_transactions_interface.transaction_interface_id=mtl_serial_numbers_interface.transaction_interface_idmtl_transactions_interface.transaction_interface_id=mtl_transaction_lots_interface.transaction_interface_idmtlmtl_transaction_lots_interface.serial_transaction_temp_id=mtl_serial_numbers_interface.transaction_interface_idmtl_transactions_interfaceselectselectmti.error_code,mti.error_explanationfrommtl_transactions_interfacemti;eN:INV/Setup/Transactions/InterfaceManagers/Processtransactioninterface/Tools/LaunchManager个是库存事务处理主程序,正式环境一般是Schedule运行的。r通常这个是由Processtransactioninterface根据接口中是否有数据自动调用的,无需手这里介绍它,主要是因为也可以在插入数据到接口表后,立即用程序调用它,达到类rN:INV/Setup/Transactions/InterfaceManagers/CostManager/Tools/LaunchManager上面的请求如果顺利跑完,物料事务已经做完,但是并没有产生财务信息,必须由CostManager来完成此事。正式环境一般是Schedule运行的。N:INV/Transactions/TransactionOpenInterface接口开发参考INVMaterialTransactions物料事务处理【OpenInterface】18of109FileRef:深入浅出OracleEBS之常用接口开发参考.doc(v.DRAFT1A)CompanyConfidential-ForinternaluseonlyOracleERP最佳技术实践DocRef:<DocumentReferenceNumber>December14,OracleERP最佳技术实践对于未处理或者失败的记录可以在这里查看、更正、重新提交(打勾或者Tools/ResubmitAll),保存之后仍需要运行接口请求才能被处理。4.3.关键字段(参数)+最简单例子mtl_transactions_interfacetransaction_mode给32Concurrent,Processtransactioninterface不处理,需要程序调用Inventorytransactionworker处理3Background,由Processtransactioninterface处理process_flag给11Yes2No3Errortransaction_type_id事务处理类型;关键的是它关联的transaction_action_id;系几个ID是固定的transaction_source_id账户别名杂项,用别名ID即disposition_id账户杂项,用账户ID即code_combination_idWIP物料事务,用任务ID即wip_entity_idSO物料事务,用mtl_sales_orders.sales_order_id子库转移或组织间转移,为空organization_idCurrentInvOrganizationinventory_item_idsubinventory_codetransfer_organization子库转移事务时的CurrentInvOrganizationtransfer_subinventory标子库代码transaction_quantity数量;收是正、出/子库转移是负、平均成本更新是0transaction_uomtransaction_date接口开发参考INVMaterialTransactions物料事务处理【OpenInterface】19of109FileRef:深入浅出Ora

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论