*==========================================================*
* ZTEST ALV事例程序01 *
*==========================================================*
* 作成者: 莫怀远 *
* 作成日期: 2006/11/29 *
* 变更履历: yyyy/mm/dd xxx *
* text *
* yyyy/mm/dd xxx *
* text *
* 概要内容:自定义ALV输出项目事例 *
*----------------------------------------------------------*
REPORT ZTEST0001111 NO STANDARD PAGE HEADING.
*==========================================================*
* TYPE-POOLS
*==========================================================*
TYPE-POOLS SLIS.
*==========================================================*
* TABLES
*==========================================================*
TABLES: EKPO.
*----------------DEFINE MACRO------------------------------*
DEFINE ADD_FIELD.
WA_FIELD-FIELDNAME = &1.
WA_FIELD-REPTEXT_DDIC = &2.
APPEND WA_FIELD TO IT_FIELD.
END-OF-DEFINITION.
*==========================================================*
* 定义变量和字段组
*==========================================================*
DATA: G_REPID TYPE SY-REPID,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
*==========================================================*
* TYPES定义
*==========================================================*
TYPES : BEGIN OF TY_EKPO,
EBELN LIKE EKPO-EBELN,
AEDAT LIKE EKPO-AEDAT,
TXZ01 LIKE EKPO-TXZ01,
MENGE LIKE EKPO-MENGE,
MEINS LIKE EKPO-MEINS,
NETWR LIKE EKPO-NETWR,
END OF TY_EKPO.
*==========================================================*
* 定义内部表和工作区
*==========================================================*
DATA: WA_FIELD TYPE SLIS_FIELDCAT_ALV,
IT_FIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA : WA_EKPO TYPE TY_EKPO,
IT_EKPO TYPE STANDARD TABLE OF TY_EKPO. "自定义用
*==========================================================*
* 抬头设置(自定义用)
ADD_FIELD 'EBELN' '订单编号'.
ADD_FIELD 'AEDAT' '订单日期'.
ADD_FIELD 'TXZ01' '物料名称'.
ADD_FIELD 'MENGE' '数 量'.
ADD_FIELD 'MEINS' '单 位'.
ADD_FIELD 'NETWR' '金 额'.
*==========================================================*
* SELETION-SCREEN
*==========================================================*
SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME .
SELECT-OPTIONS: S_AEDAT FOR EKPO-AEDAT.
SELECTION-SCREEN END OF BLOCK BLOCK1.
*==========================================================*
* START-OF-SELECTION
*==========================================================*
START-OF-SELECTION.
PERFORM FRM_GET_DATA.
*==========================================================*
* END-OF-SELECTION
*==========================================================*
END-OF-SELECTION.
PERFORM FRM_OUTPUT_ALV.
*&---------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------*
* 读取数据
*----------------------------------------------------------*
FORM FRM_GET_DATA.
SELECT EBELN
AEDAT
TXZ01
MENGE
MEINS
NETWR
INTO TABLE IT_EKPO
FROM EKPO
WHERE AEDAT IN S_AEDAT.
IF SY-SUBRC <> 0.
MESSAGE S208(00) WITH 'NO GET DATA!'.
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM. " FRM_GET_DATA
*
*&---------------------------------------------------------*
*& Form OUT_BY_ALV
*&---------------------------------------------------------*
* ALV样式输出
*----------------------------------------------------------*
FORM FRM_OUTPUT_ALV.
G_REPID = SY-REPID.
GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GS_LAYOUT-WINDOW_TITLEBAR = TEXT-101. "TITLE
*TEXT-101(自定义ALV输出项目事例)
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
* I_STRUCTURE_NAME = 'EKPO' "系统参照调用方法
IT_FIELDCAT = IT_FIELD "自定义调用方法
IS_LAYOUT = GS_LAYOUT "输出式样
I_SAVE = 'A' "报表可保存状态设定
TABLES
T_OUTTAB = IT_EKPO. "报表明细数据
ENDFORM. " FRM_OUTPUT_ALV
分享到:
相关推荐
"ABAP-ALV进阶知识点详解" ABAP-ALV进阶是指在SAP系统中使用ABAP语言开发的高级...六、ALV 简单示例 面向对象的 ALV GRID 必须存在于一个容器当中,就是 FUNCTION 的 ALV,实际上也是使用 CL_GUI_ALV_GRID 这个类的。
ALV,全称为ABAP List Viewer,是SAP系统中的一种标准报表输出工具,用于以表格形式展示数据。本资料大全旨在提供一个全面的ALV学习资源,包括各种使用技巧、示例和教程,帮助用户深入理解和应用ALV功能。 在ALV中...
- 输出格式:ALV可以导出为多种格式,如CSV、Excel等,需要配置相应的输出选项。 - 性能优化:处理大量数据时,需考虑性能优化策略,如分页、延迟加载等。 通过阅读“abap ALV.doc”文档,你可以更详细地了解到这些...
在SAP系统中,ALV(Advanced List Viewer)是一种功能强大的报表工具,经常用于数据报表的生成和输出。但是在将ALV数据导出到Excel时,可能会出现数据丢失位数的问题,具体来说,就是最后一位数字被截断或丢失。这是...
在SAP系统中,ALV(Accelerated List Viewer)是一种用于数据展示的工具,它提供了标准的表格形式来显示数据库查询...文件"ALV.txt"和"www.pudn.com.txt"可能包含了更具体的代码示例或进一步的信息,供你参考和学习。
示例程序包括:ALV 的 Grid 方式和 List 方式的示例程序、报表的自主开发设计的示例程序、选择屏幕上字段的示例程序等。ALV 的 Grid 方式和 List 方式的示例程序能够帮助开发者更好地理解 ALV 的基本使用方法。报表...
本文将重点介绍`REUSE_ALV_GRID_DISPLAY`函数,并结合具体示例来探讨其在SAP ABAP编程中的应用。 #### 二、`REUSE_ALV_GRID_DISPLAY`函数详解 `REUSE_ALV_GRID_DISPLAY`是SAP ALV的一个核心函数模块,用于展示表格...
ABAP ALV是SAP系统中用于输出数据的高级列表查看器(Advanced List Viewer)的简称,它作为ABAP程序中的一个控件,用于实现更加丰富和用户友好的数据展示功能。ABAP ALV入门教程旨在为初学者提供一个易于理解和实践...
本示例中的分页显示是通过将原始内表(IT_ZZP1)中的数据按需加载到另一个内表(IT_ZZP2)中实现的。具体步骤如下: 1. **原始数据准备**:创建了一个名为`ZZP`的结构类型,并初始化两个内表`IT_ZZP1`和`IT_ZZP2`。通过...
在这一部分,我们首先创建输出字段项目,然后编辑ALV输出项目,最后调用ALV表格显示函数。 3. 在CREATE_ALV_FIELDCATALOG中,通过调用REUSE_ALV_FIELDCATALOG_MERGE函数合并字段目录。其中I_STRUCTURE_NAME参数指定...
在文档《代码.doc》中,可能会详细列出实现ALV和SMARTFORMS分页的源码示例和步骤,包括如何设置分页参数、如何触发分页事件、如何更新显示内容等。对于初学者,理解并掌握这些代码至关重要,因为它们可以帮助理解SAP...
接着,我们定义了一个字段类别(`WA_ALV_FIELD`),用于指定哪些列可以被编辑(`WA_ALV_FIELD-edit='X'`),并设置了输出长度和字段名称等属性。通过向字段类别表(`WA_ALV_FIELDCAT`)添加这些字段,我们可以控制...
- **PBO (Process Before Output)** 和 **PAI (Process After Input)**:这两个过程是ALV处理中的关键步骤,分别发生在数据输出前和用户输入后。 #### 三、具体步骤 ##### 1. 创建GUI Status - **步骤**: 首先需要...
在示例代码中,可以看到定义了与SMARTFORMS表格接口相同的变量,并将ALV中的数据(例如表头值)赋值给这些变量。这样,当用户点击打印时,SMARTFORM会根据接收到的数据生成相应的打印内容。 总的来说,ALV和...
### ABAP_ALV_知识整理 #### 一、ALV简介 ##### 1、简介 ALV(SAP List Viewer)是一种在SAP系统中广泛使用的报表展示方式,也被称为ABAP表单浏览器。它的主要功能是提供一个标准化且简单的表格展示方式,使R/3...
根据提供的文件信息,本文将详细解释ALV(Application List Viewer)中的一个简单示例——`SIMPLE_TREE`,以及如何在ABAP环境中实现一个基本的树形结构展示。 ### ALV简介 ALV(Application List Viewer)是SAP...
在ALV.pdf文档中,可能详细讲解了以上步骤,并提供了示例代码来解释如何实现这些功能。此外,文档可能还涵盖了以下高级主题: - **ALV回调函数**: 这些函数允许开发者控制ALV的行为,例如`GET_ROW_COUNT`获取行数,...
在示例中,声明了三个变量`lt_fieldcat`、`wa_fieldcat`和`ls_layout`分别对应这三个数据结构。 2. **定义内表**: 在报告中,首先定义了一个名为`ty_alvshow`的内表类型,包含了多个字段,如销售凭证号`vbeln`、...
- **过程前输出**:通过模块创建ALV Grid实例,检查容器实例是否已存在,若不存在则创建并刷新,最后调用显示方法。 ### 总结 ALV Grid是SAP系统中一个高度灵活的报表工具,适用于创建复杂的、可交互的报表。通过...
**ALV简单示例**: 面向对象的ALV Grid需要在容器(FUNCTION的ALV)中创建。首先,创建一个SCREEN并在其中定义一个容器。接着,声明并初始化变量,如WCL_CONTAINER。然后,利用CL_GUI_ALV_GRID类实例化ALV,配置...