*&---------------------------------------------------------------------*
*& Report ZALV1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZALV1 MESSAGE-ID ZLSH.
INCLUDE ZHQ_01_14TOP.
INCLUDE ZHQ_01_14FORM.
START-OF-SELECTION.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE GT_CUSTOMER
FROM ZCUSTOMER.
DATA I TYPE I VALUE 1.
LOOP AT GT_CUSTOMER INTO GS_CUSTOMER.
IF GS_CUSTOMER-ZSEX = 'M'.
GS_CUSTOMER-ICON = ICON_GREEN_LIGHT.
ELSE.
GS_CUSTOMER-ICON = ICON_RED_LIGHT.
ENDIF.
GS_CUSTOMER-PRICE = I.
MODIFY GT_CUSTOMER FROM GS_CUSTOMER.
I = I + 1.
ENDLOOP.
END-OF-SELECTION.
IF GT_CUSTOMER IS NOT INITIAL.
PERFORM BUILD_ALV.
ELSE.
MESSAGE S000 WITH '数据表为空' DISPLAY LIKE 'E'.
ENDIF.
*&---------------------------------------------------------------------*
*& 包含 ZHQ_01_14TOP
*&---------------------------------------------------------------------*
TABLES ZCUSTOMER.
TYPES:BEGIN OF CUSTOMER,
ZCUSTOMERID TYPE ZCUSTOMERID,
ZCOMPANYNAME TYPE ZCOMPANYNAME,
ZCREATEDATE TYPE ZCREATEDATE,
ZSCOPE TYPE ZSCOPE,
ZUSERID TYPE ZUSERID,
ZSEX TYPE ZSEX,
END OF CUSTOMER.
TYPES:BEGIN OF GTY_CUSTOMER.
INCLUDE TYPE CUSTOMER.
TYPES:ICON TYPE C LENGTH 4,
CHECK TYPE C LENGTH 1,
PRICE TYPE I,
BOX TYPE C LENGTH 1,
END OF GTY_CUSTOMER.
DATA GT_CUSTOMER TYPE TABLE OF GTY_CUSTOMER.
DATA GS_CUSTOMER TYPE GTY_CUSTOMER.
DATA GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GS_LAYOUT-ZEBRA = 'X'.
GS_LAYOUT-KEY_HOTSPOT = 'X'.
GS_LAYOUT-BOX_FIELDNAME = 'BOX'.
GS_LAYOUT-WINDOW_TITLEBAR = '客户应收账款报表'.
GS_LAYOUT-CONFIRMATION_PROMPT = 'X'.
DEFINE %%APPEND_FIELDCAT.
CLEAR GS_FIELDCAT.
GS_FIELDCAT-COL_POS = &1.
GS_FIELDCAT-FIELDNAME = &2.
GS_FIELDCAT-OUTPUTLEN = &3.
GS_FIELDCAT-SELTEXT_M = &4.
CASE &2.
WHEN 'ZCUSTOMERID'.
GS_FIELDCAT-KEY = 'X'.
WHEN 'CHECK'.
GS_FIELDCAT-CHECKBOX = 'X'.
WHEN 'PRICE'.
GS_FIELDCAT-JUST = 'L'.
GS_FIELDCAT-DO_SUM = 'X'.
GS_FIELDCAT-HOTSPOT = 'X'.
WHEN OTHERS.
ENDCASE.
APPEND GS_FIELDCAT TO GT_FIELDCAT.
END-OF-DEFINITION.
*&---------------------------------------------------------------------*
*& 包含 ZHQ_01_14FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form BUILD_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM BUILD_ALV .
DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA GS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
%%APPEND_FIELDCAT: '1' 'ZCUSTOMERID' '10' '客户编号' ,
'2' 'ZCOMPANYNAME' '30' '客户名称' ,
'3' 'ZCREATEDATE' '10' '建档日期' ,
'4' 'ICON' '10' '当前状态' ,
'5' 'CHECK' '10' '选择' ,
'6' 'PRICE' '10' '单价' .
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 =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE = ''
* I_GRID_SETTINGS =
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_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 = GT_CUSTOMER
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. " BUILD_ALV