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

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值