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: 

Autocomplete more then one parameters

roberto_falk
Advisor
Advisor
0 Kudos
867

Hello all,

I have a screen with 2 fields...


PARAMETERS:
p_trfgr LIKE t510-trfgr,
p_trfst LIKE t510-trfst.

What I need is, when the user use the "F4" button, on p_trfgb parameter, and select a value on the input help, the p_trfst have to be filled automatically, together with the trfgb. Someone knows how I can do this?

Thanks a lot in advance.

Roberto Falk

1 ACCEPTED SOLUTION

santosh_patil6
Explorer
0 Kudos
392

Hi,

Here is the complete code to do what you want.

REPORT ZINPUT_HELP_VALUE_REQUEST_F4V1

LINE-SIZE 351 NO STANDARD PAGE HEADING

LINE-COUNT 65

MESSAGE-ID 00.

************************************************************************

  • TABLES

************************************************************************

TABLES: PA0001. "HR Master Record: Infotype 0001 (Org. Assignment)

************************************************************************

  • INTERNAL TABLES AND STRUCTURES AND VARIABLES

************************************************************************

DATA: BEGIN OF VAL_TAB OCCURS 0,

ENAME LIKE PA0001-ENAME, " Formatted Name of Employee or

" Applicant

PERNR LIKE PA0001-PERNR, " Personnel Number

END OF VAL_TAB.

DATA: BEGIN OF DATA_TAB OCCURS 0,

PERNR LIKE PA0001-PERNR," Personnel Number

ENAME LIKE PA0001-ENAME," Formatted Name of Employee or

" Applicant

ENDDA LIKE PA0001-ENDDA," Start Date

BEGDA LIKE PA0001-BEGDA," End Date

END OF DATA_TAB.

DATA : BEGIN OF RET_TAB OCCURS 3.

INCLUDE STRUCTURE DDSHRETVAL.

DATA : END OF RET_TAB.

DATA : BEGIN OF DYNPFIELDS OCCURS 3.

INCLUDE STRUCTURE DYNPREAD.

DATA : END OF DYNPFIELDS.

DATA: DYNAME LIKE D020S-PROG VALUE SY-REPID,

DYNUMB LIKE D020S-DNUM VALUE '1000',

FIELDNAME TYPE DFIES-FIELDNAME,

V_BEGDA(10) TYPE C,

V_ENDDA(10) TYPE C,

V_OUTDAT TYPE DATS.

************************************************************************

  • SELECTION SCREEN DEFINITIONS

************************************************************************

PARAMETERS: P_BEGDA LIKE PA0001-BEGDA OBLIGATORY,

P_ENDDA LIKE PA0001-ENDDA OBLIGATORY,

P_PERNR LIKE PA0001-PERNR,

P_ENAME LIKE PA0001-ENAME.

************************************************************************

  • INITIALIZATION

*Here you select the records,you wish to display when the user requests

*for value help.

*In this case personnel no and employee name are displayed

************************************************************************

INITIALIZATION.

MOVE 'P_BEGDA' TO DYNPFIELDS-FIELDNAME.

APPEND DYNPFIELDS.

MOVE 'P_ENDDA' TO DYNPFIELDS-FIELDNAME.

APPEND DYNPFIELDS.

************************************************************************

  • AT SELECTION-SCREEN

*Here you will display the selected records for user selection.

*In this case:

  • The value selection screen for user will contain 2 fields

  • EmployeeName (ename) and Personnel Number(pernr)

*When the user selects one record, the corresponding personnel number

*will be filled in the input field p_pernr.

************************************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PERNR.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

DYNAME = DYNAME

DYNUMB = DYNUMB

TABLES

DYNPFIELDS = DYNPFIELDS.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CLEAR DYNPFIELDS.

READ TABLE DYNPFIELDS INDEX 1.

V_BEGDA = DYNPFIELDS-FIELDVALUE.

PERFORM DATE_CONVERT USING V_BEGDA

CHANGING V_OUTDAT.

V_BEGDA = V_OUTDAT.

READ TABLE DYNPFIELDS INDEX 2.

V_ENDDA = DYNPFIELDS-FIELDVALUE.

PERFORM DATE_CONVERT USING V_ENDDA

CHANGING V_OUTDAT.

V_ENDDA = V_OUTDAT.

*GET THE PERNR'S BETWEEN THE DATES ENTERED ON THE SELECTION SCREEN

SELECT PERNR ENAME INTO CORRESPONDING FIELDS OF TABLE VAL_TAB

UP TO 50 ROWS

FROM PA0001

WHERE BEGDA GE V_BEGDA AND

ENDDA LE V_ENDDA.

*F4 DISPLAY WILL HAVE ONLY THOSE PERNR'S WHICH LIE WITHIN THE

*INPUT DATES.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = FIELDNAME "Required for the

"Function Module to Work

  • PVALKEY = ' '

DYNPPROG = DYNAME

DYNPNR = DYNUMB

DYNPROFIELD = 'P_PERNR'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE =

VALUE_ORG = 'S' " Required as it is

" Internal representation

  • MULTIPLE_CHOICE = 'X'

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = VAL_TAB

  • FIELD_TAB = FLD_TAB

RETURN_TAB = RET_TAB.

  • DYNPFLD_MAPPING = DYNPFLD_MAPPING.

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

REFRESH DYNPFIELDS.

DYNPFIELDS-FIELDNAME = 'P_PERNR'.

DYNPFIELDS-FIELDVALUE = VAL_TAB-PERNR.

APPEND DYNPFIELDS.

DYNPFIELDS-FIELDNAME = 'P_ENAME'.

DYNPFIELDS-FIELDVALUE = VAL_TAB-ENAME.

APPEND DYNPFIELDS.

*DISPLAY THE VALUES ON THE SCREEN.

CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

DYNAME = DYNAME

DYNUMB = DYNUMB

TABLES

DYNPFIELDS = DYNPFIELDS.

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

************************************************************************

START-OF-SELECTION.

PERFORM GET_DATA.

PERFORM DISPLAY_DATA.

**********************************************************************

  • END-OF-SELECTION

**********************************************************************

END-OF-SELECTION.

*&----


*& Form get_data

*&----


FORM GET_DATA.

SELECT PERNR ENAME ENDDA BEGDA

INTO CORRESPONDING FIELDS OF TABLE DATA_TAB

FROM PA0001

WHERE PERNR = P_PERNR.

ENDFORM. "get_data

*&----


*& Form display_data

*&----


FORM DISPLAY_DATA.

WRITE:/1 'Personnel Number',

20 'Name',

60 'Start Date',

75 'End Date'.

LOOP AT DATA_TAB.

WRITE: /1 DATA_TAB-PERNR,

20 DATA_TAB-ENAME,

60 DATA_TAB-BEGDA,

75 DATA_TAB-ENDDA.

ENDLOOP.

ENDFORM. "display_data

&----


*& Form DATE_CONVERT

&----


  • text

----


  • -->F_INDAT text

  • -->F_OUTDAT text

----


FORM DATE_CONVERT USING F_INDAT

CHANGING F_OUTDAT.

DATA: C1(2),

C2(2),

C3(4).

C1 = F_INDAT+0(2). "01.01.1995

C2 = F_INDAT+3(2).

C3 = F_INDAT+6(4).

CONCATENATE C3 C2 C1 INTO F_OUTDAT.

ENDFORM. "DATE_CONVERT

let me know if this helps.

Regards,

Santosh

5 REPLIES 5

krishnendu_laha
Active Contributor
0 Kudos
392

Hi Roberto,

Code for F4 help in AT SELECTION-SCREEN ON VALUE REQUEST FOR P_TRFGR.

take the help of F4IF_INT_TABLE_VALUE_REQUEST function module and pass the value as internal tabel (do not forget to pass the screen field to the RETFIELD parameter). u will get the selected value of TRFGR by the user from F4 in RETURN_TAB.

then select it from T510 table and pass TRFGR and TRFST.

Hope it will solve the problem.

Regards,

Krishnendu

santosh_patil6
Explorer
0 Kudos
393

Hi,

Here is the complete code to do what you want.

REPORT ZINPUT_HELP_VALUE_REQUEST_F4V1

LINE-SIZE 351 NO STANDARD PAGE HEADING

LINE-COUNT 65

MESSAGE-ID 00.

************************************************************************

  • TABLES

************************************************************************

TABLES: PA0001. "HR Master Record: Infotype 0001 (Org. Assignment)

************************************************************************

  • INTERNAL TABLES AND STRUCTURES AND VARIABLES

************************************************************************

DATA: BEGIN OF VAL_TAB OCCURS 0,

ENAME LIKE PA0001-ENAME, " Formatted Name of Employee or

" Applicant

PERNR LIKE PA0001-PERNR, " Personnel Number

END OF VAL_TAB.

DATA: BEGIN OF DATA_TAB OCCURS 0,

PERNR LIKE PA0001-PERNR," Personnel Number

ENAME LIKE PA0001-ENAME," Formatted Name of Employee or

" Applicant

ENDDA LIKE PA0001-ENDDA," Start Date

BEGDA LIKE PA0001-BEGDA," End Date

END OF DATA_TAB.

DATA : BEGIN OF RET_TAB OCCURS 3.

INCLUDE STRUCTURE DDSHRETVAL.

DATA : END OF RET_TAB.

DATA : BEGIN OF DYNPFIELDS OCCURS 3.

INCLUDE STRUCTURE DYNPREAD.

DATA : END OF DYNPFIELDS.

DATA: DYNAME LIKE D020S-PROG VALUE SY-REPID,

DYNUMB LIKE D020S-DNUM VALUE '1000',

FIELDNAME TYPE DFIES-FIELDNAME,

V_BEGDA(10) TYPE C,

V_ENDDA(10) TYPE C,

V_OUTDAT TYPE DATS.

************************************************************************

  • SELECTION SCREEN DEFINITIONS

************************************************************************

PARAMETERS: P_BEGDA LIKE PA0001-BEGDA OBLIGATORY,

P_ENDDA LIKE PA0001-ENDDA OBLIGATORY,

P_PERNR LIKE PA0001-PERNR,

P_ENAME LIKE PA0001-ENAME.

************************************************************************

  • INITIALIZATION

*Here you select the records,you wish to display when the user requests

*for value help.

*In this case personnel no and employee name are displayed

************************************************************************

INITIALIZATION.

MOVE 'P_BEGDA' TO DYNPFIELDS-FIELDNAME.

APPEND DYNPFIELDS.

MOVE 'P_ENDDA' TO DYNPFIELDS-FIELDNAME.

APPEND DYNPFIELDS.

************************************************************************

  • AT SELECTION-SCREEN

*Here you will display the selected records for user selection.

*In this case:

  • The value selection screen for user will contain 2 fields

  • EmployeeName (ename) and Personnel Number(pernr)

*When the user selects one record, the corresponding personnel number

*will be filled in the input field p_pernr.

************************************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PERNR.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

DYNAME = DYNAME

DYNUMB = DYNUMB

TABLES

DYNPFIELDS = DYNPFIELDS.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CLEAR DYNPFIELDS.

READ TABLE DYNPFIELDS INDEX 1.

V_BEGDA = DYNPFIELDS-FIELDVALUE.

PERFORM DATE_CONVERT USING V_BEGDA

CHANGING V_OUTDAT.

V_BEGDA = V_OUTDAT.

READ TABLE DYNPFIELDS INDEX 2.

V_ENDDA = DYNPFIELDS-FIELDVALUE.

PERFORM DATE_CONVERT USING V_ENDDA

CHANGING V_OUTDAT.

V_ENDDA = V_OUTDAT.

*GET THE PERNR'S BETWEEN THE DATES ENTERED ON THE SELECTION SCREEN

SELECT PERNR ENAME INTO CORRESPONDING FIELDS OF TABLE VAL_TAB

UP TO 50 ROWS

FROM PA0001

WHERE BEGDA GE V_BEGDA AND

ENDDA LE V_ENDDA.

*F4 DISPLAY WILL HAVE ONLY THOSE PERNR'S WHICH LIE WITHIN THE

*INPUT DATES.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = FIELDNAME "Required for the

"Function Module to Work

  • PVALKEY = ' '

DYNPPROG = DYNAME

DYNPNR = DYNUMB

DYNPROFIELD = 'P_PERNR'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE =

VALUE_ORG = 'S' " Required as it is

" Internal representation

  • MULTIPLE_CHOICE = 'X'

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = VAL_TAB

  • FIELD_TAB = FLD_TAB

RETURN_TAB = RET_TAB.

  • DYNPFLD_MAPPING = DYNPFLD_MAPPING.

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

REFRESH DYNPFIELDS.

DYNPFIELDS-FIELDNAME = 'P_PERNR'.

DYNPFIELDS-FIELDVALUE = VAL_TAB-PERNR.

APPEND DYNPFIELDS.

DYNPFIELDS-FIELDNAME = 'P_ENAME'.

DYNPFIELDS-FIELDVALUE = VAL_TAB-ENAME.

APPEND DYNPFIELDS.

*DISPLAY THE VALUES ON THE SCREEN.

CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

DYNAME = DYNAME

DYNUMB = DYNUMB

TABLES

DYNPFIELDS = DYNPFIELDS.

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

************************************************************************

START-OF-SELECTION.

PERFORM GET_DATA.

PERFORM DISPLAY_DATA.

**********************************************************************

  • END-OF-SELECTION

**********************************************************************

END-OF-SELECTION.

*&----


*& Form get_data

*&----


FORM GET_DATA.

SELECT PERNR ENAME ENDDA BEGDA

INTO CORRESPONDING FIELDS OF TABLE DATA_TAB

FROM PA0001

WHERE PERNR = P_PERNR.

ENDFORM. "get_data

*&----


*& Form display_data

*&----


FORM DISPLAY_DATA.

WRITE:/1 'Personnel Number',

20 'Name',

60 'Start Date',

75 'End Date'.

LOOP AT DATA_TAB.

WRITE: /1 DATA_TAB-PERNR,

20 DATA_TAB-ENAME,

60 DATA_TAB-BEGDA,

75 DATA_TAB-ENDDA.

ENDLOOP.

ENDFORM. "display_data

&----


*& Form DATE_CONVERT

&----


  • text

----


  • -->F_INDAT text

  • -->F_OUTDAT text

----


FORM DATE_CONVERT USING F_INDAT

CHANGING F_OUTDAT.

DATA: C1(2),

C2(2),

C3(4).

C1 = F_INDAT+0(2). "01.01.1995

C2 = F_INDAT+3(2).

C3 = F_INDAT+6(4).

CONCATENATE C3 C2 C1 INTO F_OUTDAT.

ENDFORM. "DATE_CONVERT

let me know if this helps.

Regards,

Santosh

0 Kudos
392

Hello,

Your report works fine, but the value that is returned in the VAL_TAB is not the one that was selected in the input help. I don't know what can be wrong...

Thanks all the help.

Roberto Falk

0 Kudos
392

Hi,

Here is the corrected code.

*&----


  • Program ID : ZINPUT_HELP_VALUE_REQUEST_F4V1

  • Author : Santosh Patil

  • Description : Customized Input Help for field Personnel No

  • Version : 1.0

----


----


  • Change History

----


  • Date | Programmer | Corr. # | Description

  • | | |

  • | | |This Program will provide

  • |Input help(F4 help) for

  • |the Input field Personnel

  • |Field

************************************************************************

REPORT ZINPUT_HELP_VALUE_REQUEST_F4V1

LINE-SIZE 351 NO STANDARD PAGE HEADING

LINE-COUNT 65

MESSAGE-ID 00.

************************************************************************

  • TABLES

************************************************************************

TABLES: PA0001. "HR Master Record: Infotype 0001 (Org. Assignment)

************************************************************************

  • INTERNAL TABLES AND STRUCTURES AND VARIABLES

************************************************************************

DATA: BEGIN OF VAL_TAB OCCURS 0,

ENAME LIKE PA0001-ENAME, " Formatted Name of Employee or

" Applicant

PERNR LIKE PA0001-PERNR, " Personnel Number

END OF VAL_TAB.

DATA: BEGIN OF DATA_TAB OCCURS 0,

PERNR LIKE PA0001-PERNR," Personnel Number

ENAME LIKE PA0001-ENAME," Formatted Name of Employee or

" Applicant

ENDDA LIKE PA0001-ENDDA," Start Date

BEGDA LIKE PA0001-BEGDA," End Date

END OF DATA_TAB.

DATA : BEGIN OF RET_TAB OCCURS 3.

INCLUDE STRUCTURE DDSHRETVAL.

DATA : END OF RET_TAB.

DATA : BEGIN OF DYNPFIELDS OCCURS 3.

INCLUDE STRUCTURE DYNPREAD.

DATA : END OF DYNPFIELDS.

DATA: DYNAME LIKE D020S-PROG VALUE SY-REPID,

DYNUMB LIKE D020S-DNUM VALUE '1000',

FIELDNAME TYPE DFIES-FIELDNAME,

V_BEGDA(10) TYPE C,

V_ENDDA(10) TYPE C,

V_OUTDAT TYPE DATS.

************************************************************************

  • SELECTION SCREEN DEFINITIONS

************************************************************************

PARAMETERS: P_BEGDA LIKE PA0001-BEGDA OBLIGATORY,

P_ENDDA LIKE PA0001-ENDDA OBLIGATORY,

P_PERNR LIKE PA0001-PERNR,

P_ENAME LIKE PA0001-ENAME.

************************************************************************

  • INITIALIZATION

*Here you select the records,you wish to display when the user requests

*for value help.

*In this case personnel no and employee name are displayed

************************************************************************

INITIALIZATION.

MOVE 'P_BEGDA' TO DYNPFIELDS-FIELDNAME.

APPEND DYNPFIELDS.

MOVE 'P_ENDDA' TO DYNPFIELDS-FIELDNAME.

APPEND DYNPFIELDS.

************************************************************************

  • AT SELECTION-SCREEN

*Here you will display the selected records for user selection.

*In this case:

  • The value selection screen for user will contain 2 fields

  • EmployeeName (ename) and Personnel Number(pernr)

*When the user selects one record, the corresponding personnel number

*will be filled in the input field p_pernr.

************************************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PERNR.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

DYNAME = DYNAME

DYNUMB = DYNUMB

TABLES

DYNPFIELDS = DYNPFIELDS.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CLEAR DYNPFIELDS.

READ TABLE DYNPFIELDS INDEX 1.

V_BEGDA = DYNPFIELDS-FIELDVALUE.

PERFORM DATE_CONVERT USING V_BEGDA

CHANGING V_OUTDAT.

V_BEGDA = V_OUTDAT.

READ TABLE DYNPFIELDS INDEX 2.

V_ENDDA = DYNPFIELDS-FIELDVALUE.

PERFORM DATE_CONVERT USING V_ENDDA

CHANGING V_OUTDAT.

V_ENDDA = V_OUTDAT.

*GET THE PERNR'S BETWEEN THE DATES ENTERED ON THE SELECTION SCREEN

SELECT PERNR ENAME INTO CORRESPONDING FIELDS OF TABLE VAL_TAB

UP TO 50 ROWS

FROM PA0001

WHERE BEGDA GE V_BEGDA AND

ENDDA LE V_ENDDA.

SORT VAL_TAB BY PERNR ENAME.

*F4 DISPLAY WILL HAVE ONLY THOSE PERNR'S WHICH LIE WITHIN THE

*INPUT DATES.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = FIELDNAME "Required for the

"Function Module to Work

  • PVALKEY = ' '

DYNPPROG = DYNAME

DYNPNR = DYNUMB

DYNPROFIELD = 'P_PERNR'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE =

VALUE_ORG = 'S' " Required as it is

" Internal representation

  • MULTIPLE_CHOICE = 'X'

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = VAL_TAB

  • FIELD_TAB = FLD_TAB

RETURN_TAB = RET_TAB.

  • DYNPFLD_MAPPING = DYNPFLD_MAPPING.

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

READ TABLE VAL_TAB WITH KEY PERNR = RET_TAB-FIELDVAL

BINARY SEARCH.

REFRESH DYNPFIELDS.

DYNPFIELDS-FIELDNAME = 'P_PERNR'.

DYNPFIELDS-FIELDVALUE = VAL_TAB-PERNR.

APPEND DYNPFIELDS.

DYNPFIELDS-FIELDNAME = 'P_ENAME'.

DYNPFIELDS-FIELDVALUE = VAL_TAB-ENAME.

APPEND DYNPFIELDS.

*DISPLAY THE VALUES ON THE SCREEN.

CALL FUNCTION 'DYNP_VALUES_UPDATE'

EXPORTING

DYNAME = DYNAME

DYNUMB = DYNUMB

TABLES

DYNPFIELDS = DYNPFIELDS.

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

************************************************************************

START-OF-SELECTION.

PERFORM GET_DATA.

PERFORM DISPLAY_DATA.

**********************************************************************

  • END-OF-SELECTION

**********************************************************************

END-OF-SELECTION.

*&----


*& Form get_data

*&----


FORM GET_DATA.

SELECT PERNR ENAME ENDDA BEGDA

INTO CORRESPONDING FIELDS OF TABLE DATA_TAB

FROM PA0001

WHERE PERNR = '00000100'. "P_PERNR.

ENDFORM. "get_data

*&----


*& Form display_data

*&----


FORM DISPLAY_DATA.

WRITE:/1 'Personnel Number',

20 'Name',

60 'Start Date',

75 'End Date'.

LOOP AT DATA_TAB.

WRITE: /1 DATA_TAB-PERNR,

20 DATA_TAB-ENAME,

60 DATA_TAB-BEGDA,

75 DATA_TAB-ENDDA.

ENDLOOP.

ENDFORM. "display_data

&----


*& Form DATE_CONVERT

&----


  • text

----


  • -->F_INDAT text

  • -->F_OUTDAT text

----


FORM DATE_CONVERT USING F_INDAT

CHANGING F_OUTDAT.

DATA: C1(2),

C2(2),

C3(4).

C1 = F_INDAT+0(2). "01.01.1995

C2 = F_INDAT+3(2).

C3 = F_INDAT+6(4).

CONCATENATE C3 C2 C1 INTO F_OUTDAT.

ENDFORM. "DATE_CONVERT

let me know if it helps.

Regards,

Santosh

0 Kudos
392

Hello Santosh,

This solution works fine, but in my report, the value selected is no unique (in yours it is - pernr)... but no problem, in another thread someone has already anwsered a related question that helps a lot with this problem... This thread can be found at:

Thanks a lot all the help.

Roberto Falk