公众号:SAP Technical
本文作者:matinal
 

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

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

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

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:

LOOP AT ITAB.
CONCATENATE T_A ITAB-A INTO T_B.
ASSIGN (XXX) TO <A>.
ITAB2-A1 = <A>.
APPEND ITAB2.
ENDLOOP.

【ABAP系列】SAP ABAP 动态指针的更多相关文章

  1. 【ABAP系列】ABAP CL_ABAP_CONV_IN_CE

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]ABAP CL_ABAP_CON ...

  2. 【ABAP系列】SAP ABAP模块-ABAP动态指针写法的精髓部分

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP模块-ABAP动 ...

  3. 【ABAP系列】SAP ABAP OOALV 动态设置单元格可否编辑

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP OOALV 动 ...

  4. 【ABAP系列】SAP ABAP Break Point

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP Break P ...

  5. 【ABAP系列】【第五篇】SAP ABAP7.50 之用户接口

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列][第五篇]SAP ABAP7.5 ...

  6. 【ABAP系列】SAP ABAP7.40新语法简介第二篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...

  7. 【ABAP系列】SAP ABAP 行列转换的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 行列转换的方法 ...

  8. 【ABAP系列】SAP ABAP BAPI_REQUISITION_CREATE创建采购申请

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP BAPI_RE ...

  9. 【ABAP系列】SAP ABAP 字符编码与解码、Unicode

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 字符编码与解码 ...

随机推荐

  1. 【每日一包0008】arr-diff

    [github地址:https://github.com/ABCDdouyae...] arr-diff 多个数组比较,过滤出第一个数组独有的内容 用法:arr-diff(arr1, arr2, ar ...

  2. jar is not a valid DFS filename

  3. shell中的控制流结构

    shell中的控制流结构 1.if...then..else..fi语句 2.case语句 3.for循环 4.until 语句 5.while循环 6.break控制 7.continue 控制 1 ...

  4. Java的面向对象属性

    定义类 定义类的过程就是定义类的属性的过程: 类的属性就是累的静态属性的简称,指类内包含的各项数据. 类的服务被称为成员函数或方法. 继承extends 通过定义继承方法,子类可以获得父类的所有属性和 ...

  5. nginx设置负载均衡

    ...... why负载均衡,随着企业业务增长和海量请求,给服务端造成海量并发,导致响应不及时需扩容后端服务,前端需要负载均衡,均摊请求,让服务端吞吐请求的能力提升 单点服务方式,一个点挂掉整个服务就 ...

  6. Acwing-116-飞行员兄弟(二进制枚举)

    链接: https://www.acwing.com/problem/content/description/118/ 题意: "飞行员兄弟"这个游戏,需要玩家顺利的打开一个拥有1 ...

  7. Django 文件配置、pycharm及django连接数据库、表的增删改查 总结

    静态文件配置 1.你在浏览器中输入网址能够有响应的资源返回给你 是因为后端已经提前给你开设该资源的接口,也就意味着你所能 访问到的资源 都是人家事先定义好的 2.django如何给用户开设资源接口呢? ...

  8. C# webapi

    HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统cont ...

  9. 悲观锁,乐观锁以及MVCC

    在上文中,我们探讨了MySQL不同存储引擎中的各类锁,在这篇文章中我们将要讨论的是MySQL是如何实现并发控制的.并发问题有三种,分别为: 读-读,不存在任何问题 读-写,有隔离性问题,可能遇到脏读( ...

  10. sh_03_列表的数据统计

    sh_03_列表的数据统计 name_list = ["张三", "李四", "王五", "王小二", "张三 ...