ERP系统里的BOM展开函数

本文介绍了一种在ERP系统中实现物料清单(BOM)展开的函数。该函数通过设置参数来控制BOM的展开层级及其它选项,并利用特定的会话标识进行展开操作。最后展示了如何查询展开后的临时表获取结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ERP系统里的BOM展开函数:

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(bom_dt,'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                          =>l_org_id,
                        order_by                      =>1,
                        grp_id                          =>l_grp_id,
                        session_id                    =>l_session_id,
                        levels_to_explode        =>l_levels_to_explode,
                        bom_or_eng                 =>l_bom_or_eng,
                        impl_flag                     =>1,
                        plan_factor_flag          =>2,
                        explode_option           =>2, -- 2,
                        module                        =>l_module,
                        cst_type_id                =>l_cst_type_id,
                        std_comp_flag           =>2,
                        expl_qty                    =>1,
                        item_id                      =>l_item_id,
                        alt_desg                     =>'',
                        comp_code                =>'',
                        rev_date                    =>l_rev_date,
                        err_msg                     =>l_err_msg,
                        error_code                 =>l_error_code
                        );

          END ;

运行结束后用以下语句得到结果.
SELECT *  FROM  bom_explosion_temp bet
  WHERE      bet.group_id         = l_grp_id
--------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值