简单的OO ALV显示ALV及下载
REPORT OO_ALV.
CLASS OO_ALV DEFINITION.
PUBLIC SECTION.
METHODS:GET_DATA IMPORTING AMOUNT TYPE I,"取数
DISPLAY_ALV,"显示ALV
DOWNLOAD_ALV."下载ALV
PRIVATE SECTION.
DATA:IT_SPFLI TYPE STANDARD TABLE OF SPFLI.
DATA:LO_SALV TYPE REF TO CL_SALV_TABLE.
DATA:O_COLUMNS TYPE REF TO CL_SALV_COLUMNS_TABLE.
DATA: LO_CONVERTER TYPE REF TO ZCL_EXCEL_CONVERTER.
ENDCLASS. CLASS OO_ALV IMPLEMENTATION.
METHOD GET_DATA.
SELECT * FROM SPFLI INTO CORRESPONDING FIELDS OF TABLE IT_SPFLI UP TO AMOUNT ROWS .
ENDMETHOD.
METHOD DISPLAY_ALV.
TRY.
CL_SALV_TABLE=>FACTORY(
EXPORTING
LIST_DISPLAY = ABAP_FALSE
IMPORTING
R_SALV_TABLE = LO_SALV
CHANGING
T_TABLE = IT_SPFLI ).
CATCH CX_SALV_MSG .
ENDTRY.
O_COLUMNS = LO_SALV->GET_COLUMNS( ).
O_COLUMNS->SET_OPTIMIZE( ABAP_TRUE ). "自动优化列宽
"调用显示alv
LO_SALV->DISPLAY( ).
ENDMETHOD.
METHOD DOWNLOAD_ALV.
"创建zcl_excel_converter类
CREATE OBJECT LO_CONVERTER.
TRY .
LO_CONVERTER->CONVERT(
EXPORTING
IO_ALV = LO_SALV
IT_TABLE = IT_SPFLI
I_ROW_INT =
I_COLUMN_INT =
).
CATCH ZCX_EXCEL.
ENDTRY.
"调用write_file方法导出excel
LO_CONVERTER->WRITE_FILE( I_PATH = 'D:/test1.xlsx' ).
ENDMETHOD.
ENDCLASS. START-OF-SELECTION.
DATA(OUTPUT) = NEW OO_ALV( ).
OUTPUT->GET_DATA( ).
OUTPUT->DISPLAY_ALV( ).
OUTPUT->DOWNLOAD_ALV( ).
简单的OO ALV显示ALV及下载的更多相关文章
- 简单的ALV显示例子
废话不多说,直接上傻瓜代码.归根结底,就是要将显示的字段一行一行的放入fieldcat的表里. "定义ALV数据变量 DATA: IT_FIELDCAT TYPE SLIS_T_FIELDC ...
- REUSE_ALV_GRID_DISPLAY显示ALV,设置可编辑时,与内表数据同步问题
使用function module: REUSE_ALV_GRID_DISPLAY显示ALV,并设置alv某些列可编辑,可是编辑后发现对应的内表数据并没有随之改变.记得需要设置一个参数的值,怎么想也记 ...
- ALV显示金额字段值扩大100倍
内表数据 物料 库位 期末庫存金額F0D7004DSA 1PYF 701410.944F0D7004DSA 1SNT ...
- 程序间获取ALV显示数据(读取ALV GRID上的数据)
程序间获取ALV数据的两种方法: 方法1:通过修改SUBMIT的目标程序,把内表EXPORT到内存,SUBMIT后IMPORT ,该方法需要修改目标程序,可以任意设置目标程序的中断点: * Execu ...
- OO方式实现ALV: cl_salv_table
这里总结最近用cl_salv_table实现ALV遇到问题和解决办法 FORM set_alv2 . DATA: lv_syrepid TYPE syrepid. lv_syrepid = sy-cp ...
- ALV报表——ALV颜色设置(三)
目录 一.行 二.列 三.单元格 四.附ALV的颜色代码 一.行:用Layout相关属性设置 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST ...
- vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接
vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接 需求:自己app打开的登录页面不显示app下载链接.其他地方打开判断android手机的跳转到android下载页链 ...
- 【Python项目】简单爬虫批量获取资源网站的下载链接
简单爬虫批量获取资源网站的下载链接 项目链接:https://github.com/RealIvyWong/GotDownloadURL 1 由来 自己在收集剧集资源的时候,这些网站的下载链接还要手动 ...
- 简单的OO ALV小示例
OO ALV即面向对象ALV,是在屏幕上显示的一种可以自定义大小的ALV.它区别普通ALV的优点是可以多个ALV出现在同一个屏幕,也可以同其他屏幕元素同时出现在同一个屏幕. 示例展示: 1. 进入实用 ...
随机推荐
- 如何理解Unicode,UTF-8,UTF-16。
- OpenResty学习指南(二)
我的个人博客:https://www.luozhiyun.com/ 数据结构table table并没有区分开数组.哈希.集合等概念,而是揉在了一起. local color = {first = & ...
- 火狐的一个bug
发现这个bug是因为最近眼睛不太好,所以网页大小都是正常大小的140% 就发现火狐游览器好多网页上的输入框与按钮对不齐 测试代码 <!DOCTYPE html> <html lang ...
- linux入门系列10--firewalld防火墙管理
上一篇文章学习了用户及文件相关权限,本篇继续学习防火墙技术. 防火墙作为公网与内网之间的保护屏障,对系统至关重要.防火墙又分为硬件防火墙和软件防火墙,主要功能都是依据设置的策略对穿越防火墙的流量进行过 ...
- 微信小程序—Flex布局
参考教程:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html https://xluos.github.io/demo/flexb ...
- Why all application lack a kind of most really charm ?
Website and APP we used now are mostly web2.0 applications. While people practise in use, they can n ...
- 题解 USACO12DEC【逃跑的BarnRunning Away From…】
期末考前写题解,\(rp++! \ rp++! \ rp++!\) \[ description \] 给出一个以 \(1\) 为根的边带权有根树,给定一个参数 \(L\) ,问每个点的子树中与它距离 ...
- num14---享元模式
案例:
- JFrame的getContentPane
我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件.但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常.造成这个现象的原因只有一个解释:JFrame 不是一个容器, ...
- 【大白话系统】MySQL 学习总结 之 缓冲池(Buffer Pool) 的设计原理和管理机制
一.缓冲池(Buffer Pool)的地位 在<MySQL 学习总结 之 InnoDB 存储引擎的架构设计>中,我们就讲到,缓冲池是 InnoDB 存储引擎中最重要的组件.因为为了提高 M ...