前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SAP ABAP系列】ABAP 动态指针

【SAP ABAP系列】ABAP 动态指针

原创
作者头像
matinal
修改2020-11-13 18:12:22
1.2K0
修改2020-11-13 18:12:22
举报
文章被收录于专栏:SAP TechnicalSAP Technical

正文部分

有收有放,转在说明,后面举例,给初学者(因为有很多人问到我这个)

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

代码语言:javascript
复制
field-SYMBOLS: <wa> TYPE any,
               <wa2> TYPE any.
ASSIGN WA_MARA to <wa>.
select single *
  from MARA into WA_MARA.
WHILE sy-subrc = 0.
  ASSIGN COMPONENT sy-index of STRUCTURE <wa> to <wa2>.
  IF sy-index = 5.
    itab-ZXXX1 = <wa2>.
  ENDIF.
  IF sy-index > 9 and sy-index < 25.
    itab-ZXXX2 = <wa2>.
  ENDIF.
  APPEND itab.
ENDWHILE.

例2:

代码语言:javascript
复制
LOOP AT ITAB.
  CONCATENATE T_A ITAB-A INTO T_B.
  ASSIGN (XXX) TO <A>.
  ITAB2-A1 = <A>.
  APPEND ITAB2.
ENDLOOP.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档