Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Adding search help for Module pool

Former Member
0 Likes
6,900

My Requirment

IN SE80 Module pool i create one table control, that contain vbrk-vbeln, vbrk-fkdat, vbrp-fkimg vbrp-bregw i need to display in my search help, once i click vbeln it takes all the values(which means vbeln fkdat from vbrk table & fkimg bregw from vbrp table in vbrp fkimg and bregw with  all the values in sum (all the line item in sum))

how can i acheive this i tried a lot

1 ACCEPTED SOLUTION
Read only

Balu483
Participant
0 Likes
6,272

use PROCESS ON VALUE REQUEST event for that particular field which you want to get a search help

for your information refer the following code

*******flow logic

process on value-request.""""event

  field ztclaim-pernr module help_empid.  """" module declaration

*&---------------------------------------------------------------------*

*&      Module  HELP_BRANCH  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

******code for search help

module HELP_BRANCH input.

CLEAR: IT_HELP_BNAME,RET_TABLE_BNAME.

SELECT BTRTL BTEXT

               FROM T001P

             INTO CORRESPONDING FIELDS OF TABLE IT_HELP_BNAME

             WHERE WERKS eq '478'.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

  EXPORTING

*   DDIC_STRUCTURE         = ' '

    retfield               = 'BNAME'

*   PVALKEY                = ' '

   DYNPPROG               = SY-REPID

   DYNPNR                 = SY-DYNNR

   DYNPROFIELD            = 'ZTCLAIM-BNAME'

*   STEPL                  = 0

*   WINDOW_TITLE           =

*   VALUE                  = ' '

   VALUE_ORG              = 'S'

*   MULTIPLE_CHOICE        = ' '

*   DISPLAY                = ' '

*   CALLBACK_PROGRAM       = ' '

*   CALLBACK_FORM          = ' '

*   MARK_TAB               =

* IMPORTING

*   USER_RESET             =

  tables

    value_tab              = it_help_bname

*   FIELD_TAB              =

   RETURN_TAB             = ret_table_bname

*   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.

endmodule.                 " HELP_BRANCH  INPUT

12 REPLIES 12
Read only

Former Member
0 Likes
6,272

hi,

just declare standard table fieldname in screen name

or

in screen flow logic,

  PROCESS ON VALUE-REQUEST.

  FIELD vbrk-vbeln MODULE f4_vbeln.


in include or main program,

  module f4_vbeln input.

 

call function 'F4IF_FIELD_VALUE_REQUEST'

    exporting

       fieldname         = filedname

      dynpprog          = sy-repid

      dynpnr            = sy-dynnr

      dynprofield       = screen name

    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.

  endmodule.

 

Read only

0 Likes
6,272

i get only one input value in my search help (vbeln (VBRK))

i need to display (FKDAT From (VBRK),  FKIMG & BRGEW From (VBRP) with all the line item are sum)

Read only

Balu483
Participant
0 Likes
6,273

use PROCESS ON VALUE REQUEST event for that particular field which you want to get a search help

for your information refer the following code

*******flow logic

process on value-request.""""event

  field ztclaim-pernr module help_empid.  """" module declaration

*&---------------------------------------------------------------------*

*&      Module  HELP_BRANCH  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

******code for search help

module HELP_BRANCH input.

CLEAR: IT_HELP_BNAME,RET_TABLE_BNAME.

SELECT BTRTL BTEXT

               FROM T001P

             INTO CORRESPONDING FIELDS OF TABLE IT_HELP_BNAME

             WHERE WERKS eq '478'.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

  EXPORTING

*   DDIC_STRUCTURE         = ' '

    retfield               = 'BNAME'

*   PVALKEY                = ' '

   DYNPPROG               = SY-REPID

   DYNPNR                 = SY-DYNNR

   DYNPROFIELD            = 'ZTCLAIM-BNAME'

*   STEPL                  = 0

*   WINDOW_TITLE           =

*   VALUE                  = ' '

   VALUE_ORG              = 'S'

*   MULTIPLE_CHOICE        = ' '

*   DISPLAY                = ' '

*   CALLBACK_PROGRAM       = ' '

*   CALLBACK_FORM          = ' '

*   MARK_TAB               =

* IMPORTING

*   USER_RESET             =

  tables

    value_tab              = it_help_bname

*   FIELD_TAB              =

   RETURN_TAB             = ret_table_bname

*   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.

endmodule.                 " HELP_BRANCH  INPUT

Read only

Former Member
0 Likes
6,272

i get only one input value in my search help (vbeln (VBRK))

i need to display (FKDAT From (VBRK),  FKIMG & BRGEW From (VBRP) with all the line item are sum)

Read only

0 Likes
5,002

Hi,
I'm new to abap and i have the same scenario. Have you resolved your concern? if so, can I ask for a solution. I want to get the return values from my elementary search help created in se11. Other FM's only allow to show the search help itself but I want to get multiple return values. Please help

Read only

Former Member
0 Likes
6,272

If you want multiple values then make sure that in the Function Module you mark Multiple_choice = 'X' as below.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

     EXPORTING

*   DDIC_STRUCTURE         = ' '

       RETFIELD               = 'FNAME'

       DYNPPROG               = SY-REPID

       DYNPNR                 = SY-DYNNR

       DYNPROFIELD            = 'FNAME'

       VALUE_ORG              = 'S'

       MULTIPLE_CHOICE        = 'X'

     TABLES

       VALUE_TAB              = GT_FINAL

       RETURN_TAB             = RETURN

     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.


Regards,

Mounika

Read only

0 Likes
6,272

it shows all the values, once i click the value it only get billing number (vbeln)  others are empty

Thanks your replay

Read only

0 Likes
6,272

can you share  your code 

Read only

0 Likes
6,272

You need to pass internal table itab in table  parameter DYNPFLD_MAPPING in FM f4_into_table_value_request. In itab, pass the screen fields for which you want to dynamically populate values from the selected item in the list.

Thanks!

Read only

0 Likes
6,272

****in flow logic

PROCESS ON VALUE-REQUEST .

*

   FIELD ZTRIP_ST-INVOICENO MODULE F4HELP.

*****inside module

*&---------------------------------------------------------------------*

*&      Module  F4HELP  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

   MODULE F4HELP INPUT.

   TYPES:BEGIN OF STR,

          VBELN TYPE VBRK-VBELN,

          FKDAT TYPE VBRK-FKDAT,

*        FKIMG TYPE VBRP-FKIMG,

*        BRGEW TYPE VBRP-BRGEW,

      END OF STR.

   DATA:IT_VBRK1 TYPE  TABLE OF STR.

   DATA:WA_VBRK1 TYPE   STR.

   DATA: RETURN_TAB  TYPE TABLE OF DDSHRETVAL .

   DATA:WA_TAB TYPE  DDSHRETVAL .

   SELECT VBELN FKDAT FROM VBRK

      INTO TABLE IT_VBRK1 .

   WA_TAB-FIELDNAME = 'VBELN'.

   WA_TAB-RETFIELD = 'INVOICENO'.

   APPEND WA_TAB TO  RETURN_TAB .

   WA_TAB-FIELDNAME = 'FKDAT'.

   WA_TAB-RETFIELD = 'INVOICEDATE'.

   APPEND WA_TAB TO  RETURN_TAB .

   CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

     EXPORTING

*   DDIC_STRUCTURE         = ''

       RETFIELD               = 'VBELN'

*   PVALKEY                = ' '

      DYNPPROG               = SY-REPID

      DYNPNR                 = SY-DYNNR

      DYNPROFIELD            = 'INVOICENO'       " MY ZTABLE FIELD

*   STEPL                  = 0

*   WINDOW_TITLE           =

*   VALUE                  = ' '

      VALUE_ORG              = 'S'

*   MULTIPLE_CHOICE        = 'X'

*   DISPLAY                = ' '

*   CALLBACK_PROGRAM       = ' '

*   CALLBACK_FORM          = ' '

*   MARK_TAB               =

* IMPORTING

*   USER_RESET             =

     TABLES

       VALUE_TAB              = IT_VBRK1                     " MY INTERNAL TABLE

*   FIELD_TAB              =

      RETURN_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.

ENDMODULE.                    "F4HELP INPUT






it shows billing number(vbeln) billing date(fkdat), once i click its not store in the table control



My requirement i need to  vbrk-vbeln vbrk-fkdat  and vbrp-fkimg vbrp- bregw  get all the field values in my search help (here in vbrp-fkimg vbrp-bregw   with sum)



how can i achieve this



There is any possible to do this.....

Read only

0 Likes
6,272

please don't fill the return tab before.. All you need is values from vbrk and vbrp right? So take a final table and fill it with vbrk and vbrp required fields and pass the final table to value_tab and don't fill the return_ tab

Regards,

Mounika

Read only

0 Likes
6,272

Hi Manikand,

I just created a search help for testing purpose which contains a checkbox, MATNR, MTART fields.

The code is,

TYPES : BEGIN OF TY_MARA,

        MATNR TYPE MARA-MATNR,

        MTART TYPE MARA-MTART,

        END OF TY_MARA.

TYPES : BEGIN OF TY_FINAL,

        FLAG TYPE CHECKBOX,

        MATNR TYPE MARA-MATNR,

        MTART TYPE MARA-MTART,

        END OF TY_FINAL.

DATA : RETURN TYPE TABLE OF DDSHRETVAL WITH HEADER LINE.

DATA : GT_MARA  TYPE TABLE OF TY_MARA,

WA_MARA  TYPE TY_MARA,

GT_FINAL TYPE TABLE OF TY_FINAL,

WA_FINAL TYPE TY_FINAL.

DATA : MATNR TYPE CHAR20.

PROCESS ON VALUE-REQUEST.

  FIELD MATNR MODULE GET_DETAILS.

MODULE GET_DETAILS INPUT.

  SELECT MATNR

         MTART FROM MARA INTO TABLE GT_MARA.

  IF GT_MARA IS NOT INITIAL.

    LOOP AT GT_MARA INTO WA_MARA.

      WA_FINAL-MATNR = WA_MARA-MATNR.

      WA_FINAL-MTART = WA_MARA-MTART.

      APPEND WA_FINAL TO GT_FINAL.

      CLEAR: WA_FINAL, WA_MARA.

    ENDLOOP.

  ENDIF.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

    EXPORTING

*   DDIC_STRUCTURE         = ' '

      RETFIELD               = 'MATNR'

      DYNPPROG               = SY-REPID

      DYNPNR                 = SY-DYNNR

      DYNPROFIELD            = 'MATNR'

      VALUE_ORG              = 'S'

      MULTIPLE_CHOICE        = 'X'

    TABLES

      VALUE_TAB              = GT_FINAL

      RETURN_TAB             = RETURN

    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.

"You can get the selected record from Return_tab here it is RETURN

loop at return.

MATNR = Return-fieldval.

endloop.

ENDMODULE.                 " GET_DETAILS  INPUT

Hope this helps you