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

selection screen on value request

Former Member
0 Likes
681

hi all,

i have 2 fields on my selection screen my requirement is when i press f4 for 1st field and choose the value

my second field should get populated by the corresponding value.

any idea about it will be great!!

7 REPLIES 7
Read only

Former Member
0 Likes
659

hi there....

in the PAI module, use on help request module. then inside the module, write code to populate the fields required.

reward if helpful or get bak with further issues.

Read only

Former Member
0 Likes
659

HI.

refer this code.

PARAMETERS p_field1 TYPE lips-vbeln.

PARAMETERS p_field2 TYPE likp-lifnr.

Write code to get f4 help for field1.

then

Select lifnr from likp into p_field2 where vbeln = p_field1.

Reward all helpfull answers.

Regards.

Jay

Read only

Former Member
0 Likes
659

Hi Bhanu,

for this two fields create a elementary search (tick mark the import and export parameters) in SE11.

attach this search help to the Table .

and in ur report program use that table fields in ur selection screen.

and when u chose the value for first field the second field will be populated with the data.

reward if helpful,

Thanks

S.Gangi reddy

Read only

Former Member
0 Likes
659

Hi bhanu

create a elementary search help for this two fileds (check both the export parameters of this two fields).

assign this search help to the Table .

in your report program selection screen use this table fileds.

u will get ur desired output,

reward if helpful,

Thanks,

S.Gangi reddy.

Read only

Former Member
0 Likes
659

On value request for the second field you have to read the selection screen using the FM DYNP_VALUES_READ. and perform a select query on the table which contains the values for the second field depending on the first one and display it using value help FM F4IF_INT_TABLE_VALUE_REQUEST.

Reward if helpful

Read only

Former Member
0 Likes
659

use the below fm after AT SELECTION-SCREEN ON VALUE-REQUEST

F4IF_INT_TABLE_VALUE_REQUEST

Thanks and regards

Read only

Former Member
0 Likes
659

hi bhanu,

it can be done as said by satti by using elementary search help

or it can be done using the

event at selection on value-request on field.

and the fm F4IF_INT_TABLE_VALUE_REQUEST

eq code for it

this example gets the document type and creating date based on the document number

**********************************************************************************************************************************************
*TO GET THE DOCUMENT TYPE AND CREATION DATE BASED ON THE PURCHASE DOCUMENT NO
********************************************************************************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_DOC.

  CHECK NOT SO_DOC IS INITIAL.

  SELECT BSART FROM EKKO INTO TABLE I_TYP
                    WHERE EBELN IN SO_DOC.

  SORT I_TYP BY BSART.

  DELETE ADJACENT DUPLICATES FROM I_TYP.

  CLEAR:VALUE_TAB,FIELD_TAB,RETURN_TAB.

  REFRESH:VALUE_TAB,FIELD_TAB,RETURN_TAB.

  FIELD_TAB-FIELDNAME = 'BSART'.

  FIELD_TAB-TABNAME = 'EKKO'.

  APPEND FIELD_TAB.

  LOOP AT I_TYP.

    VALUE_TAB-BSART = I_TYP-BSART.

    APPEND VALUE_TAB.

  ENDLOOP.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD        = FIELD_TAB-FIELDNAME
    TABLES
      VALUE_TAB       = VALUE_TAB
      FIELD_TAB       = FIELD_TAB
      RETURN_TAB      = RETURN_TAB
    EXCEPTIONS
      PARAMETER_ERROR = 1
      NO_VALUES_FOUND = 2
      OTHERS          = 3.
  IF SY-SUBRC  = 0.

    P_DOC = RETURN_TAB-FIELDVAL.

  ENDIF.

***********************************************************************************************************************************************
* TO GET THE CREATION DATE BASED ON THE PURCHASE DOCUMENT NO
*********************************************************************************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR SO_DATE-LOW.

  CHECK NOT SO_DOC IS INITIAL.

  SELECT AEDAT FROM EKKO INTO TABLE I_DATE
                WHERE EBELN IN SO_DOC.


  SORT I_DATE BY AEDAT.

  DELETE ADJACENT DUPLICATES FROM I_DATE.

  CLEAR:VALUE_TAB1,FIELD_TAB,RETURN_TAB.

  REFRESH: VALUE_TAB1,FIELD_TAB,RETURN_TAB.

  FIELD_TAB-FIELDNAME = 'AEDAT'.

  FIELD_TAB-TABNAME = 'EKKO'.

  APPEND FIELD_TAB.

  LOOP AT I_DATE.

    VALUE_TAB1-AEDAT = I_DATE-AEDAT.

    APPEND VALUE_TAB1.

  ENDLOOP.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD        = FIELD_TAB-FIELDNAME
    TABLES
      VALUE_TAB       = VALUE_TAB1
      FIELD_TAB       = FIELD_TAB
      RETURN_TAB      = RETURN_TAB
    EXCEPTIONS
      PARAMETER_ERROR = 1
      NO_VALUES_FOUND = 2
      OTHERS          = 3.
  CALL FUNCTION 'CONVERSION_EXIT_PDATE_INPUT'
    EXPORTING
      INPUT  = RETURN_TAB-FIELDVAL
    IMPORTING
      OUTPUT = RETURN_TAB-FIELDVAL.
  IF SY-SUBRC = 0.

    SO_DATE-LOW = RETURN_TAB-FIELDVAL.

  ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR SO_DATE-HIGH.

  CHECK NOT SO_DOC IS INITIAL.

  SELECT AEDAT FROM EKKO INTO TABLE I_DATE
                WHERE EBELN IN SO_DOC.


  SORT I_DATE BY AEDAT.

  DELETE ADJACENT DUPLICATES FROM I_DATE.

  CLEAR:VALUE_TAB1,FIELD_TAB,RETURN_TAB.

  REFRESH: VALUE_TAB1,FIELD_TAB,RETURN_TAB.

  FIELD_TAB-FIELDNAME = 'AEDAT'.

  FIELD_TAB-TABNAME = 'EKKO'.

  APPEND FIELD_TAB.

  LOOP AT I_DATE.

    VALUE_TAB1-AEDAT = I_DATE-AEDAT.

    APPEND VALUE_TAB1.

  ENDLOOP.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD        = FIELD_TAB-FIELDNAME
    TABLES
      VALUE_TAB       = VALUE_TAB1
      FIELD_TAB       = FIELD_TAB
      RETURN_TAB      = RETURN_TAB
    EXCEPTIONS
      PARAMETER_ERROR = 1
      NO_VALUES_FOUND = 2
      OTHERS          = 3.
  IF SY-SUBRC = 0.

    SO_DATE-HIGH = RETURN_TAB-FIELDVAL.

  ENDIF.

********************************************************************************************************************************************
*                          INITIALIZATION OF VALUES
********************************************************************************************************************************************
INITIALIZATION.

  SO_DOC-LOW =  '3000000004'.

  SO_DOC-HIGH = '6000000004'.

  SO_DOC-OPTION = 'BT'.

  SO_DOC-SIGN = 'I'.

  APPEND SO_DOC.

PLEASE REWARD POINTS IF HELPFUL