1業務要求
1.當多層展開時:
根據"BOM應用程序"字段CAPID在TC04中取出"選擇ID"TC04-CSLID;
再根據TCS41-CSLID= TC04-CSLID,取出"選擇優先級"TCS41-CSLPR、"用途"TCS41-STLAN,按照"選擇優先級"升序排序;
根據物料、工廠、上面排序的第一個用途、可選BOM 從MAST(BOM 鏈接物料)表查詢記錄,取物料MAST-MATNR、工廠MAST-WERKS、BOM用途MAST-STLAN、可選BOM MAST-STLAL、BOM編號MAST-STLNR;
如果有值,則結束取值,如果無值,則根據排序的第二個用途,其他條件都相同,取出數據。
2.但單層展開或多層有限展開等其他情況時:
只根據上述取MAST的邏輯取出相關數據即可,不需要取TC04和TCS41表。
最終,並根據單層展開、多層展開、多層有限展開、不顯示虛擬件、不考慮替代組等按鈕,調整傳入BAPI的相關參數,當多層展開時,不傳BOM用途字段,當其他情況時,傳入BOM用途字段,並獲取不同的返回結果。
2技術實現
2.1獲取數據
根據邏輯獲取TC04和MAST表中的數據,並根據優先級對TC04的數據進行排序。循環TC04,查找MAST,如果查找到就刪除其他數據,否則繼續循環。
單層展開,則參數MEHRS(多層展開)、BREMS(有限展開)不賦值;
多層展開,則參數MEHRS==X,參數BREMS不賦值;
多層有限展開,則參數MEHRS==X,BREMS==X;
不顯示虛擬件,則從展開內表中排除虛擬件標識DUMPS==x(小寫x)的記錄;
不考慮替代組,則參數EHNDL==X 否則不賦值。
2.2 調用BAPI
調用BAPI:CS_BOM_EXPL_MAT_V2。
參數定義:
調用BAPI:
整合返回數據
抬頭數據:
行項目: