09-10-2008 7:40 AM
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.
09-10-2008 7:50 AM
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
09-10-2008 7:42 AM
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
09-10-2008 7:45 AM
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.
09-10-2008 7:50 AM
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
09-10-2008 7:56 AM
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
09-10-2008 8:13 AM
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