ABAP中FIELD-SYMBOLS的详细用法
https://blog.csdn.net/sunnyonly1992/article/details/51545678
(一)定义
FIELD-SYMBOLS: []
在ABAP编程中使用非常广泛,类似于指针,可以指代任何变量。
当不输入时,继承赋给它的变量的所有属性
当输入时,赋给它的变量必须与同类型。
举个简单的例子:
FIELD-SYMBOLS:<F1>.
DATA:DAT(8) VALUE '19920108'.
ASSIGN DAT TO <F1>.
WRITE: / <F1>.
" 继承 DAT属性 ,为C类型,其值为19920108
注意,这里定义了之后,使用 assign … to …,将变量分配给内部字段,这时才继承了dat的属性及值
如果写成如下:
FIELD-SYMBOLS: <F2> TYPE D.
DATA: DAT(5) TYPE C VALUE '12345'.
ASSIGN DAT TO <F2>.
WRITE: /<F2>.
这时候就会报错: dat与的类型不兼容。因为F2定义为D类型, 所以assign 的只能是同类型变量。
FIELD-SYMBOLS: <F3> TYPE D.
DATA:DAT(8) VALUE '19920108'.
ASSIGN DAT TO <F3> TYPE 'D'.
WRITE:/<F3>.
这次虽然 为D类型,而dat为C类型, 但是type D 是将dat类型转换成D类型再分配给 ,输出为19920108.
然后我们来讲解如何使用 field-symbol:
首先我们摘取相关代码如下
1.先定义.
FIELD-SYMBOLS:<FS>.
SORT I_EXCEL BY ROW COL.
DATA: NUM_COL TYPE I.
- 循环i_excel内表,依次读出Excel中每一行的内容,写入 I_TABLE 内表 ()
然后我们执行下面的代码:
LOOP AT I_EXCEL INTO W_EXCEL.
NUM_COL = W_EXCEL-COL.
ASSIGN COMPONENT NUM_COL OF STRUCTURE W_TABLE TO <FS>.
<FS> = W_EXCEL-VALUE.
AT END OF ROW.
APPEND W_TABLE TO I_TABLE.
CLEAR: W_TABLE.
ENDAT.
CLEAR: W_EXCEL.
ENDLOOP.
post SAP-Garson
原文链接:https://blog.csdn.net/weixin_43847969/article/details/126763640文章来自于网络,如果侵犯了您的权益,请联系站长删除!