ITPub博客

首页 > 数据库 > 数据库开发技术 > 用代碼動太加入F4選擇列表(Function:F4IF_INT_TABLE_VALUE_REQUEST)

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

原创 数据库开发技术 作者:tolyhuang 时间:2007-04-03 11:44:45 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/9437124/viewspace-908437/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-07-22

  • 博文量
    268
  • 访问量
    1468744