在做二次开发过程中,有时遇到要展BOM计算物料需求或展BOM成本明细时,需要使用到该存储过程。以前,我刚触Oracle EBS时,不知道有标准展BOM存储过程,还自己创建类似的临时表和存储过程。因此,写本文章希望给初学者有帮助。
系统版本:
RDBMS : 9.2.0.6.0Oracle 应用产品 : 11.5.10.2
路径:BOM->清单->多级表单如下主要调用Oracle EBS系统存储过程:bompexpl.exploder_userexit 和临时表:bom_explosion_temp。
参数 | 说明 | 备注 |
Verify_Flag | 默认为0 | 默认值为0 |
Org_Id | 库存组织ID | |
Order_By | 排序 | 1为 工序;物料序号 2为 物料序号;工序 |
Grp_Id | 组别ID | 序列Bom_Explosion_Temp_S.NextVal给它赋值 |
Session_Id | 会话ID,默认为0 | |
Levels_To_Explode | 最大层级 | 默认为设置 |
Bom_Or_Eng | BOM或工程BOM | 默认值为1 |
Impl_Flag | 仅限于已实施的BOM | 默认值为1 |
Plan_Factor_Flag | 使用计划% | 默认值为2 |
Explode_Option | 展BOM选项,默认值为3 | 1.全部 2.当前 3.将来和当前 |
Module | 成本 | 默认值为2 |
Cst_Type_Id | 成本类型 | 1.为Frozen冻结成本 3.为Pending待定成本 |
Std_Comp_Flag | 默认值为2 | |
Expl_Qty | 数量 | 默认值为1 |
Item_Id | 物料ID | |
Alt_Desg | 替代项 | 默认值为Null |
Comp_Code | 默认值为Null | |
Unit_Number_From | 部件号从 | |
Unit_Number_To | 部件号至 | |
Rev_Date | 有效日期 | 默认为当前时间 |
Show_Rev | 默认值为1 | |
Material_Ctrl | 物料控制 | |
Lead_Time | 提前期 | 默认值为2 |
实例代码如下:
declare v_errbuf varchar2(200); v_retcode varchar2(300); begin DELETE FROM bom_explosion_temp; bompexpl.exploder_userexit(VERIFY_FLAG => 0,ORG_ID => 122,--V_ORG_ID,--组织ID ORDER_BY => 1,--排序 GRP_ID => 1,--分组 SESSION_ID => 0,--会话ID LEVELS_TO_EXPLODE => 20,--最大层级 BOM_OR_ENG => 1,IMPL_FLAG => 1,--仅限于已实施的BOM PLAN_FACTOR_FLAG => 2,--使用计划% EXPLODE_OPTION => 3,--BOM显示类型 MODULE => 1,--成本 CST_TYPE_ID => 1,--成本类型 STD_COMP_FLAG => 2,EXPL_QTY => 1000,--数量 ITEM_ID => 3001035,--V_ITEM_ID 物料ID ALT_DESG => NULL,---替代项 COMP_CODE => NULL,-- REV_DATE => TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS'),--有效日期 err_msg => v_errbuf,error_code => v_retcode); End;
原文链接:https://www.f2er.com/oracle/207224.html