当前位置:网站首页>ALV概念讲解
ALV概念讲解
2022-08-02 19:19:00 【月阴荒】
类型池:SLIS
Fieldcat TYPE slis_t_fieldcat_alv
作用:
列格式设置(表单)
字段名称,列是否可修改,列宽度等
Layout YEPE slis_layout_alv
作用:
全局格式设置(结构)
整表字段是否可修改,是否以斑马纹输出,是否显示选择按钮字段等
函数:REUSE_ALV_FIELDCATALOG_MERGE
根据内表结构返回fieldcat字段结构信息
函数:REUSE_ALV_GRID_DISPLAY/REUSE_ALV_LIST_DISPLAY
使用GRID/LIST模式输出ALV报表
ALV调用设计内容
START-OF-SELECTION
数据表单数据选取
END-OF-SELECTION
作用:
对FIELDCAT赋值:设置每列格式
对LAYOUT赋值:设置表单格式(可选)
对SPRT表等赋值:设置排序内容等(可选)
给EVENT表赋值:增加程序交互事件(可选)
调用函数,输出ALV
案例:
REPORT ZHQ_10 MESSAGE-ID ZHQ.
INCLUDE ZHQ_10TOP.
INCLUDE ZHQ_10FORM.
START-OF-SELECTION.
PERFORM GET_DATA.
ENDOF SELECTION.
IF GET_MARD[] IS NOT INITIAL.
PERFORM WRITE_DATA.
ELSE
MESSAGE S001 DISPLAY LIKE 'E'.
ENDIF.
FORM WRITE DATA.
PERFORM BUILD_FIELDCAT.
PERFORM BUILD_LAYOUT.
PERFORM BUILD_SORT.
PERFORM BUILD_EVEBT.
PERFORM BUILD_ALV.
ENDFORM.
创建fieldcat
fieldcat是一张内表,记录的是ALV输出时每列的属性信息
字段 说明
KEY 将该列设置为关键字(‘X’/“)
ICON 以图表显示(‘X’/”)
CHECKBOX 以复选框显示(‘X’/“)
JUST 定义对齐方式(‘R’/‘L’/‘C’)
IZERO 增加前导零
NO_SIGN 不显示符号(‘X’/”)
NO_ZERO 不显示前导零(‘X’/“)
COL_POS 作为第几列输出(数字)
DO_SUM 对字段进行汇总(‘X’/”)
SELTEXT_L/M/S 字段名称描述长/中/短(字符串)
HOTSPOT 设置为热点(显示为有下划线)
案例
写法一:
FORM BUILD_FIELDCAT.
GS_FIELDCAT-COL_POS = '1'.
GS_FIELDCAT-FIELDNAME = 'ZCODE'.
GS_FIELDCAT-OUTPUTLEN = '10'.
GS_FIELDCAT-SELTEXT_M = '学生编号'.
APPEND GS_FIELDCAT TO GT_FIELDCAT.
FORM BUILD_FIELDCAT.
GS_FIELDCAT-COL_POS = '2'.
GS_FIELDCAT-FIELDNAME = 'ZCODE'.
GS_FIELDCAT-OUTPUTLEN = '20'.
GS_FIELDCAT-SELTEXT_M = '学生姓名'.
APPEND GS_FIELDCAT TO GT_FIELDCAT.
ENDFORM.
写法二:宏相关
*宏 ---每个宏中最多可以定义9个参数
FORM BUILD_FIELDCAT.
%%APPEND_FIELDCAT: '1' 'ZCODE' '10' '学生编号',
'2' 'ZNAME' '20' '姓名编号',
'3' 'SEX' ' 3' '性别',
'4' 'ZSCHOOL' '10' '学校',
'5' 'WEIGHT' '15' '体重',
ENDFORM
DEFINE %%APPEND_FIELDCAT. "一般用两个百分号开头,但并不是强制如此,只是为了与其他变量区别
CLEAR GS_FIELDCAT.
GS_FIELDCAT-COL_POS = &1.
GS_FIELDCAT-FIELDNAME = &2.
GS_FIELDCAT-OUTPUTLEN = &3.
GS_FIELDCAT-SELTEXT_M = &4.
APPEND GS_FIELDCAT TO GT_FIELDCAT.
使用子程序或者宏等方式,向FIELDCAT的内表中增加行
表单中的每一列为FIELDCAT中的一行
*ALV输出参数
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GS_FIRLDCAT TYPE SLIS_FIELDCAT_ALV,
FROM BUILD_FIELDCAT.
CLEAR GT_FIELDCAT[].
PERFORM ADD_FIELDCAT USING ‘WERKS’ ‘工厂’ ‘1’ ‘5’ ‘’.
PERFORM ADD_FIELDCAT USING ‘LGORT’ ‘仓库’ ‘2’ ‘5’ ‘’.
PERFORM ADD_FIELDCAT USING ‘WERKS’ ‘工厂’ ‘3’ ‘20’ ‘’.
PERFORM ADD_FIELDCAT USING ‘WERKS’ ‘工厂’ ‘4’ ‘20’ ‘X’.
FORM ADD_FIELDCAT USING P_FIELDNAME
P_SELTEXT
P_COL
P_LEN
P_SUM.
CLEAR GS_FIELDCAT.
GS_FIELDCAT-FIELDNAME = P_FIELDNAME. "字段名
GS_FIELDCAT-SELTEXT_M = P_SELTEXT . "描述文本
GS_FIELDCAT-COL_POS = P_COL. "列
GS_FIELDCAT-OUTPUTLEN = P_LEN. "输出长度
GS_FIELDCAT-DO_SUM = P_SUM. "是否合计
APPEND GS_FIELDCAT TO GT_FIELDCAT.
ENDFORM.
使用函数: REUSE_ALV-FIELDCATALOG_MERGE
作用:
参照数据库(给I_STRUCTURE_NAME传值)或参照内表(给I_INTERNAL_TABNAME传值),直接将内表格式转为fieldcat表单内容
注意转换过的fieldcat可能需要再次修改
直接在ALV调用时,给I_STRUCTURE_NAME传值数据字典结构
作用:
可以混合使用,
边栏推荐
- Go----Go 语言快速体验之开发环境搭建及第一个项目HelloWord
- 松鼠短视频系统为用户加入随机头像代码-快速为用户加上随机头衔
- LeetCode每日一题(324. Wiggle Sort II)
- golang刷leetcode 经典(10) tire树与ac自动机
- es DELETE index 源码分析
- golang刷leetcode 数学(1) 丑数系列
- 二本 两年经验读者 阿里P6面经
- MySQL 事件调度
- NC | Structure and function of soil microbiome reveal N2O release from global wetlands
- golang刷leetcode 经典(12) 完全二叉树插入器
猜你喜欢
I have 8 years of experience in the Ali test, and I was able to survive by relying on this understanding.
阿里测试8年经验,靠着这份理解,我才得以生存下来
音频隐写一
你想要的宏基因组-微生物组知识全在这(2022.8)
Nature Microbiology综述:聚焦藻际--浮游植物和细菌互作的生态界面
What are the useful real-time network traffic monitoring software
A Review of Nature Microbiology: Focusing on the Algae--Ecological Interface of Phytoplankton-Bacteria Interactions
治疗 | 如何识别和处理消极想法
服务器Centos7 静默安装Oracle Database 12.2
T31开发笔记:metaipc测试
随机推荐
MySQL安装配置教程(超级详细、保姆级)
如何ES源码中添加一个自己的API 流程梳理
JVM内存和垃圾回收-04.程序计数器(PC寄存器)
动态规划常见实例详解
健康报告-设计与实现
【LeetCode】118. 杨辉三角 - Go 语言题解
What is the use of IT assets management software
2022-08-01
流量分析第一题
阿里35+老测试员生涯回顾,自动化测试真的有这么吃香吗?
What are the useful real-time network traffic monitoring software
研发了 5 年的时序数据库,到底要解决什么问题?
Gradle系列——Gradle的build.gradle文件详情,项目发布(基于Gradle文档7.5)day3-3
thinkphp框架5.0.23安全更新问题-漏洞修复-/thinkphp/library/think/App.php具体怎么改以及为什么要这么改
Caldera(二)高级实战
我靠这套笔记自学,拿下字节50万offer....
动态折线图,制作原来是这么简单
2022-07-28
Electron使用指南之初体验
治疗 | 如何识别和处理消极想法