--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 – Clipboard APIAPI
- 雲原生2.0閘道器API標準發展趨勢API
- Windows API視窗程式設計 - 系統標準按鈕WindowsAPI程式設計
- BOM主播職業技能標準 職業守則要求從嚴
- 銀彈谷積極參與低程式碼開發平臺標準編制 助力行業健康發展行業
- 選擇低程式碼應用程式開發框架的5個關鍵標準框架
- 立誠徵信助力互金職業標準化開展
- 華為程式設計規範,程式碼驗收標準。程式設計
- SolidKits高階BOM工具標準版終身免費申領授權啦~Solid
- WordPress開發入門09:WordPress編碼標準
- vscode摺疊展開程式碼VSCode
- RestCloud API低程式碼開發平臺,實現無程式碼快速釋出APIRESTCloudAPI
- Python標準庫06 子程式Python
- EV程式碼簽名證書和標準程式碼簽名證書有何不同?
- 聞香識程式碼,什麼是衡量程式碼質量的終極標準?
- 從金融多活標準看容災發展
- openGauss 支援標準開發介面
- APP開啟(二)—標準流程APP
- 排序策略 - Swift標準庫原始碼排序Swift原始碼
- 6. 開篇《 刻意學習 Golang - 標準庫原始碼分析 》Golang原始碼
- 小程式開發標準流程與費用明細介紹
- 低程式碼開發平臺,可無需程式碼快速釋出APIAPI
- [譯]標準化Keras:TensorFlow 2.0中的高階API指南KerasAPI
- Linux的標準輸入、標準輸出和標準錯誤Linux
- 指令碼日誌的標準輸出指令碼
- GB標準文件爬蟲下載程式爬蟲
- Unix環境高階程式設計——開源的標準化努力程式設計
- laravel-api-response - 規範化和標準化 Laravel API 響應資料結構LaravelAPI資料結構
- STDF:2020年標準和貿易發展基金報告
- 使用 Laravel 開發 API 時的前置準備LaravelAPI
- API低程式碼開發平臺,全面管控企業的API資產API
- PACS原始碼,遵循DICOM3.0國際標準開發的醫院PACS原始碼原始碼
- 小視訊app開發過程中的兩種編碼標準APP
- Revive開發商加入VR開源標準OpenXRVR
- 華為雲引領首個程式碼大模型國際標準立項大模型
- 一個非常標準的連線Mysql資料庫的示例程式碼MySql資料庫