第一种,把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的速度就会明显快出来了~~
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18102.html