Functional Requirement
Create an ALV report using all the fields from the Custom Table Zorder_p and Zitem_p.
Table Zorder_p
Table Zitem_p
Technical Solution
- Log in to SAP GUI
- Open Tcode SE38
- Write the report starting with ‘Z’ or ‘Y’ and type as ‘Executable’.
- Write the below syntax
*&---------------------------------------------------------------------*
*& Report ZALV_1
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zalv_1.
*///////////////////////////////////////////////////////////////////////
*Part 1 Data declaration starts
*//////////////////////////////////////////////////////////////////////
TYPE-POOLS: slis.
TYPES :BEGIN OF ty_final,
ordernumber TYPE zordernumber,
createdby TYPE zcreatedby1,
createdtime TYPE zcreatedtime,
totalprice TYPE ztotalprice,
currency TYPE zcurrency,
itemnumber TYPE zitemnumbefr,
itemname TYPE zitemname,
itemprice TYPE zitemprice1,
END OF ty_final.
DATA: it_final TYPE TABLE OF ty_final,
wa_final TYPE ty_final.
*--- ALV structures
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
*///////////////////////////////////////////////////////////////////////
*Part 1 Data declaration end
*//////////////////////////////////////////////////////////////////////
*///////////////////////////////////////////////////////////////////////
*Part 2 Start of Selection
*//////////////////////////////////////////////////////////////////////
START-OF-SELECTION .
SELECT a~ordernumber
,
a~createdby ,
a~createdtime ,
a~totalprice ,
a~currency ,
b~itemnumber ,
b~itemname ,
b~itemprice
FROM zorder_p AS a INNER JOIN zitem_p AS b
ON a~ordernumber = b~ordernumber INTO TABLE @it_final
*///////////////////////////////////////////////////////////////////////
*Part 2 Start of Selection ends
*//////////////////////////////////////////////////////////////////////
END-OF-SELECTION .
*///////////////////////////////////////////////////////////////////////
*Part 3 Creation of Field catlog
*//////////////////////////////////////////////////////////////////////
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'ORDERNUMBER'.
wa_fieldcat-seltext_m = 'ORDER NUMBER'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'CREATEDBY'.
wa_fieldcat-seltext_m = 'Created BY'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'CREATEDTIME'.
wa_fieldcat-seltext_m = 'Created TIME'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'TOTALPRICE'.
wa_fieldcat-seltext_m = 'TOTAL PRICE'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'CURRENCY'.
wa_fieldcat-seltext_m = 'CURRENCY'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'ITEMNUMBER'.
wa_fieldcat-seltext_m = 'ITEM NUMBER'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'ITEMNAME'.
wa_fieldcat-seltext_m = 'ITEM NAME'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'ITEMPRICE'.
wa_fieldcat-seltext_m = 'ITEM PRICE'.
APPEND wa_fieldcat TO it_fieldcat.
*///////////////////////////////////////////////////////////////////////
*Part 4 Display of ALV report
*//////////////////////////////////////////////////////////////////////
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME ='ZORDER_P'
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
it_fieldcat = IT_FIELDCAT " 'IT_FILEDCAT'
* 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 = it_final
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.