DECLARE
x_msg_data VARCHAR2(2000);
l_error_code VARCHAR2(100);
l_group_id NUMBER;
l_organization_id NUMBER := 703;
l_inventory_item_id NUMBER := 638690;
l_max_level NUMBER;
BEGIN
DELETE bom_explosion_temp;
SELECT bom.bom_explosion_temp_s.nextval --取下一个序列
INTO l_group_id
FROM dual;
SELECT MAX(maximum_bom_level)
INTO l_max_level
FROM bom_parameters
WHERE organization_id = l_organization_id;
dbms_output.put_line('l_group_id = ' || l_group_id);
bompexpl.exploder_userexit(verify_flag => NULL
,org_id => l_organization_id
,order_by => 1
,grp_id => l_group_id
,session_id => NULL
,levels_to_explode => l_max_level
,bom_or_eng => 1
,impl_flag => 1
,plan_factor_flag => NULL
,explode_option => 2
/*1.explode_option 值为2:展当前
2. explode_option 值为1:展将来
3. explode_option 值为3:展将来和当前
*/
,module => 2
,cst_type_id => NULL
,std_comp_flag => 2
,expl_qty => 1
,item_id => l_inventory_item_idz
,alt_desg => NULL --'635690'
,comp_code => NULL
,rev_date => to_char(SYSDATE
,'yyyy/mm/dd hh24:mi:ss')
,err_msg => x_msg_data
,ERROR_CODE => l_error_code);
dbms_output.put_line('x_msg_data = ' || x_msg_data);
dbms_output.put_line('l_error_code = ' || l_error_code);
END;