SAP可以新增Search Help文件幫助用戶選擇資料,但有時對用戶的選擇要加入一些控制條件等,就需用代碼來動太控制了,具體代碼如下:
在ON VALUE-REQUEST事件中加入要選擇資料的欄位並編寫相應的處理模組:
PROCESS ON VALUE-REQUEST.
FIELD Field_Name MODULE HLP_FieldName.
模組HLP_FieldName的代碼:
MODULE HLP_FieldName INPUT.
"定義要顯示供選擇表的欄位
DATA: BEGIN OF IT_MARA OCCURS 0.
DATA: MATNR LIKE MARA-MATNR.
DATA: MAKTX LIKE MAKT-MAKTX.
DATA: END OF IT_MARA.
"取得供用戶選擇的資料(所有原材料)
SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_MARA FROM MARA AS A
INNER JOIN MAKT AS B ON A~MATNR = B~MATNR
WHERE A~MTART = 'ROH'.
"調用函數實際選擇對話功能
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'MATNR'
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'IT_MARA-MATNR'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_MARA
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " HLP_FieldName
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9437124/viewspace-908437/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9437124/viewspace-908437/