ALV LVC类型

来源于B站视频,自己敲的,侵权删,可供学习参考使用,复制粘贴代码是出不来效果的,先建表。

在这里插入图片描述

REPORT zts_xsy_test15 MESSAGE-ID eu.
INCLUDE zts_xsy_test15top.
INCLUDE zts_xsy_test15form.

START-OF-SELECTION.
  PERFORM get_data.

END-OF-SELECTION.
  IF gt_student IS NOT INITIAL.
    PERFORM display_data.
  ELSE.
    MESSAGE s001 DISPLAY LIKE 'E'.
  ENDIF.
*&---------------------------------------------------------------------*
*&  包含                ZTS_XSY_TEST15TOP
*&---------------------------------------------------------------------*
*类型池
TYPE-POOLS slis.

TYPES: BEGIN OF gty_student.
TYPES: box TYPE c LENGTH 1.
        INCLUDE STRUCTURE zbc_xsy_student.
TYPES: icon  TYPE c LENGTH 4. "图标
TYPES: check TYPE c LENGTH 1. "复选框
*TYPES: line_color TYPE c LENGTH 4. "行颜色
TYPES: FIELD_COLOR TYPE LVC_T_SCOL.  "单元格颜色
TYPES: QUAN TYPE P LENGTH 10 DECIMALS 2.
TYPES: END OF gty_student.

DATA gt_student TYPE TABLE OF gty_student.
DATA gs_student TYPE gty_student.

*FUNCTION ALV
*DATA gt_fieldcat TYPE slis_t_fieldcat_alv."列属性
*DATA gs_fieldcat TYPE slis_fieldcat_alv.

DATA gt_fieldcat TYPE LVC_T_FCAT."列属性
DATA gs_fieldcat TYPE LVC_S_FCAT.


*DATA gs_layout   TYPE slis_layout_alv.  "全局参数
DATA gs_layout   TYPE LVC_S_LAYO.

*DATA gt_sort     TYPE slis_t_sortinfo_alv."排序
*DATA gs_sort     TYPE slis_sortinfo_alv.
*
*DATA gt_filter   TYPE slis_t_filter_alv.  "筛选
*DATA gs_filter   TYPE slis_filter_alv.

DATA gt_events   TYPE slis_t_event.       "CALLBACK事件
DATA gs_events   TYPE slis_alv_event.

*DATA pr_document TYPE .


*宏 每个宏中最多可以 定义9个参数
DEFINE %%append_fieldcat.
  CLEAR GS_FIELDCAT.
  GS_FIELDCAT-COL_POS     = &1.
  GS_FIELDCAT-FIELDNAME   = &2 .
  GS_FIELDCAT-OUTPUTLEN   = &3 .
*  GS_FIELDCAT-SELTEXT_M   = &4.
  GS_FIELDCAT-SCRTEXT_M   = &4.

  CASE &2 .
    WHEN 'ZCODE'.
     GS_FIELDCAT-KEY = 'X'.
    WHEN 'ICON'.
     GS_FIELDCAT-ICON = 'X'.
    WHEN 'CHECK'.
     GS_FIELDCAT-CHECKBOX = 'X'.  "复选框
*     GS_FIELDCAT-EDIT  = 'X'."可选择
    WHEN 'WEIGH'.
     GS_FIELDCAT-DO_SUM = 'X'." 合计
     GS_FIELDCAT-HOTSPOT = 'X'. "热点
     GS_FIELDCAT-QUANTITY = 'KG'. "直接指明的单位
     GS_FIELDCAT-QFIELDNAME = 'ZUNIT'. "内表中标明当前数值的单位的字段
*     GS_FIELDCAT-EMPHASIZE = 'C601'."颜色设置
    WHEN 'ZUNIT'.
*      GS_FIELDCAT-EMPHASIZE = 'C600'. "颜色设置
    WHEN 'QUAN'.
      GS_FIELDCAT-EDIT  = 'X'."可编辑
  ENDCASE.
  APPEND GS_FIELDCAT TO GT_FIELDCAT.
END-OF-DEFINITION.

SELECT-OPTIONS s_zcode FOR gs_student-zcode.
*&---------------------------------------------------------------------*
*&  包含                ZTS_XSY_TEST15FORM
*&---------------------------------------------------------------------*
FORM get_data .
  DATA ls_scol TYPE lvc_s_scol.

  SELECT *
    FROM zbc_xsy_student
    INTO CORRESPONDING FIELDS OF TABLE gt_student
    WHERE zcode IN s_zcode.

  LOOP AT gt_student INTO gs_student.
*  图标
    IF gs_student-sex = 'F'.
      gs_student-icon  = icon_green_light." '@05@'.
    ELSE.
      gs_student-icon = icon_red_light.
    ENDIF.

*    颜色
*行颜色
*    IF GS_STUDENT-SEX IS INITIAL.
*      GS_STUDENT-LINE_COLOR = 'C600'. "性别为空,设置底纹颜色
*    ENDIF.

*单元格颜色
*1.性别字段增加颜色
    IF gs_student-sex IS INITIAL.
      CLEAR ls_scol.
      ls_scol-fname = 'SEX'.  "字段名
      ls_scol-color-col = 6.  "颜色
      ls_scol-color-int = 0.  "加重
      ls_scol-color-inv = 0.   "反色
      APPEND ls_scol TO gs_student-field_color.
    ENDIF.

    IF gs_student-weigh IS INITIAL.
      CLEAR ls_scol.
      ls_scol-fname = 'WEIGH'.  "字段名
      ls_scol-color-col = 6.  "颜色
      ls_scol-color-int = 0.  "加重
      ls_scol-color-inv = 0.   "反色
      APPEND ls_scol TO gs_student-field_color.
    ENDIF.

    MOVE GS_STUDENT-WEIGH TO GS_STUDENT-QUAN.

    MODIFY gt_student FROM gs_student.
  ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_DATA
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: reuse_alv_grid_display_lvc是一个ABAP函数模块,用于在SAP系统中显示ALV报表。它可以重复使用已经定义的ALV网格显示控件,并将数据填充到网格中。此函数模块可以通过传递不同的参数来控制网格的外观和行为,例如列宽度、排序、筛选和分页等。它是SAP开发人员在开发报表时经常使用的一个重要工具。 ### 回答2: reuse_alv_grid_display_lvc是一种SAP ABAP程序中的函数模块,用于在ALV Grid中显示数据。ALV(ABAP List Viewer)Grid用于以表格形式显示大量数据,并允许用户对数据进行排序、筛选、编辑以及其他交互式操作。 reuse_alv_grid_display_lvc函数模块一般用于在SAP的ABAP应用程序中的列表显示,该函数将数据集合和ALV的元数据传递给ALV Grid并生成可在SAP GUI中显示的列表。该函数模块的参数可以控制各种风格、排列方式和格式,以便使列表与应用程序的其余部分相匹配。通过使用reuse_alv_grid_display_lvc函数模块,可以快速地生成一个定制的和基于事件驱动的列表GUI,以满足业务需求。 reuse_alv_grid_display_lvc函数模块使用的基本步骤如下: 1. 定义数据表和数据类型,列出要在ALV Grid中显示的每个字段。 2. 创建一个包含字段信息和数据的内表。 3. 调用ALV Grid的数据提取方法,将内表中的数据传递给ALV Grid。 4. 定义一些参数,如is_layout(包含关于呈现实例的设置)、it_events(用于响应事件)等。 5. 最后,调用reuse_alv_grid_display_lvc函数模块。 在使用这个函数模块时,需要注意以下几点: 1. reuse_alv_grid_display_lvc函数模块只在SAP ABAP平台上可用。 2. 函数模块会自动根据数据类型和字段信息创建列表。 3. 大量数据情况下,应考虑采用分页显示,以提高系统性能。 4. 要确保为ALV Grid提供足够的空间,以便将广泛列显示在表格中。 总而言之,reuse_alv_grid_display_lvc函数模块是一种强大的工具,可用于在SAP ABAP应用程序中生成高度可定制的表格列表GUI。通过灵活配置参数,可以生成符合业务需求的列表,并且提供对数据的完整控制,为业务分析和决策提供了更好的支持。 ### 回答3: reuse_alv_grid_display_lvc是一种非常方便的SAP ABAP函数模块,常用于显示ALV表格。ALV 表格是SAP 系统中一个非常重要的组件,常用于显示并编辑大量的数据。该函数模块可以帮助SAP ABAP开发人员在程序设计时能够以一种更为高效便捷的方式使用ALV表格。 使用reuse_alv_grid_display_lvc函数模块可以显著地提高SAP系统中的数据处理速度,同时降低在大型数据集上进行数据处理时的复杂性。不论是对于初学者或者有经验的SAP ABAP开发人员,该函数模块都是非常实用的。 使用该函数模块的时候,可以定义一个内部表作为数据组件,使用ALV Grid Control来展现数据。函数模块提供了非常强大的定制选项,包括自定义排序和筛选规则以及其他加载选项。 使用reuse_alv_grid_display_lvc需要遵循一些指定的规则和步骤。一般情况下,程序员需要在程序开始的时候定义一个TYPE TABLE结构,并使用一个循环结构来循环访问整个数据集。 当使用该函数模块时,需要特别注意内存使用情况。由于ALV表格非常灵活,所以在处理大量数据的时候可能会占用大量内存。因此,开发人员应该注意分配足够的内存以避免出现内存溢出等错误。 总之,reuse_alv_grid_display_lvc是SAP ABAP开发中一种非常实用的工具。使用它能够极大地提高我们在SAP系统中处理数据的效率,并降低数据处理的复杂度。由于其强大的可定制选项和易使用的特性,该函数模块是值得SAP ABAP开发人员深入研究的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值