[Oracle EBS APIs]import Flow routing and DJ routing using BOM_RTG_PUB.PROCESS_RTG APIs
DJ routing --BOM模块的工艺路线
Flow routing -- Flow Manufacturing 模块使用的工艺路线,导入 Flow routing时先导入Line Operation,然后在导入Event.
CREATE OR REPLACE PROCEDURE SU_PROCESS_RTG_TEST AS /*
* Note:
* bom_rtg_globals.G_OPR_CREATE ==> 'CREATE';
* bom_rtg_globals.G_OPR_UPDATE ==> 'UPDATE';
* bom_rtg_globals.G_OPR_DELETE ==> 'DELETE';
* CFM_Routing_Flag: 1==>Flow Routing,2==>DJ Routing
* Operation_Type: 1==>Event,3==>Line Operation 2==>Process
* import order: Line Operation => Event =>Process
*/
-- API input variables
l_operation_tbl Bom_Rtg_Pub.Operation_Tbl_Type := Bom_Rtg_Pub.G_MISS_OPERATION_TBL;
l_rtg_header_rec Bom_Rtg_Pub.Rtg_Header_Rec_Type := Bom_Rtg_Pub.G_MISS_RTG_HEADER_REC;
l_rtg_revision_tbl Bom_Rtg_Pub.Rtg_Revision_Tbl_Type := Bom_Rtg_Pub.G_MISS_RTG_REVISION_TBL;
l_op_resource_tbl Bom_Rtg_Pub.Op_Resource_Tbl_Type := Bom_Rtg_Pub.G_MISS_OP_RESOURCE_TBL;
l_sub_resource_tbl Bom_Rtg_Pub.Sub_Resource_Tbl_Type := Bom_Rtg_Pub.G_MISS_SUB_RESOURCE_TBL;
l_op_network_tbl Bom_Rtg_Pub.Op_Network_Tbl_Type := Bom_Rtg_Pub.G_MISS_OP_NETWORK_TBL; -- API output variables
x_rtg_header_rec Bom_Rtg_Pub.Rtg_Header_Rec_Type; -- routing header record
x_rtg_revision_tbl Bom_Rtg_Pub.Rtg_Revision_Tbl_Type; -- routing revisions
x_operation_tbl Bom_Rtg_Pub.Operation_Tbl_Type; -- routing operations
x_op_resource_tbl Bom_Rtg_Pub.Op_Resource_Tbl_Type; -- oepration resources
x_sub_resource_tbl Bom_Rtg_Pub.Sub_Resource_Tbl_Type; -- sub operation resources
x_op_network_tbl Bom_Rtg_Pub.Op_Network_Tbl_Type; -- operation networks
x_message_list Error_Handler.Error_Tbl_Type; -- Other API variables
l_return_status VARCHAR2() := NULL;
l_msg_count NUMBER := ;
l_cnt NUMBER := ; -- WHO columns
l_user_id NUMBER := -;
l_resp_id NUMBER := -;
l_application_id NUMBER := -;
l_row_cnt NUMBER := ;
l_user_name VARCHAR2() := 'xxxxxx';
l_resp_name VARCHAR2() := 'xxxxx'; BEGIN -- Get the user_id
SELECT user_id
INTO l_user_id
FROM fnd_user
WHERE user_name = l_user_name; -- Get the application_id and responsibility_id
SELECT application_id, responsibility_id
INTO l_application_id, l_resp_id
FROM fnd_responsibility
WHERE responsibility_key = l_resp_name; -- Initialize applications information
FND_GLOBAL.APPS_INITIALIZE(l_user_id, l_resp_id, l_application_id); -- Mfg / Mfg & Dist Mgr / INV
dbms_output.put_line('Initialized applications context: ' || l_user_id || ' ' ||
l_resp_id || ' ' || l_application_id); -- Create the routing header
l_rtg_header_rec.Assembly_Item_Name := 'TEST20160811';
l_rtg_header_rec.Organization_Code := 'HAD';
l_rtg_header_rec.Alternate_Routing_Code := NULL;
l_rtg_header_rec.CFM_Routing_Flag := ; ---==>Flow Routing,==>DJ Routing
l_rtg_header_rec.Line_Code := 'LHA420';
l_rtg_header_rec.mixed_model_map_flag := ;
--l_rtg_header_rec.Completion_Subinventory := 'FGI';
l_rtg_header_rec.Transaction_Type := bom_rtg_globals.G_OPR_CREATE;
l_rtg_header_rec.Attribute1 := 'STD';
l_rtg_header_rec.eng_routing_flag := ;
-- Create the routing operations
--Line operation
l_operation_tbl(l_cnt).Assembly_Item_Name := 'TEST20160811';
l_operation_tbl(l_cnt).Organization_Code := 'HAD';
l_operation_tbl(l_cnt).Alternate_Routing_Code := NULL;
l_operation_tbl(l_cnt).Operation_Sequence_Number := '';
l_operation_tbl(l_cnt).Standard_Operation_Code := '';
l_operation_tbl(l_cnt).Operation_Type := ; ---Operation_Type:==>Event,==>Line Operation
l_operation_tbl(l_cnt).Start_Effective_Date := SYSDATE - ;
l_operation_tbl(l_cnt).Yield := 0.87;
l_operation_tbl(l_cnt).reference_flag :=;
l_operation_tbl(l_cnt).Transaction_Type := bom_rtg_globals.G_OPR_CREATE; --Line operation
l_cnt := l_cnt + ;
l_operation_tbl(l_cnt).Assembly_Item_Name := 'TEST20160811';
l_operation_tbl(l_cnt).Organization_Code := 'HAD';
l_operation_tbl(l_cnt).Alternate_Routing_Code := NULL;
l_operation_tbl(l_cnt).Operation_Sequence_Number := '';
l_operation_tbl(l_cnt).Standard_Operation_Code := '';
l_operation_tbl(l_cnt).Operation_Type := ;---Operation_Type:==>Event,==>Line Operation
l_operation_tbl(l_cnt).Start_Effective_Date := SYSDATE - ; -- should match timestamp for UPDATE
l_operation_tbl(l_cnt).Yield := 1.0;
l_operation_tbl(l_cnt).reference_flag :=;
l_operation_tbl(l_cnt).Transaction_Type := bom_rtg_globals.G_OPR_CREATE; --Event1
l_cnt := l_cnt + ;
l_operation_tbl(l_cnt).Assembly_Item_Name := 'TEST20160811';
l_operation_tbl(l_cnt).Organization_Code := 'HAD';
l_operation_tbl(l_cnt).Alternate_Routing_Code := NULL;
l_operation_tbl(l_cnt).Operation_Sequence_Number := '';
l_operation_tbl(l_cnt).Standard_Operation_Code := '';
l_operation_tbl(l_cnt).Operation_Type := ; ---Operation_Type:==>Event,==>Line Operation
l_operation_tbl(l_cnt).Line_Op_Seq_Number := ;
l_operation_tbl(l_cnt).Line_Op_Code := '';
l_operation_tbl(l_cnt).Start_Effective_Date := SYSDATE - ;
l_operation_tbl(l_cnt).Yield := 0.87;
l_operation_tbl(l_cnt).reference_flag :=;
l_operation_tbl(l_cnt).Transaction_Type := bom_rtg_globals.G_OPR_CREATE;
--Event2
l_cnt := l_cnt + ;
l_operation_tbl(l_cnt).Assembly_Item_Name := 'TEST20160811';
l_operation_tbl(l_cnt).Organization_Code := 'HAD';
l_operation_tbl(l_cnt).Alternate_Routing_Code := NULL;
l_operation_tbl(l_cnt).Operation_Sequence_Number := '';
l_operation_tbl(l_cnt).Standard_Operation_Code := '';
l_operation_tbl(l_cnt).Operation_Type := ; ---Operation_Type:==>Event,==>Line Operation
l_operation_tbl(l_cnt).Line_Op_Seq_Number := ;
l_operation_tbl(l_cnt).Line_Op_Code := '';
l_operation_tbl(l_cnt).Start_Effective_Date := SYSDATE - ;
l_operation_tbl(l_cnt).Yield := 0.87;
l_operation_tbl(l_cnt).reference_flag :=;
l_operation_tbl(l_cnt).Transaction_Type := bom_rtg_globals.G_OPR_CREATE; -- initialize error stack for logging errors
Error_Handler.initialize; -- call API to create / update routing
DBMS_OUTPUT.PUT_LINE('=======================================================');
DBMS_OUTPUT.PUT_LINE('Calling Bom_Rtg_Pub.Process_Rtg API'); BOM_RTG_PUB.PROCESS_RTG(p_bo_identifier => 'RTG',
p_api_version_number => '1.0',
p_init_msg_list => TRUE,
p_rtg_header_rec => l_rtg_header_rec,
p_rtg_revision_tbl => l_rtg_revision_tbl,
p_operation_tbl => l_operation_tbl,
p_op_resource_tbl => l_op_resource_tbl,
p_sub_resource_tbl => l_sub_resource_tbl,
p_op_network_tbl => l_op_network_tbl,
x_rtg_header_rec => x_rtg_header_rec,
x_rtg_revision_tbl => x_rtg_revision_tbl,
x_operation_tbl => x_operation_tbl,
x_op_resource_tbl => x_op_resource_tbl,
x_sub_resource_tbl => x_sub_resource_tbl,
x_op_network_tbl => x_op_network_tbl,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
p_debug => 'N',
p_output_dir => '/usr/tmp/',
p_debug_filename => 'rtg_bo_debug.log'); DBMS_OUTPUT.PUT_LINE('=======================================================');
DBMS_OUTPUT.PUT_LINE('Return Status: ' || l_return_status); IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
dbms_output.put_line('x_msg_count:' || l_msg_count); Error_Handler.GET_MESSAGE_LIST(x_message_list => x_message_list);
DBMS_OUTPUT.PUT_LINE('Error Message Count :' || x_message_list.COUNT);
FOR i IN .. x_message_list.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(to_char(i) || ':' || x_message_list(i)
.entity_index || ':' || x_message_list(i)
.table_name);
DBMS_OUTPUT.PUT_LINE(to_char(i) || ':' || x_message_list(i)
.message_text);
END LOOP;
END IF;
DBMS_OUTPUT.PUT_LINE('======================================================='); EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Exception Occured :');
DBMS_OUTPUT.PUT_LINE(SQLCODE || ':' || SQLERRM);
DBMS_OUTPUT.PUT_LINE('=======================================================');
RAISE;
END;
[Oracle EBS APIs]import Flow routing and DJ routing using BOM_RTG_PUB.PROCESS_RTG APIs的更多相关文章
- Oracle EBS R12 WIP Component Issue&Return Process
oracleassemblytransactionscomponentsjobsreference 目录(?)[-] 定义BOM 定义Routing 定义WIP Discrete Job 发料 Mat ...
- Oracle EBS应用笔记整理 (转自IT++ flyingkite)
***************************************************** Author: Flyingkite Blog: http://space.itpub. ...
- Oracle EBS Form Builder使用Java beans创建窗体
最近有个项目,需要研究一下Oracle的E-Business Sutie(EBS),对于以前没接触此套件的我来说,简直太痛苦了.在网上找了一堆资料,试着进行Form二次开发,也遇到各类奇葩问题.目前遇 ...
- Oracle Order Management DropShip Flow for R12
Oracle Order Management DropShip Flow for R12 Email ThisBlogThis!Share to TwitterShare to FacebookSh ...
- Oracle EBS 12.2.6 on VirtualBox
Back in May, Oracle announced the general availability of Oracle VM Virtual Appliance for E-Business ...
- Oracle EBS WMS功能介绍(二)
Oracle EBS WMS功能介绍(二) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 出货物流逻辑主要包括 1. 打包.能够进 ...
- Oracle EBS Model Function Technical
♡.Oracle EBS(ERP)Oracle 是公司名字,这个我估计大家都知道.EBS是E-Business Suite的缩写,简单的说,就是Oracle做的一个企业级的信息化软件或者系统,里面包含 ...
- BPM与 SAP & Oracle EBS集成解决方案分享
一.需求分析 SAP和Oracle EBS都是作为全球顶级的的ERP产 品,得到了众多客户的青睐.然而由于系统庞大.价格昂贵以及定位不同,客户在实施过程中经常会面临以下困惑: 1.SAP如何实现&qu ...
- Oracle EBS - Doc
Oracle EBS spec.: http://vianet/IT/IT%20Dept/IT%20Project%20Update2/Active%20Projects%20%20Manufactu ...
随机推荐
- find in linux
find命令的作用是在目录中根据文件名搜索文件find 列出当前目录及其子目录的所有文件和文件夹的完整路径.find -name Help.java 在当前目录及其子目录中搜索文件名为Help.jav ...
- homework09-虐心的现程设终于要告一段落了
V3.0版本今天凌晨出炉 添加了随机生成 添加了文件打开 完全按照老师的要求搞定了 V2.0版本更新 添加了中间数组变量显示 这次作业写了整整一天,把以前能用的代码都改了一个遍 最后变成了网页版的小程 ...
- homework6-更加简单的题目
又把时间搞错了 以为这次要写客户端程序的博客 没想到这次是“怎么吃” 言归正传 cnblog上面有很多技术博客 http://perhaps.cnblogs.com/archive/2005/08/0 ...
- C#经典面试题 C# 中 Struct 与 Class 的区别,以及两者的适用场合
在一家公司面试时,第一个问题就是问到这个 转载 文章 http://www.cnblogs.com/waitrabbit/archive/2008/05/18/1202064.html 来解释此问题 ...
- 【Cocos2d-X开发学习笔记】第21期:动画类(CCAnimate)的使用
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 之前我们已经学习过一些方法让节点“动”起来,Co ...
- [转]sql server 数据库日期格式化函数
转至:http://www.cnblogs.com/hantianwei/archive/2009/12/03/1616148.html 0 或 100 (*) 默认值 mon ...
- Cocos2d-x——pthread的使用注意事项
1:多线程所调用的成员方法定义为static. 2:互斥锁(pthread_mutex_t)定义在cpp文件的开头,并且也定义为static. 3:pthread_mutex_init方法尽量在最早的 ...
- Java中throws和throw的区别讲解
当然,你需要明白异常在Java中式以一个对象来看待.并且所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,但是一般情况下Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示, ...
- 硝烟中的scrum和xp学习笔记 - 怎样编写产品backlog
产品backlog是scrum的核心,也是一切的起源. 从根本上说,它就是一个需求/故事/特性组成的列表,按照重要性的级别排序. 我们叫它story, 或者backlog(条目). Backlog I ...
- C语言经典算法100例(二)
11.判断某一年是否是闰年. //判断某一年份是否是闰年 int IsLeapYear(int year) { return (year % 400 == 0 || (year % 4 == 0) & ...