博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[SAP ABAP开发技术总结]字段符号FIELD-SYMBOLS
阅读量:6326 次
发布时间:2019-06-22

本文共 966 字,大约阅读时间需要 3 分钟。

 

一说到字段符号FIELD-SYMBOLS,就要与C/C++中的指针扯在一起了,使用时无需值的拷贝,直接指向并操作某个内存区,程序效率是大大的提高,所以字段符号是每个ABAP顾问都必须掌握的知识,可以这么说吧,如果你不懂ABAP字段符号FIELD-SYMBOLS,就像不懂C/C++的指针一样,程序是可以编,但你无法写出高效灵活的程序,所以,做为一名真正ABAP技术顾问,你必须要懂。这里只是简单列了一下知识点,关于这方面的详细以后贴吧

1.11.     字段符号FIELD-SYMBOLS

字段符号可以看作仅是已经被解引用的指针(类似于C语言中带有解引用操作符 * 的指针),但更像是C++中的引用类型(int i ;&ii= i;),即某个变量的别名,它与真正的指针还是有很大的区别的,在ABAP中引用变量(通过TYPE REF TO定义的变量)才好比C语言中的指针

ASSIGN ... TO <fs>:将某个内存区域分配给字段符号,这样字段符号就代表了该内存区域,即该内存区域别名

1.11.1.           ASSIGN隐式强转

TYPES: BEGIN OF t_date,

  year(4) TYPE  n,
  month(
2) TYPE
n,
  day(
2) TYPE
n,
END OF
t_date.

FIELD-SYMBOLS <fs> TYPE t_date."<fs>定义成了具体限定类型

ASSIGN sy-datum TO <fs> CASTING."后面没有指定具体类型,所以使用定义时的类型进行隐式转换

1.11.2.           ASSIGN显示强转

DATA txt(8) TYPE c VALUE '19980606'.

FIELD-SYMBOLS <fs>.
ASSIGN txt TO <fs> CASTING TYPE d."由于定义时未指定具体的类型,所以这里需要显示强转

1.11.3.           ASSIGN 动态分配

请参考动态语句à ASSIGN 动态分配

1.11.4.           UNASSIGNCLEAR

UNASSIGN:该语句是初始化<FS>字段符号,执行后字段符号将不再引用内存区域,<fs> is assigned返回假

CLEAR:与UNASSIGN不同的是,只有一个作用就是初始化它所指向的内存区域,而不是解除分配

转载地址:http://vdgaa.baihongyu.com/

你可能感兴趣的文章
【Java多线程】JUC包下的工具类CountDownLatch、CyclicBarrier和Semaphore
查看>>
【git】error: Your local changes to the following files
查看>>
LeetCode – Refresh – Binary Tree Level Order Traversal ii
查看>>
夜间模式的开启与关闭,父模板的制作
查看>>
EMMA 覆盖率工具
查看>>
WPF中获取系统本身自带的控件模板(XAML)
查看>>
Aircrack-ng官方文档翻译[中英对照]---Aireplay-ng
查看>>
cxImage控件使用
查看>>
js返回顶部
查看>>
手机测试用例-时钟测试用例
查看>>
Hamming校验码
查看>>
第六十一课、智能指针类模板
查看>>
LoadRunner 文本检查点使用
查看>>
12/4团队会议4
查看>>
[BZOJ1927]星际竞速(费用流)
查看>>
PowerDesigner添加表注释
查看>>
使用VMware安装Ubuntu虚拟机,创建后开启显示黑屏的解决方法
查看>>
Java数据结构与算法(11) - ch06递归(二分法查找)
查看>>
文件操作
查看>>
this的指向
查看>>