Skip to Content
avatar image
Former Member

Multiple selection button for FM F4IF_INT_TABLE_VALUE_REQUEST

Hi

When we declare a select option using below syntax

select-options: s_vbeln for vbak-vbeln no intervals.

multiple selection button comes at the bottom part the selection pop up .(screenshot attached below)

But when we use FM F4IF_INT_TABLE_VALUE_REQUEST for any other field , multiple selection button doesn't appear (screenshot attached below).

Is there anyway can we get the button while using the FM F4IF_INT_TABLE_VALUE_REQUEST as well ?

Regards,

Prabin


button.png (19.0 kB)
no-button.png (9.7 kB)
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • Best Answer
    avatar image
    Former Member
    Apr 18, 2017 at 10:11 AM

    Hi Rakshith,

    You are right "The functionality of the multiple selection can be achieved using F4IF_INT_TABLE_VALUE_REQUEST" .

    But in this way we have to include additional code to validate the selection screen value and check box mark.

    So this is not time effective as compare to "AT SELECTION-SCREEN ON VALUE-REQUEST FOR" .

    There should be an option/flag in the FM to take care of all these validations automatically. Isn't it ??

    Thanks.

    Regards,

    Prabin

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 13, 2017 at 12:24 PM

    Any input would be helpful....

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 13, 2017 at 02:53 PM

    Hi Prabin,

    I'm not sure whether can add multi select in F4IF_INT_TABLE_VALUE_REQUEST.

    But you can use multi select in search help.

    REPORT  zzzztest.
    *&
    *&---------------------------------------------------------------------*
    *&
    *&
    *&---------------------------------------------------------------------*
    
    TABLES:
            vbak.
    TYPES:
           BEGIN OF TY_vbak,
             vbeln TYPE vbak-vbeln,
           END OF TY_vbak.
    
    DATA:
          IT_MARK     TYPE DDSHMARKS,
          WA_MARK     LIKE LINE OF IT_MARK,
          IT_vbak   TYPE STANDARD TABLE OF TY_vbak,
          WA_vbak   TYPE TY_vbak.
    
    SELECT-OPTIONS:
         S_vbeln FOR vbak-vbeln NO INTERVALS.
    
    
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_vbeln-LOW.
      PERFORM F4_FOR_vbeln USING 'S_VBELN-LOW'.
    *&---------------------------------------------------------------------*
    *&      Form  F4_FOR_PERNR
    *&---------------------------------------------------------------------*
    FORM F4_FOR_VBELN  USING  P_SEL_FIELD.
      TYPES:
            LTY_DYNPREAD        TYPE DYNPREAD,
            LTY_RET_TAB         TYPE DDSHRETVAL,
            LTY_DFIES           TYPE DFIES.
      DATA:
            LT_DYNPREAD         TYPE STANDARD TABLE OF LTY_DYNPREAD,
            LT_RET_TAB          TYPE STANDARD TABLE OF LTY_RET_TAB,
            LT_DFIES            TYPE STANDARD TABLE OF LTY_DFIES.
      DATA:
            LS_DYNPREAD         TYPE LTY_DYNPREAD,
            LS_RET_TAB          TYPE LTY_RET_TAB,
            LS_DFIES            TYPE LTY_DFIES.
    
      DEFINE F4_FIELDS.
        LS_DFIES-FIELDNAME = &1.
        LS_DFIES-INTLEN    = &2.
        LS_DFIES-LENG      = &3.
        LS_DFIES-OUTPUTLEN = &4.
        LS_DFIES-OFFSET    = &5.
        LS_DFIES-SCRTEXT_S = &6.
        LS_DFIES-SCRTEXT_M = &7.
        LS_DFIES-SCRTEXT_L = &8.
        LS_DFIES-REPTEXT   = &9.
        APPEND LS_DFIES TO LT_DFIES.
        CLEAR  LS_DFIES.
      END-OF-DEFINITION.
    
      F4_FIELDS:
             'VBELN' '16' '16' '16' '000' 'VBELN'  'VBELN'  'PERNR'
             'VBELN'.
    
      SELECT vbeln UP TO 100 ROWS
        FROM vbak
        INTO CORRESPONDING FIELDS OF TABLE IT_vbak.
    
      SY-DYNNR = 1000.
    *  PERFORM INIT_FIELD_TAB CHANGING LT_DFIES.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD        = 'VBELN'
          DYNPPROG        = SY-REPID
          DYNPNR          = SY-DYNNR
          DYNPROFIELD     = P_SEL_FIELD
          VALUE_ORG       = 'S'
          MULTIPLE_CHOICE = 'X'
          MARK_TAB        = IT_MARK
        TABLES
          FIELD_TAB       = LT_DFIES
          VALUE_TAB       = IT_VBAK
          RETURN_TAB      = LT_RET_TAB.
    *  CLEAR S_pernr[].
      DATA LV_VALUE TYPE SHVALUE_D.
      CLEAR IT_MARK.
      LOOP AT LT_RET_TAB INTO LS_RET_TAB .
        READ TABLE IT_VBAK INTO WA_VBAK WITH KEY VBELN = 
    LS_RET_TAB-FIELDVAL.
        IF SY-SUBRC EQ 0.
          WA_MARK = SY-TABIX.
          APPEND WA_MARK TO IT_MARK.
          CLEAR  WA_MARK.
        ENDIF.
        LV_VALUE = LS_RET_TAB-FIELDVAL.
        AT FIRST.
          S_VBELN-LOW    = LV_VALUE.
          S_VBELN-SIGN   = 'I'.
          S_VBELN-OPTION = 'EQ'.
          APPEND S_VBELN.
          CLEAR S_VBELN.
        ENDAT.
        S_VBELN-LOW    = LS_RET_TAB-FIELDVAL.
        S_VBELN-SIGN   = 'I'.
        S_VBELN-OPTION = 'EQ'.
        APPEND S_VBELN.
        CLEAR S_VBELN.
    
      ENDLOOP.
      CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'.
    
    ENDFORM.                    " F4_FOR_PERNR
    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi John,

      I had already implemented the logic , which you have suggested .

      My only concern is unavailability of Multiple selection button in selection pop up when we use F4IF_INT_TABLE_VALUE_REQUEST.

      Thanks.

      Prabin

  • Apr 14, 2017 at 05:54 AM

    Hi Prabin,

    Mutiple selection button will be excluded when you use the AT SELECTION-SCREEN ON VALUE-REQUEST FOR because whatever the functionality of the multiple selection can be achieved using F4IF_INT_TABLE_VALUE_REQUEST(check the John Vo's coomment).

    Thanks & Regards,

    Rakshith Gore

    Add comment
    10|10000 characters needed characters exceeded

  • Apr 17, 2017 at 05:26 AM

    Hi Prabin,

    When you are calling the FM, please notice that there is a import parameter "multiple_choice".

    Mark it as 'X' and you are good to go.

    Example.

     CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'MATNR'
          dynpprog        = sy-repid
          dynpnr          = sy-dynnr
          dynprofield     = 'P_MATNR'
          value_org       = 'S'
          multiple_choice = 'X'
        TABLES
          value_tab       = it_mara.

    Hope it helps.

    Regards,

    Mangesh

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Mangesh,

      I had already implemented the suggested solution Still I don't see the multiple Selection button.

      Thanks.

      Regards,

      Prabin