选择屏幕参数,带有动态匹配代码



我有一个匹配代码的输入参数的意甲,我需要此字段(MatchCode)将取决于文本参数。例如,类似的东西:

SELECTION-SCREEN BEGIN OF BLOCK block02 WITH FRAME TITLE text-002.
  PARAMETERS:
    p_mona   TYPE ZTIPOSOL GROUP rad1 MATCHCODE OBJECT ZFIMC002, 
    p_fcomp  TYPE SY-DATUM MODIF ID A OBLIGATORY.
SELECTION-SCREEN END OF BLOCK block02
ABAP Development

不,你不能。但是,您可以在AT SELECTION-SCREEN ON VALUE-REQUEST事件中动态填充搜索帮助值:

DATA: LT_VBAK TYPE STANDARD TABLE OF VBAK.
PARAMETER P_VBELN TYPE VBELN.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VBELN.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
       RETFIELD       = 'VBELN'
       DYNPPROG       = SY-REPID
       DYNPNR         = SY-DYNNR
       DYNPROFIELD    = 'P_VBELN'
       VALUE_ORG      = 'S'
      TABLES
       VALUE_TAB      = LT_VBAK
      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.

其中LT_VBAK是一个内部表,您需要用值填充。如果您的值取决于其他选择屏幕参数,请使用DYNP_VALUES_READ FM从屏幕上读取它们。

另一种方法不是动态填充值,而是在DDIC中创建单个搜索帮助并创建搜索帮助退出,该搜索将根据某些条件控制Shelp行为。

相关内容

  • 没有找到相关文章

最新更新