用程式碼動太加入F4選擇列表(Function:F4IF_INT_TABLE_VALUE_REQUEST)

TolyHuang發表於2007-04-03

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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章