FIELD-SYMBOLS的两种用法

来源:互联网 发布:电脑看电影软件 编辑:程序博客网 时间:2024/05/29 10:14

第一种,把fs当做一个泛型,什么东西都可以放进去

 DATA : BEGIN OF man,
          name TYPE str,
          sex(20) TYPE c,
          height TYPE i,
        END OF man.
DATA : a_man LIKE man.
a_man-name = '阿勇'.
a_man-sex = 'F'.
a_man-height = 171.
FIELD-SYMBOLS : <hello> LIKE man.
ASSIGN a_man TO <hello> CASTING.
WRITE :/ <hello>-name, ' ',<hello>-sex,' ',<hello>-height.

 

第二种,把fs当做一个存储地址的指针

 FIELD-SYMBOLS : <fs> TYPE c.
DATA :
      str(20) TYPE c VALUE 'HELLO WORLD!',
      name(20) TYPE c VALUE 'STR'.
ASSIGN str TO <fs>.
WRITE :/ <fs>.
ASSIGN name TO <fs>.
WRITE :/ <fs>.
ASSIGN (name) TO <fs>.
WRITE :/ <fs>.

 

fs还有第一种用法补充:

因为可以当做泛型,所以可以放内表的东西

但是很多时候大家都不这样做,因为这样做无疑是走了弯路

事实上:fs相当于一个裸露着的利器,而internal_table就是一个包裹着的普通剑

it因为封装好了,用起来方便,所以大家都用it了

但是既然是封装的东西,那就避免不了每次用的时候,会要走封装的路线,要把外壳之类的全部跑完,才能调用里面的东西

因为sap是针对erp的,当然对在数据操作的时候优化了一些,所以处理数据比较快,还比较难区别出来

但是当loop循环,超过5次的时候,fs的速度就会明显快出来了~~

原创粉丝点击