简单的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. 进入实用 ...
随机推荐
- python文件、文件夹的相关操作
python文件.文件夹的相关操作 #1.rename()可以完成对文件的重命名 #rename(需要修改的文件名,新的文件名) import os os.rename("readme.tx ...
- Docker基础内容之命令大全
run(未补全) 说明:创建一个新的容器并运行一个命令 语法如下: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 选项说明: -a stdin: 指定标准 ...
- Leetcode 题目整理-8 Count and Say
38. Count and Say The count-and-say sequence is the sequence of integers beginning as follows: 1, 11 ...
- IIS 无法访问请求的页面,因为该页的相关配置数据无效。
解决方法:控制面板-->程序和功能-->打开或关闭windows功能-->角色的这里,如果还未安装“web服务器(IIS)”,则选择“添加”.如果已经安装了,则选择“web服务器(I ...
- js中 call() 和 apply() 方法的区别和用法详解
1.定义 每个函数都包含俩个非继承而来的方法:call() 和 apply() call 和 apply 可以用来重新定义函数的的执行环境,也就是 this 的指向:call 和 apply 都是 ...
- tmobst2an
(单选题)与下面代码效果相同的HQL 语句是( ). Criteria criteria = session.createCriteria(User.class); criteria.add(Rest ...
- FFMPEG学习----使用SDL播放PCM数据
参考雷神的代码: /** * 最简单的SDL2播放音频的例子(SDL2播放PCM) * Simplest Audio Play SDL2 (SDL2 play PCM) * * 本程序使用SDL2播放 ...
- mysql随机查询若干条数据
条不重复的数据,使用以下: 秒以上 搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据. SELECT * FROM `table` AS t1 JOIN (SELE ...
- 在jsp页面下, 让eclipse完全支持HTML/JS/CSS智能提示
我们平时用eclipse开发jsp页面时智能提示效果不太理想,今天用了两个小时发现了eclipse也可以像Visual Studio 2008那样完全智能提示HTML/JS/CSS代码,使用eclip ...
- js - 构造函数-静态属性/方法-原型对象 - 前端第八课
先来个普通对象 var duixiang={ a:"111", b:function (s) { return s+"886"; } }; console.lo ...