--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, --:inventory_item_id_parent, --- (select inventory_item_id from mtl_system_items_b where organization_id=89 and segment1='FWP14(A)-PLN'),
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;
--程式碼三:
procedure expand_bom(p_org_id number, p_item_no varchar2) is v_cnt number;
l_grp_id number;
l_session_id number;
l_org_id number;
l_levels_to_explode number;
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 := 1; --1 bom 2 eng
l_rev_date varchar2(30) := to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS'); --Must be this
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;
-- Find item_id
select inventory_item_id
into l_item_id
from mtl_item_flexfields
where organization_id = p_org_id
and item_number = p_item_no;
-- determine maximum levels to explode from bom_explosions
select maximum_bom_level
into l_levels_to_explode
from bom_parameters
where organization_id = p_org_id;
delete bom_explosion_tmp where top_item_id = l_item_id;
--delete bom_explosion_temp;
commit;
cuxbompexpl.exploder_userexit(verify_flag => 0, -- DEFAULT 0
org_id => p_org_id,
order_by => 1, -- DEFAULT 1
grp_id => l_grp_id,
session_id => l_session_id,
levels_to_explode => 5, --l_levels_to_explode,
bom_or_eng => l_bom_or_eng,
impl_flag => 1, -- DEFAULT 1
plan_factor_flag => 2, -- DEFAULT 2
explode_option => 2, -- DEFAULT 2
module => l_module, -- DEFAULT 2
cst_type_id => l_cst_type_id,
std_comp_flag => 0,
expl_qty => 1, -- DEFAULT 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);
if (l_error_code <> 0) then
rollback;
dbms_output.put_line('ERROR: ' || l_err_msg);
else
select count(*)
into v_cnt
from bom_explosion_temp
where group_id = l_grp_id;
dbms_output.put_line('Count=' || v_cnt);
commit;
end if;
/*
insert into bom_explosion_tmp
select * from bom_explosion_temp;
--where top_item_id =l_item_id
commit; */
end;
標準API展開BOM程式碼
相關文章
- BOM展開學習
- 字元編碼發展史6 — BOM位元組序標記字元
- 不安裝標準件如何直接匯出含有標準件的BOM
- 雲原生2.0閘道器API標準發展趨勢API
- ORACLE BOM正反向展開例項Oracle
- 點選標題可以展開效果程式碼例項
- ABAP的程式碼規範標準
- portlets API將成為標準!API
- 多階BOM查詢程式碼
- Windows API視窗程式設計 - 系統標準按鈕WindowsAPI程式設計
- 順展BOM實用SQLSQL
- 求多階BOM查詢程式碼
- 銀彈谷積極參與低程式碼開發平臺標準編制 助力行業健康發展行業
- 華為程式設計規範,程式碼驗收標準。程式設計
- [轉載]ABAP中查詢程式碼的標準程式
- 選擇低程式碼應用程式開發框架的5個關鍵標準框架
- stms傳輸批量請求和修改sap標準程式程式碼
- WordPress開發入門09:WordPress編碼標準
- 程式設計師面試的標準答案並不標準程式設計師面試
- Python 自用程式碼(某方標準類網頁原始碼清洗)Python網頁原始碼
- SolidKits高階BOM工具標準版終身免費申領授權啦~Solid
- 開源與標準(轉)
- RestCloud API低程式碼開發平臺,實現無程式碼快速釋出APIRESTCloudAPI
- 音訊編解碼標準音訊
- php批量檢測並去除BOM頭的程式碼PHP
- 批量去除PHP檔案中bom的PHP程式碼PHP
- APP開啟(二)—標準流程APP
- vscode摺疊展開程式碼VSCode
- EV程式碼簽名證書和標準程式碼簽名證書有何不同?
- 聞香識程式碼,什麼是衡量程式碼質量的終極標準?
- 排序策略 - Swift標準庫原始碼排序Swift原始碼
- 導庫標準引數指令碼指令碼
- Delphi編碼標準——元件命名 (轉)元件
- 6. 開篇《 刻意學習 Golang - 標準庫原始碼分析 》Golang原始碼
- Mozilla開放Firefox OS程式碼和APIFirefoxAPI
- 《Web前端開發最佳實踐》——3.4 停止使用不標準的標籤和屬性,簡化HTML程式碼Web前端HTML
- Python標準庫06 子程式Python
- 程式語言的六個標準