文/潘勇 胡偉偉 陳軍偉
為達到精細化管理和企業(yè)高效運營,制造企業(yè)采用生產(chǎn)訂單來進行管理,但是制造企業(yè)很難做到當期開立的生產(chǎn)訂單關(guān)閉率達到100%,所以為綜合考慮準確反映生產(chǎn)訂單Loss,必須考慮未關(guān)閉生產(chǎn)訂單Loss 和其產(chǎn)品組件材料在產(chǎn)品數(shù)量和在產(chǎn)品金額。但是SAP 系統(tǒng)未提供標準功能計算生產(chǎn)訂單產(chǎn)品組件材料及制造費用在產(chǎn)品數(shù)量和在產(chǎn)品金額,同時企業(yè)生產(chǎn)訂單開立數(shù)量日益增多,如何從大量生產(chǎn)訂單數(shù)據(jù)中篩選當期有效生產(chǎn)訂單數(shù)據(jù),快速準確計算Loss 為成本分析提供數(shù)據(jù)支持是目前亟待解決的問題。
傳統(tǒng)生產(chǎn)訂單Loss 計算沒有考慮未關(guān)閉生產(chǎn)訂單對應(yīng)產(chǎn)品組件材料在產(chǎn)品數(shù)量和在產(chǎn)品金額,統(tǒng)計組件材料Loss 率不準確,無法為成本降低和生產(chǎn)環(huán)節(jié)改善提供數(shù)據(jù)支持;同時產(chǎn)品生產(chǎn)訂單是日益增多,無法從海量數(shù)據(jù)提取有價值生產(chǎn)訂單為組件材料Loss 計算提供數(shù)據(jù)準備,從而使原來的計算方法效率非常低,而且速度非常慢,適用性不強。
針對傳統(tǒng)生產(chǎn)訂單Loss計算方法效率低,提出新的生產(chǎn)訂單Loss 計算方法,植入自己編寫的算法,大大提高了效率;本方法主要根據(jù)輸入年月、工廠、產(chǎn)品編碼等參數(shù),得出產(chǎn)品在當月組件材料投入數(shù)量、材料在產(chǎn)品變動數(shù)量和在產(chǎn)品變動金額等輸出結(jié)果,從而根據(jù)輸出結(jié)果字段數(shù)值計算出產(chǎn)品組件材料損耗率。
該方法核心功能模塊是生產(chǎn)訂單取數(shù)模塊:生產(chǎn)訂單取數(shù)模塊主要是根據(jù)生產(chǎn)訂單實際開立日期和技術(shù)關(guān)閉日期做日期限制,可以剔除出冗余的生產(chǎn)訂單,提取有效生產(chǎn)訂單數(shù)據(jù),提高系統(tǒng)速度。
下面主要介紹本方法重要模塊:生產(chǎn)訂單取數(shù)模塊。
該模塊使用自己編寫的取有效工單數(shù)量算法getOrNum,通過工廠、訂單類型、年月份、生產(chǎn)版本參數(shù),結(jié)合SAP標準后臺表AFKO(訂單表頭數(shù)據(jù) PP 訂單)、AUFK(訂單主數(shù)據(jù))、AFPO(訂單項)根據(jù)關(guān)鍵字訂單號連接這3 個后臺表,首先滿足訂單實際下達時間大于等于輸入?yún)?shù)年月份減去1年后的月份的第一天并且小于等于輸入?yún)?shù)年月份的最后一天,因為如果實際下達日期大于當期年月份的工單肯定不會在當期年月有生產(chǎn)數(shù)據(jù),比如產(chǎn)量、投入等,可以剔除掉,同時考慮到有些工單跨周期比較長,該算法已經(jīng)延長工單開立1年時間,不僅保證數(shù)據(jù)準確,防止遺漏工單數(shù)量,還能提煉有用工單數(shù)量;其次技術(shù)關(guān)閉日期大于等于輸入年月份第一天,可以把之前月份關(guān)閉的工單給剔除掉,因為之前關(guān)閉的工單肯定不會在下月在進行投料生產(chǎn)等,縮減訂單數(shù)量,通過以上結(jié)合,可以大大縮減數(shù)據(jù)量,提升系統(tǒng)運行速度。以下是訂單取數(shù)getOrNum 具體算法:
getOrNum(p_pla,p_otp,p_mo,p_ver) // p_pla 為工廠,p_otp 為訂單類型,p_mo 為年月,p_ver 為生產(chǎn)版本
{
Date:d1,d2,d3;//d1,d2,d3 為 時 間 類型變量
d1=lastYear(p_mo);//d1 是當前年月減去1年后的年月份的第一天
d2=finalDate(p_mo);//經(jīng)過函數(shù)處理取當期月份最后一天
d3=firstDate(p_mo); //經(jīng)過函數(shù)處理取當期月份第一天
select a-aufnr into gt_afko //gt_afko 為取出訂單的存放內(nèi)表
from afko as a
join afpo as p on a-aufnr = p-aufnr //AFPO、AUFK、AFKO 為SAP 標準后臺表
join aufk as k on a-aufnr = k-aufnr
where k-werks=p_pla //werks 為工廠
and k-idat2>=d3
and p-verid=p_ver //verid 為生產(chǎn)版本
and d1<=a-ftrmi<=d2 //ftrmi 為訂單實際下達時間
and k-auart=p_otp //auart 為訂單類型
}
該算法以某公司SAP 測試機2017年1月至6月份數(shù)據(jù)實驗效果表明優(yōu)化前每月工單數(shù)是萬級數(shù)量級,使用算法后只有千級數(shù)量級,使用getOrNum 算法顯示無效生產(chǎn)訂單數(shù)據(jù)平均降低了86%,同時通過AUFM 后臺表查看行項目數(shù)算法前后保持一致,沒有遺漏數(shù)據(jù),準確率仍然保持在100%;使用新算法由原來的平均耗時60 分鐘,降低為8 分鐘左右,提速約6 倍多,大大提高了系統(tǒng)運行速度和組件材料準確率。
該方法植入自己編寫的生產(chǎn)訂單取數(shù)算法getOrNum,提取出有效的生產(chǎn)訂單數(shù)據(jù),剔除無效的數(shù)據(jù),大大縮減數(shù)據(jù)量,快速提高系統(tǒng)運行速度;將在產(chǎn)品考慮至該發(fā)明中,更能真實準確反映組件材料損耗率,為產(chǎn)品成本分析提供快速有效的數(shù)據(jù)支持。