How to create F1 help for fields of a table in SM30

I have a z-table which is being maintained using SM30. while creating new entries for the z-table using this SM30 i want to create F1 help which will be useful for the user to create new entries. can anyone pls help we this requirement?

Hi Lalitha,
To have F1 help documentation, you need to create Documentation by pressing Documentation button in the Change Data Element screen (SE11)
If you need certain values for the field through F4 help then you need to specify the values in the Domain of this Data element (SE11)
Jogeswara Rao K

Similar Messages

  • Create search helps for fields of custom tables

    Hi,
    Could any one please provide me the step by step process to create search helps for fields in custom tables?
    Thanks in advance,
    Nobin.

    Hello Nobin
    There is basically no difference between a search help for standard vs. customer tables.
    An important choise is the selection method for your search help:
    Either you use your custom table, a view or a search help user-exit if you need to implement very specific requirements.
    Assuming that you can use your DB table as selection method the further implementation of the search help is quite straightforward:
    (1) Define the parameters you would like to have a selection criteria (SPos = SPos) and which should appear on the result list (= LPos).
    (2) Define the parameters that can be used as input for the selection (flag IMP) and are returned by the search help (flag EXP)
    Regards
      Uwe

  • How to create  search help for field in interactive adobe form

    HI
    I want to create search help for PERNR field in adobe form.
    how i can do it.
    Can any one giud me.
    Regards,
    Laxman Sankhla

    Hi Laxman,
    Please search SDN, there are lots of queries posted and solved earlier on this.
    especially there are step by step blogs.
    Cheers,
    Sai

  • How to create Search Help for a field in Table control !!

    Hello Friends,
                  I like to know - How to create Search Help for a field in Table control. Is it possible, if it is please share ur knowledge, I wud be happy if U provide some source code example for this.
    Thanks,
    Senthil

    Check the sample code:
    *&  Include           ZSRO_MPRN_SEARCH                                 *
    MODULE PSTLZ_F4 INPUT
    MODULE pstlz_f4 INPUT.
    reading post code
      DATA: stepl TYPE systepl,
            stepl_index TYPE systepl.
      CLEAR: stepl, stepl_index.
      CLEAR:   lt_returntab,lt_dynpfields,i_mprn1.
      REFRESH: lt_returntab,lt_dynpfields,i_mprn1.
      lt_dynpfields-fieldname = 'I_MPRN-POST_CODE'.
      lt_dynpfields-stepl     = stepl.
      APPEND lt_dynpfields. CLEAR lt_dynpfields.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname               = sy-repid
          dynumb               = sy-dynnr
          translate_to_upper   = c_x
          determine_loop_index = c_x
        TABLES
          dynpfields           = lt_dynpfields
        EXCEPTIONS
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          invalid_parameter    = 7
          undefind_error       = 8
          double_conversion    = 9
          stepl_not_found      = 10
          OTHERS               = 11.
      IF sy-subrc EQ 0.
        READ TABLE lt_dynpfields INDEX 1.
      ENDIF.
      ws_outcode  = lt_dynpfields-fieldvalue.
      stepl_index = lt_dynpfields-stepl.
      REPLACE '*' WITH ' ' INTO lt_dynpfields-fieldvalue.
      IF NOT lt_dynpfields-fieldvalue IS INITIAL.
        MOVE lt_dynpfields-fieldvalue TO ws_outcode.
        ws_len = STRLEN( lt_dynpfields-fieldvalue ).
        IF ws_len GE 7.
          ws_len = ws_len - 3.
         ws_icode = ws_code+ws_len(3).
          lt_dynpfields-fieldvalue = lt_dynpfields-fieldvalue+0(ws_len).
          CONCATENATE lt_dynpfields-fieldvalue '%'
              INTO ws_outcode.
          CONDENSE lt_dynpfields-fieldvalue.
       REPLACE ws_icode WITH ' ' INTO lt_dynpfields-fieldvalue.
        ELSE.
          CONCATENATE lt_dynpfields-fieldvalue+0(4) '%'
            INTO ws_outcode.
        ENDIF.
       ws_ocode = ws_code+0(3).
      ENDIF.
    reading MPRN
      CLEAR:   lt_returntab,lt_dnpfields,i_mprn1.
      REFRESH: lt_returntab,lt_dnpfields,i_mprn1.
      lt_dnpfields-fieldname = 'I_MPRN-MPRN'.
      lt_dnpfields-stepl     = stepl_index.
      APPEND lt_dnpfields. CLEAR lt_dnpfields.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname               = sy-repid
          dynumb               = sy-dynnr
          translate_to_upper   = 'X'
        TABLES
          dynpfields           = lt_dnpfields
        EXCEPTIONS
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          invalid_parameter    = 7
          undefind_error       = 8
          double_conversion    = 9
          stepl_not_found      = 10
          OTHERS               = 11.
      IF sy-subrc EQ 0.
        READ TABLE lt_dnpfields INDEX 1.
      ENDIF.
    MPRN blank and Post code exist
      IF lt_dnpfields-fieldvalue IS INITIAL.
        IF NOT lt_dynpfields-fieldvalue IS INITIAL.
          SELECT mprn ser_num sub_bud bud_name del_pt_alias
                 bud_num dep_street prin_street dbl_dep_street
                 dep_locty post_town county outcode incode
                 lg_site_ind file_date FROM zspa_mprn INTO
                 CORRESPONDING FIELDS OF TABLE i_mprn1
                 WHERE outcode LIKE ws_outcode.
        ELSE.
    MPRN blank and Post code blank
          SELECT mprn ser_num sub_bud bud_name del_pt_alias
                 bud_num dep_street prin_street dbl_dep_street
                 dep_locty post_town county outcode incode
                 lg_site_ind file_date FROM zspa_mprn INTO
                 CORRESPONDING FIELDS OF TABLE i_mprn1.
        ENDIF.
      ELSE.
    MPRN exist and Post code exist
        IF NOT lt_dynpfields-fieldvalue IS INITIAL.
          SELECT mprn ser_num sub_bud bud_name del_pt_alias
                 bud_num dep_street prin_street dbl_dep_street
                 dep_locty post_town county outcode incode
                 lg_site_ind file_date FROM zspa_mprn INTO
                 CORRESPONDING FIELDS OF TABLE i_mprn1
                 WHERE outcode LIKE ws_outcode AND
                       mprn EQ lt_dnpfields-fieldvalue.
        ELSE.
    MPRN exist and Post code blank
          SELECT mprn ser_num sub_bud bud_name del_pt_alias
                 bud_num dep_street prin_street dbl_dep_street
                 dep_locty post_town county outcode incode
                 lg_site_ind file_date FROM zspa_mprn INTO
                 CORRESPONDING FIELDS OF TABLE i_mprn1
                 WHERE mprn EQ lt_dnpfields-fieldvalue.
        ENDIF.
      ENDIF.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'MPRN'
          dynpprog        = sy-repid
          dynpnr          = sy-dynnr
          window_title    = 'Select MPRN'
          value_org       = 'S'
        TABLES
          value_tab       = i_mprn1 "lt_mprn
          return_tab      = lt_returntab
        EXCEPTIONS
          parameter_error = 1
          no_values_found = 2
          OTHERS          = 3.
      IF sy-subrc EQ 0.
        READ TABLE lt_returntab INDEX 1.
        READ TABLE i_mprn1 WITH KEY mprn = lt_returntab-fieldval.
        IF sy-subrc EQ 0.
    Updating post code
          CONCATENATE i_mprn1-outcode  i_mprn1-incode
                        INTO ws_postcode
                             SEPARATED BY space.
          MOVE ws_postcode TO i_mprn-post_code.
          CLEAR   : i_dnpfld,
                    ws_dynpfld.
          REFRESH : i_dnpfld.
          ws_dyname   = 'ZSRO_MASTER_DATA'.
          ws_dynumb   = '0301'.
          ws_dynpfld-fieldname  ='I_MPRN-POST_CODE'.
          ws_dynpfld-fieldvalue = ws_postcode .
          ws_dynpfld-stepl      = stepl_index.
          APPEND ws_dynpfld TO i_dnpfld.
          CALL FUNCTION 'DYNP_VALUES_UPDATE'
            EXPORTING
              dyname               = ws_dyname
              dynumb               = ws_dynumb
            TABLES
              dynpfields           = i_dnpfld
            EXCEPTIONS
              invalid_abapworkarea = 1
              invalid_dynprofield  = 2
              invalid_dynproname   = 3
              invalid_dynpronummer = 4
              invalid_request      = 5
              no_fielddescription  = 6
              undefind_error       = 7
              OTHERS               = 8.
          IF sy-subrc <> 0.
          ENDIF.
    Updating MPRN
          MOVE i_mprn1-mprn TO i_mprn-mprn.
          CLEAR   : i_dnpfld,
                    ws_dynpfld.
          REFRESH : i_dnpfld.
          ws_dyname   = 'ZSRO_MASTER_DATA'.
          ws_dynumb   = '0301'.
          ws_dynpfld-fieldname  ='I_MPRN-MPRN'.
          ws_dynpfld-fieldvalue = i_mprn1-mprn .
          ws_dynpfld-stepl      = stepl_index.
          APPEND ws_dynpfld TO i_dnpfld.
          CALL FUNCTION 'DYNP_VALUES_UPDATE'
            EXPORTING
              dyname               = ws_dyname
              dynumb               = ws_dynumb
            TABLES
              dynpfields           = i_dnpfld
            EXCEPTIONS
              invalid_abapworkarea = 1
              invalid_dynprofield  = 2
              invalid_dynproname   = 3
              invalid_dynpronummer = 4
              invalid_request      = 5
              no_fielddescription  = 6
              undefind_error       = 7
              OTHERS               = 8.
          IF sy-subrc <> 0.
          ENDIF.
        ENDIF.
      ELSEIF sy-subrc EQ 2.
        MESSAGE s005(zspa) WITH ws_postcode .
      ENDIF.
    ENDMODULE.                    "PSTLZ_F4 INPUT
    MODULE MPRN_F4 INPUT
    MODULE mprn_f4 INPUT.
    reading post code
    DATA: stepl TYPE systepl,
           stepl_index TYPE systepl.
      CLEAR: stepl, stepl_index.
      CLEAR:   lt_returntab,lt_dynpfields,i_mprn1.
      REFRESH: lt_returntab,lt_dynpfields,i_mprn1.
      lt_dynpfields-fieldname = 'I_MPRN-POST_CODE'.
      lt_dynpfields-stepl     = stepl.
      APPEND lt_dynpfields. CLEAR lt_dynpfields.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname               = sy-repid
          dynumb               = sy-dynnr
          translate_to_upper   = c_x
          determine_loop_index = c_x
        TABLES
          dynpfields           = lt_dynpfields
        EXCEPTIONS
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          invalid_parameter    = 7
          undefind_error       = 8
          double_conversion    = 9
          stepl_not_found      = 10
          OTHERS               = 11.
      IF sy-subrc EQ 0.
        READ TABLE lt_dynpfields INDEX 1.
      ENDIF.
      ws_outcode = lt_dynpfields-fieldvalue.
      stepl_index = lt_dynpfields-stepl.
      REPLACE '*' WITH ' ' INTO lt_dynpfields-fieldvalue.
      IF NOT lt_dynpfields-fieldvalue IS INITIAL.
        MOVE lt_dynpfields-fieldvalue TO ws_outcode.
        ws_len = STRLEN( lt_dynpfields-fieldvalue ).
        IF ws_len GE 7.
          ws_len = ws_len - 3.
         ws_icode = ws_code+ws_len(3).
          lt_dynpfields-fieldvalue = lt_dynpfields-fieldvalue+0(ws_len).
          CONCATENATE lt_dynpfields-fieldvalue '%'
              INTO ws_outcode.
          CONDENSE lt_dynpfields-fieldvalue.
       REPLACE ws_icode WITH ' ' INTO lt_dynpfields-fieldvalue.
        ELSE.
          CONCATENATE lt_dynpfields-fieldvalue+0(4) '%'
            INTO ws_outcode.
        ENDIF.
       ws_ocode = ws_code+0(3).
      ENDIF.
    reading MPRN
      CLEAR:   lt_returntab,lt_dnpfields,i_mprn1.
      REFRESH: lt_returntab,lt_dnpfields,i_mprn1.
      lt_dnpfields-fieldname = 'I_MPRN-MPRN'.
      lt_dnpfields-stepl     = stepl_index.
      APPEND lt_dnpfields. CLEAR lt_dnpfields.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname               = sy-repid
          dynumb               = sy-dynnr
          translate_to_upper   = 'X'
        TABLES
          dynpfields           = lt_dnpfields
        EXCEPTIONS
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          invalid_parameter    = 7
          undefind_error       = 8
          double_conversion    = 9
          stepl_not_found      = 10
          OTHERS               = 11.
      IF sy-subrc EQ 0.
        READ TABLE lt_dnpfields INDEX 1.
      ENDIF.
    MPRN blank and Post code exist
      IF lt_dnpfields-fieldvalue IS INITIAL.
        IF NOT lt_dynpfields-fieldvalue IS INITIAL.
          SELECT mprn ser_num sub_bud bud_name del_pt_alias
                 bud_num dep_street prin_street dbl_dep_street
                 dep_locty post_town county outcode incode
                 lg_site_ind file_date FROM zspa_mprn INTO
                 CORRESPONDING FIELDS OF TABLE i_mprn1
                 WHERE outcode LIKE ws_outcode.
        ELSE.
    MPRN blank and Post code blank
          SELECT mprn ser_num sub_bud bud_name del_pt_alias
                 bud_num dep_street prin_street dbl_dep_street
                 dep_locty post_town county outcode incode
                 lg_site_ind file_date FROM zspa_mprn INTO
                 CORRESPONDING FIELDS OF TABLE i_mprn1.
        ENDIF.
      ELSE.
    MPRN exist and Post code exist
        IF NOT lt_dynpfields-fieldvalue IS INITIAL.
          SELECT mprn ser_num sub_bud bud_name del_pt_alias
                 bud_num dep_street prin_street dbl_dep_street
                 dep_locty post_town county outcode incode
                 lg_site_ind file_date FROM zspa_mprn INTO
                 CORRESPONDING FIELDS OF TABLE i_mprn1
                 WHERE outcode LIKE ws_outcode AND
                       mprn EQ lt_dnpfields-fieldvalue.
        ELSE.
    MPRN exist and Post code blank
          SELECT mprn ser_num sub_bud bud_name del_pt_alias
                 bud_num dep_street prin_street dbl_dep_street
                 dep_locty post_town county outcode incode
                 lg_site_ind file_date FROM zspa_mprn INTO
                 CORRESPONDING FIELDS OF TABLE i_mprn1
                 WHERE mprn EQ lt_dnpfields-fieldvalue.
        ENDIF.
      ENDIF.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'MPRN'
          dynpprog        = sy-repid
          dynpnr          = sy-dynnr
          window_title    = 'Select MPRN'
          value_org       = 'S'
        TABLES
          value_tab       = i_mprn1 "lt_mprn
          return_tab      = lt_returntab
        EXCEPTIONS
          parameter_error = 1
          no_values_found = 2
          OTHERS          = 3.
      IF sy-subrc EQ 0.
        READ TABLE lt_returntab INDEX 1.
        READ TABLE i_mprn1 WITH KEY mprn = lt_returntab-fieldval.
        IF sy-subrc EQ 0.
    Updating MPRN
          MOVE i_mprn1-mprn TO i_mprn-mprn.
          CLEAR   : i_dnpfld,
                    ws_dynpfld.
          REFRESH : i_dnpfld.
          ws_dyname   = 'ZSRO_MASTER_DATA'.
          ws_dynumb   = '0301'.
          ws_dynpfld-fieldname  ='I_MPRN-MPRN'.
          ws_dynpfld-fieldvalue = i_mprn1-mprn .
          ws_dynpfld-stepl      = stepl_index.
          APPEND ws_dynpfld TO i_dnpfld.
    **code changed by laxman 10.08.2005
         ws_dynpfld-stepl  = mprn-current_line.
    **code changed by laxman 10.08.2005
          CALL FUNCTION 'DYNP_VALUES_UPDATE'
            EXPORTING
              dyname               = ws_dyname
              dynumb               = ws_dynumb
            TABLES
              dynpfields           = i_dnpfld
            EXCEPTIONS
              invalid_abapworkarea = 1
              invalid_dynprofield  = 2
              invalid_dynproname   = 3
              invalid_dynpronummer = 4
              invalid_request      = 5
              no_fielddescription  = 6
              undefind_error       = 7
              OTHERS               = 8.
          IF sy-subrc <> 0.
          ENDIF.
    Updating post code
          CONCATENATE i_mprn1-outcode  i_mprn1-incode
                        INTO ws_postcode
                             SEPARATED BY space.
          MOVE ws_postcode TO i_mprn-post_code.
          CLEAR   : i_dnpfld,
                    ws_dynpfld.
          REFRESH : i_dnpfld.
          ws_dyname   = 'ZSRO_MASTER_DATA'.
          ws_dynumb   = '0301'.
          ws_dynpfld-fieldname  ='I_MPRN-POST_CODE'.
          ws_dynpfld-fieldvalue = ws_postcode .
          ws_dynpfld-stepl      = stepl_index.
          APPEND ws_dynpfld TO i_dnpfld.
    **code changed by laxman 10.08.2005
         break gblap0.
         ws_dynpfld-stepl  = mprn-current_line.
         LOOP AT i_mprn.
           MOVE i_mprn1-mprn TO i_mprn-mprn.
           MOVE ws_postcode TO i_mprn-post_code.
           MODIFY i_mprn INDEX
                    mprn-current_line." transporting MPRN POST_CODE.
         ENDLOOP.
    **code changed by laxman 10.08.2005
          CALL FUNCTION 'DYNP_VALUES_UPDATE'
            EXPORTING
              dyname               = ws_dyname
              dynumb               = ws_dynumb
            TABLES
              dynpfields           = i_dnpfld
            EXCEPTIONS
              invalid_abapworkarea = 1
              invalid_dynprofield  = 2
              invalid_dynproname   = 3
              invalid_dynpronummer = 4
              invalid_request      = 5
              no_fielddescription  = 6
              undefind_error       = 7
              OTHERS               = 8.
          IF sy-subrc <> 0.
          ENDIF.
        ENDIF.
      ELSEIF sy-subrc EQ 2.
        MESSAGE s006(zspa) WITH i_mprn1-mprn .
      ENDIF.
    ENDMODULE.                    "MPRN_F4 INPUT
    MODULE GNTC_F4 INPUT
    MODULE gntc_f4 INPUT.
      DATA: BEGIN OF lt_gntc OCCURS 0,
              gntc LIKE iflot-zzgntc,
            END OF lt_gntc.
      CLEAR:   lt_returntab, lt_gntc.
      REFRESH: lt_returntab, lt_gntc.
      lt_gntc-gntc = 'DM'.
      APPEND lt_gntc. CLEAR lt_gntc.
      lt_gntc-gntc = 'NDM'.
      APPEND lt_gntc. CLEAR lt_gntc.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'ZZGNTC'
          dynpprog        = sy-repid
          dynpnr          = sy-dynnr
          window_title    = 'Select Gas Nomination Type Code'
          value_org       = 'S'
        TABLES
          value_tab       = lt_gntc
          return_tab      = lt_returntab
        EXCEPTIONS
          parameter_error = 1
          no_values_found = 2
          OTHERS          = 3.
      IF sy-subrc EQ 0.
        READ TABLE lt_returntab INDEX 1.
        i_mprn-dm_ndm = lt_returntab-fieldval.
      ENDIF.
    ENDMODULE.                    "GNTC_F4 INPUT
    *&      Module  mprn1_f4  INPUT
          text
    MODULE mprn1_f4 INPUT.
      DATA: lt_f4          TYPE ddshretval OCCURS 0 WITH HEADER LINE,
            lt_returntab1  LIKE ddshretval OCCURS 0 WITH HEADER LINE,
            lt_dynpfields1 LIKE dynpread OCCURS 0 WITH HEADER LINE,
            lt_dnpfields1  LIKE dynpread OCCURS 0 WITH HEADER LINE.
      DATA: stepl1 TYPE systepl,
            stepl_index1 TYPE systepl.
      DATA : i_dnpfld1      LIKE dynpread OCCURS 0 WITH HEADER LINE,
             ws_dyname1     LIKE d020s-prog,
             ws_dynumb1     LIKE d020s-dnum,
             ws_dynpfld1    LIKE dynpread.
      CLEAR: i_dnpfld1,  ws_dyname1, ws_dynumb1, ws_dynpfld1,
             lt_f4, lt_returntab1,lt_dynpfields1, lt_f4,
             stepl1, stepl_index1.
      REFRESH: i_dnpfld1, lt_returntab1,lt_dynpfields1, lt_f4.
    To Determine Steploop Index
      lt_dynpfields1-fieldname = 'I_MPRN-POST_CODE'.
      lt_dynpfields1-stepl     = stepl1.
      APPEND lt_dynpfields1. CLEAR lt_dynpfields1.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname               = sy-repid
          dynumb               = sy-dynnr
          translate_to_upper   = 'X'
          determine_loop_index = 'X'
        TABLES
          dynpfields           = lt_dynpfields1
        EXCEPTIONS
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          invalid_parameter    = 7
          undefind_error       = 8
          double_conversion    = 9
          stepl_not_found      = 10
          OTHERS               = 11.
      IF sy-subrc EQ 0.
        READ TABLE lt_dynpfields1 INDEX 1.
      ENDIF.
      stepl_index1 = lt_dynpfields1-stepl.
      CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
        EXPORTING
          tabname           = 'IFLOT'
          fieldname         = 'I_MPRN-MPRN'
          searchhelp        = 'ZS_MPRN_PC'
          dynpprog          = sy-repid
          dynpnr            = sy-dynnr
        TABLES
          return_tab        = lt_f4
        EXCEPTIONS
          field_not_found   = 1
          no_help_for_field = 2
          inconsistent_help = 3
          no_values_found   = 4
          OTHERS            = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Update tablecontrol
      READ TABLE lt_f4 WITH KEY fieldname = 'MPRN'.
      IF sy-subrc = 0.
        MOVE lt_f4-fieldval TO i_mprn-mprn.
        ws_dyname1   = 'ZSRO_MASTER_DATA'.
        ws_dynumb1   = '0301'.
        ws_dynpfld1-fieldname  ='I_MPRN-MPRN'.
        ws_dynpfld1-fieldvalue = i_mprn-mprn.
        ws_dynpfld1-stepl      = stepl_index1.
        APPEND ws_dynpfld1 TO i_dnpfld1.
        CALL FUNCTION 'DYNP_VALUES_UPDATE'
          EXPORTING
            dyname               = ws_dyname1
            dynumb               = ws_dynumb1
          TABLES
            dynpfields           = i_dnpfld1
          EXCEPTIONS
            invalid_abapworkarea = 1
            invalid_dynprofield  = 2
            invalid_dynproname   = 3
            invalid_dynpronummer = 4
            invalid_request      = 5
            no_fielddescription  = 6
            undefind_error       = 7
            OTHERS               = 8.
        IF sy-subrc <> 0.
        ENDIF.
      ENDIF.
      CLEAR  : i_dnpfld1, ws_dynpfld1.
      REFRESH: i_dnpfld1.
      READ TABLE lt_f4 WITH KEY fieldname = 'ZZPSTLZ'.
      IF sy-subrc = 0.
        MOVE lt_f4-fieldval TO i_mprn-post_code.
        ws_dyname1   = 'ZSRO_MASTER_DATA'.
        ws_dynumb1   = '0301'.
        ws_dynpfld1-fieldname  ='I_MPRN-POST_CODE'.
        ws_dynpfld1-fieldvalue = i_mprn-post_code.
        ws_dynpfld1-stepl      = stepl_index1.
        APPEND ws_dynpfld1 TO i_dnpfld1.
        CALL FUNCTION 'DYNP_VALUES_UPDATE'
          EXPORTING
            dyname               = ws_dyname1
            dynumb               = ws_dynumb1
          TABLES
            dynpfields           = i_dnpfld1
          EXCEPTIONS
            invalid_abapworkarea = 1
            invalid_dynprofield  = 2
            invalid_dynproname   = 3
            invalid_dynpronummer = 4
            invalid_request      = 5
            no_fielddescription  = 6
            undefind_error       = 7
            OTHERS               = 8.
        IF sy-subrc <> 0.
        ENDIF.
      ENDIF.
    ENDMODULE.                 " mprn1_f4  INPUT
    *&      Module  pstlz1_f4  INPUT
          text
    MODULE pstlz1_f4 INPUT.
      CLEAR: i_dnpfld1,  ws_dyname1, ws_dynumb1, ws_dynpfld1,
              lt_f4, lt_returntab1,lt_dynpfields1, lt_f4,
              stepl1, stepl_index1.
      REFRESH: i_dnpfld1, lt_returntab1,lt_dynpfields1, lt_f4.
    To Determine Steploop Index
      lt_dynpfields1-fieldname = 'I_MPRN-MPRN'.
      lt_dynpfields1-stepl     = stepl1.
      APPEND lt_dynpfields1. CLEAR lt_dynpfields1.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname               = sy-repid
          dynumb               = sy-dynnr
          translate_to_upper   = 'X'
          determine_loop_index = 'X'
        TABLES
          dynpfields           = lt_dynpfields1
        EXCEPTIONS
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          invalid_parameter    = 7
          undefind_error       = 8
          double_conversion    = 9
          stepl_not_found      = 10
          OTHERS               = 11.
      IF sy-subrc EQ 0.
        READ TABLE lt_dynpfields1 INDEX 1.
      ENDIF.
      stepl_index1 = lt_dynpfields1-stepl.
      CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
        EXPORTING
          tabname           = 'IFLOT'
          fieldname         = 'I_MPRN-POST_CODE'
          searchhelp        = 'ZS_MPRN_PC'
          dynpprog          = sy-repid
          dynpnr            = sy-dynnr
        TABLES
          return_tab        = lt_f4
        EXCEPTIONS
          field_not_found   = 1
          no_help_for_field = 2
          inconsistent_help = 3
          no_values_found   = 4
          OTHERS            = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Update tablecontrol
      READ TABLE lt_f4 WITH KEY fieldname = 'ZZPSTLZ'.
      IF sy-subrc = 0.
        MOVE lt_f4-fieldval TO i_mprn-post_code.
        ws_dyname1   = 'ZSRO_MASTER_DATA'.
        ws_dynumb1   = '0301'.
        ws_dynpfld1-fieldname  ='I_MPRN-POST_CODE'.
        ws_dynpfld1-fieldvalue = i_mprn-post_code.
        ws_dynpfld1-stepl      = stepl_index1.
        APPEND ws_dynpfld1 TO i_dnpfld1.
        CALL FUNCTION 'DYNP_VALUES_UPDATE'
          EXPORTING
            dyname               = ws_dyname1
            dynumb               = ws_dynumb1
          TABLES
            dynpfields           = i_dnpfld1
          EXCEPTIONS
            invalid_abapworkarea = 1
            invalid_dynprofield  = 2
            invalid_dynproname   = 3
            invalid_dynpronummer = 4
            invalid_request      = 5
            no_fielddescription  = 6
            undefind_error       = 7
            OTHERS               = 8.
        IF sy-subrc <> 0.
        ENDIF.
      ENDIF.
      CLEAR  : i_dnpfld1, ws_dynpfld1.
      REFRESH: i_dnpfld1.
      READ TABLE lt_f4 WITH KEY fieldname = 'MPRN'.
      IF sy-subrc = 0.
        MOVE lt_f4-fieldval TO i_mprn-mprn.
        ws_dyname1   = 'ZSRO_MASTER_DATA'.
        ws_dynumb1   = '0301'.
        ws_dynpfld1-fieldname  ='I_MPRN-MPRN'.
        ws_dynpfld1-fieldvalue = i_mprn-mprn.
        ws_dynpfld1-stepl      = stepl_index1.
        APPEND ws_dynpfld1 TO i_dnpfld1.
        CALL FUNCTION 'DYNP_VALUES_UPDATE'
          EXPORTING
            dyname               = ws_dyname1
            dynumb               = ws_dynumb1
          TABLES
            dynpfields           = i_dnpfld1
          EXCEPTIONS
            invalid_abapworkarea = 1
            invalid_dynprofield  = 2
            invalid_dynproname   = 3
            invalid_dynpronummer = 4
            invalid_request      = 5
            no_fielddescription  = 6
            undefind_error       = 7
            OTHERS               = 8.
        IF sy-subrc <> 0.
        ENDIF.
      ENDIF.
    ENDMODULE.                 " pstlz1_f4  INPUT
    Regards,
    Prakash.

  • How to create Search Help For Ztable fields

    Hi all,
    Please let me know How to create Search Help in SE11(what are the parameter i should pass)
    and How to maintain search help for Ztable fields at DIctionary level (in SE11) and programming level.

    hello .
    there are two types of search helps .
    1. elementary search help .
    2. collective serch help
    Below are the steps to create elementary search helps :
    1 In the initial screen of the ABAP Dictionary, select object class Search help, enter the name of the search help and choose  Create.
    2.then youget a option elementary or collective search as per you r need .
    3.select Elementary search help and choose
    4.write explanatory text in the field Short text.
    5. in the selection method give the name of the table or  a view .
    6 . Select the fields that should be used for value selection  or in a hit list .
    7. then define the attributes of the search help .
    8 Select the IMP flag if it is an import parameter. Select the EXP flag if it is an export parameter.
    9 .define the  dialog type of the search help.
    The dialog type tells  how the hit list will be displayed in the input help.
    10 . save and activate .
    plz reward if usefull
    Thanks ,
    Abhishek .

  • How to create F4 help for a coloumn in CL_GUI_ALV_GRID?

    Hi experts,
       I have created alv grid on a container where i can enter data. But i need to create f4 help for a coloumn in the grid.Can you experts suggest some way to do it??
    Thanks in advance
    regards,
    Ashwin

    Hi ,
    Follow thios code.
    Develop a method in your class as follows.
    CLASS CL_PRICE_DATA DEFINITION.
    PUBLIC SECTION.
    ON_F4
    FOR EVENT ONF4 OF CL_GUI_ALV_GRID
    IMPORTING ES_ROW_NO E_FIELDNAME ER_EVENT_DATA.
    CLASS CL_PRICE_DATA IMPLEMENTATION.
    F4 for Reason Code
    METHOD ON_F4.
    FIELD-SYMBOLS: <FT_MODI> TYPE LVC_T_MODI .
    REFRESH :GT_FIELD_TAB,GT_VALUE_TAB,GT_RETURN.
    IF E_FIELDNAME = 'CTMBRCHGREASCD'.
    LOOP AT VALUES_TAB INTO VALUE_TAB.
    MOVE VALUE_TAB-CTMBRCHGREASCD TO GS_VALUE_TAB-STRING .
    APPEND GS_VALUE_TAB TO GT_VALUE_TAB.
    CLEAR : GS_VALUE_TAB.
    MOVE VALUE_TAB-CTMBRCHGRSNDSC TO GS_VALUE_TAB-STRING .
    APPEND GS_VALUE_TAB TO GT_VALUE_TAB.
    CLEAR :GS_VALUE_TAB.
    ENDLOOP.
    GS_FIELD_TAB-FIELDNAME = 'CTMBRCHGREASCD' .
    GS_FIELD_TAB-TABNAME = '/CPC/TCTMBRCHG'.
    APPEND GS_FIELD_TAB TO GT_FIELD_TAB.
    clear GS_FIELD_TAB.
    GS_FIELD_TAB-FIELDNAME = 'CTMBRCHGRSNDSC' .
    GS_FIELD_TAB-TABNAME = '/CPC/TCTMBRCHG'.
    APPEND GS_FIELD_TAB TO GT_FIELD_TAB.
    clear GS_FIELD_TAB.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = 'CTMBRCHGREASCD'
    VALUE_ORG = 'C'
    TABLES
    VALUE_TAB = GT_VALUE_TAB
    FIELD_TAB = GT_FIELD_TAB
    RETURN_TAB = GT_RETURN.
    ASSIGN ER_EVENT_DATA->M_DATA->* TO <FT_MODI>.
    GWA_MODI-ROW_ID = ES_ROW_NO-ROW_ID.
    LOOP AT GT_RETURN INTO GWA_LS_RETURN .
    GWA_MODI-FIELDNAME = GWA_LS_RETURN-FIELDNAME.
    GWA_MODI-VALUE = GWA_LS_RETURN-FIELDVAL.
    INSERT GWA_MODI INTO TABLE <FT_MODI>.
    READ TABLE VALUES_TAB INTO VALUE_TAB WITH KEY CTMBRCHGREASCD =
    GWA_LS_RETURN-FIELDVAL.
    GWA_MODI-FIELDNAME = 'CTMBRCHGRSNDSC'.
    GWA_MODI-VALUE = VALUE_TAB-CTMBRCHGRSNDSC.
    INSERT GWA_MODI INTO TABLE <FT_MODI>.
    ENDLOOP.
    ER_EVENT_DATA->M_EVENT_HANDLED = 'TRUE'.
    ELSEIF E_FIELDNAME = 'CONTMBRSTATCODE'.
    loop at gt_member_status into gs_member_status.
    MOVE gs_member_status-status TO GS_VALUE_TAB-STRING .
    APPEND GS_VALUE_TAB TO GT_VALUE_TAB.
    CLEAR : GS_VALUE_TAB.
    MOVE gs_member_status-description TO GS_VALUE_TAB-STRING .
    APPEND GS_VALUE_TAB TO GT_VALUE_TAB.
    CLEAR :GS_VALUE_TAB.
    endloop.
    GS_FIELD_TAB-FIELDNAME = 'CONTMBRSTATCODE' .
    GS_FIELD_TAB-TABNAME = '/CPC/TCTMBRHST'.
    GS_FIELD_TAB-reptext = 'Member Status'.
    APPEND GS_FIELD_TAB TO GT_FIELD_TAB.
    clear GS_FIELD_TAB .
    GS_FIELD_TAB-FIELDNAME = 'CTSTATSHRTDESC' .
    GS_FIELD_TAB-TABNAME = '/CPC/TCONSTAT'.
    APPEND GS_FIELD_TAB TO GT_FIELD_TAB.
    GS_FIELD_TAB-FIELDNAME = 'CTMBRCHGRSNDSC' .
    GS_FIELD_TAB-TABNAME = '/CPC/TCTMBRCHG'.
    APPEND GS_FIELD_TAB TO GT_FIELD_TAB.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = 'CONTMBRSTATCODE'
    VALUE_ORG = 'C'
    TABLES
    VALUE_TAB = GT_VALUE_TAB
    FIELD_TAB = GT_FIELD_TAB
    RETURN_TAB = GT_RETURN.
    ASSIGN ER_EVENT_DATA->M_DATA->* TO <FT_MODI>.
    GWA_MODI-ROW_ID = ES_ROW_NO-ROW_ID.
    LOOP AT GT_RETURN INTO GWA_LS_RETURN .
    GWA_MODI-FIELDNAME = GWA_LS_RETURN-FIELDNAME.
    GWA_MODI-VALUE = GWA_LS_RETURN-FIELDVAL.
    INSERT GWA_MODI INTO TABLE <FT_MODI>.
    READ TABLE VALUES_TAB INTO VALUE_TAB WITH KEY CTMBRCHGREASCD =
    GWA_LS_RETURN-FIELDVAL.
    GWA_MODI-FIELDNAME = 'CTMBRCHGRSNDSC'.
    GWA_MODI-VALUE = VALUE_TAB-CTMBRCHGRSNDSC.
    INSERT GWA_MODI INTO TABLE <FT_MODI>.
    ENDLOOP.
    ER_EVENT_DATA->M_EVENT_HANDLED = 'TRUE'.
    ELSEIF E_FIELDNAME = 'SH_CUST_NMBR'.
    LOOP AT GT_SHARED_CUSTOMER INTO GS_SHARED_CUSTOMER.
    SELECT SINGLE CUST_NAME FROM /CPC/TCUSTOMER INTO
    GS_SHARED_CUSTOMER-CUST_NAME
    WHERE CUST_NMBR = GS_SHARED_CUSTOMER-SH_CUST_NMBR.
    MOVE GS_SHARED_CUSTOMER-SH_CUST_NMBR TO GS_VALUE_TAB-STRING .
    APPEND GS_VALUE_TAB TO GT_VALUE_TAB.
    CLEAR : GS_VALUE_TAB.
    MOVE GS_SHARED_CUSTOMER-CUST_NAME TO GS_VALUE_TAB-STRING .
    APPEND GS_VALUE_TAB TO GT_VALUE_TAB.
    CLEAR : GS_VALUE_TAB.
    ENDLOOP.
    GS_FIELD_TAB-FIELDNAME = 'SH_CUST_NMBR' .
    GS_FIELD_TAB-TABNAME = '/CPC/TGRPSHRHLD'.
    APPEND GS_FIELD_TAB TO GT_FIELD_TAB.
    clear GS_FIELD_TAB.
    GS_FIELD_TAB-FIELDNAME = 'CUST_NAME' .
    GS_FIELD_TAB-TABNAME = '/CPC/TCUSTOMER'.
    APPEND GS_FIELD_TAB TO GT_FIELD_TAB.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = 'SH_CUST_NMBR'
    VALUE_ORG = 'C'
    TABLES
    VALUE_TAB = GT_VALUE_TAB
    FIELD_TAB = GT_FIELD_TAB
    RETURN_TAB = GT_RETURN.
    ASSIGN ER_EVENT_DATA->M_DATA->* TO <FT_MODI>.
    GWA_MODI-ROW_ID = ES_ROW_NO-ROW_ID.
    LOOP AT GT_RETURN INTO GWA_LS_RETURN .
    GWA_MODI-FIELDNAME = GWA_LS_RETURN-FIELDNAME.
    GWA_MODI-VALUE = GWA_LS_RETURN-FIELDVAL.
    INSERT GWA_MODI INTO TABLE <FT_MODI>.
    ENDLOOP.
    ER_EVENT_DATA->M_EVENT_HANDLED = 'TRUE'.
    ENDIF.
    ENDMETHOD.
    This will trigger when do a F4 on the field .
    Apart from this in the fieldcatalog for that field assign 'X' for the field F4AVAILABL and also set handler eventobj->on_f4 for grid .
    Please reward if useful.

  • How to create search help for Web Dynpro?

    Hi all,
    I have troubles when creating search help for web dynpro. I have visited this link /people/dirk.rehberg/blog/2006/12/27/generic-search-help-for-web-dynpro-for-java but I can't find this generic search help plug-in for download. If u have this plug-in can u share it for me or upload somewhere for download. Or anyone has already done this search help please help me solve this problem! Thanks in advance!

    Hi Dinh Thieu Thien,
    please place such a request to the appropriate forum "[Web Dynpro for Java|Web Dynpro Java;".
    Thanks and regards,
    Boris

  • Search help for fields in custom table..

    hi,
    in my custom table i have two fields - table name and field name. when user selects table name as VBAP , for field names i need all the fields in VBAP to be displayed and for that I set the check table as DD03L and I am able to see all the fields. But i am not able to see the description of the fields rather seeing field name , other key fields of DD03L.
    How do i get to display something like
    field name - description - length (length of the field as defined in DDIC)
    If search help will help then can u pl tell me how to create one ? or any standard can be used ?
    thanks

    Yes, you need to create search help and assign it to the field 'field name'
    Please search SDN for how to create search help. There are 100's of threads with this
    By the way the texts can be found in table DD03T  for tables as well as for fields

  • How to attach search help in field BEDNR in table EKPO

    Hello, Experts!!!
    I have a problem in attaching Search Help in field BEDNR in table EKPO.
    Can anyone share something about this.. I've been dwelling on this for some time now,
    but still wasn't able to find a solution.
    Any thoughts would be highly appreciated.
    Thank you!!!
    Ellainne22

    Hi,
    I don't think you can directly link any search help with BEDNR without modification. If a search help was already linked, we could have gone for append search help. But in this case, nothing is there. So the options would be,
    see whether you can insert any search help through enhancements in the screens..You have to do it in every screen then.
    Other option is create a database view, & replace the dataelement with your own with a search help. You can refer this view after that.
    or go for modification & change the dataelement.
    Regards,
    Gokul

  • How to create OVS help for custom field in OIF?

    Hi All,
    I have a requirement where i need to add custom field and display F4 help. I have added the custom field but how to add OVS search help to field as i need to pull data from db tables based on certain creteria.
    Please explain with steps.
    Thanks,
    Vimal

    Hi James,
    Thanks for reply.
    I checked few things you mentioned and here are the findings:
    1) Following is the code i have written it GET_DEFINITION
      ls_descr_attr-name = 'ZZ_APPOINT_AUTH'.
      ls_descr_attr-label_text = 'Appointing Authority'.
      ls_descr_attr-ovs_name = 'ZCL_INC_BINF_CLAS_UI_FRM'.
      APPEND ls_descr_attr TO et_field_description.
    is this enugh to identify which field  we want to make an OVS help? because suppose if don't implement all other pharses and only provide above code in Get_Defination then will it show me F4 icon atleast on field?
    2) DDIC_SHLP_NAME field is blank. And there are no duplicate records.
    3) I tried putting break point in HANDLE_PHASE0() and all other phases but debugger does not run while starting the application.So do we need to call these methods at some point or they are called automatically ?
    Thanks for your help.And let me know of any other details required.
    Thanks,
    Vimal

  • How to create Search help for the field /SAPSLL/PRGEN-ATTR20V

    Hi ,
    I need to add a search help for the field /SAPSLL/PRGEN-ATTR20V and their is a chk table used for this field is /SAPSLL/TCOATV20.
    In this table /SAPSLL/TCOATV20-ATTRV20V is a Primary key field.
    How can I add search help for this field?
    Any suggestions will be appreciated!
    Regards,
    Kittu

    HI,
    Fixed on my own..
    I am closing this thread!
    Thank you!
    Kittu

  • HOW TO CREATE SEARCH HELP FOR A FIELD

    HI EXPERTS,
                      I NEED TO GET THE SEARCH HELP NAME FOR A FIELD.WHAT SHALL I DO ??MATNR HAS MAT1 AS SERACH HELP NAME BUT VBELN DOES'NT HAVE .IF I NEED TO ASSIGN SERACH HELP FOR A SELECTION SCREEN WHICH WILL GET VBELN AS INPUT WHAT I NEED TO DO ????
    THANKS
    MANI

    Hi,
    Please find the following code for your help.
    Change the according to your table and field name.
    & - SOC FOR F4 HELP ON SELECTION SCREEN 15.05.07 - &
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_UNIQUE.
    SELECT  UNIQ_RES_NO
            FROM zproject_res INTO CORRESPONDING FIELDS OF TABLE ITAB_HELP
            where flag = 'Z'.
    SORT ITAB_HELP BY UNIQ_RES_NO .
    DELETE ADJACENT DUPLICATES FROM ITAB_HELP.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
      DDIC_STRUCTURE         = ' '
        retfield               = 'UNIQ_RES_NO'
      PVALKEY                = ' '
       DYNPPROG               = 'ZRPSTRESVSLIP'
       DYNPNR                 = '1000'
       DYNPROFIELD            = 'P_UNIQUE'
      STEPL                  = 0
      WINDOW_TITLE           = ' '
      VALUE                  = ' '
       VALUE_ORG              = 'S'
      MULTIPLE_CHOICE        = ' '
      DISPLAY                = ' '
      CALLBACK_PROGRAM       = ' '
      CALLBACK_FORM          = ' '
      MARK_TAB               =
    IMPORTING
      USER_RESET             =
      tables
        value_tab              = itab_help
      FIELD_TAB              =
      RETURN_TAB             =
      DYNPFLD_MAPPING        =
    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.
    & - EOC FOR F4 HELP ON  SELECTION SCREEN 16.05.07  - &
    <i><b>Reward points for helpful answer
    Debjani</b></i>

  • How to add search help for field in ALV object

    Hello,
    In a program, we use ALV object ( container) to create a liste like : field1, field2 .. but when display we do not have search help for this . Could you please help me how to add match code in this case for field 1 and field2, We use set_table_for_first_display
    Thanks,

    Hi,
    when you define your field catalogue you can create data elements with search help in se11 and use them for field 1 and field 2.
    But maybe it is enough to use data elements belonging to a domain with a value help and to set field F$AVAILABL in the field catalogue or to fill the name of the field CHECKTABLE.
    Regards,
    Klaus

  • How to create search help for Maintanence View

    Hi,
    I want to create a Search Help for a Maintanence View and bring Conditions
    in this Search Help. Condition can be as e.q. Show me only the Records with Status 2.
    How can I achieve this?
    Thanks.
    Best Regards
    Beserithan Malabakan

    HI,
    You can create this in SE11, there create a search help, and in the Minatain Search HElp screen, give the Maintanance view name and give the field anmes as you want, and right side you will find 'Default Values', there you can give the default values, so here in the Field name give as <b>STATUS</b> and in the Defaule Value will be <b>2</b>.
    Regards
    Sudheer

  • How to create function code for field in GRID like list box in screen

    Hi all,
    I have requirement like drop down is created for field1 in GRID,
    and have given f4 help for it, as soon as i change the data in the field
    event has to trigger to update thevalues in other field.
    This scenario i worked on screens where field is created with listbox and assign function code to it
    when the field value changes the event  triggers .
    Is there is anything like that which will fire the event for field value changes.
    can i update anything  through the  fieldcatalogue.
    anybody help me on this
    Regards,
    Madhavi

    Hi Madhavi,
    yes we can do that by registering edit events..
    check the below example.. has both the variants dropdown/f4 hlp...
    screen flow logic
    PROCESS BEFORE OUTPUT.
      MODULE pbo.
    PROCESS AFTER INPUT.
      MODULE pai AT EXIT-COMMAND.
    program
    *       CLASS lcl_event_responder DEFINITION                           *
    CLASS lcl_event_responder DEFINITION.
      PUBLIC SECTION.
        DATA  : ls_changed_cell TYPE  lvc_s_modi,
                lv_language     TYPE  spras..
        METHODS refresh_changed_data  FOR EVENT data_changed
                                      OF cl_gui_alv_grid
                                      IMPORTING er_data_changed
                                                e_ucomm.
    ENDCLASS.                    "event_responder DEFINITION
    DATA: go_handler         TYPE REF TO lcl_event_responder,
          go_container       TYPE REF TO cl_gui_custom_container,
          go_grid            TYPE REF TO cl_gui_alv_grid,
          gt_fieldcat        TYPE lvc_t_fcat,
          gv_language        TYPE spras VALUE 'E',
          gt_outtab          TYPE TABLE OF makt WITH HEADER LINE.
    PARAMETERS : dropdown TYPE char01 RADIOBUTTON GROUP grp,
                 f4help   TYPE char01 RADIOBUTTON GROUP grp.
    START-OF-SELECTION.
      CALL SCREEN 100.
    END-OF-SELECTION.
    *       MODULE PBO OUTPUT                                             *
    MODULE pbo OUTPUT.
      SET PF-STATUS 'BASIC'.
      PERFORM create_and_init_alv CHANGING gt_outtab[]
                                           gt_fieldcat.
    ENDMODULE.                    "pbo OUTPUT
    *       MODULE PAI INPUT                                              *
    MODULE pai INPUT.
      SET SCREEN 0. LEAVE SCREEN.
    ENDMODULE.                    "pai INPUT
    FORM create_and_init_alv CHANGING pt_outtab LIKE gt_outtab[]
                                      pt_fieldcat TYPE lvc_t_fcat.
      CHECK go_container IS NOT BOUND.
      CREATE OBJECT go_container
        EXPORTING
          container_name = 'CUSTOM'.
      CREATE OBJECT go_grid
        EXPORTING
          i_parent = go_container.
      PERFORM build_display_table.
      PERFORM build_fieldcat CHANGING pt_fieldcat.
      IF dropdown EQ abap_true.
        PERFORM set_drdn_table.
      ENDIF.
      go_grid->set_table_for_first_display( CHANGING  it_fieldcatalog      = pt_fieldcat
                                                      it_outtab            = pt_outtab ).
      go_grid->set_ready_for_input( 1 ).
    " raises the 'data_changed' event when we select another cell/any action after changing the data
      go_grid->register_edit_event( EXPORTING i_event_id = cl_gui_alv_grid=>mc_evt_modified ).
      CREATE OBJECT go_handler.
      SET HANDLER go_handler->refresh_changed_data FOR go_grid.
    ENDFORM.                               "CREATE_AND_INIT_ALV
    FORM build_display_table.
      FREE gt_outtab.
      SELECT * FROM makt UP TO 20 ROWS INTO TABLE gt_outtab WHERE spras EQ gv_language.
    ENDFORM.                               "build_display_table
    FORM build_fieldcat CHANGING pt_fieldcat TYPE lvc_t_fcat.
      DATA ls_fcat TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name = 'MAKT'
        CHANGING
          ct_fieldcat      = pt_fieldcat.
      LOOP AT pt_fieldcat INTO ls_fcat.
        IF    ls_fcat-fieldname EQ 'SPRAS'.
          ls_fcat-edit       = abap_true..
          ls_fcat-outputlen  = 8.
          IF dropdown EQ abap_true.
            ls_fcat-drdn_hndl  = '1'.
            ls_fcat-checktable = '!'.        "do not check foreign keys
          ENDIF.
          MODIFY pt_fieldcat FROM ls_fcat.
        ENDIF.
      ENDLOOP.
    ENDFORM.                               "build_fieldcat
    FORM set_drdn_table.
      CHECK go_grid->offline( ) IS INITIAL.
      DATA: lt_dropdown TYPE lvc_t_drop,
            ls_dropdown TYPE lvc_s_drop.
      ls_dropdown-handle = '1'.
      ls_dropdown-value  = 'EN'.
      APPEND ls_dropdown TO lt_dropdown.
      ls_dropdown-handle = '1'.
      ls_dropdown-value  = 'DE'.
      APPEND ls_dropdown TO lt_dropdown.
      CALL METHOD go_grid->set_drop_down_table
        EXPORTING
          it_drop_down = lt_dropdown.
    ENDFORM.                                " set_drdn_table
    FORM change_display_table USING pv_language pv_rowno TYPE i.
      READ TABLE gt_outtab INDEX pv_rowno.
      SELECT SINGLE * FROM makt INTO gt_outtab WHERE matnr = gt_outtab-matnr AND spras = pv_language.
      IF sy-subrc EQ 0.
        DELETE gt_outtab INDEX pv_rowno.
        INSERT gt_outtab INDEX pv_rowno.
      ELSE.
        CLEAR : gt_outtab-maktx,
                gt_outtab-maktg.
        DELETE gt_outtab INDEX pv_rowno.
        INSERT gt_outtab INDEX pv_rowno.
      ENDIF.
    ENDFORM.                    "change_display_table
    *       CLASS event_responder IMPLEMENTATION                          *
    CLASS lcl_event_responder IMPLEMENTATION.
      METHOD refresh_changed_data.
        READ TABLE er_data_changed->mt_mod_cells INTO ls_changed_cell INDEX 1.
        CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'
          EXPORTING
            input  = ls_changed_cell-value
          IMPORTING
            output = lv_language.
        PERFORM change_display_table USING lv_language ls_changed_cell-row_id.
        go_grid->refresh_table_display( ).
      ENDMETHOD.                    "click
    ENDCLASS.                    "event_responder IMPLEMENTATION
    Cheers,
    Jose.

Maybe you are looking for

  • Acrobat 9 Pro possessed, opening docs on its own.  What do I do?

    I scanned a document and printed to Adobe Acrobat. This opened the Acrobat program. At some point, either when I was last in Acrobat or today when I told the program to print to Acrobat, Acrobat seems to think I want several hundred files opened at o

  • Problem with Ipad

    My ipad gave a message saying Not Enough Storage due to not enough iCloud storage.  so i deleted everything in photostream and my iCloud and now i have full 5GB space available. but still my Ipad is froze with the same msg and i cant close it. plz he

  • Print out array

    The code does not print out like it shoud. What am I doing wrong? Thank you for help public class test {     public static void main(String ... args) {         String text = "array";         char[] textArray = text.toCharArray();         System.out.p

  • Linksys WRT54G bridge to AirPort Extreme Base Station

    Is this possible?

  • Flash content locks entire machine

    I'm using Mozilla Firefox 2.0.0.3 with Flash Player 9 under Windows 2000 Pro SP4. Flash content continually results in an unrecoverable lockup of my machine. Anyone have this issue, and possibly a solution? I've already reinstalled Flash Player and m