標籤:
無意中看到的,將來沒準用得上,轉一下。
原文地址:http://blog.chinaunix.net/u2/66669/showart_1273879.html
1.
用事務代碼OMT3C,(或者用SPRO進入,後勤-常規->物料主記錄->配置物料主記錄->建立定製子螢幕的程式)建立函數功能組,如ZMGD1,然後儲存.
2. 用事務代碼SE80進入,選擇函數組ZMGD1,在螢幕0001裡面建立自己的布局.
3. 書寫螢幕的PBO和PAI.PROCESS BEFORE OUTPUT.* MM01時限制輸入狀態
MODULE disable_fields.* MM02/MM03時把資料從自訂表格裡取出來,賦值給螢幕相應的欄位
MODULE get_data. PROCESS AFTER INPUT.
* 在這裡把資料匯出到MEMORY
MODULE assign_data. MODULE disable_fields. IF SY-TCODE = ‘MM03‘.
LOOP AT SCREEN.
SCREEN-INPUT = ‘0‘.
MODIFY SCREEN.
ENDLOOP.
ENDIF.ENDMODULE. MODULE GET_DATA OUTPUT.
TABLES: ZVPM_SAP_ENH. IF SY-TCODE = ‘MM02‘ OR SY-TCODE = ‘MM03‘.
GET PARAMETER ID ‘MAT‘ FIELD W_MATNR.
SELECT SINGLE ZCZBM FROM ZVPM_SAP_ENH
INTO ZVPM_SAP_ENH-ZCZBM
WHERE MATNR = W_MATNR. ENDIF.
ENDMODULE. MODULE ASSIGN_DATA INPUT.
EXPORT ZVPM_SAP_ENH TO MEMORY ID ‘ZVPM_SAP_ENH‘.ENDMODULE. 4.
用事務代碼OMT3B,(或者用SPRO進入,後勤-常規->物料主記錄->配置物料主記錄->定義每個螢幕序列的資料螢幕的結構)螢幕順序中,選擇右邊的21,然後點資料螢幕,然後選中右邊的07螢幕,再點子螢幕.然後在右邊的TC中調整SAPLZMGD1/0001在07螢幕的順序.
5.建立一個項目,組件為MGA00001,在出口EXIT_SAPLMGMU_001中書寫相關的代碼,然後啟用.TABLES: ZVPM_SAP_ENH.IF SY-UCOMM = ‘BU‘ OR SY-UCOMM = ‘YES‘.
IMPORT ZVPM_SAP_ENH FROM MEMORY ID ‘ZVPM_SAP_ENH‘.
ZVPM_SAP_ENH-MATNR = CMARA-MATNR.
MODIFY ZVPM_SAP_ENH FROM ZVPM_SAP_ENH.
ENDIF. 最後利用事務代碼MM01/MM02/MM03測試一下,看看效果如何.
(轉)實戰物料主要資料(MM01/MM02/MM03)螢幕增強 .