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

to create value-request for user defined parameter

Former Member
0 Likes
663

Hi All,

Can any one tell me how to create an F4 functionality for an user deined field.

Ex: P_VAL type c.

i want to create an F4 functionality for that P_VAL.

Thanks in advance

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
614

hi,

we have two function modules

1.F4IF_INT_TABLE_VALUE_REQUEST' internaltable

2. the person above me posted remainder.

the advantage is that this gives ur selected values in ur unternal table as f4 help.

5 REPLIES 5
Read only

Former Member
0 Likes
614

Hello,

U can do like this:


TYPE-POOLS: shlp.
 
DATA: lt_return TYPE STANDARD TABLE OF ddshretval.
 
PARAMETERS: p_belnr LIKE vbkpf-belnr,
            p_gjahr LIKE vbkpf-gjahr.
 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_belnr.
 
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname                   = 'VBKPF'
      fieldname                 = 'BELNR'
      searchhelp                = 'H_VBKPF'
      shlpparam                 = 'BELNR'
   dynpprog                  = 'ZSRITEST59'
   dynpnr                    = sy-dynnr
   dynprofield               = 'P_BELNR'
*   STEPL                     = 0
*   VALUE                     = ' '
*   MULTIPLE_CHOICE           = ' '
*   DISPLAY                   = ' '
*   SUPPRESS_RECORDLIST       = ' '
   CALLBACK_PROGRAM          = 'ZSRITEST59'
   CALLBACK_FORM             = 'HANDLE_F4'
   TABLES
     return_tab                = lt_return[]
   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.
 
START-OF-SELECTION.
 
 
*---------------------------------------------------------------------*
*       FORM handle_f4                                                *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  LT_DATA                                                       *
*  -->  LS_SHLP                                                       *
*  -->  LS_CALLCONTROL                                                *
*---------------------------------------------------------------------*
FORM handle_f4 TABLES lt_data STRUCTURE seahlpres
****The following TYPE SHLP_DESCR_T is replaced with
****SHLP_DESCR from 4.7 onwards
             CHANGING ls_shlp TYPE shlp_descr_t
                      ls_callcontrol LIKE ddshf4ctrl.
 
  DATA: lwa_interface LIKE LINE OF ls_shlp-interface.
 
  lwa_interface-valtabname = ''.
  lwa_interface-valfield = 'P_GJAHR'.
 
  MODIFY ls_shlp-interface FROM lwa_interface
  TRANSPORTING valtabname valfield
         WHERE shlpfield = 'GJAHR'.
 
ENDFORM.



Hope this helps..

REgards,

VAsanth

Read only

Former Member
0 Likes
614

See the following ex:

DATA: IT_MBLNR TYPE STANDARD TABLE OF TY_MBLNR WITH HEADER LINE.

data: it_ret like ddshretval occurs 0 with header line.

Parameters: p_mat like mkpf-mblnr.

At selection-screen on value-request for p_mat.

Select MBLNR from mkpf into table it_mblnr.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = 'MBLNR'

  • PVALKEY = ' '

  • DYNPPROG = ' '

  • DYNPNR = ' '

  • DYNPROFIELD = ' '

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = IT_MBLNR

  • FIELD_TAB =

RETURN_TAB = IT_RET

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

IF SY-SUBRC = 0.

read table it_ret index 1.

move it_ret-fieldval to p_mat.

ENDIF.

Read only

Former Member
0 Likes
614

Hi,

Sample code for input help:

PARAMETERS: P_CARR_1 TYPE SPFLI-CARRID,

P_CARR_2 TYPE SPFLI-CARRID.

<b>AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_CARR_2.</b>

CALL SCREEN 100 STARTING AT 10 5

ENDING AT 50 10.

MODULE VALUE_LIST OUTPUT.

SUPPRESS DIALOG.

LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.

SET PF-STATUS SPACE.

NEW-PAGE NO-TITLE.

WRITE 'Star Alliance' COLOR COL_HEADING.

ULINE.

P_CARR_2 = 'AC '.

WRITE: / P_CARR_2 COLOR COL_KEY, 'Air Canada'.

HIDE P_CARR_2.

P_CARR_2 = 'LH '.

WRITE: / P_CARR_2 COLOR COL_KEY, 'Lufthansa'.

HIDE P_CARR_2.

P_CARR_2 = 'SAS'.

WRITE: / P_CARR_2 COLOR COL_KEY, 'SAS'.

HIDE P_CARR_2.

P_CARR_2 = 'THA'.

4 WRITE: / P_CARR_2 COLOR COL_KEY, 'Thai International'.

HIDE P_CARR_2.

P_CARR_2 = 'UA '.

WRITE: / P_CARR_2 COLOR COL_KEY, 'United Airlines'.

HIDE P_CARR_2.

CLEAR P_CARR_2.

ENDMODULE.

AT LINE-SELECTION.

CHECK NOT P_CARR_2 IS INITIAL.

LEAVE TO SCREEN 0.

Regars,

Sandhya

Read only

Former Member
0 Likes
615

hi,

we have two function modules

1.F4IF_INT_TABLE_VALUE_REQUEST' internaltable

2. the person above me posted remainder.

the advantage is that this gives ur selected values in ur unternal table as f4 help.

Read only

Former Member
0 Likes
614

Hi,

U have to Implement the Event At Selection-screen on value Request for this and

give the functionality which u have to do.

Regards,

Ravi