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

alv report

Former Member
0 Likes
308

for below program, the output will be navigated from one field to other but i won't get that,i get just first field customer only i didn;t get later fields like material etc.

REPORT ZALVREPORT .

TABLES : KNA1,VBAK,VBAP,MARA.

SELECT-OPTIONS : CUSTOMER FOR KNA1-KUNNR.

DATA : BEGIN OF ITAB OCCURS 0,

KUNNR LIKE KNA1-KUNNR,

NAME1 LIKE KNA1-NAME1,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

VBELN LIKE VBAK-VBELN,

NETWR LIKE VBAK-NETWR,

END OF JTAB.

DATA : BEGIN OF KTAB OCCURS 0,

POSNR LIKE VBAP-POSNR,

MATNR LIKE MARA-MATNR,

END OF KTAB.

TYPE-POOLS : SLIS.

DATA : REPID LIKE SY-REPID.

DATA : F_KNA11 TYPE SLIS_T_FIELDCAT_ALV.

DATA : F_KNA1 TYPE SLIS_FIELDCAT_ALV.

DATA : F_VBAK TYPE SLIS_FIELDCAT_ALV.

DATA : F_VBAK1 TYPE SLIS_T_FIELDCAT_ALV.

DATA : F_VBAP TYPE SLIS_FIELDCAT_ALV.

DATA : F_VBAP1 TYPE SLIS_T_FIELDCAT_ALV.

DATA : I_EVENTS TYPE SLIS_T_EVENT.

DATA : S_EVENTS TYPE SLIS_ALV_EVENT.

PERFORM GET_VAL. "CALL SUBROUTINE

REPID = SY-REPID.

SELECT KUNNR

NAME1

FROM KNA1

INTO TABLE ITAB

WHERE KUNNR IN CUSTOMER.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'REPID'

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = F_KNA11

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = I_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IR_SALV_LIST_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ITAB

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

&----


*& Form GET_VAL

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_VAL .

F_KNA1-FIELDNAME = 'KUNNR'.

F_KNA1-REF_TABNAME = 'KNA1'.

F_KNA1-REF_FIELDNAME = 'KUNNR'.

APPEND F_KNA1 TO F_KNA11.

F_KNA1-FIELDNAME = 'NAME1'.

F_KNA1-REF_TABNAME = 'KNA1'.

F_KNA1-REF_FIELDNAME = 'NAME1'.

APPEND F_KNA1 TO F_KNA11.

F_VBAK-FIELDNAME = 'VBELN'.

F_VBAK-REF_TABNAME = 'VBAK'.

F_VBAK-REF_FIELDNAME = 'VBELN'.

APPEND F_VBAK TO F_VBAK1.

F_VBAK-FIELDNAME = 'NETWR'.

F_VBAK-REF_TABNAME = 'KNA1'.

F_VBAK-REF_FIELDNAME = 'NETWR'.

APPEND F_VBAK TO F_VBAK1.

F_VBAP-FIELDNAME = 'POSNR'.

F_VBAP-REF_TABNAME = 'KNA1'.

F_VBAP-REF_FIELDNAME = 'POSNR'.

APPEND F_VBAP TO F_VBAP1.

F_VBAP-FIELDNAME = 'MATNR'.

F_VBAP-REF_TABNAME = 'KNA1'.

F_VBAP-REF_FIELDNAME = 'MATNR'.

APPEND F_VBAP TO F_VBAP1.

S_EVENTS-NAME = 'USER_COMMAND'.

S_EVENTS-FORM = 'VAL'.

APPEND S_EVENTS TO I_EVENTS.

ENDFORM.

FORM VAL USING USER_COMMAND LIKE SY-UCOMM

SEL TYPE SLIS_SELFIELD.

DATA : CUS(10) TYPE N,

SAL(10) TYPE N,

MAT(10) TYPE C.

IF SEL-FIELDNAME = 'KUNNR'.

CUS = SEL-VALUE.

SELECT VBELN

NETWR

FROM VBAK

INTO TABLE JTAB

WHERE KUNNR = CUSTOMER.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'REPID '

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = F_VBAK1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = I_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IR_SALV_LIST_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = JTAB

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

ENDIF.

IF SEL-FIELDNAME = 'VBELN'.

SAL = SEL-VALUE.

SELECT POSNR MATNR FROM VBAP INTO TABLE KTAB WHERE VBELN = SAL.

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

I_TITLE = 'ITEM DETAILS'

  • I_SELECTION = 'X'

  • I_ALLOW_NO_SELECTION =

  • I_ZEBRA = ' '

I_SCREEN_START_COLUMN = 20

I_SCREEN_START_LINE = 5

I_SCREEN_END_COLUMN = 60

I_SCREEN_END_LINE = 40

  • I_CHECKBOX_FIELDNAME =

  • I_LINEMARK_FIELDNAME =

  • I_SCROLL_TO_SEL_LINE = 'X'

I_TABNAME = 'VBAP'

  • I_STRUCTURE_NAME =

IT_FIELDCAT = F_VBAP1

  • IT_EXCLUDING =

I_CALLBACK_PROGRAM = REPID

  • I_CALLBACK_USER_COMMAND =

  • IS_PRIVATE =

  • IMPORTING

ES_SELFIELD = SEL

  • E_EXIT =

TABLES

T_OUTTAB = KTAB

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

ENDIF.

IF SEL-FIELDNAME = 'MATNR'.

MAT = SEL-VALUE.

SET PARAMETER ID 'MAT' FIELD MAT.

CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.

ENDIF.

ENDFORM.

for below program, the output will be navigated from one field to other but i won't get that,i get just first field customer only i didn;t get later fields like material etc.

REPORT ZALVREPORT .

TABLES : KNA1,VBAK,VBAP,MARA.

SELECT-OPTIONS : CUSTOMER FOR KNA1-KUNNR.

DATA : BEGIN OF ITAB OCCURS 0,

KUNNR LIKE KNA1-KUNNR,

NAME1 LIKE KNA1-NAME1,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

VBELN LIKE VBAK-VBELN,

NETWR LIKE VBAK-NETWR,

END OF JTAB.

DATA : BEGIN OF KTAB OCCURS 0,

POSNR LIKE VBAP-POSNR,

MATNR LIKE MARA-MATNR,

END OF KTAB.

TYPE-POOLS : SLIS.

DATA : REPID LIKE SY-REPID.

DATA : F_KNA11 TYPE SLIS_T_FIELDCAT_ALV.

DATA : F_KNA1 TYPE SLIS_FIELDCAT_ALV.

DATA : F_VBAK TYPE SLIS_FIELDCAT_ALV.

DATA : F_VBAK1 TYPE SLIS_T_FIELDCAT_ALV.

DATA : F_VBAP TYPE SLIS_FIELDCAT_ALV.

DATA : F_VBAP1 TYPE SLIS_T_FIELDCAT_ALV.

DATA : I_EVENTS TYPE SLIS_T_EVENT.

DATA : S_EVENTS TYPE SLIS_ALV_EVENT.

PERFORM GET_VAL. "CALL SUBROUTINE

REPID = SY-REPID.

SELECT KUNNR

NAME1

FROM KNA1

INTO TABLE ITAB

WHERE KUNNR IN CUSTOMER.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'REPID'

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = F_KNA11

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = I_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IR_SALV_LIST_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ITAB

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

&----


*& Form GET_VAL

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_VAL .

F_KNA1-FIELDNAME = 'KUNNR'.

F_KNA1-REF_TABNAME = 'KNA1'.

F_KNA1-REF_FIELDNAME = 'KUNNR'.

APPEND F_KNA1 TO F_KNA11.

F_KNA1-FIELDNAME = 'NAME1'.

F_KNA1-REF_TABNAME = 'KNA1'.

F_KNA1-REF_FIELDNAME = 'NAME1'.

APPEND F_KNA1 TO F_KNA11.

F_VBAK-FIELDNAME = 'VBELN'.

F_VBAK-REF_TABNAME = 'VBAK'.

F_VBAK-REF_FIELDNAME = 'VBELN'.

APPEND F_VBAK TO F_VBAK1.

F_VBAK-FIELDNAME = 'NETWR'.

F_VBAK-REF_TABNAME = 'KNA1'.

F_VBAK-REF_FIELDNAME = 'NETWR'.

APPEND F_VBAK TO F_VBAK1.

F_VBAP-FIELDNAME = 'POSNR'.

F_VBAP-REF_TABNAME = 'KNA1'.

F_VBAP-REF_FIELDNAME = 'POSNR'.

APPEND F_VBAP TO F_VBAP1.

F_VBAP-FIELDNAME = 'MATNR'.

F_VBAP-REF_TABNAME = 'KNA1'.

F_VBAP-REF_FIELDNAME = 'MATNR'.

APPEND F_VBAP TO F_VBAP1.

S_EVENTS-NAME = 'USER_COMMAND'.

S_EVENTS-FORM = 'VAL'.

APPEND S_EVENTS TO I_EVENTS.

ENDFORM.

FORM VAL USING USER_COMMAND LIKE SY-UCOMM

SEL TYPE SLIS_SELFIELD.

DATA : CUS(10) TYPE N,

SAL(10) TYPE N,

MAT(10) TYPE C.

IF SEL-FIELDNAME = 'KUNNR'.

CUS = SEL-VALUE.

SELECT VBELN

NETWR

FROM VBAK

INTO TABLE JTAB

WHERE KUNNR = CUSTOMER.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'REPID '

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = F_VBAK1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = I_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IR_SALV_LIST_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = JTAB

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

ENDIF.

IF SEL-FIELDNAME = 'VBELN'.

SAL = SEL-VALUE.

SELECT POSNR MATNR FROM VBAP INTO TABLE KTAB WHERE VBELN = SAL.

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

I_TITLE = 'ITEM DETAILS'

  • I_SELECTION = 'X'

  • I_ALLOW_NO_SELECTION =

  • I_ZEBRA = ' '

I_SCREEN_START_COLUMN = 20

I_SCREEN_START_LINE = 5

I_SCREEN_END_COLUMN = 60

I_SCREEN_END_LINE = 40

  • I_CHECKBOX_FIELDNAME =

  • I_LINEMARK_FIELDNAME =

  • I_SCROLL_TO_SEL_LINE = 'X'

I_TABNAME = 'VBAP'

  • I_STRUCTURE_NAME =

IT_FIELDCAT = F_VBAP1

  • IT_EXCLUDING =

I_CALLBACK_PROGRAM = REPID

  • I_CALLBACK_USER_COMMAND =

  • IS_PRIVATE =

  • IMPORTING

ES_SELFIELD = SEL

  • E_EXIT =

TABLES

T_OUTTAB = KTAB

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

ENDIF.

IF SEL-FIELDNAME = 'MATNR'.

MAT = SEL-VALUE.

SET PARAMETER ID 'MAT' FIELD MAT.

CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.

ENDIF.

ENDFORM.

1 REPLY 1
Read only

Former Member
0 Likes
286

HI,

repid you have kept in single quotations.that is the problem.i made some more changes to your code.now it is working fine.


TABLES : KNA1,VBAK,VBAP,MARA.

SELECT-OPTIONS : CUSTOMER FOR KNA1-KUNNR.

DATA : BEGIN OF ITAB OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
NETWR LIKE VBAK-NETWR,
END OF JTAB.

DATA : BEGIN OF KTAB OCCURS 0,
POSNR LIKE VBAP-POSNR,
MATNR LIKE MARA-MATNR,
END OF KTAB.

TYPE-POOLS : SLIS.

DATA : REPID LIKE SY-REPID,
       F_KNA11 TYPE SLIS_T_FIELDCAT_ALV,
       F_KNA1 TYPE SLIS_FIELDCAT_ALV,
       F_VBAK TYPE SLIS_FIELDCAT_ALV,
       F_VBAK1 TYPE SLIS_T_FIELDCAT_ALV,
       F_VBAP TYPE SLIS_FIELDCAT_ALV,
       F_VBAP1 TYPE SLIS_T_FIELDCAT_ALV,
       I_EVENTS TYPE SLIS_T_EVENT,
       S_EVENTS TYPE SLIS_ALV_EVENT.

PERFORM fcat_eve.

REPID = SY-REPID.

SELECT KUNNR NAME1 FROM KNA1 INTO TABLE ITAB
  WHERE KUNNR IN CUSTOMER.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPID
IT_FIELDCAT = F_KNA11
IT_EVENTS = I_EVENTS
TABLES
T_OUTTAB = ITAB.

FORM fcat_eve.

F_KNA1-col_pos = 1.
F_KNA1-FIELDNAME = 'KUNNR'.
F_KNA1-TABNAME = 'ITAB'.
F_KNA1-REF_TABNAME = 'KNA1'.
F_KNA1-REF_FIELDNAME = 'KUNNR'.
APPEND F_KNA1 TO F_KNA11.

F_KNA1-col_pos = 2.
F_KNA1-FIELDNAME = 'NAME1'.
F_KNA1-TABNAME = 'ITAB'.
F_KNA1-REF_TABNAME = 'KNA1'.
F_KNA1-REF_FIELDNAME = 'NAME1'.
APPEND F_KNA1 TO F_KNA11.

F_VBAK-col_pos = 1.
F_VBAK-FIELDNAME = 'VBELN'.
F_VBAK-TABNAME = 'JTAB'.
F_VBAK-REF_TABNAME = 'VBAK'.
F_VBAK-REF_FIELDNAME = 'VBELN'.
APPEND F_VBAK TO F_VBAK1.

F_VBAK-col_pos = 2.
F_VBAK-FIELDNAME = 'NETWR'.
F_VBAK-TABNAME = 'JTAB'.
F_VBAK-REF_TABNAME = 'VBAK'.
F_VBAK-REF_FIELDNAME = 'NETWR'.
APPEND F_VBAK TO F_VBAK1.

F_VBAP-col_pos = 1.
F_VBAP-FIELDNAME = 'POSNR'.
F_VBAP-REF_TABNAME = 'VBAP'.
F_VBAP-REF_FIELDNAME = 'POSNR'.
APPEND F_VBAP TO F_VBAP1.

F_VBAP-col_pos = 2.
F_VBAP-FIELDNAME = 'MATNR'.
F_VBAP-REF_TABNAME = 'VBAP'.
F_VBAP-REF_FIELDNAME = 'MATNR'.
APPEND F_VBAP TO F_VBAP1.

S_EVENTS-NAME = 'USER_COMMAND'.
S_EVENTS-FORM = 'VAL'.
APPEND S_EVENTS TO I_EVENTS.

ENDFORM.

FORM VAL USING USER_COMMAND LIKE SY-UCOMM
SEL TYPE SLIS_SELFIELD.

DATA : CUS(10) TYPE N,
SAL(10) TYPE N,
MAT(10) TYPE C.

IF SEL-FIELDNAME = 'KUNNR'.
CUS = SEL-VALUE.

SELECT VBELN NETWR FROM VBAK INTO TABLE JTAB
  WHERE KUNNR = CUSTOMER.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPID
IT_FIELDCAT = F_VBAK1
IT_EVENTS = I_EVENTS
TABLES
T_OUTTAB = JTAB.

ENDIF.

IF SEL-FIELDNAME = 'VBELN'.
SAL = SEL-VALUE.

SELECT POSNR MATNR FROM VBAP INTO TABLE KTAB
  WHERE VBELN = SAL.

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
  EXPORTING
    I_TITLE = 'ITEM DETAILS'
    I_SCREEN_START_COLUMN = 20
    I_SCREEN_START_LINE = 5
    I_SCREEN_END_COLUMN = 60
    I_SCREEN_END_LINE = 40
    I_TABNAME = 'VBAP'
    IT_FIELDCAT = F_VBAP1
    I_CALLBACK_PROGRAM = REPID
  IMPORTING
    ES_SELFIELD = SEL
  TABLES
    T_OUTTAB = KTAB.
ENDIF.
IF SEL-FIELDNAME = 'MATNR'.
  MAT = SEL-VALUE.

  SET PARAMETER ID 'MAT' FIELD MAT.
  CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM.

rgds,

bharat.