`

SAP ABAP 游标操作

阅读更多
if not %dbcursor is initial.
      close cursor %dbcursor.
    endif.
"打开游标
    open cursor with hold %dbcursor for
    select VDARL~BUKRS VDARL~GSART VDARL~RANL VDARL~RERF VDARL~STITEL VDARL~ZZBH_BZJZH VDARL~BZUSAGE VDARL~SANTWHR VDARL~REFER
           VDARL~DABTR VDARL~ZUOND BUT000~PARTNER BUT000~NAME_ORG1 VZZKOKO~DBLFZ VZZKOKO~DELFZ VZZKOKO~RKEY1
    from ( VDARL
           inner join BUT000
           on  BUT000~PARTNER = VDARL~RDARNEHM
           inner join VZZKOKO
           on  VZZKOKO~RKEY1 = VDARL~RANL )
         where VDARL~BUKRS in SP$00001
           and VDARL~GSART in SP$00002
           and VDARL~RANL in SP$00003
           and VDARL~RERF in SP$00004
           and BUT000~PARTNER in SP$00005
           and VZZKOKO~DBLFZ in SP$00008
           and VZZKOKO~DELFZ in SP$00009 .

if %dbcursor is initial.
    raise cursor_not_open.
  endif.

"遍历游标
  while %l_no_further_fetch = space.
    fetch next cursor %dbcursor
    into (VDARL-BUKRS , VDARL-GSART , VDARL-RANL , VDARL-RERF , VDARL-STITEL , VDARL-ZZBH_BZJZH , VDARL-BZUSAGE , VDARL-SANTWHR
        , VDARL-REFER , VDARL-DABTR , VDARL-ZUOND , BUT000-PARTNER , BUT000-NAME_ORG1 , VZZKOKO-DBLFZ , VZZKOKO-DELFZ
        , VZZKOKO-RKEY1 ).
    if ( ( %rtmode-acc_check = 'X' and
           sy-dbcnt > %rtmode-acc_number )
        or sy-subrc <> 0 ).
      %l_no_further_fetch = 'X'.
    else.
      check SP$00001.
      check SP$00002.
      check SP$00003.
      check SP$00004.
      check SP$00005.
      check SP$00008.
      check SP$00009.
      call function 'RSAQRT_TEXTFIELD_REFRESH'.
*** additional coding:
  ZDONGJIEJINE = VDARL-BZUSAGE * VDARL-zuond / 100.
      %dtab-BUKRS = VDARL-BUKRS .
      %dtab-GSART = VDARL-GSART .
      %dtab-PARTNER = BUT000-PARTNER .
      %dtab-NAME_ORG1 = BUT000-NAME_ORG1 .
      %dtab-RANL = VDARL-RANL .
      %dtab-RERF = VDARL-RERF .
      %dtab-STITEL = VDARL-STITEL .
      %dtab-ZZBH_BZJZH = VDARL-ZZBH_BZJZH .
      %dtab-BZUSAGE = VDARL-BZUSAGE .
      %dtab-SANTWHR = VDARL-SANTWHR .
      %dtab-REFER = VDARL-REFER .
      %dtab-DABTR = VDARL-DABTR .
      %dtab-SANTWHR001 = VDARL-SANTWHR .
      %dtab-DBLFZ = VZZKOKO-DBLFZ .
      %dtab-DELFZ = VZZKOKO-DELFZ .
      %dtab-ZDONGJIEJINE = ZDONGJIEJINE .
      %dtab-SANTWHR002 = VDARL-SANTWHR .
      %dtab-ZUOND = VDARL-ZUOND .
      append %dtab.
      %l_hits_cnt = %l_hits_cnt + 1.
      if %rtmode-pack_on = 'X'
         and %l_hits_cnt >= %rtmode-pack_size.
        %l_no_further_fetch = 'X'.
      endif.
    endif.
  endwhile.

"关闭游标
  if %l_hits_cnt = 0.
    if not %dbcursor is initial.
      close cursor %dbcursor.
    endif.
    raise no_data.
  endif.
"关闭游标
  if %rtmode-pack_on <> 'X'.
    close cursor %dbcursor.
  endif.
分享到:
评论

相关推荐

    sapabap开发从入门到精通

    资源名称:sap abap开发从入门到精通 内容简介: 《SAP ABAP开发从入门到精通》以应用实例的形式,讲解了SAPABAP开发的相关知识点,详细介绍了SAPABAP开发者必须掌握的包与变更传输系统(CTS)、数据类型、数据库...

    SAP ABAP 电子书

    3. ABAP与数据库:熟练运用ABAP SQL进行数据库操作,了解Open SQL和Native SQL的区别。 4. ABAP面向对象编程:理解类、接口、继承、多态等概念,进行对象化设计。 5. SAP功能模块和接口:使用Function Modules,了解...

    SAP ABAP开发从入门到精通

    《SAP ABAP开发从入门到精通》以应用实例的形式,讲解了SAP ABAP开发的相关知识点,详细介绍了SAP ABAP开发者必须掌握的包与变更传输系统(CTS)、数据类型、数据库、模块化程序、内表、调试、ABAP数据字典、锁对象...

    实战SAP程序开发——从实例学SAP ABAP编程.rar

    通过"实战SAP程序开发——从实例学SAP ABAP编程",你可以逐步掌握以上知识点,并通过实际操作加深理解。实践是学习编程的最佳途径,这个资源提供了一个良好的起点,帮助你在SAP ABAP的世界里稳步前行。

    SAP ABAP启动OUTLOOK发邮件.docx

    在SAP系统中,有时需要实现自定义的邮件发送功能以满足特定的业务需求,例如在用户操作SAP采购订单报表时,直接通过Outlook发送邮件到供应商。针对这种需求,我们可以利用SAP的ABAP编程环境,通过OLE(Object ...

    《SAP ABAP开发技术详解(实例篇)(第二版)mobi 版

    《SAP ABAP开发技术详解(实例篇)(第二版) [1] 》除了对对SAP ...全书操作讲解精练,采用大量的实例,重要技术点附有附录,除了可作为投身SAP职业人士的自修秘籍外,还可作为从业者用于查阅SAP ABAP开发技术的字典。

    SAP ABAP开发学习——第9课:ALV2(视频教程)

    SAP ABAP开发学习——第9课:ALV2(视频教程) 1.SAP ABAP开发入门学习 2.含视频教程学习、PPT、作业 3.视频非常清晰

    sap abap catt 操作手册

    sap abap catt 操作手册 介绍sap中catt操作的详细步骤,不错的资源

    ABAP开发从入门到精通-高清自学版 SAP+ABAP开发从入门到精通 SAP开发自学必读 SAP SAP开发自学入门到精通

    ABAP(Advanced Business Application Programming)是SAP公司推出的一种编程语言,主要用于开发SAP系统中的业务应用程序。SAP系统在全球企业资源规划(ERP)领域有着广泛的应用,而ABAP则是其核心开发语言,使得...

    SAP ABAP 1.4.4代码下载

    SAP ABAP(Advanced Business Application Programming)是SAP公司开发的一种编程语言,主要用于在其ERP(企业资源规划)系统中创建和定制业务逻辑。在SAP ABAP 1.4.4版本的代码下载中,我们可以深入探讨这个版本的...

    SAP ABAP开发学习——第19课:实战讲解(视频教程)

    在本课程“SAP ABAP开发学习——第19课:实战讲解”中,我们将深入探讨SAP ABAP(Advanced Business Application Programming)编程语言在实际项目中的应用。ABAP是SAP系统的核心开发语言,用于构建企业级业务应用...

    SAP ABAP 实用程序开发攻略

    《SAP ABAP实用程序开发攻略》这篇文档主要向初学者介绍了SAP ABAP语言以及其在SAP系统开发中的应用,涵盖从基础知识到数据类型和开发工具的详细解释。 首先,文档开篇提到SAP技术架构及发展历程,这为读者提供了一...

    SAP ABAP 代码备份下载到本地程序代码

    SAP ABAP 代码备份下载到本地程序代码

    《SAP ABAP开发详解与高端应用》.zip

    《SAP ABAP开发详解与高端应用》这本书深入探讨了SAP ABAP(Advanced Business Application Programming)编程语言,这是SAP系统中用于开发业务应用程序的关键技术。ABAP是SAP平台上的核心编程语言,用于创建自定义...

    sap abap query高级功能

    SAP ABAP Query 是 SAP 系统中一种用于创建自定义报表的强大工具,尤其适合那些对 SQL 不太熟悉或者没有数据库直接访问权限的用户。它提供了丰富的功能,使得开发人员可以构建复杂的数据查询,而无需编写大量的 ABAP...

    SAP ABAP培训练习题

    在IT领域,SAP ABAP(Advanced Business Application Programming)是一种专为SAP系统设计的编程语言,用于开发企业级的应用程序。本资料包是针对SAP ABAP初学者的培训练习题,旨在帮助学习者掌握基本概念和技能,...

    SAPABAP常用函数清单.pdf

    SAP ABAP常用函数清单 SAP ABAP是一种高级程序设计语言,用于开发SAP R/3系统中的应用程序。ABAP语言提供了许多实用的函数,可以帮助开发者快速、高效地开发应用程序。本文将对SAP ABAP常用函数进行总结,涵盖文档...

    SAP ABAP官方教程

    2. **内部表与数据库操作**:ABAP中的内部表类似于数组,是处理大量数据的重要工具。教程将教授如何创建、读取和修改内部表,同时还会涉及与R/3系统数据库的交互,如使用SELECT、INSERT、UPDATE和DELETE语句。 3. *...

    SAP ABAP应用程序中"锁"的介绍

    当ABAP程序需要操作数据时,必须先调用相应的加锁函数模块(Function Module, FM),这样即使直接操作数据库,也会受到SAP锁机制的约束。 锁的管理由SAP的锁服务器(Lock Server)负责,尤其在分布式多实例系统中,...

Global site tag (gtag.js) - Google Analytics