ABAP里面游标的使用

来源:互联网 发布:彻底改变自己 知乎 编辑:程序博客网 时间:2024/05/16 05:06

*/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公司,有兴趣的可以到网上购买此书,虽然有点老,但理论的东西讲得比较透彻。


文章地址:http://blog.csdn.net/liangziyisheng/article/details/7785697

0 0
原创粉丝点击