前言部分
大家可以關注我的公眾號,公眾號里的排版更好,閱讀更舒適。
正文部分
有收有放,轉在說明,后面舉例,給初學者(因為有很多人問到我這個)
關於abap指針的一些資料。
1.什么是abap指針:
在abap里面,fieldsymbol就相當於c語言的指針。如果你定義並且分配了相應的結構或者變量給它,其實它就指向這個結構或者變量的地址,如果修改了fieldsymbol的值,則相應結構或者變量的值也隨之更改。
2.如何定義指針:
基本形式:field-symbols.
附加信息:
1....type:定義一個數據類型,然后定義指針
2....typerefto:指針指向類或者接口
3....typerefto:指針指向數據結構
4....typelineof:指針內表的行項目
5....like:指針為數據庫表類型
6....likelineof:指針類型為數據庫表的行項目
7....type<>:指針為內表
3.如何分配指針:
(1).assignfto.:分配一個指針,包括以下幾種類型
1....casting...:主要對unicode系統地操作
1a....casting
1b....castingtypetype
1c....casting...decimalsdec
1d....castinglikef1
2....typetype:直接指定類型
3....decimalsdec:指定小數點位數
4....rangerange:指定范圍
(2).分配結構中的某個字段給指針
assigncomponentidxofstructurestructo.
assigncomponentnameofstructurestructo.
(3).分配類的方法給指針
assigndref->*to.
(4).從f開始,是f的n倍長之后的內容分配給指針
assignfincrementnto.
(5).分配局部變量給指針
assignlocalcopy
3a.assignlocalcopyoffto.
3b.assignlocalcopyofinitialfto.
3c.assignlocalcopyofinitiallineofitabto.
4c.assignlocalcopyofmaintablefield(f)to.
(6).assigndynamicj:動態分配指針
4a.assign(f)to.
4b.assignoref->(f)to.
4c.assign(f1)=>(f2)to.
4d.assigntablefield(f)to.
4e.assignlocalcopyofmaintablefield(f)to.
4f.assignlocalcopyof...(f)to.
4.如何取消分配:
unassign.
例1:
例2: