簡體   English   中英

帶有動態匹配碼的選擇屏幕參數

[英]Selection screen parameter with a dynamic 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 行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM