SAP ABAP游标的使用(示例)

来源:互联网 发布:淘宝登录网 编辑:程序博客网 时间:2024/06/05 08:15

这个例子是我在《ABAP HANDBOOK》这个书里看到的,从示例学习ABAP,比看枯燥的文字更能理解和掌握。与NEWBIE一起共勉。

*&---------------------------------------------------------------------**& REPORT  Z_WUWEI_0019*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*REPORT  Z_WUWEI_0019.*/DECLARING CURSORS-C1 AND C2DATA: C1 TYPE CURSOR,      C2 TYPE CURSOR.DATA: WORK_AREA1 TYPE MARA,      WORK_AREA2 TYPE MARA.DATA: FLAG1(1) TYPE C,      FLAG2(1) TYPE C.*/OPENING CURSORS-C1 AND C2OPEN CURSOR: C1 FOR SELECT MATNR  "物料号                           ERSDA  "创建日期                           ERNAM  "创建对象的人员名称                        FROM MARA  "常规物料数据                        WHERE ERNAM = 'ZHANGSHEN',             C2 FOR SELECT LAEDA  "上次更改的日期                           AENAM  "更改对象用户的名称                        FROM MARA                        WHERE ERNAM = 'ZHANGSHEN'.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: / '物料号:' COLOR 7 , WORK_AREA1-MATNR,'创建日期:' COLOR 6 , WORK_AREA1-ERSDA ,'创建对象的人员名称:' COLOR 5,WORK_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: / '上次更改的日期:' COLOR 4 , WORK_AREA2-LAEDA ,'更改对象用户的名称:' COLOR 3 , WORK_AREA2-AENAM.    ENDIF.  ENDIF.  IF FLAG1 = 'X' AND FLAG2 = 'X'.    EXIT.  ENDIF.ENDDO.


原创粉丝点击