如何方便的计算 GLT0 等表中的数据

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/26 09:51:12
如何方便的计算 GLT0 等表中的数据
xTN@k"$RTGjTmD7]B^yH$$$)MDv!8|LثBdm!;simNI [QaFN_*ubMw1X R]y:JshbzacPyi*ME|#JK$SgY ^o:^!+opjv-<n :>3r vRz$)ff9}oW%,9;tKOk$C=fITPL?Q͛^w‡S\SXKz6^9P]#VZє<$7ONIXW Gۤ`COo U

如何方便的计算 GLT0 等表中的数据
如何方便的计算 GLT0 等表中的数据

如何方便的计算 GLT0 等表中的数据
不过在 ABAP 中就不必那么麻烦了,SAP 提供了一个方便的语法来完成这类计算.代码如下:Code
其中的关键在于 DO ...VARYING ...FROM ...NEXT 这个语法结构.其中的 prpmax 代表循环次数,也就是输入的区间,GLT0VARY 代表存储获得值的临时变量,FROM 后的 GLT0-TSL01 是循环的开始位置,GLT0-TSL02 是循环的第二个位置,从这两个字段的位置,就能获得每次取值的内存偏移.这样,DO 循环的过程就是,首先取 GLT0-TSL01 的值,放到 GLT0VARY 中,然后执行 SUMME 的累加;再根据 prpmax 的值循环指定次数,每次都按 GLT0-TSL01 的长度取相应的内存片段,放到 GLT0VARY 中,执行累加.因此,在这样的循环里,需要累加的字段必须连续且长度相同.下图表示了它的内存使用情况:
          --循环开始时从这个位置读取
          |     --第二次循环时从这个位置读取
          |     |     --....
          |     |     |   --最多循环 16 次,否则会读到其它内存位置,导致错误
          V     V     V   V|---|-----|-----|-----|---|-----|---|