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

SEARCH HELP

Former Member
0 Likes
430

HOW I CAN EXPORT 3 FIELDS WITH SEARCH HELP INTO

3 FIELD IN MY SELECTION SCREEN

1 ACCEPTED SOLUTION
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
393

It is very much possible, but yes, you need to read the datbase to get the other values. Here is a sample program to illistrate.



report zrich_0002 .

parameters: p_bukrs type t001-bukrs,
            p_butxt type t001-butxt,
            p_ort01 type t001-ort01,
            p_land1 type t001-land1.

data: dynfields type table of dynpread with header line.
data: return type table of ddshretval with header line.

at selection-screen on value-request for p_bukrs.

  call function 'F4IF_FIELD_VALUE_REQUEST'
       exporting
            tabname           = 'T001'
            fieldname         = 'BUKRS'
            dynpprog          = sy-cprog
            dynpnr            = sy-dynnr
            dynprofield       = 'P_BUKRS'
       tables
            return_tab        = return
       exceptions
            field_not_found   = 1
            no_help_for_field = 2
            inconsistent_help = 3
            no_values_found   = 4
            others            = 5.

  read table return with key fieldname = 'P_BUKRS'.

* Add it back to the dynpro.
  dynfields-fieldname = return-retfield.
  dynfields-fieldvalue =  return-fieldval.
  append dynfields.

* Get the company code from db and add to dynpro
  data: xt001 type t001.

  clear xt001.
  select single * into xt001
         from t001
        where bukrs = return-fieldval.

  dynfields-fieldname = 'P_BUTXT'.
  dynfields-fieldvalue = xt001-butxt.
  append dynfields.

  dynfields-fieldname = 'P_ORT01'.
  dynfields-fieldvalue = xt001-ort01.
  append dynfields.

  dynfields-fieldname = 'P_LAND1'.
  dynfields-fieldvalue = xt001-land1.
  append dynfields.

* Update the dynpro values.
  call function 'DYNP_VALUES_UPDATE'
       exporting
            dyname     = sy-cprog
            dynumb     = sy-dynnr
       tables
            dynpfields = dynfields
       exceptions
            others     = 8.

start-of-selection.

Regards,

Rich Heilman

4 REPLIES 4
Read only

Former Member
0 Likes
393

Hi,

After selecting one value in the search help, you can get the values for the remaining by SELECT statement or from the internal table..

This is done in the event

AT SELECTION SCREEN ON VALUE REQUEST for..

Here when a search help for a particular value is requested, we get one value from user.. we can get the remaining from some internal table or from DB using Select Statement..

Regards,

Tanveer.

<b>Please mark helpful answers</b>

Read only

Former Member
0 Likes
393

Liat,

I dont think it is possible with out some programming effort.

Otherwise, the only other option is to create 3 search helps for those 3 fields on the selection screen.

Thanks,

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
394

It is very much possible, but yes, you need to read the datbase to get the other values. Here is a sample program to illistrate.



report zrich_0002 .

parameters: p_bukrs type t001-bukrs,
            p_butxt type t001-butxt,
            p_ort01 type t001-ort01,
            p_land1 type t001-land1.

data: dynfields type table of dynpread with header line.
data: return type table of ddshretval with header line.

at selection-screen on value-request for p_bukrs.

  call function 'F4IF_FIELD_VALUE_REQUEST'
       exporting
            tabname           = 'T001'
            fieldname         = 'BUKRS'
            dynpprog          = sy-cprog
            dynpnr            = sy-dynnr
            dynprofield       = 'P_BUKRS'
       tables
            return_tab        = return
       exceptions
            field_not_found   = 1
            no_help_for_field = 2
            inconsistent_help = 3
            no_values_found   = 4
            others            = 5.

  read table return with key fieldname = 'P_BUKRS'.

* Add it back to the dynpro.
  dynfields-fieldname = return-retfield.
  dynfields-fieldvalue =  return-fieldval.
  append dynfields.

* Get the company code from db and add to dynpro
  data: xt001 type t001.

  clear xt001.
  select single * into xt001
         from t001
        where bukrs = return-fieldval.

  dynfields-fieldname = 'P_BUTXT'.
  dynfields-fieldvalue = xt001-butxt.
  append dynfields.

  dynfields-fieldname = 'P_ORT01'.
  dynfields-fieldvalue = xt001-ort01.
  append dynfields.

  dynfields-fieldname = 'P_LAND1'.
  dynfields-fieldvalue = xt001-land1.
  append dynfields.

* Update the dynpro values.
  call function 'DYNP_VALUES_UPDATE'
       exporting
            dyname     = sy-cprog
            dynumb     = sy-dynnr
       tables
            dynpfields = dynfields
       exceptions
            others     = 8.

start-of-selection.

Regards,

Rich Heilman

Read only

Manohar2u
Active Contributor
0 Likes
393

Hi Liat,

For this I think you have set the export sequence in your search help. And you should use the same fields in your selection screen and in same sequence(i think) in selection screen.

Regds

Manohar