技术开发 频道

学习ABAP指针

【IT168 技术文章】

    关于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.

0
相关文章