ABAP进阶学习1:动态内表1-通过系统表LVC_T_FCAT类型定义内表
动态内表1-通过系统表LVC_T_FCAT类型定义内表
如果对你有帮助,点个关注收藏吧~
做BW做久了,突然对abap有了探索欲,开始进一步学习abap了,以后这个系列会逐步更新,欢迎小伙伴点个关注一起学习,我学习的方法一般是通过自己写代码加注释理解,也会以这种方式做一个笔记。
知识点:
1.LVC_T_FCAT表类型
今天开始练习动态内表,今天的方法是通过系统表类型LVC_T_FCAT,LVC_T_FCAT是一个用于定义ALV网格控制字段属性的表类型,会作为定义内表很常用的一个类型。他的原理我理解就是有很多字段相关的属性,我们通过给这些属性赋值生产我们的表字段,通过定义不同的表自动来生成内表。
当然字段也可以通过变量赋值,把它们放在do loop循环,就可以结合变量动态生成内表了
以下是常用的属性:
- FIELDNAME:字段名称,对应于ALV输出内表中的字段名。
- TABNAME:LVC标签名称,即内表名。
- COL_POS:字段的位置,即在输出中是第几列。
- OUTPUTLEN:列的字符宽度。
- INTTYPE:ABAP数据类型(如C, D, N等)。
- INTLEN:以字节计的内部长度内容的长度。
- SCRTEXT_S/M/L:字段的文本描述,分别对应短描述、中描述和长描述。
- KEY:字段是否为关键字,关键字字段在ALV中会显示为蓝色。
- ICON:作为图标输出,字段内容必须是有效的图标名称。
- HOTSPOT:设置为热点字段,字段显示有下划线响应单击。
- CHECKBOX:作为复选框输出。
- JUST:对齐方式,可以是R(右对齐)、L(左对齐)或C(居中)。
- LZERO:输出前导零,仅对NUMC类型字段有效。
- NO_SIGN:输出时不显示正负号。
- NO_ZERO:如果值为零,则不显示零。
- DO_SUM:对当前列输出时自动求和。
- NO_OUT:当前列隐藏输出。
- TECH:技术字段,设置为'X'后,该字段不会显示也不能输出。
- CURRENCY:货币单位。
2.CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
定义好表结构后通过标准类输入表类型,输出我们想生成的内表。下面的代码会有具体写法
3.代码案例
话不多说上代码,注释里是我的笔记,代码里还涉及到一些动态指针的分配,这个我之前写过,写的比较粗浅,后面这个系列还会更新
*&---------------------------------------------------------------------*
*& Report ZBW_IDAN_TEST_DTNB
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZBW_IDAN_TEST_DTNB.
"分配内表
field-symbols: <ft_vb> type standard table,<fs_vb> type any,<dyn_field> type any.
data : gt_fieldcat type lvc_t_fcat,"系统表gs_fieldcat type lvc_s_fcat."系统结构
"在ABAP中,LVC_T_FCAT 是一个用于定义ALV网格控制字段属性的表类型" 定义字段目录条目
gs_fieldcat-fieldname = 'COLUMN1'.
gs_fieldcat-datatype = 'CHAR'.
gs_fieldcat-outputlen = 8." 将字段目录条目添加到表中
APPEND gs_fieldcat TO gt_fieldcat." 定义字段目录条目
gs_fieldcat-fieldname = 'COLUMN2'.
gs_fieldcat-datatype = 'DATS'.
gs_fieldcat-outputlen = 8.
" 将字段目录条目添加到表中
APPEND gs_fieldcat TO gt_fieldcat.
DATA: lt_new_table TYPE REF TO data ,ls_new_line TYPE REF TO data .CALL METHOD cl_alv_table_create=>create_dynamic_tableEXPORTINGit_fieldcatalog = gt_fieldcatIMPORTINGep_table = lt_new_table.ASSIGN lt_new_table->* TO <ft_vb>.CREATE DATA ls_new_line LIKE LINE OF <ft_vb>.ASSIGN ls_new_line->* TO <fs_vb>."内表赋值"LOOP AT <ft_vb> ASSIGNING <fs_vb>.APPEND INITIAL LINE TO <ft_vb> ASSIGNING <fs_vb>..ASSIGN COMPONENT 'COLUMN1' OF STRUCTURE <fs_vb> TO FIELD-SYMBOL(<FS_fieldname1>).IF <FS_fieldname1> IS ASSIGNED.<FS_fieldname1> = 'TEST1'.ENDIF.ASSIGN COMPONENT 'COLUMN2' OF STRUCTURE <fs_vb> TO FIELD-SYMBOL(<FS_fieldname2>).IF <FS_fieldname2> IS ASSIGNED.<FS_fieldname2> = '20240101'.ENDIF."ENDLOOP.cl_demo_output=>display_data( <ft_vb> ).
输出结果:

相关文章:
ABAP进阶学习1:动态内表1-通过系统表LVC_T_FCAT类型定义内表
动态内表1-通过系统表LVC_T_FCAT类型定义内表 如果对你有帮助,点个关注收藏吧~ 做BW做久了,突然对abap有了探索欲,开始进一步学习abap了,以后这个系列会逐步更新,欢迎小伙伴点个关注一起学习,我学习的方法…...
【Vispy库】一个用于高性能交互式2D/3D数据可视化库 Python库
Vispy库 1、你好,Vispy!2、安装Vispy,轻松上手3、案例一:绘制简单的2D图形4、案例二:3D图形的绘制5、案例三:大规模数据的可视化6、结语 1、你好,Vispy! Vispy是一个用于Python的高…...
为什么 C 语言数组是从 0 开始计数的?
C 语言等大多数编程语言的数组从 0 开始而不从 1 开始,有两个原因: 第一:地址计算更方便 C 语言从 0 开始的话,array[i] 的地址就正好是: (array i) 如果是从 1 开始的话,就是 (array i - 1) 多一次计…...
matlab线性度计算程序
matlab线性度计算程序 环境 matlab2023a ads2020 原理 其中f(v)是曲线,fmax是f(v)的最大值,fmin是f(v)的最小值,vmax为fmax对应v值,vmin为fmin对应v值。 L∆fmax/(fmax-fmin) (1) ∆fmaxmax[f(v)-[fmin-K*(v-vmin)]] (2) K(…...
为什么NMOS管比PMOS管更受欢迎?
NMOS在实际应用中为何比PMOS要更受欢迎。本文将从导电沟道、电子迁移率和器件速度等多个方面来展开讲解。 首先是在性能方面考虑: 与NMOS管驱动能力相同的一个PMOS管,其器件面积可能是NMOS管的2~3倍,然而器件面积会影响导通电阻…...
【论文复现】短期电力负荷
作者主页: 七七的个人主页 文章收录专栏: 论文复现 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 短期电力负荷 论文发表问题背景一. 基本问题二. 本论文发现的问题 对于论文发现问题的解决方案:复现…...
pytest脚本常用的执行命令
pytest脚本常用的执行命令 一、一般执行的脚本,执行.py文件整个脚本二、执行.py文件脚本中的一个模块三、执行脚本,执行.py文件整个脚本,或则一个模块,查看对应的日志信息3.1.py文件执行allure的脚本3.2去dos框下去执行对应的脚本…...
OpenCv入门
一.OpenCv简介 1 图像的起源 1.1图像是什么? 图:是物体反射或透射光的分布 像:是人的视觉系统所接受的图在人脑中所形版的印象或认识 1.2模拟图像和数字图像 模拟图像:连续存储的图像 数字图像:分级存储的图像 2 数字…...
超详细的flex教程(面试必考)
引言 为什么存在? Flex 布局的出现是为了解决传统 CSS 布局方式(如浮动布局、定位布局等)在处理复杂布局时的诸多限制和不便。 优势 1. 简化布局 Flex 布局的语法简洁明了,代码更易读。 2. 强大的对齐能力 提供丰富的对齐属…...
C++的输入与输出
一.格式和注意要点 1. #include<iostream>; using namespace std; 标准库定义了4个IO对象,IO(输入输出),以下: cin是一个istream流对象,现在理解为标准输入即可。cout是一个ostream流对象,理解为标准输出即可。…...
上海剧某文化传播有限公司与喜某(上海)网络科技有限公司、上海喜某科技有限公司侵害著作权及不正当竞争纠纷案
上海剧某文化传播有限公司与喜某(上海)网络科技有限公司、上海喜某科技有限公司侵害著作权及不正当竞争纠纷案的详细情况如下: 基本案情: 上海剧某文化传播有限公司(以下简称剧某公司)是电视剧《宸汐缘》的…...
【c++篇】:模拟实现string类--探索字符串操作的底层逻辑
✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨文章所属专栏:c篇–CSDN博客 文章目录 前言一.string类的默认成员函数以及深拷贝1.基本框架2.默认成员函数…...
springboot配置logback.xml遇到的几个问题
最近项目用到对日志脱敏,经过研究通过logback实现了对日志脱敏,上篇文章中详细讲解了如果配置。但是还是对logback的配置不太了解。比如springboot怎么加载这个logback.xml的。 首先,默认情况下,logback.xml文件是放在类目录下&am…...
MySQL 5.7与MySQL 8.0对比
一、功能对比 JSON支持 MySQL 5.7:引入了JSON数据类型,允许用户存储和操作JSON格式的数据,这是NoSQL功能的一个重要补充。但相对于MySQL 8.0,其功能和性能较弱。MySQL 8.0:在JSON支持方面进行了重大改进,引…...
【代码随想录Day55】图论Part07
prim 算法精讲 题目链接/文章讲解:代码随想录 import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);// 读取顶点数和边数int vertexCount scanner.nextInt();int edgeCount scanner.nextI…...
软考在即!这些注意事项你提前了解!
11月软考马上就要开始了,但是,还有很多的考生,可能还不知道自己到底应该去了解些什么?本文将详细介绍机考注意事项及系统操作提示,帮助考生们备考无忧。 一、考试入场要求和考场规则 1、入场时间:考生需提…...
CMake知识点
参考: https://zhuanlan.zhihu.com/p/661284252 cmake使用教程(实操版)-CSDN博客 【CMake】CMake从入门到实战系列(二)——实例入手,讲解CMake的基本流程_cmake创建一个可执行目标的过程-CSDN博客 一、…...
git ls-remote
文章目录 1.简介2.格式3.选项4.示例5.小结参考文献 1.简介 git ls-remote 是一个 Git 命令,用于列出远程 Git 仓库的引用(refs),包括分支、标签等。 这个命令非常有用,可以帮助你查看远程仓库中可用的分支和标签&…...
低代码平台如何通过AI赋能,实现更智能的业务自动化?
引言 随着数字化转型的加速推进,企业在日常运营中面临的业务复杂性与日俱增。如何快速响应市场需求,优化流程,并降低开发成本,成为各行业共同关注的核心问题。低代码平台作为一种能够快速构建应用程序的工具,因其可视化…...
计算疫情扩散时间
该专栏题目包含两部分: 100 分值部分题目 200 分值部分题目 所有题目都会陆续更新,订阅防丢失 题目描述 在一个地图中(地图由 N ∗ N N*N N∗N 个区域组成),有部分区域被感染病菌。 感染区域每天都会把周围(上下左右)的4个区域感染。 请…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
