Oracle EBS Interface/API(8)-标准展BOM存储过程

          在做二次开发过程中,有时遇到要展BOM计算物料需求或展BOM成本明细时,需要使用到该存储过程。以前,我刚触Oracle EBS时,不知道有标准展BOM存储过程,还自己创建类似的临时表和存储过程。因此,写本文章希望给初学者有帮助。

系统版本:

          RDBMS : 9.2.0.6.0

         Oracle 应用产品 : 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;


猜你喜欢

转载自blog.csdn.net/chenxianping/article/details/78366934