BOM_EXPLOSION_temp是一个临时表,在展BOM的时候,是一个很有用的表,存放了组成料件层次。默认时是没有记录的,加入下列的语句:
DECLARE
l_group_id NUMBER;
l_error_message VARCHAR2(1000);
l_error_code NUMBER;
BEGIN
SELECT bom.bom_explosion_temp_s.NEXTVAL --取下一个序列
INTO l_group_id
FROM DUAL;
BEGIN
apps.bompexpl.exploder_userexit (verify_flag =>
NULL,
org_id
=> 122,
order_by
=> 1,
grp_id
=> l_group_id,
session_id
=> NULL,
levels_to_explode
=> 10, ----展开十层
bom_or_eng
=> 1,
impl_flag
=> 1,
plan_factor_flag
=> NULL,
explode_option
=> 2,
MODULE
=> 2,
cst_type_id
=> NULL,
std_comp_flag
=> 2,
expl_qty
=> 1,
item_id
=>32523,
alt_desg
=> NULL,
comp_code
=> NULL,
rev_date
=> to_char(sysdate,'yyyy/mm/dd
hh24:mi:ss'),--版本日期
err_msg
=> l_error_message,
ERROR_CODE
=> l_error_code);
COMMIT;
END;
dbms_output.put_line(l_error_code||l_error_message);
END;
---查询
select * from BOM_EXPLOSION_temp;
还有一种更加准确的
DECLARE
err_meg
VARCHAR2(100);
ERROR_CODE VARCHAR2(100);
BEGIN
bompxinq.exploder_userexit(verify_flag
=> 0,
org_id
=> 122,
order_by
=> 1,
grp_id
=> 0,
session_id
=> 0,
levels_to_explode => 10,
bom_or_eng
=> 1, -- 1 bom 2 eng
impl_flag
=> 2,
plan_factor_flag =>
1,
explode_option =>
1,
module => 2,
cst_type_id
=> 2, --average
std_comp_flag => 2,
expl_qty
=> 1,
item_id
=> 35463,
unit_number_from => NULL,
unit_number_to
=> NULL,
alt_desg => '',
comp_code => '',
rev_date =>
'',
err_msg
=> err_meg,
ERROR_CODE => ERROR_CODE);
END;
SELECT * FROM bom_small_expl_temp
DBMS_OUTPUT.PUT_LINE('Entered GEN_LOT_NUM_FOR_BYPRODUCTS ');
Bompxinq.Exploder_Userexit(
Verify_Flag
=> 0,
Org_Id
=> P_ORGANIZATION_ID ,
Order_By
=> null,
Grp_Id
=> 0,
Session_Id => 0,
Levels_To_Explode => 1,
Bom_Or_Eng => 2,
Impl_Flag => 2,
Plan_Factor_Flag => 2,
Explode_Option => 3,
Module => 2,
Cst_Type_Id =>0,
Std_Comp_Flag => 2,
Expl_Qty => 1,
Item_Id => P_INVENTORY_ITEM_ID ,
Alt_Desg =>
P_ALTERNATE_BOM_DESIGNATOR,--'ALT01',--null,--'ALT471153',
Comp_Code => null,
Unit_Number_From => null,
Unit_Number_To => null,
Rev_Date =>
l_revision_hdate,
Show_Rev => 1, -- yes
Material_Ctrl => 2,