楼主: Format

[精华] 求BOM展开方法及代码

[复制链接]
论坛徽章:
0
21#
发表于 2005-6-22 11:42 | 只看该作者
bom的我之前写过,手上没有code,不过上面的SQL参照着,你很容易写吧?!

使用道具 举报

回复
论坛徽章:
0
22#
发表于 2005-12-28 01:11 | 只看该作者

递归方法不好, 在SQLServer中就有限制递归层数

最初由 io0deli 发布
[B]可以用递归SQL实现,一个SQL就搞定啦 [/B]


递归方法不好, 在SQLServer中就有限制递归层数,
不能做到无限级的BOM, 这样就存在隐患!

使用道具 举报

回复
论坛徽章:
1
ERP板块每日发贴之星
日期:2006-01-04 01:03:37
23#
发表于 2006-1-3 08:51 | 只看该作者
GOOD!~

使用道具 举报

回复
论坛徽章:
0
24#
发表于 2006-6-19 16:26 | 只看该作者
我也来谈谈技术bom中bompexpl.exploder_userexit 的使用,

使用道具 举报

回复
论坛徽章:
0
25#
发表于 2006-6-21 14:38 | 只看该作者
不错,大家来发言

使用道具 举报

回复
论坛徽章:
12
会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28ERP板块每日发贴之星
日期:2011-02-26 01:01:012011新春纪念徽章
日期:2011-02-18 11:43:33生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10生肖徽章:猪
日期:2006-09-07 10:15:06生肖徽章:猴
日期:2006-09-06 21:20:15世界杯纪念徽章
日期:2006-07-20 13:19:20
26#
发表于 2006-6-26 15:40 | 只看该作者
如果用递归,存在一个数量的问题,假设assembly2个,那么我如何得到每层的component
的数量呢,这样的递归不知道能不能写出来

使用道具 举报

回复
论坛徽章:
0
27#
发表于 2006-7-4 10:30 | 只看该作者
以下为我的学习心得,希望对大家有点帮助,
oracle 内置包,用于将表中数据以层次关系展开 将运行出的数据添加到零时表中

bompexpl.exploder_userexit(verify_flag => :verify_flag,
org_id => :rg_id,--organization_id --用户输入的组织号
order_by => :rder_by, --1 - Op seq, item seq
--2 - Item seq, op seq
grp_id => :grp_id, --unique value to identify current explosion use
--value from sequence bom_explosion_temp_s

session_id => :session_id, --unique value to identify current session
-- use value from bom_explosion_temp_session_s

levels_to_explode => :levels_to_explode, - -展开层数
bom_or_eng => :bom_or_eng, --1 - BOM; 2 - ENG
impl_flag => :impl_flag, -- 1 - implemented only 2 - both impl and unimpl

plan_factor_flag => lan_factor_flag, 默认2
explode_option => :explode_option, -- 1 - All| 2 - Current| 3 - Current and future
module => :module, -- 1 - Costing| 2 - Bom| 3 - Order entry| 4 - ATO| 5 - WSM

cst_type_id => :cst_type_id,--cost type id for costed explosion
std_comp_flag => :std_comp_flag, --std_comp_flag 1 - explode only standard components
-- 2 - all components

expl_qty => :expl_qty, -- explosion quantity
item_id => :item_id, --item id of assembly to explode--用户输入的库存号
alt_desg => :alt_desg, ---alternate bom designator
comp_code => :comp_code, --concatenated component code lpad 16
rev_date => :rev_date, -- explosion date YYYY/MM/DD HH24:MI:SS ;一定要这个格式to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS')
err_msg => :err_msg, --error message out buffer返回错误信息
error_code => :error_code--error code out.returns sql error code if sql error 返回错误代码

)

使用道具 举报

回复
论坛徽章:
0
28#
发表于 2006-7-11 10:21 | 只看该作者
楼上说的递归我也试过了,感觉不好,要考虑的问题很多,一般建议还是用oracle自带的那个包比较好

使用道具 举报

回复
论坛徽章:
53
ITPUB元老
日期:2007-05-26 17:20:07雪佛兰
日期:2013-11-09 14:27:29Jeep
日期:2013-11-11 12:36:42大众
日期:2014-01-07 13:55:32凯迪拉克
日期:2014-01-21 10:40:32兰博基尼
日期:2014-01-21 14:23:55雪佛兰
日期:2014-02-08 08:40:412014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-20 16:11:47
29#
发表于 2006-7-12 08:27 | 只看该作者
最初由 sunweijie-22 发布
[B]楼上说的递归我也试过了,感觉不好,要考虑的问题很多,一般建议还是用oracle自带的那个包比较好 [/B]

一个例子:用BOMPXINQ.EXPORT_BOM得到展开结果。
-- Author  :  rolleaway
-- Created :  2006/02/17 AM 09:30:59
-- Purpose :  export bill of material
--application version racle erp 11.5.7
--database version    : oracle 8.1.7
--reference: Manufacturing APIs and Open Interfaces Manual
--premise:
          /*create table cux_bom_export_temp
          as
          select *
          from bom_small_expl_temp*/
--example :         
declare
        l_bom_export_tab                         BOMPXINQ.bomexporttabtype;
                          l_Err_Msg                                 VARCHAR2(240);
                        l_Error_Code                  NUMBER;

begin
fnd_global.APPS_INITIALIZE(1911,50191,401);  
BOMPXINQ.EXPORT_BOM(        0   ,
                        '组织层次结构'  ,
                        62590        ,
                        84,                 
                        '',
                         2,
                  0,
                        l_bom_export_tab        ,
                        l_Err_Msg                                 ,
                        l_Error_Code                 
                        );
if(l_Error_Code<>0)then
dbms_output.put_line(l_Error_Code||'-'||l_Err_Msg);
end if;  
for i in 1..l_bom_export_tab.count loop
  insert into cux_bom_export_temp(TOP_BILL_SEQUENCE_ID  ,
                                  BILL_SEQUENCE_ID     ,
                                  ORGANIZATION_ID          ,
                                  COMPONENT_SEQUENCE_ID        ,
                                  COMPONENT_ITEM_ID          ,
                                  PLAN_LEVEL             ,
                                  EXTENDED_QUANTITY     ,
                                  SORT_ORDER              ,
                                  REQUEST_ID               ,
                                  PROGRAM_APPLICATION_ID    ,
                                  PROGRAM_ID               ,
                                  PROGRAM_UPDATE_DATE          ,
                                  GROUP_ID           ,
                                  SESSION_ID        ,
                                  SELECT_FLAG                 ,
                                  SELECT_QUANTITY  ,
                                  EXTEND_COST_FLAG        ,
                                  TOP_ALTERNATE_DESIGNATOR   ,
                                  TOP_ITEM_ID                ,
                                  CONTEXT                     ,
                                  ATTRIBUTE1                   ,
                                  ATTRIBUTE2                  ,
                                  ATTRIBUTE3                  ,
                                  ATTRIBUTE4                  ,
                                  ATTRIBUTE5                 ,
                                  ATTRIBUTE6                   ,
                                  ATTRIBUTE7                  ,
                                  ATTRIBUTE8                  ,
                                  ATTRIBUTE9                ,
                                  ATTRIBUTE10               ,
                                  ATTRIBUTE11               ,
                                  ATTRIBUTE12                ,
                                  ATTRIBUTE13                ,
                                  ATTRIBUTE14               ,
                                  ATTRIBUTE15                ,
                                  HEADER_ID                    ,
                                  LINE_ID                     ,
                                  LIST_PRICE                    ,
                                  SELLING_PRICE                 ,
                                  COMPONENT_YIELD_FACTOR        ,
                                  ITEM_COST                     ,
                                  INCLUDE_IN_ROLLUP_FLAG        ,
                                  BASED_ON_ROLLUP_FLAG          ,
                                  ACTUAL_COST_TYPE_ID           ,
                                  COMPONENT_QUANTITY            ,
                                  SHRINKAGE_RATE                ,
                                  SO_BASIS                      ,
                                  OPTIONAL                      ,
                                  MUTUALLY_EXCLUSIVE_OPTIONS    ,
                                  CHECK_ATP                     ,
                                  SHIPPING_ALLOWED              ,
                                  REQUIRED_TO_SHIP              ,
                                  REQUIRED_FOR_REVENUE          ,
                                  INCLUDE_ON_SHIP_DOCS          ,
                                  INCLUDE_ON_BILL_DOCS          ,
                                  LOW_QUANTITY                  ,
                                  HIGH_QUANTITY                 ,
                                  PICK_COMPONENTS               ,
                                  PRIMARY_UOM_CODE            ,
                                  PRIMARY_UNIT_OF_MEASURE      ,
                                  BASE_ITEM_ID                  ,
                                  ATP_COMPONENTS_FLAG           ,
                                  ATP_FLAG                     ,
                                  BOM_ITEM_TYPE                 ,
                                  PICK_COMPONENTS_FLAG        ,
                                  REPLENISH_TO_ORDER_FLAG       ,
                                  SHIPPABLE_ITEM_FLAG          ,
                                  CUSTOMER_ORDER_FLAG         ,
                                  INTERNAL_ORDER_FLAG          ,
                                  CUSTOMER_ORDER_ENABLED_FLAG  ,
                                  INTERNAL_ORDER_ENABLED_FLAG  ,
                                  SO_TRANSACTIONS_FLAG        ,
                                  MTL_TRANSACTIONS_ENABLED_FLAG ,
                                  STOCK_ENABLED_FLAG            ,
                                  DESCRIPTION                   ,
                                  ASSEMBLY_ITEM_ID              ,
                                  CONFIGURATOR_FLAG           ,
                                  PRICE_LIST_ID                 ,
                                  ROUNDING_FACTOR               ,
                                  PRICING_CONTEXT             ,
                                  PRICING_ATTRIBUTE1           ,
                                  PRICING_ATTRIBUTE2            ,
                                  PRICING_ATTRIBUTE3            ,
                                  PRICING_ATTRIBUTE4            ,
                                  PRICING_ATTRIBUTE5            ,
                                  PRICING_ATTRIBUTE6            ,
                                  PRICING_ATTRIBUTE7            ,
                                  PRICING_ATTRIBUTE8            ,
                                  PRICING_ATTRIBUTE9            ,
                                  PRICING_ATTRIBUTE10           ,
                                  PRICING_ATTRIBUTE11           ,
                                  PRICING_ATTRIBUTE12           ,
                                  PRICING_ATTRIBUTE13           ,
                                  PRICING_ATTRIBUTE14           ,
                                  PRICING_ATTRIBUTE15           ,
                                  COMPONENT_CODE               ,
                                  LOOP_FLAG                     ,
                                  INVENTORY_ASSET_FLAG          ,
                                  PLANNING_FACTOR               ,
                                  OPERATION_SEQ_NUM             ,
                                  PARENT_BOM_ITEM_TYPE          ,
                                  WIP_SUPPLY_TYPE               ,
                                  ITEM_NUM                      ,
                                  EFFECTIVITY_DATE            ,
                                  DISABLE_DATE                 ,
                                  IMPLEMENTATION_DATE          ,
                                  SUPPLY_SUBINVENTORY           ,
                                  SUPPLY_LOCATOR_ID             ,
                                  COMPONENT_REMARKS            ,
                                  CHANGE_NOTICE                ,
                                  OPERATION_LEAD_TIME_PERCENT   ,
                                  REXPLODE_FLAG                 ,
                                  COMMON_BILL_SEQUENCE_ID       ,
                                  OPERATION_OFFSET              ,
                                  CURRENT_REVISION             ,
                                  LOCATOR                      ,
                                  FROM_END_ITEM_UNIT_NUMBER    ,
                                  TO_END_ITEM_UNIT_NUMBER )
  values(l_bom_export_tab(i).TOP_BILL_SEQUENCE_ID  ,
                                  l_bom_export_tab(i).BILL_SEQUENCE_ID     ,
                                  l_bom_export_tab(i).ORGANIZATION_ID          ,
                                  l_bom_export_tab(i).COMPONENT_SEQUENCE_ID        ,
                                  l_bom_export_tab(i).COMPONENT_ITEM_ID          ,
                                  l_bom_export_tab(i).PLAN_LEVEL             ,
                                  l_bom_export_tab(i).EXTENDED_QUANTITY     ,
                                  l_bom_export_tab(i).SORT_ORDER              ,
                                  l_bom_export_tab(i).REQUEST_ID               ,
                                  l_bom_export_tab(i).PROGRAM_APPLICATION_ID    ,
                                  l_bom_export_tab(i).PROGRAM_ID               ,
                                  l_bom_export_tab(i).PROGRAM_UPDATE_DATE          ,
                                  l_bom_export_tab(i).GROUP_ID           ,
                                  l_bom_export_tab(i).SESSION_ID        ,
                                  l_bom_export_tab(i).SELECT_FLAG                 ,
                                  l_bom_export_tab(i).SELECT_QUANTITY  ,
                                  l_bom_export_tab(i).EXTEND_COST_FLAG        ,
                                  l_bom_export_tab(i).TOP_ALTERNATE_DESIGNATOR   ,
                                  l_bom_export_tab(i).TOP_ITEM_ID                ,
                                  l_bom_export_tab(i).CONTEXT                     ,
                                  l_bom_export_tab(i).ATTRIBUTE1                   ,
                                  l_bom_export_tab(i).ATTRIBUTE2                  ,
                                  l_bom_export_tab(i).ATTRIBUTE3                  ,
                                  l_bom_export_tab(i).ATTRIBUTE4                  ,
                                  l_bom_export_tab(i).ATTRIBUTE5                 ,
                                  l_bom_export_tab(i).ATTRIBUTE6                   ,
                                  l_bom_export_tab(i).ATTRIBUTE7                  ,
                                  l_bom_export_tab(i).ATTRIBUTE8                  ,
                                  l_bom_export_tab(i).ATTRIBUTE9                ,
                                  l_bom_export_tab(i).ATTRIBUTE10               ,
                                  l_bom_export_tab(i).ATTRIBUTE11               ,
                                  l_bom_export_tab(i).ATTRIBUTE12                ,
                                  l_bom_export_tab(i).ATTRIBUTE13                ,
                                  l_bom_export_tab(i).ATTRIBUTE14               ,
                                  l_bom_export_tab(i).ATTRIBUTE15                ,
                                  l_bom_export_tab(i).HEADER_ID                    ,
                                  l_bom_export_tab(i).LINE_ID                     ,
                                  l_bom_export_tab(i).LIST_PRICE                    ,
                                  l_bom_export_tab(i).SELLING_PRICE                 ,
                                  l_bom_export_tab(i).COMPONENT_YIELD_FACTOR        ,
                                  l_bom_export_tab(i).ITEM_COST                     ,
                                  l_bom_export_tab(i).INCLUDE_IN_ROLLUP_FLAG        ,
                                  l_bom_export_tab(i).BASED_ON_ROLLUP_FLAG          ,
                                  l_bom_export_tab(i).ACTUAL_COST_TYPE_ID           ,
                                  l_bom_export_tab(i).COMPONENT_QUANTITY            ,
                                  l_bom_export_tab(i).SHRINKAGE_RATE                ,
                                  l_bom_export_tab(i).SO_BASIS                      ,
                                  l_bom_export_tab(i).OPTIONAL                      ,
                                  l_bom_export_tab(i).MUTUALLY_EXCLUSIVE_OPTIONS    ,
                                  l_bom_export_tab(i).CHECK_ATP                     ,
                                  l_bom_export_tab(i).SHIPPING_ALLOWED              ,
                                  l_bom_export_tab(i).REQUIRED_TO_SHIP              ,
                                  l_bom_export_tab(i).REQUIRED_FOR_REVENUE          ,
                                  l_bom_export_tab(i).INCLUDE_ON_SHIP_DOCS          ,
                                  l_bom_export_tab(i).INCLUDE_ON_BILL_DOCS          ,
                                  l_bom_export_tab(i).LOW_QUANTITY                  ,
                                  l_bom_export_tab(i).HIGH_QUANTITY                 ,
                                  l_bom_export_tab(i).PICK_COMPONENTS               ,
                                  l_bom_export_tab(i).PRIMARY_UOM_CODE            ,
                                  l_bom_export_tab(i).PRIMARY_UNIT_OF_MEASURE      ,
                                  l_bom_export_tab(i).BASE_ITEM_ID                  ,
                                  l_bom_export_tab(i).ATP_COMPONENTS_FLAG           ,
                                  l_bom_export_tab(i).ATP_FLAG                     ,
                                  l_bom_export_tab(i).BOM_ITEM_TYPE                 ,
                                  l_bom_export_tab(i).PICK_COMPONENTS_FLAG        ,
                                  l_bom_export_tab(i).REPLENISH_TO_ORDER_FLAG       ,
                                  l_bom_export_tab(i).SHIPPABLE_ITEM_FLAG          ,
                                  l_bom_export_tab(i).CUSTOMER_ORDER_FLAG         ,
                                  l_bom_export_tab(i).INTERNAL_ORDER_FLAG          ,
                                  l_bom_export_tab(i).CUSTOMER_ORDER_ENABLED_FLAG  ,
                                  l_bom_export_tab(i).INTERNAL_ORDER_ENABLED_FLAG  ,
                                  l_bom_export_tab(i).SO_TRANSACTIONS_FLAG        ,
                                  l_bom_export_tab(i).MTL_TRANSACTIONS_ENABLED_FLAG ,
                                  l_bom_export_tab(i).STOCK_ENABLED_FLAG            ,
                                  l_bom_export_tab(i).DESCRIPTION                   ,
                                  l_bom_export_tab(i).ASSEMBLY_ITEM_ID              ,
                                  l_bom_export_tab(i).CONFIGURATOR_FLAG           ,
                                  l_bom_export_tab(i).PRICE_LIST_ID                 ,
                                  l_bom_export_tab(i).ROUNDING_FACTOR               ,
                                  l_bom_export_tab(i).PRICING_CONTEXT             ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE1           ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE2            ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE3            ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE4            ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE5            ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE6            ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE7            ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE8            ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE9            ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE10           ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE11           ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE12           ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE13           ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE14           ,
                                  l_bom_export_tab(i).PRICING_ATTRIBUTE15           ,
                                  l_bom_export_tab(i).COMPONENT_CODE               ,
                                  l_bom_export_tab(i).LOOP_FLAG                     ,
                                  l_bom_export_tab(i).INVENTORY_ASSET_FLAG          ,
                                  l_bom_export_tab(i).PLANNING_FACTOR               ,
                                  l_bom_export_tab(i).OPERATION_SEQ_NUM             ,
                                  l_bom_export_tab(i).PARENT_BOM_ITEM_TYPE          ,
                                  l_bom_export_tab(i).WIP_SUPPLY_TYPE               ,
                                  l_bom_export_tab(i).ITEM_NUM                      ,
                                  l_bom_export_tab(i).EFFECTIVITY_DATE            ,
                                  l_bom_export_tab(i).DISABLE_DATE                 ,
                                  l_bom_export_tab(i).IMPLEMENTATION_DATE          ,
                                  l_bom_export_tab(i).SUPPLY_SUBINVENTORY           ,
                                  l_bom_export_tab(i).SUPPLY_LOCATOR_ID             ,
                                  l_bom_export_tab(i).COMPONENT_REMARKS            ,
                                  l_bom_export_tab(i).CHANGE_NOTICE                ,
                                  l_bom_export_tab(i).OPERATION_LEAD_TIME_PERCENT   ,
                                  l_bom_export_tab(i).REXPLODE_FLAG                 ,
                                  l_bom_export_tab(i).COMMON_BILL_SEQUENCE_ID       ,
                                  l_bom_export_tab(i).OPERATION_OFFSET              ,
                                  l_bom_export_tab(i).CURRENT_REVISION             ,
                                  l_bom_export_tab(i).LOCATOR                      ,
                                  l_bom_export_tab(i).FROM_END_ITEM_UNIT_NUMBER    ,
                                  l_bom_export_tab(i).TO_END_ITEM_UNIT_NUMBER );                                       
end loop;      
commit;
end ;

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2006-7-17 12:39 | 只看该作者
好复杂啊

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表