Application Development 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: 

F4 Search Help in ABAP

Former Member
0 Kudos

Hello Experts,

I have a parameter which takes a personnel number. I want to implement a F4 help for this parameter. It should retrieve personnel number based on employee full name from table PA0001.

When F4 help box is showed up, user would enter name and my ABAP code should populate parameter for personnel number.

How can I achieve this ?

Thank you very much.

2 REPLIES 2

Former Member
0 Kudos

HI,

Try Collective srch hlp PREM you have the search tab Last Name and First Name init.

select-options: s_pernr for p0001-pernr matchcode object prem
                no intervals.

faisal_altaf2
Active Contributor
0 Kudos

Hi, Zahin

Test the following code it will solve out your problem,

REPORT zfsl_test_search_help NO STANDARD PAGE HEADING.
 
TABLES: pa0001.
SELECT-OPTIONS: ppernr for pa0001-pernr.
 
DATA: i_return TYPE ddshretval OCCURS 0 WITH HEADER LINE,
      c TYPE c VALUE 'S'.
 
* Search Help for Ppernr-low
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ppernr-low.
 
  TYPES: BEGIN OF t_pernr,
    pernr LIKE pa0001-pernr,
    ename LIKE pa0001-ename,
  END OF t_pernr.
 
  DATA: it_pa0001 TYPE STANDARD TABLE OF t_pernr WITH HEADER LINE.
 
  SELECT pernr ename from pa0001
    INTO CORRESPONDING FIELDS OF TABLE it_pa0001
    where pa0001~endda = '99991231' .
*    WHERE zsdo~kunnr IN sokunnr.
 
  DELETE it_pa0001 WHERE pernr = '00000000'.
  SORT it_pa0001 BY pernr.
 
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield    = 'PERNR'
      dynpprog    = sy-repid
      dynpnr      = sy-dynnr
      dynprofield = 'PERNR'
      value_org   = c
    TABLES
      value_tab   = it_pa0001
      return_tab  = i_return.
 
* Search Help for Ppernr-High
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ppernr-high.
 
  TYPES: BEGIN OF t_pernr,
    pernr LIKE pa0001-pernr,
    ename LIKE pa0001-ename,
  END OF t_pernr.
 
  DATA: it_pa0001 TYPE STANDARD TABLE OF t_pernr WITH HEADER LINE.
 
  SELECT pernr ename from pa0001
    INTO CORRESPONDING FIELDS OF TABLE it_pa0001
    where pa0001~endda = '99991231' .
*    WHERE zsdo~kunnr IN sokunnr.
 
  DELETE it_pa0001 WHERE pernr = '00000000'.
  SORT it_pa0001 BY pernr.
 
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield    = 'PERNR'
      dynpprog    = sy-repid
      dynpnr      = sy-dynnr
      dynprofield = 'PERNR'
      value_org   = c
    TABLES
      value_tab   = it_pa0001
      return_tab  = i_return.

Please Reply if need more help or any Issue.

Kind Regards,

Faisal