ABAP里面游标的使用

*/Declaring Cursors-c1 and c2

DATAc1 TYPE cursor,
       c2 TYPE cursor.

DATAwork_area1 TYPE mara,
       work_area2 TYPE mara.

DATAflag1(1TYPE c,
       flag2(1TYPE c.

*/Opening Cursors-c1 and c2
OPEN CURSORc1 FOR SELECT matnr ersda ernam
                        FROM mara
                        WHERE ernam 'RUDISILL',
                c2 FOR SELECT laeda aenam
                        FROM mara
                        WHERE ernam 'RUDISILL'.
DO.
  IF flag1 NE 'X'.
*/Using the c1 cursor to fetch the data
    FETCH NEXT CURSOR c1 INTO CORRESPONDING FIELDS OF work_area1.

    IF sy-subrc <> 0.
*/Closing the c1 cursor
      CLOSE CURSOR c1.
      flag1 'X'.
    ELSE.
      WRITE/ work_area1-matnrwork_area1-ersdawork_area1-ernam.
    ENDIF.
  ENDIF.

  IF flag2 NE 'X'.
*/Using the c2 cursor to fetch the data
    FETCH NEXT CURSOR c2 INTO CORRESPONDING FIELDS OF work_area2.
    IF sy-subrc <> 0.
*/Closing the c2 cursor
      CLOSE CURSOR c2.
      flag2 'X'.
    ELSE.
      WRITE/ work_area2-laedawork_area2-aenam.
    ENDIF.
  ENDIF.
  IF flag1 'X' AND flag2 'X'.
    EXIT.
  ENDIF.
ENDDO.

 

必须指明这段代码是摘自一本书 《ABAP Handbook》,出自于Kogent learning solution公司,有兴趣的可以到网上购买此书,虽然有点老,但理论的东西讲得比较透彻。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值