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

DATA: a TYPE i value , b TYPE i.

FIELD-SYMBOLS <fs> TYPE i.  

ASSIGN b TO <fs>.

<fs> = a.

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 都查询出来,再根据开始日期和结束日期去计算和。

计算和的代码如下:

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

 form frm_get_sum using value(u_field)   "字段   gwa_result-wpl
value(u_num) "月份数
value(u_begin) "开始月份
changing l_total.
data:g_field().
data: l_num() type n.
l_num = u_begin.
do u_num times.
clear g_field.
concatenate u_field l_num into g_field. "这里生产字段 gwa_result-wpl01...
assign (g_field) to <fs1>.
if <fs1> is assigned. “判断是否已指定对象
l_total = l_total + <fs1>. “累加和
endif.
unassign <fs1>. “释放
l_num = l_num + .
enddo.
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. JackSon解析json字符串

    JackSon解析json字符串 原文:http://blog.csdn.net/java_huashan/article/details/9353903 概述 jackson解析json例子 准备工 ...

  2. C++ 函数的扩展④--函数重载与函数指针

    //函数扩展--函数重载与函数指针 #include<iostream> using namespace std; //函数参数类型不同 void Fuc(char * b){ print ...

  3. php url配置项

  4. UEditor API 文档

    来源:http://www.e4dai.com/ueditor-api/#ue.editor http://www.e4dai.com/ueditor-api/ UE.Editor 依赖 editor ...

  5. 理解Loadrunner中的Browser Emulation Simulate

    案例 测试环境描述: 客户端 5台 Windows2000机器.服务器端  20台机器 一台F5(负载均衡设备,提供一个唯一的IP供客户端访问) 客户端绑定Host后,使用域名http://www.* ...

  6. 如何用ChemFinder制作子表单

    通过使用ChemFinder这一插件,用户可以建立自己的ChemFinder数据库,数据库是由表单集合而成,所以建立数据库的前提是要制作表单.在之前的教程中已经介绍了制作表单的方法,本节ChemDra ...

  7. MySQL [Err]1449 : The user specified as a definer ('root'@'%') does not exist

    权限问题:授权 给 root 所有sql 权限 mysql> grant all privileges on *.* to root@"%" identified by &q ...

  8. [转]ASP.NET MVC 5 - 控制器

    MVC代表: 模型-视图-控制器 .MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程序包含: · Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据 ...

  9. 如何在Myeclipse中启动多个Tomcat

    比如:有两个版本的tomcat,一个5.*,一个6.*,此时由于两个工程分别部署在两个版本的tomcat下,需要同时启动两个tomcat,以下是方法: 1.特别要注意: 不要设置CATALINA_HO ...

  10. EL表达式页面间传参(对象参数和普通参数)

    ${param['user.name']}.${param.name}