MD04供需狀況:
①生產訂單19084582和19090790的供給都是給安庫需求使用
②生產訂單20019995的供給是給訂單200006134項目50使用
①CTYB0757-P1庫存量滿足第一筆EQ-101046-01-DE需求使用,也就是上圖的生產訂單19084582 (庫存87 - 需求84 = 結余3)
②生產訂單20025412的供給是給第二筆EQ-101046-01-DE需求使用,也就是上圖的生產訂單19090790(結余3 - 需求1428 + 供給11 = 結余-1414)
③生產訂單20019183的1414個供給是給第二筆EQ-101046-01-DE需求使用,也就是上圖的生產訂單19090790 (結余-1414 + 供給1824 = 結余410 )
④生產訂單20019183的410個供給是給第三筆EQ-101046-01-DE需求使用,也就是上圖的生產訂單20019995(結余410 - 需求1554 = 結余 -1144)
⑤生產訂單20027828的供給是給第三筆EQ-101046-01-DE需求使用,也就是上圖的生產訂單20019995 (結余-1144 + 供給1150 = 結余6)
代碼:
TYPE-POOLS: slis. DATA: gs_layout TYPE slis_layout_alv, gt_fieldcat TYPE slis_t_fieldcat_alv. DATA: lt_mdrq LIKE mdrq OCCURS 0 WITH HEADER LINE. CALL FUNCTION 'MD_PEGGING_NODIALOG' EXPORTING edelkz = 'FE' "MRP元素 edelnr = '000020019183' "MRP元素號碼 edelps = '000001' "MRP 元素項目 ematnr = 'CTYB0757-P1' "物料編號 ewerks = '2000' "工廠 eberid = '2000' "MRP范圍 TABLES imdrqx = lt_mdrq EXCEPTIONS error = 1 no_requirements_found = 2 order_not_found = 3 OTHERS = 4. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = sy-repid i_internal_tabname = 'LT_MDRQ' i_inclname = sy-repid CHANGING ct_fieldcat = gt_fieldcat EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3. gs_layout-colwidth_optimize = 'X'. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-repid is_layout = gs_layout it_fieldcat = gt_fieldcat[] i_save = 'A' TABLES t_outtab = lt_mdrq EXCEPTIONS program_error = 1 OTHERS = 2.
效果: