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及下载的更多相关文章

  1. 简单的ALV显示例子

    废话不多说,直接上傻瓜代码.归根结底,就是要将显示的字段一行一行的放入fieldcat的表里. "定义ALV数据变量 DATA: IT_FIELDCAT TYPE SLIS_T_FIELDC ...

  2. REUSE_ALV_GRID_DISPLAY显示ALV,设置可编辑时,与内表数据同步问题

    使用function module: REUSE_ALV_GRID_DISPLAY显示ALV,并设置alv某些列可编辑,可是编辑后发现对应的内表数据并没有随之改变.记得需要设置一个参数的值,怎么想也记 ...

  3. ALV显示金额字段值扩大100倍

    内表数据 物料                  库位          期末庫存金額F0D7004DSA   1PYF       701410.944F0D7004DSA   1SNT      ...

  4. 程序间获取ALV显示数据(读取ALV GRID上的数据)

    程序间获取ALV数据的两种方法: 方法1:通过修改SUBMIT的目标程序,把内表EXPORT到内存,SUBMIT后IMPORT ,该方法需要修改目标程序,可以任意设置目标程序的中断点: * Execu ...

  5. OO方式实现ALV: cl_salv_table

    这里总结最近用cl_salv_table实现ALV遇到问题和解决办法 FORM set_alv2 . DATA: lv_syrepid TYPE syrepid. lv_syrepid = sy-cp ...

  6. ALV报表——ALV颜色设置(三)

    目录 一.行 二.列 三.单元格 四.附ALV的颜色代码 一.行:用Layout相关属性设置 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST ...

  7. vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接

    vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接 需求:自己app打开的登录页面不显示app下载链接.其他地方打开判断android手机的跳转到android下载页链 ...

  8. 【Python项目】简单爬虫批量获取资源网站的下载链接

    简单爬虫批量获取资源网站的下载链接 项目链接:https://github.com/RealIvyWong/GotDownloadURL 1 由来 自己在收集剧集资源的时候,这些网站的下载链接还要手动 ...

  9. 简单的OO ALV小示例

    OO ALV即面向对象ALV,是在屏幕上显示的一种可以自定义大小的ALV.它区别普通ALV的优点是可以多个ALV出现在同一个屏幕,也可以同其他屏幕元素同时出现在同一个屏幕. 示例展示: 1. 进入实用 ...

随机推荐

  1. CTF--HTTP服务--命令执行

    开门见山 1. 扫描靶机ip,发现PCS 172.18.5.1 2. 用nmap扫描靶机开放服务和服务版本 3. 再扫描靶机全部信息 4. 用nikto工具扫描http服务的敏感信息 5. 打开浏览器 ...

  2. java8 stream按对象多个属性对集合进行分组,并进行组装数据

    如图,数据库查出来的数据: 需求是按menu_id和menu_name分组,stream实现最简单, stream里面只有按一个属性分组的,但是可以利用string简单变换一下: List<Js ...

  3. 线程池之 ThreadPoolExecutor

    线程池之 ThreadPoolExecutor + 面试题 线程池介绍 线程池(Thread Pool):把一个或多个线程通过统一的方式进行调度和重复使用的技术,避免了因为线程过多而带来使用上的开销. ...

  4. Angular 从入坑到挖坑 - Angular 使用入门

    一.Overview angular 入坑记录的笔记第一篇,完成开发环境的搭建,以及如何通过 angular cli 来创建第一个 angular 应用.入坑一个多星期,通过学习官方文档以及手摸手的按 ...

  5. python之sorted用法

    operator.itemgetter函数 operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1, ...

  6. 【WPF学习】第四十三章 路径和几何图形

    前面四章介绍了继承自Shape的类,包括Rectangle.Ellipse.Polygon以及Polyline.但还有一个继承自Shape的类尚未介绍,而且该类是到现在为止功能最强大的形状类,即Pat ...

  7. LeetCode 681. Next Closest Time 最近时刻 / LintCode 862. 下一个最近的时间 (C++/Java)

    题目: 给定一个"HH:MM"格式的时间,重复使用这些数字,返回下一个最近的时间.每个数字可以被重复使用任意次. 保证输入的时间都是有效的.例如,"01:34" ...

  8. Ubuntu 18.04下用户的创建、修改权限及删除用户的方法

    1. 创建用户 2. 修改用户权限 3. 删除用户 1. 创建用户useradd命令 //命令一:这种命令会在登录界面显示用户名sudo useradd -m XXX -d /home/XXX -s ...

  9. html input元素的所有type属性

    <input /> 属性 type="text" 输入框的类型为文本 type="password" 输入框的类型为密码 type="ra ...

  10. Mysql 命令 操作

    1.user表        如果需要从其他机器连接 mysql 服务器报这个错“ERROR 1130: Host 'root' is not allowed to connect to this M ...