1、sap中的动态字段其实类似c#里面的指针,都是指向的地址。 只是写法不同,sap 中的field-symbols就是类似指针。

  1. DATA: a TYPE i value , b TYPE i.
  2.  
  3. FIELD-SYMBOLS <fs> TYPE i.
  4.  
  5. ASSIGN b TO <fs>.
  6.  
  7. <fs> = a.
  8.  
  9. WRITE: 'b =',b.

现在b的值即为a的值。

2、下面记录一下,我在工作中使用到field-symbol 的情况。

背景介绍:

用户发送数据过来,有wbs编码,开始日期,结束日期,   我们需要在sap系统的rpsco表中,找到在开始结束日期之间的项目的所有成本,累加返回给用户。

在rpsco表中  wpl01  wlp02……..wpl12  分别代码1 到12 月每个月的项目成本。 所以我需要将查询出来的所有  这类字段相加。

如开始结束日期为:  2013.02.08    结束日期     2014.01.01

项目成本=   (2013年 wpl02+wpl03+…….+wpl12 )+ (2014年  wpl01)

我的处理方法是:  把所有的wpl 都查询出来,再根据开始日期和结束日期去计算和。

计算和的代码如下:

注意这里的内表一定要定义成全局的。

  1. form frm_get_sum using value(u_field) "字段 gwa_result-wpl
  2. value(u_num) "月份数
  3. value(u_begin) "开始月份
  4. changing l_total.
  5. data:g_field().
  6. data: l_num() type n.
  7. l_num = u_begin.
  8. do u_num times.
  9. clear g_field.
  10. concatenate u_field l_num into g_field. "这里生产字段 gwa_result-wpl01...
  11. assign (g_field) to <fs1>.
  12. if <fs1> is assigned. “判断是否已指定对象
  13. l_total = l_total + <fs1>. “累加和
  14. endif.
  15. unassign <fs1>. “释放
  16. l_num = l_num + .
  17. enddo.
  18. endform.

sap 动态字段的使用的更多相关文章

  1. 关于sap的字段和对象修改记录的查找

    sap的字段和对象的修改都会保存旧值,数据保存在CDHDR和CDPOS表中,对于提取旧值你可以采用两种方法 1)使用sap的标准函数CHANGEDOCUMENT_READ_HEADERS 和CHANG ...

  2. mybatis操作动态表+动态字段+存储过程

    存储过程 statementType="CALLABLE" <!-- 计算金额存储过程--> <update id="getCalcDistributo ...

  3. solr 通过【配置、多值字段、动态字段】来解决文本表达式查询精确到句子的问题

    一.Solr Multivalue field属性positionIncrementGap理解 分类:Lucene 2014-01-22 10:39阅读(3596)评论(0) 参考:http://ro ...

  4. 【mybatis】mybatis自定义动态字段查询,mybatis实现动态字段查询,如果某个条件为null,则不查询某个字段,否则就查询某个字段

    mybatis实现动态字段查询,如果某个条件为null,则不查询某个字段,否则就查询某个字段 先看一下 怎么实现动态的自定义字段查询: 例如: 而field 就是数据表中的某一个字段 String f ...

  5. SAP屏幕字段常用代码集合

    SAP屏幕字段常用代码集合 ().Screen 设计 TABLES: SSCRFIELDS. PARAMETERS: P_EBLEN LIKE VBRK-EBLEN DEFAULT ' '. PARA ...

  6. 基于 MongoDB 动态字段设计的探索 (二) 聚合操作

    业务需求及设计见前文:基于 MongoDB 动态字段设计的探索 根据专业计算各科平均分 (总分.最高分.最低分) public Object avg(String major){ Aggregatio ...

  7. 如何在Spring Data MongoDB 中保存和查询动态字段

    原文: https://stackoverflow.com/questions/46466562/how-to-save-and-query-dynamic-fields-in-spring-data ...

  8. 更改SAP的字段翻译

    TC:SE63在SAP用户选择屏幕中,用鼠标选定一个栏位后按F1键,可以看到SAP对其具体解释,通常这种解释文本分为两部分,一部分为标题,一部分为正文.比如:  有时,SAP的翻译让人感觉很别扭,对于 ...

  9. sqlserver 动态表名 动态字段名 执行 动态sql

    动态语句基本语法: 1 :普通SQL语句可以用exec执行 Select * from tableName exec('select * from tableName') exec sp_execut ...

随机推荐

  1. 重启oracle方法一二三

    startup nomount alter database mount alter database open Linux:方法1 用root以ssh登录到linux,打开终端输入以下命令: cd ...

  2. 关于Unity中的transform组件(一)

    一.transform组件用途 1.维护场景树 2.对3D物体的平移,缩放,旋转 二.场景树定义 在Hierarchy视图中显示的: 一个game_scene场景,下面有Main Camera节点,D ...

  3. Ubuntu16.04+cuda8.0+cuDNNV5.1 + Tensorflow+ GT 840M安装小结

    最近重装系统,安装了tensorflow的配置环境 总结一下. 参考资料 http://blog.csdn.net/ZWX2445205419/article/details/69429518 htt ...

  4. virtualbox pxe启动

    在设置——系统中更改启动顺序,优先使用网路启动,如果你的网络环境支持PXE启动,就可以使用网络安装了. 转自: http://blog.csdn.net/huanghuibai/article/det ...

  5. 【Python】python-memory-management

    http://deeplearning.net/software/theano/tutorial/python-memory-management.html#python-memory-managem ...

  6. 编程之美 set 4 找到符合条件的数

    题目 任意给定一个正整数 N, 求一个最小的正整数 M (M > 1), 使得 N*M 的十进制表达式中只有 0 和 1. 解法 1. 枚举0,1能够组成的数字, 可以组成一颗二叉树 然后由 B ...

  7. C语言字符串的输入输出

    字符串的输出 在C语言中,输出字符串的函数有两个: puts():直接输出字符串,并且只能输出字符串. printf():通过格式控制符 %s 输出字符串.除了字符串,printf() 还能输出其他类 ...

  8. 后端程序员如何玩转AJAX

    1.原生的Ajax入门 (感觉很是繁琐,所以一般我们都是用简单的方式) 创建一个核心对象 XMLHttpRequest var xmlhttp; if (window.XMLHttpRequest) ...

  9. [Android Tips] 27. 检查 APK 是否可调试

    使用 Android SDK 提供的 aapt 检查 APK 文件 $ aapt d badging ${APK_FILE} | grep 'application-debuggable' 检查自身 ...

  10. 使用 paramsPrepareParamsStack 拦截器栈后的运行流程

    2. 使用 paramsPrepareParamsStack 拦截器栈后的运行流程 1). paramsPrepareParamsStack 和 defaultStack 一样都是拦截器栈. 而 st ...