【ABAP系列】SAP ABAP 动态指针

公众号:SAP Technical

本文作者:matinal

原文出处:http://www.cnblogs.com/SAPmatinal/

原文链接:【ABAP系列】SAP ABAP 动态指针

前言部分

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

正文部分

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

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

原文地址:https://www.cnblogs.com/SAPmatinal/p/11183832.html

时间: 2024-10-29 15:15:22

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

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

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 行列转换的方法 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 有人问:马蹄能给个行列转换的例子吗 我:百度很多吧,找找看 回:百度来的没看懂啊 我:好吧,写个例子 很久没用在博客里发代码了,发个行列转换的例子 其实理解原理就好,就是获取到行,然后动态的赋值给列 代码如下: ? LO

【ABAP系列】SAP Web Dynpro 技术简介

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP Web Dynpro 技术简介 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 AP webdynpro是为SAP NetWeaver战略UI编程模型. 它是用于创建平台并独立于语言,基于WEB的用户界面. Web Dynpro可用于SAP NetWeaver Application Serv

【ABAP系列】SAP ABAP 如何控制Dialog中的键盘(回车)功能

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 如何控制Dialog中的键盘(回车)功能 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 MODULE USER_COMMAND_2100 INPUT. CLEAR SAVE_OK. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WH

【ABAP系列】SAP 的逻辑数据库解析

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 的逻辑数据库解析 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 T-CODE:SE36 逻辑数据库好像是HR模块用的比较多 如果谁有HR350,可以分享一下,非常感谢 当数据量很大,而且很耗时间的时候 用逻辑数据库,可以提高数据读取速度 理解上应该是把数据集放到一块 不用我们平时写OPENS

【ABAP系列】SAP ABAP 工单增强

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 工单增强 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 工单增强:工单——工序——外部BADI:MRO_CONTRACT    实现功能:外部中填入的物料组和维护的物料组是否一致,不一致则报错BADI:WORKORDER_UPDATE  工单的很多判断都在这个里面来实现工单——组件

【ABAP系列】SAP ABAP 物料凭证增强

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 物料凭证增强 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 BADI:MB_DOCUMENT_BADI USER-EXIT:MBCF0002 实现功能1.当参照预留过帐时,检查填入数量是否小于预留数量 2.移动类型是***的时候,查看RSNUM是否为空 3.检查原始单据工厂和库存地

【ABAP系列】SAP ABAP MIR7预制凭证BAPI

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP MIR7预制凭证BAPI 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 做预制凭证有两个BAPI: BAPI_INCOMINGINVOICE_PARK 和 BAPI_INCOMINGINVOICE_CREATE 连个的区别是:第一个只做发票预制,第二个是发票和过账一块做. 下面简单

【ABAP系列】SAP ABAP 开发中的SMARTFORMS 参数

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 开发中的SMARTFORMS 参数 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 &symbol& (括号中,小写字母为变量)&symbol&  屏蔽从第一位开始的N位&symbol (n)&   只显示前N位&symbol (S)&a

【ABAP系列】SAP ABAP DOI展示EXCEL或WORD

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP DOI展示EXCEL或WORD 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 DOI技术算是比较老的技术了 用来直接调用office展示结果 可以是EXCEL也可以是WORD ? data: begin of s_fal. include structure faglflext.