*-----------test of alv------------------
*variable define.
TABLES:SFLIGHT.
TYPE-POOLS ICON.
TABLES SSCRFIELDS.
TYPE-POOLS: SLIS.
DATA: GV_REPID TYPE SY-CPROG,
GV_DATE_HIGH TYPE DATS.
DATA: GW_LAYOUT TYPE LVC_S_LAYO,
GW_VARIANT LIKE DISVARIANT,
GT_FIELDCAT TYPE LVC_T_FCAT WITH HEADER LINE.
DATA GT_SFLIGHT01 TYPE TABLE OF SFLIGHT WITH HEADER LINE.
*get data.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT01 FROM SFLIGHT.
*display data.
*--set table layout
GW_LAYOUT-CWIDTH_OPT = ABAP_TRUE.
GW_LAYOUT-ZEBRA = 'X'.
GW_LAYOUT-NO_MERGING = 'X'.
GW_LAYOUT-SEL_MODE = 'A'.
GW_LAYOUT-FRONTEND = 'X'.
GW_LAYOUT-DETAILINIT = 'X'.
*--set table title
DATA: LV_POS TYPE I.
CLEAR GT_FIELDCAT.
REFRESH GT_FIELDCAT.
DEFINE HOUT.
lv_pos = lv_pos + 1.
gt_fieldcat-tabname = 'GT_OUT'.
gt_fieldcat-fieldname = &1.
gt_fieldcat-reptext = &2.
gt_fieldcat-col_pos = lv_pos.
gt_fieldcat-outputlen = &3.
gt_fieldcat-edit = &4.
gt_fieldcat-key = &5.
gt_fieldcat-no_zero = &6.
gt_fieldcat-do_sum = &7.
append gt_fieldcat.
clear gt_fieldcat.
END-OF-DEFINITION.
HOUT 'CARRID' '航线代码' '' '' 'X' '' ''.
HOUT 'CONNID' '航班ID' '' '' 'X' '' ''.
HOUT 'FLDATE' '航班日期' '' '' '' '' ''.
HOUT 'PRICE' '航空运费' '' '' '' 'X' ''.
HOUT 'CURRENCY' '货币代码' '' '' '' '' ''.
HOUT 'SEATSOCC' '占据的座位' '' '' '' 'X' 'X'.
*--output table
GW_VARIANT-REPORT = SY-REPID.
GV_REPID = SY-CPROG.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = GV_REPID
I_CALLBACK_USER_COMMAND = ''
IS_LAYOUT_LVC = GW_LAYOUT
IT_FIELDCAT_LVC = GT_FIELDCAT[]
I_SAVE = 'A'
IS_VARIANT = GW_VARIANT
TABLES
T_OUTTAB = GT_SFLIGHT01
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.