当前位置:网站首页>SAP abap 字段符号
SAP abap 字段符号
2022-06-11 08:38:00 【雨天行舟】
SAP abap 字段符号
1.什么是字段符号(field symbol)
- field symbol 由一般字段的占位符或者符号名定义
- 在程序运行之前还不确定数据名和类型时使用的此种数据类型.通过动态分配法还可以简化重复d代码
2.field symbol 的特性
- 在程序中field symbol 允许动态访问变量
- field symbol不占用自己他有的内存空间
- field symbol 的数据名与属性到执行时刻才确定
- field symbol 可以指定所有数据对象
- field symbol一旦被分配到,则与一般数据对象没有太大区别.同样可以使用类似于move之类的语句
- field symbol可以明确指定数据类型,也可以不指定数据类型.诺不指定,则会继承被分配的字段(对象)的数据类型
声明
1.基本语句
field-symbol [type ty]
2.参照类型
- generic type
- 定义field symbol时不指定类型,当分配时,根据数据对象类型继承其技术属性
- TYPE ANY TABLE - 结构表
- TYPE ANY - 行结构
- full type
- 当定义field symbol时就固定形式定义数据对象,field symbol的技术属性与分配的数据对象相同
- type | like type
3.assign分配
语法 :ASSIGN [mem_area] TO [casting_spec][range_spec].
语义:将mem_area分配给 casting_spec range_spec。
- assign 语句的基本结构
- 静态分配-字段名已知
- assign dobj to .
- 可以使用+(n)对字符串进行截取,分配给field symbol,注意长度
- 动态分配-字段名未知
- assign (dobj) to
- 静态分配-字段名已知
- 将结构体字段分配到field symbol中
- assign component comp of structure struc to
- comp可以为行编号或者字段名
- 类型更改,可以通过casting把一个不同类型的变量分配给一个
- 隐式型变化:ASSIGN TO CASTING
- 显示型变化:`ASSIGN TO CASTING TYPE .
- 检查
- sy-subrc: 成功为零 不成功非零
- IS ASSIGND
4.分配-内表
- 基本语句定义
- 如果指定为generic type,必须使用TYPE ANY TABLE
- 分配语句
- ASSIGN itab TO <f_s>.
- 注意
- 类型可匹配
- 如果有表头行,应使用itab[] , 否则分配表头行
- 在读取时,需要使用动态指定方式读取字段
- READ TABLE <f_s> INTO structre WITH KEY (dobj) = val1
- 明确指定字段全名会产生错误.
- 内表循环修改
- LOOP使用ASSIGNING语句,不需要使用MODIF语句.
- 直接修改存储在内存中的值,所以可以省略内表值复制到结构体在执行MODIF的过程,提高性能.
5.动态内表
- 目的
- 创建列数不确定的内表
- 步骤
- 动态内表的创建,首先要定义动态结构,然后在根据定义的动态结构利用系统一个标准的method:cl_alv_table_create=>create_dynamic_table生成动态内表.
- 可以使用循环DO,与CONCATENATE语句配合,动态指定字段.
- 动态内表的创建,首先要定义动态结构,然后在根据定义的动态结构利用系统一个标准的method:cl_alv_table_create=>create_dynamic_table生成动态内表.
- 动态内表的赋值.遍历动态结构,获取指定的字段,然后给指定的字段赋值
- 可以使用LOOP循环中的AT时间,将基本表汇总的数据分块赋值到动态表中
- 动态内表读取显示.与赋值相似,遍历动态结构,获取指定的字段,然后读取对应的字段值.或使用输出工具直接输出.
边栏推荐
- 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
- Web design and website planning assignment 13 making video playlists
- SAP 物料主数据归档
- for in / for of / forEach 循环
- EN 45545-2T10水平法烟密度检测的注意事项
- Introduction to database system experiment report answer Experiment 5: database single table query
- 并查集是什么?你还在为其烦恼?其实就是一个连通图的问题,理解起来没有那么困难
- Sword finger offer 40 Minimum number of K
- [programming development] markdown notes tutorial
- leetcode - 739. Daily temperature
猜你喜欢

Not eligible for getting processed by all beanpostprocessors

leetcode - 230. 二叉搜索树中第K小的元素

@Usage details of postconstruct, initializingbean and initmethod

Interprocess communication

MySQL advanced features, you can read more about it and meet the interview

Matlab学习9-图像处理之非线性锐化滤波

Difference between threadpooltaskexecutor and ThreadPoolExecutor

redis6 入门级教程,有整合案例,可以直接看整合案例,简单入门,直接上手

Web design and website planning assignment 11 game selection form

标准化编写知识
随机推荐
窗帘做EN 1101易燃性测试过程是怎么样的?
Bat batch processing separate environment packaging
leetcode - 518. Change II
面试官问了四个问题,总结了4个经验
MySQL upgrade
2、 Rendering camera data
Multiple limit of the same field of SQL
(一)aac开篇-核心组件原理之Lifecycle、LiveData、ViewModel与源码分析技巧(转载)
命名实体识别之CRF的实现方式
Web design and website planning assignment 14 add background music to the video
Zookepper===>动物管理员系统
Using flying items to manage by objectives, not being a "headless fly" in the workplace
leetcode - 739. Daily temperature
领导让我重写测试代码,我也要照办嘛?
你所不知道的console
不想项目失控?你需要用对项目管理工具
What is concurrent search set? Are you still worried about it? In fact, it is a problem of connected graph, which is not so difficult to understand
leetcode - 230. The k-th smallest element in a binary search tree
Matlab学习8-图像处理之线性与非线性锐化滤波、非线性平滑滤波
Modifying field length in Oracle and postgrepsql