• sap 动态字段的使用


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

    DATA: a TYPE i value 10, 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(40).
        data: l_num(2) 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 + 1.
        enddo.
      endform.   
  • 相关阅读:
    3.2.8.1 打印与否
    3.2.8 sed 的运作
    3.2.7.1 替换细节
    3.2.7 基本用法
    3.2.6 在文本文件里进行替换
    3.2.5 程序与正则表达式
    pgm2
    pgm6
    pgm7
    pgm8
  • 原文地址:https://www.cnblogs.com/cindyLu/p/3532665.html
Copyright © 2020-2023  润新知