LOADING

Oracle EBS BOM标准展BOMSQL查询

Oracle EBS BOM标准展BOMSQL查询–>

展BOM计算物料需求或展BOM成本明细

路径: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

实例代码如下:

— 1.产生临时表查询数据 ————————————————————————————————————–
DECLARE
  L_GRP_ID             NUMBER;
  L_SESSION_ID         NUMBER;
  L_ORG_ID             NUMBER;
  L_LEVELS_TO_EXPLODE  NUMBER := 10;
  L_MODULE             NUMBER DEFAULT 2; — BOM = 2 
  L_CST_TYPE_ID        NUMBER DEFAULT – 1; — All cost = -1 else 0 
  L_ITEM_ID            NUMBER;
  L_BOM_OR_ENG         NUMBER;
  L_USING_REQ_QUANTITY NUMBER;
  L_USING_ASS_DEM_DATE DATE;
  L_REV_DATE           VARCHAR2(20) := TO_CHAR(SYSDATE, ‘DD-MON-YY HH24:MI’);
  L_ERR_MSG            VARCHAR2(250);
  L_ERROR_CODE         NUMBER;

  BEGIN
    — 首先要有一个Group id 
    SELECT BOM_EXPLOSION_TEMP_S.NEXTVAL
      INTO L_GRP_ID
      FROM DUAL;

    — 其次要得到一个Session id 
    SELECT BOM_EXPLOSION_TEMP_SESSION_S.NEXTVAL
      INTO L_SESSION_ID
      FROM DUAL;
    
    BOMPEXPL.EXPLODER_USEREXIT( 
                          VERIFY_FLAG                    =>0, 
                          ORG_ID                         =>104,           –V_ORG_ID, –组织ID 
                          ORDER_BY                       =>1,             –排序
                          GRP_ID                         =>L_GRP_ID,      –分组  L_GRP_ID
                          SESSION_ID                     =>L_SESSION_ID,  –会话ID  L_SESSION_ID
                          LEVELS_TO_EXPLODE              =>10,            –最大层级  L_LEVELS_TO_EXPLODE, 
                          BOM_OR_ENG                     =>1,             –L_BOM_OR_ENG, 
                          IMPL_FLAG                      =>1,             –仅限于已实施的BOM 
                          PLAN_FACTOR_FLAG               =>2,             –使用计划%
                          EXPLODE_OPTION                 =>2,             –2, –BOM显示类型    
                          MODULE                         =>L_MODULE,      –成本  L_MODULE
                          CST_TYPE_ID                    =>L_CST_TYPE_ID, –成本类型   L_CST_TYPE_ID
                          STD_COMP_FLAG                  =>2, 
                          EXPL_QTY                       =>1,             –数量
                          ITEM_ID                        =>109543,        — 物料ID  L_ITEM_ID
                          ALT_DESG                       =>”,            —NULL, 替代项
                          COMP_CODE                      =>”, 
                          REV_DATE                       =>L_REV_DATE,    –TO_CHAR(SYSDATE,’YYYY/MM/DD HH24:MI:SS’), –有效日期
                          ERR_MSG                        =>L_ERR_MSG, 
                          ERROR_CODE                     =>L_ERROR_CODE 
                          ); 
  END ;

— 2.查询临时表 ———————————————————————————————————————-
–SQL1 运行结束后用以下语句得到结果. 
— 2.1 —————————————————————————-
SELECT BOM_EXPLOSION_TEMP_S.CURRVAL
  FROM DUAL
  ;
— 2.2 —————————————————————————-
SELECT *
  FROM BOM_EXPLOSION_TEMP BET
 WHERE 1=1
   AND BET.GROUP_ID = 201083
   ;
SELECT bet.plan_level
      ,bet.item_num            “Item Seq”
      ,bet.operation_seq_num   “Operation Seq”
      ,msi.segment1            “Component”
      ,msi.item_type           “Component Type”
      ,bet.component_quantity  “Component Quantity” –组件用量
      ,bet.extended_quantity   “Extended Quantity”  –耗用
      ,bet.component_code      –阶梯式component_item_id组合
      ,bet.component_item_id
      ,bet.sort_order
      ,bet.group_id
    —  ,bet.*  
  FROM bom_explosion_temp bet 
      ,mtl_system_items_b msi
 WHERE 1=1 
   AND bet.component_item_id = msi.inventory_item_id
   AND bet.organization_id = msi.organization_id
   AND bet.group_id = 201083  
ORDER BY bet.sort_order

查询结果:

本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明

相关文章