公众号: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. JS 转Boolean的两张方法

    // 1.Boolean() console.log(Boolean(123)); // true console.log(Boolean(undefined)); // false console. ...

  2. arm开发板make编译时遇到 make[2]:*** [s-attrtab] 已杀死 问题的解决方案

    未验证 出现“make[2]: *** [s-attrtab] 已杀死”log 是由于内存不足 解决方案 增加swapfile 步骤如下: 1. 查看当前swapfile状态 root@ubuntu: ...

  3. UVA - 12538 Version Controlled IDE (可持久化treap)

    紫薯例题 #include<bits/stdc++.h> using namespace std; typedef long long ll; ,inf=0x3f3f3f3f; ],ch[ ...

  4. 【LuoguP4887】第十四分块(前体)

    题目链接 题意 区间两数异或在二进制下有 \(k\) 个 \(1\) 的对数. Sol 普通莫队的话,如果要实时维护好区间内的答案需要支持区间对一个数求答案. 直接做不是很好做,容易发现其实这也就是一 ...

  5. electron-vue 引入 vue.ant.design报错

    ERROR in ./node_modules/ant-design-vue/dist/antd.less (./node_modules/css-loader!./node_modules/less ...

  6. 15.DRF学习以及相关源码阅读

    1.http请求协议 代码很枯燥,结果和奇妙. 1.cbv django.vuews import View classs LoginView(View): def get(self,requset) ...

  7. js 两个页面的传值 可以用父页面 子页面做

    js  两个页面的传值  可以用父页面 子页面做 比如弹窗  将值传到子页面的时候  用get超长

  8. [Linux系统] (7)Keepalived高可用

    一.解决LVS server单点故障 如果集群中只有一台LVS server提供数据包分发服务,如果宕机,则会导致所有的业务重点,因为所有的请求都无法到达后面的Real server. 此时我们可以采 ...

  9. jquery checkbox选择器 语法

    jquery checkbox选择器 语法 作用::checkbox 选择器选取类型为 checkbox 的 <input> 元素.大理石平台价格表 语法:$(":checkbo ...

  10. react 的className动态修改

    https://blog.csdn.net/suwyer/article/details/81481507(copy) <div style={{display: (index===this.s ...