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
1,232

I WANT TO SET SEARCH HELP RESTRICTED TO 4 VALUES..

Selection parameters for status – search help restricted to only below parameters

Make it mandatory.

I20 - hold

I30 - sucess

I40 - completed

I50 - discard.

1 ACCEPTED SOLUTION
Read only

dani_mn
Active Contributor
0 Likes
1,190

HI,

check this program it is showing 4 record in search help and all records in f8 display.

<b>REPORT ZWA_SEARCH_HELP .

data : RETURN_TAB LIKE DDSHRETVAL occurs 0 .

DATA : BEGIN OF ITAB OCCURS 0,
          BUKRS LIKE BKPF-BUKRS,
          BELNR LIKE BKPF-BELNR,
          GJAHR LIKE BKPF-GJAHR,
       END OF ITAB.

DATA : BEGIN OF ITAB1 OCCURS 0,
          BUKRS LIKE BKPF-BUKRS,
          BELNR LIKE BKPF-BELNR,
          GJAHR LIKE BKPF-GJAHR,
       END OF ITAB1.

PARAMETERS : BELNR LIKE BKPF-BELNR.

START-OF-SELECTION.

  SELECT bukrs belnr gjahr INTO TABLE itab1
    FROM bkpf.

  LOOP at itab1.

    write:/ itab1-belnr, itab1-bukrs, itab1-gjahr.

  ENDLOOP.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR BELNR.

  SELECT bukrs belnr gjahr  INTO TABLE itab
  FROM bkpf up to 4 rows  .




  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            retfield    = 'BELNR'
            DYNPPROG    = SY-REPID
            DYNPNR      = SY-DYNNR
            DYNPROFIELD = 'BELNR'
            VALUE_ORG   = 'S'
       TABLES
            value_tab   = ITAB
            return_tab  = return_tab.</b>

Regards,

HRA

16 REPLIES 16
Read only

Former Member
0 Likes
1,190

Hi ,

Check this code


REPORT DEMO_DYNPRO_F4_HELP_MODULE.
 
TYPES: BEGIN OF VALUES,
         CARRID TYPE SPFLI-CARRID,
         CONNID TYPE SPFLI-CONNID,
       END OF VALUES.
 
DATA: CARRIER(3) TYPE C,
      CONNECTION(4) TYPE C.
 
DATA: PROGNAME LIKE SY-REPID,
      DYNNUM   LIKE SY-DYNNR,
      DYNPRO_VALUES TYPE TABLE OF DYNPREAD,
      FIELD_VALUE LIKE LINE OF DYNPRO_VALUES,
      VALUES_TAB TYPE TABLE OF VALUES.
 
CALL SCREEN 100.
 
MODULE INIT OUTPUT.
  PROGNAME = SY-REPID.
  DYNNUM   = SY-DYNNR.
  CLEAR: FIELD_VALUE, DYNPRO_VALUES.
  FIELD_VALUE-FIELDNAME = 'CARRIER'.
  APPEND FIELD_VALUE TO DYNPRO_VALUES.
ENDMODULE.
 
MODULE CANCEL INPUT.
  LEAVE PROGRAM.
ENDMODULE.
 
MODULE VALUE_CARRIER INPUT.
 
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
       EXPORTING
            TABNAME           = 'DEMOF4HELP'
            FIELDNAME         = 'CARRIER1'
            DYNPPROG          =  PROGNAME
            DYNPNR            =  DYNNUM
            DYNPROFIELD       = 'CARRIER'.
 
ENDMODULE.
 
MODULE VALUE_CONNECTION INPUT.
 
  CALL FUNCTION 'DYNP_VALUES_READ'
       EXPORTING
            DYNAME                   = PROGNAME
            DYNUMB                   = DYNNUM
            TRANSLATE_TO_UPPER       = 'X'
       TABLES
            DYNPFIELDS               = DYNPRO_VALUES.
 
  READ TABLE DYNPRO_VALUES INDEX 1 INTO FIELD_VALUE.
 
  SELECT  CARRID CONNID
    FROM  SPFLI
    INTO  CORRESPONDING FIELDS OF TABLE VALUES_TAB
    WHERE CARRID = FIELD_VALUE-FIELDVALUE.
 
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            RETFIELD         = 'CONNID'
            DYNPPROG         = PROGNAME
            DYNPNR           = DYNNUM
            DYNPROFIELD      = 'CONNECTION'
            VALUE_ORG        = 'S'
       TABLES
            VALUE_TAB        = VALUES_TAB.
 
ENDMODULE.
 

Cheers

VJ

Read only

0 Likes
1,190

Hi VJ,

can u explain in detail...as i am confused with your BIG code..

Thanks in advance

Read only

0 Likes
1,190

Hi Ravi,

can u expalin me how to use this FM ...as it is asking ID...what to pass.....

Read only

0 Likes
1,190

Hi,

You need to do the following steps.

1). Define a internal table

2). Create 4 entries with the correct data

3). Pass the internal table to the FM given below

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            RETFIELD         = 'CONNID'
            DYNPPROG         = PROGNAME
            DYNPNR           = DYNNUM
            DYNPROFIELD      = 'CONNECTION'
            VALUE_ORG        = 'S'
       TABLES
            VALUE_TAB        = <YOUR INTERNAL TABLE>.

4). Call the FM where you want to display the F4 help.

Cheers

VJ

Read only

0 Likes
1,190

thanks..

but the values should be appeared when i click F8 and parameter value that i pass..when i click F4 on it it should display only 4 values...

Read only

0 Likes
1,190

Hi,

do u mean u need the F4 help from the selection screen?

If yes then you must write the above code in the selection screen event

PARAMETERS: p_matnr type matnr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr

< CALL the FM in this event>

Hope this helps

Cheers

VJ

Read only

Former Member
0 Likes
1,190

use the fm VRM_SET_VALUES.

Regards,

ravi

Read only

Former Member
0 Likes
1,190

Create a domain and put the entries into the value list.

Read only

dani_mn
Active Contributor
0 Likes
1,191

HI,

check this program it is showing 4 record in search help and all records in f8 display.

<b>REPORT ZWA_SEARCH_HELP .

data : RETURN_TAB LIKE DDSHRETVAL occurs 0 .

DATA : BEGIN OF ITAB OCCURS 0,
          BUKRS LIKE BKPF-BUKRS,
          BELNR LIKE BKPF-BELNR,
          GJAHR LIKE BKPF-GJAHR,
       END OF ITAB.

DATA : BEGIN OF ITAB1 OCCURS 0,
          BUKRS LIKE BKPF-BUKRS,
          BELNR LIKE BKPF-BELNR,
          GJAHR LIKE BKPF-GJAHR,
       END OF ITAB1.

PARAMETERS : BELNR LIKE BKPF-BELNR.

START-OF-SELECTION.

  SELECT bukrs belnr gjahr INTO TABLE itab1
    FROM bkpf.

  LOOP at itab1.

    write:/ itab1-belnr, itab1-bukrs, itab1-gjahr.

  ENDLOOP.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR BELNR.

  SELECT bukrs belnr gjahr  INTO TABLE itab
  FROM bkpf up to 4 rows  .




  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            retfield    = 'BELNR'
            DYNPPROG    = SY-REPID
            DYNPNR      = SY-DYNNR
            DYNPROFIELD = 'BELNR'
            VALUE_ORG   = 'S'
       TABLES
            value_tab   = ITAB
            return_tab  = return_tab.</b>

Regards,

HRA

Read only

Former Member
0 Likes
1,190

HI HRA,

Thanks for ur help..

here i am passing the values as fixed..

I1015 Awaiting Approval

I1021 Created

I1038 Complete

I1106 Shopping cart ordered

so how to pass values...

i have declared an internal table

*DATA : BEGIN OF LT_SEARCH_HELP OCCURS 0,

  • VALUE1(5) TYPE C,

  • VALUE2(5) TYPE C,

  • VALUE3(5) TYPE C,

  • VALUE4(5) TYPE C,

  • END OF LT_SEARCH_HELP.

*

*LT_SEARCH_HELP-VALUE1 = 'I1015'.

*LT_SEARCH_HELP-VALUE2 = 'I1021'.

*LT_SEARCH_HELP-VALUE3 = 'I1038'.

*LT_SEARCH_HELP-VALUE4 = 'I1106'.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'so_stat' DYNPPROG = SY-REPID DYNPNR = SY-DYNNR DYNPROFIELD = 'so_stat' VALUE_ORG = 'S' TABLES value_tab = lt_search_help return_tab = return_tab.

is it correct..?

Read only

dani_mn
Active Contributor
0 Likes
1,190

HI VJ,

check this code, it is adding four values that you required in search help.

<b>data : RETURN_TAB LIKE DDSHRETVAL occurs 0 .

DATA : BEGIN OF LT_SEARCH_HELP OCCURS 0,
         VALUE1 like bkpf-AWTYP,
       END OF LT_SEARCH_HELP.



PARAMETERS : BELNR LIKE BKPF-BELNR.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR BELNR.


*
LT_SEARCH_HELP-VALUE1 = 'I1015'.
append lt_search_help.
LT_SEARCH_HELP-VALUE1 = 'I1021'.
append lt_search_help.
LT_SEARCH_HELP-VALUE1 = 'I1038'.
append lt_search_help.
LT_SEARCH_HELP-VALUE1 = 'I1106'.
append lt_search_help.






  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            retfield    = 'BELNR'
            DYNPPROG    = SY-REPID
            DYNPNR      = SY-DYNNR
            DYNPROFIELD = 'BELNR'
            VALUE_ORG   = 'S'
       TABLES
            value_tab   = LT_SEARCH_HELP
  return_tab  = return_tab.</b>

Regards,

HRA

Read only

Former Member
0 Likes
1,190

thanks...

But when i press F4 in the selection-screen..the pop up screen is showing no values..but it is displaying 4 values found..but they are not displayed...WHY?

Read only

dani_mn
Active Contributor
0 Likes
1,190

HI,

did you declare your internal table like this.


DATA : BEGIN OF LT_SEARCH_HELP OCCURS 0,
<b>         VALUE1 like bkpf-AWTYP,</b>
       END OF LT_SEARCH_HELP.

Regards,

HRA

Read only

Former Member
0 Likes
1,190

HI

Try with this code

REPORT ZSEARCH_HELP .

data : RETURN_TAB LIKE DDSHRETVAL occurs 0 .

DATA : BEGIN OF ITAB OCCURS 0,

VALUE LIKE BKPF-BELNR,

END OF ITAB.

PARAMETERS : BELNR LIKE BKPF-BELNR.

START-OF-SELECTION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR BELNR.

ITAB-VALUE = '120 - hold'.

append ITAB.

ITAB-VALUE = '130 - success'.

append ITAB.

ITAB-VALUE = '140 - Completed'.

append ITAB.

ITAB-VALUE = '150- discard'.

append ITAB.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'BELNR'

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'BELNR'

VALUE_ORG = 'S'

TABLES

value_tab = ITAB

return_tab = return_tab.

Thanks

Raj

Read only

0 Likes
1,190

HI,

BELOW CODE WHEN PRESSED F4 IN THE SELECTION-SCREEN IS DISPLAYING ON THE VALUES BUT NOT THE DESCRIPTION....

KINDLY SUGGEST

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_stat.

DATA : BEGIN OF LT_SEARCH_HELP OCCURS 0,

value1 like tj02-istat,

desc(30) type c,

END OF LT_SEARCH_HELP.

LT_SEARCH_HELP-VALUE1 = 'I1015'.

LT_SEARCH_HELP-DESC = 'Awaiting Approval'.

append LT_SEARCH_HELP.

LT_SEARCH_HELP-VALUE1 = 'I1021'.

LT_SEARCH_HELP-DESC = 'Created'.

append LT_SEARCH_HELP.

LT_SEARCH_HELP-VALUE1 = 'I1038'.

LT_SEARCH_HELP-DESC = 'Complete'.

append LT_SEARCH_HELP.

LT_SEARCH_HELP-VALUE1 = 'I1106'.

LT_SEARCH_HELP-DESC = 'Shopping cart ordered'.

append LT_SEARCH_HELP.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'p_stat'

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'p_stat'

VALUE_ORG = 'S'

TABLES

value_tab = LT_SEARCH_HELP

return_tab = return_tab.

Message was edited by: vj bb

Message was edited by: vj bb

Read only

dani_mn
Active Contributor
0 Likes
1,190

HI,

declare your internal table like this.

DATA : BEGIN OF LT_SEARCH_HELP OCCURS 0,

value1 like tj02-istat,

<b>desc type char30</b>,

END OF LT_SEARCH_HELP.

Regards.