ABAP程序中的统计求和


 在ABAP开发中,如何在程序中实现统计求和呢?

 其实在loop ... endloop 中间,有个AT <LEVEL>,<…>,ENDAT循环. 其中的<LEVEL>包括:

FRIST, LAST, NEW , END OF.这些可以用来进行内表中按某个字段进行分组统计.

 FIRST 内 表的第一行

 LAST 内 表的最后一 行

NEW <f> 行组 的开头,与 字段 <f> 和 <f> 剩余字段中 的内容相同

 END Of <f> 行组 的结尾,与 字段 <f> 和 <f> 剩余字段中的内容相同

AT - ENDAT 块中的语句 块使用这些 行条件代表 预定义的控 制结构。用 户可以使用

它们处理内 表中的控制 断点,而不必使用 编程分支和循环 中所述的控 制语句自己 编程。

在 AT - ENDAT 语句块中, 工作区域没 有用当前表 格行进行填 充。初始化 所有不是标

准关键字部件的字段( 参见 标识表格行 )。对于行 条件 FIRST 和 LAST,系统用星号

 (*) 改写所有标 准关键字段 。

对于行条 件 NEW <f> 和 END OF <f>,系 统用星号 (*) 改写所有出 现在工作区 域中指定字

 

段 <f> 右边的标准关键字段。 用户可根据 自己的需求 在 AT - ENDAT 语句块中填 充工作区域 。

DATA: BEGIN OF LINE,

         COL1 TYPE C,

         COL2 TYPE I,

         COL3 TYPE I,

      END OF LINE.

DATA ITAB LIKE LINE OCCURS 10.

LINE-COL1 = 'A'.

DO 3 TIMES.

   LINE-COL2 = SY-INDEX.

   LINE-COL3 = SY-INDEX ** 2.

   APPEND LINE TO ITAB.

ENDDO.

LINE-COL1 = 'B'.

DO 3 TIMES.

LINE-COL2 = 2 * SY-INDEX.

   LINE-COL3 = ( 2 * SY-INDEX ) ** 2.

   APPEND LINE TO ITAB.

ENDDO.

LOOP AT ITAB INTO LINE.

WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.

   AT END OF COL1.

      SUM."按Col1 求和.

      ULINE.

      WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.

      SKIP.

   ENDAT.


SAP上海顾问中心

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP程序中的BDC(Batch Data Communication)代码开发主要是为了处理大批量数据的输入或修改。下面是BDC代码开发的全过程: 1. 定义BDC数据结构:首先需要定义一个数据结构,用于存储要导入或修改的数据。这个结构通常是一个内表,包含了程序需要处理的字段。 2. 读取数据源:接下来,从数据源中读取数据。数据源可以是数据库表、Excel文件或其他外部系统。 3. 编写转换逻辑:在BDC开发中,通常需要进行数据转换,将数据源中的数据映射到ABAP程序的数据结构中。这个过程中,需要根据业务需求对数据进行一些处理,比如日期格式转换、数值转换等。 4. 创建BDC会话:接下来,需要创建一个BDC会话。BDC会话是ABAP程序与事务处理之间的桥梁,用于处理事务数据的导入或修改。 5. 输入或修改数据:通过BDC会话,将转换后的数据导入到SAP系统中。如果是数据导入,可以使用BDC方法CALL TRANSACTION来执行事务代码。如果是数据修改,可以使用BDC方法CALL TRANSACTION USING来执行事务代码。 6. 错误处理:在BDC开发中,由于可能存在各种错误,如数据格式错误、字段缺失等,所以需要对错误进行处理。可以使用BDC方法SESSION_SET_BIG_INTERVAL来设置一个长时间间隔,然后检查和处理错误信息。 7. 提交和确认:在数据导入或修改完成后,需要使用BDC方法SESSION_CLOSE来提交事务,并通过BDC方法SESSION_PROCESSING提交数据更改。然后,可以检查和处理事务的结果。 8. 清除会话:在处理完BDC会话后,需要使用BDC方法SESSION_CLOSE来清除会话,以释放相关的资源。 以上是ABAP程序中BDC代码开发的全过程。通过合理的数据结构定义、数据源读取、转换逻辑编写、BDC会话创建和数据处理,可以实现大批量数据的输入或修改。同时,错误处理和会话清除也是不可忽视的步骤,以确保数据的完整性和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值