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

Former Member
0 Likes
1,137

Hi all,

while i excuted this report the program gets terminated but there r no syntax errors.can i know the error in this alv report

and the correct code.

REPORT ZSR_ALV.

TYPE-POOLS : SLIS.

TABLES : KNA1,

VBAK,

VBAP.

SELECT-OPTIONS : CUST 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 VBAP-MATNR,

END OF KTAB.

DATA : REPID LIKE SY-REPID,

F_KNA1I TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY

F_KNA1 TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER

F_VBAKI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY

F_VBAK TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER

F_VBAPI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY

F_VBAP TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER

I_EVENTS TYPE SLIS_T_EVENT,

S_EVENTS TYPE SLIS_ALV_EVENT.

PERFORM GET_VAL.

REPID = SY-REPID.

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

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_KNA1I

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

*PERFORM VAL USING USER-COMMAND." SEL.

&----


*& Form GET_VAL

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_VAL .

F_KNA1-COL_POS = 1.

F_KNA1-FIELDNAME = 'KUNNR'.

F_KNA1-TABNAME = KNA1.

F_KNA1-FIELDNAME = 'KUNNR'.

APPEND F_KNA1 TO F_KNA1I.

CLEAR F_KNA1.

F_KNA1-COL_POS = 2.

F_KNA1-FIELDNAME = 'NAME1'.

F_KNA1-TABNAME = KNA1.

F_KNA1-FIELDNAME = 'NAME1'.

APPEND F_KNA1 TO F_KNA1I.

CLEAR F_KNA1.

F_KNA1-COL_POS = 3.

F_KNA1-FIELDNAME = 'VBELN'.

F_KNA1-TABNAME = KNA1.

F_KNA1-FIELDNAME = 'VEBLN'.

APPEND F_KNA1 TO F_KNA1I.

CLEAR F_KNA1.

F_KNA1-COL_POS = 4.

F_KNA1-FIELDNAME = 'NETWR'.

F_KNA1-TABNAME = KNA1.

F_KNA1-FIELDNAME = 'NETWR'.

APPEND F_KNA1 TO F_KNA1I.

CLEAR F_KNA1.

F_KNA1-COL_POS = 5.

F_KNA1-FIELDNAME = 'POSNR'.

F_KNA1-TABNAME = KNA1.

F_KNA1-FIELDNAME = 'POSNR'.

APPEND F_KNA1 TO F_KNA1I.

CLEAR F_KNA1.

F_KNA1-COL_POS = 6.

F_KNA1-FIELDNAME = 'MATNR'.

F_KNA1-TABNAME = KNA1.

F_KNA1-FIELDNAME ='MATNR'.

APPEND F_KNA1 TO F_KNA1I.

CLEAR F_KNA1.

S_EVENTS-NAME = 'USER_COMMAND'.

S_EVENTS-FORM = 'VAL'.

APPEND S_EVENTS TO I_EVENTS.

CLEAR S_EVENTS.

ENDFORM. " GET_VAL

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 = CUST.

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_VBAKI

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

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

thanks,

raja reddy

9 REPLIES 9
Read only

Former Member
0 Likes
1,099

Hi,

Instead Of SY-subrc 0

write Sy-subrc eq 0.

Regards,

anirban

Read only

Former Member
0 Likes
1,099

Hi,

Give structure name in the reuse_alv_list _display function module, check all slis structure's are in internal tables or not and check sy-subrc command.

Thanks,

Das......

Read only

Mohamed_Mukhtar
Active Contributor
0 Likes
1,099

hi Raja ,

What kind of report is this...

Read only

Former Member
0 Likes
1,099

Hi raja,

1. Now the code will work fine.

Just copy paste.

2. The main corrections which i have done are:

a) in building the field catalogue, the TABNAME

should be ITAB

b) in building the field catalogue, only two

fields are kept now, since itab contains only two fields

c) the sy-msgty has been changed to 'I'

bcos it was giving error, after the alv was displayed

and when we come back.

3.



REPORT ZSR_ALV.
TYPE-POOLS : SLIS.
TABLES : KNA1,
VBAK,
VBAP.

SELECT-OPTIONS : CUST 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 VBAP-MATNR,
END OF KTAB.

DATA : REPID LIKE SY-REPID,
F_KNA1I TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_KNA1 TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
F_VBAKI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_VBAK TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
F_VBAPI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_VBAP TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
I_EVENTS TYPE SLIS_T_EVENT,
S_EVENTS TYPE SLIS_ALV_EVENT.

PERFORM GET_VAL.

REPID = SY-REPID.

SELECT KUNNR NAME1 FROM KNA1 INTO TABLE ITAB WHERE KUNNR IN CUST.
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_KNA1I

*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 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*PERFORM VAL USING USER-COMMAND." SEL.

FORM GET_VAL .
F_KNA1-COL_POS = 1.
F_KNA1-FIELDNAME = 'KUNNR'.
F_KNA1-TABNAME = 'ITAB'.
F_KNA1-FIELDNAME = 'KUNNR'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.

F_KNA1-COL_POS = 2.
F_KNA1-FIELDNAME = 'NAME1'.
F_KNA1-TABNAME = KNA1.
F_KNA1-TABNAME = 'ITAB'.
F_KNA1-FIELDNAME = 'NAME1'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.

*F_KNA1-COL_POS = 3.
*F_KNA1-FIELDNAME = 'VBELN'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'VEBLN'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 4.
*F_KNA1-FIELDNAME = 'NETWR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'NETWR'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 5.
*F_KNA1-FIELDNAME = 'POSNR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'POSNR'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 6.
*F_KNA1-FIELDNAME = 'MATNR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME ='MATNR'.
*APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.

S_EVENTS-NAME = 'USER_COMMAND'.
S_EVENTS-FORM = 'VAL'.
APPEND S_EVENTS TO I_EVENTS.
CLEAR S_EVENTS.
ENDFORM. " GET_VAL

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 = CUST.

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_VBAKI

*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 'I' 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_VBAPI

*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 'I' 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.


regards,

amit m.

Read only

0 Likes
1,099

hi amit,

u hav commented the some lines from row 3 to 6.

but by uncommenting it the program gets terminated can u plz check it and reply me.

thanks,

raja reddy

Read only

Former Member
0 Likes
1,099

Hi,

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

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_INTERFACE_CHECK = ' '

I_BYPASSING_BUFFER =

I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'REPID'

check this... this could be the error ... remove the single quotes or pass sy-repid or sy-cprog

regards

padma

Read only

0 Likes
1,099

HI ,

CHECK YOUR FIELD CATALOG...

F_KNA1-SELTEXT_M THIS IS MISISNG...

F_KNA1-SELTEXT_M = 'SOME DESCRIPTION'.

There is no netwr , matnr field in kna1 table.....

Correct these things..

Read only

Former Member
0 Likes
1,099

I found that there is no error in ur program it is running successfully.

rgds

rajesh

Read only

peter_ruiz2
Active Contributor
0 Likes
1,099

hi raja,

change SY-SUBRC 0 to SY-SUBRC NE 0

regards,

Peter