Sie sind auf Seite 1von 4

REPORT ZALV.

TYPE-POOLS : slis.

DATA : it_fcat TYPE TABLE OF slis_fieldcat_alv,


wa_fcat LIKE LINE OF it_fcat.

DATA : it_fcat1 TYPE TABLE OF slis_layout_alv,


wa_fcat1 LIKE LINE OF it_fcat1.

DATA : it_fcat2 TYPE TABLE OF slis_listheader,


wa_fcat2 LIKE LINE OF it_fcat2.

TYPES: BEGIN OF ty_sflight,


carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
price TYPE sflight-price,
currency TYPE sflight-currency,
carrname TYPE scarr-carrname,
currcode TYPE scarr-currcode,
cellcolor TYPE lvc_t_scol,
END OF ty_sflight.

TYPES: BEGIN OF ty_scarr,


carrid TYPE scarr-carrid,
carrname TYPE scarr-carrname,
currcode TYPE scarr-currcode,
END OF ty_scarr.

DATA : it_sflight TYPE TABLE OF ty_sflight,


wa_sflight LIKE LINE OF it_sflight.

DATA : it_scarr TYPE TABLE OF ty_scarr,


wa_scarr LIKE LINE OF it_scarr.

DATA : cellcolor TYPE lvc_t_scol.

DATA: wa_cellcolor TYPE lvc_s_scol.

PARAMETERS : p_carrid TYPE sflight-carrid.


PARAMETERS : p_connid TYPE sflight-connid.

SELECT carrid connid fldate price currency


FROM sflight
INTO CORRESPONDING FIELDS OF TABLE it_sflight
WHERE carrid = p_carrid
AND connid = p_connid.

SELECT carrid carrname currcode


FROM scarr
INTO CORRESPONDING FIELDS OF TABLE it_scarr.

LOOP AT it_sflight INTO wa_sflight.

READ TABLE it_scarr INTO wa_scarr WITH KEY carrid = wa_sflight-carrid.

wa_sflight-carrname = wa_scarr-carrname.
wa_sflight-currcode = wa_scarr-currcode.
ENDLOOP.

PERFORM build_fcat.

PERFORM build_top_of_page.

PERFORM build_cell_color.

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 = ' '
I_CALLBACK_TOP_OF_PAGE = 'BUILD_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 = wa_fcat1
IT_FIELDCAT = it_fcat
* 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_sflight
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

FORM build_fcat .

wa_fcat-fieldname = 'CARRID'.
wa_fcat-seltext_l = 'AIRLINE ID'.
wa_fcat-hotspot = 'X'.
wa_fcat-emphasize = 'C500'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.

wa_fcat-fieldname = 'CONNID'.
wa_fcat-seltext_l = 'AIRLINE CONNECTION'.
wa_fcat-edit = 'X'.
wa_fcat-col_pos = 2.

APPEND wa_fcat TO it_fcat.


CLEAR wa_fcat.

wa_fcat-fieldname = 'FLDATE'.
wa_fcat-seltext_l = 'AIRLINE DATE'.
wa_fcat-edit = 'X'.
wa_fcat-col_pos = 3.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.

wa_fcat-fieldname = 'PRICE'.
wa_fcat-seltext_l = 'PRICE'.
wa_fcat-edit = 'X'.
wa_fcat-col_pos = 4.
wa_fcat-emphasize = 'C600'.
APPEND wa_fcat TO it_fcat.

CLEAR wa_fcat.

ENDFORM .

FORM build_cell_color.

wa_fcat1-colwidth_optimize = 'X'.

wa_fcat1-coltab_fieldname = 'CELLCOLOR'.

LOOP AT it_sflight INTO wa_sflight.

IF wa_sflight-carrid = 'AA'.

wa_cellcolor-fname = 'CARRID'.

wa_cellcolor-color-col = 5.

wa_cellcolor-color-int = '1'.

wa_cellcolor-color-inv = '1'.

APPEND wa_cellcolor TO wa_sflight-cellcolor.


MODIFY it_sflight from wa_sflight TRANSPORTING cellcolor.

ENDIF.

ENDLOOP.

ENDFORM.

FORM build_top_of_page.

wa_fcat2-typ = 'H'.
wa_fcat2-key = 'HEADING'.
wa_fcat2-info = 'FLIGHT DETAILS'.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

wa_fcat2-typ = 'S'.
wa_fcat2-key = 'USER :'.
wa_fcat2-info = sy-uname.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

wa_fcat2-typ = 'S'.
wa_fcat2-key = 'DATE :'.
wa_fcat2-info = sy-datum.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = it_fcat2
I_LOGO = 'SAPLOGO'
* I_END_OF_LIST_GRID =
* I_ALV_FORM =
.
CLEAR it_fcat2.

ENDFORM.

Das könnte Ihnen auch gefallen