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: 

CLASSICAL REPORT TO ALV

Former Member
0 Kudos

hello evrybody,i developed a classical report having one selection-option and one parameter.now issue is i want to keep one option to show the out put in alv output.any body can help me what are the step-by-step procedure involved in the logic.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Create two radio buttons or check boxes as you wish than in START-OF-SELECTION event you just simple insert this piece of logic

If alv is 'X'.

<o/p in alv>

elseif classical is 'X'.

<o/p in classical>

endif.

regards,

BabuSrinath

5 REPLIES 5

Former Member
0 Kudos

hi,

Keep one check box which indicates ALV. If use checks on the Check boxcall the procedure which creates the ALV grid or the list in START-OF-SELECTIOn.

Regards

Sumit Agarwal

Former Member
0 Kudos

Hi Sekhar,

In the start-of-selection event:

If s_alv is 'X'.

      <display o/p in alv>

elseif s_classical is 'X'.

       <display o/p in classical>

endif.

Regards,

Swapna.

Former Member
0 Kudos

Hi,

Create two radio buttons or check boxes as you wish than in START-OF-SELECTION event you just simple insert this piece of logic

If alv is 'X'.

<o/p in alv>

elseif classical is 'X'.

<o/p in classical>

endif.

regards,

BabuSrinath

Former Member
0 Kudos

Hi,

Refer to the following code.

first make two radio butttons one for classic report and second one for alv display.

tFORM display .

IF classic ='X'.

PERFORM display_header.

LOOP AT itab1.

WRITE : / sy-vline,

itab1-zvbeln ,

13 sy-vline,

itab1-zposnr ,

60 sy-vline,

itab1-zmatnr ,

74 sy-vline,

itab1-zbrgew ,

92 sy-vline,

itab1-zg1_qty ,

116 sy-vline,

itab1-zinv_qty ,

140 sy-vline,

/ sy-uline(140).

ENDLOOP.

ENDIF.

IF alv_list = 'X'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = sy-repid

i_internal_tabname = 'ITAB1'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

i_inclname = sy-repid

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

ct_fieldcat = i_fieldcat

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

i_callback_program = sy-repid

i_callback_pf_status_set = ' '

i_callback_user_command = 'USER_COMMAND '

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

it_fieldcat = i_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_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 = itab1[]

  • 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 alv_grid = 'X'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = sy-repid

i_internal_tabname = 'ITAB1'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

i_inclname = sy-repid

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

ct_fieldcat = i_fieldcat

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = sy-repid

i_callback_pf_status_set = ' '

i_callback_user_command = 'USER_COMMAND '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

it_fieldcat = i_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

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

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = itab1[]

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

ENDFORM. " DISPLAY

Hope This will help you.

Thanks

Rajesh Kumar

Former Member
0 Kudos

Hi,

here a short example. For ALV are a lot of examples in SAP and in this forum.

PARAMETERS: P_ALV AS CHECKBOX.

*

DATA: SMARA TYPE MARA.

DATA: IMARA TYPE TABLE OF MARA.

*

SELECT * FROM MARA INTO TABLE IMARA UP TO 20 ROWS.

*

IF P_ALV = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_STRUCTURE_NAME = 'MARA'

TABLES

T_OUTTAB = IMARA.

*

ELSE.

LOOP AT IMARA INTO SMARA.

WRITE: / SMARA-MATNR.

ENDLOOP.

ENDIF.

Hope it helps.

Regards, Dieter