ABAP报表开发实例.doc_第1页
ABAP报表开发实例.doc_第2页
ABAP报表开发实例.doc_第3页
ABAP报表开发实例.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ABAP 报表开发实例。在这里示范一个实例,讲讲abap开发报表的简单过程。程序的正确与否我们不与讨论,我们只关心这个程序的编写过程。首先,在任何程序的开始阶段,我们都要确定将会用到的表。我们所讲的这个程序是查询采购订单是否完成的。将会用到以下三个表:EKKO,EKPO,EKET。程序的开头为:REPORT TEST.TABLES: EKKO,EKET,EKPO.现在我们已经定义了所要用到的表,接下来的工作就是定义内表和数据。内表是用来存储我们从上述三个表中查询到的数据。相关定义如下:DATA: BEGIN OF ITAB OCCURS 0, EBELN LIKE EKKO-EBELN, MENGE LIKE EKPO-MENGE, WEMNG LIKE EKET-WEMNG, END OF ITAB.现在我们已经定义完了内表ITAB。接着我们该定义数据了。数据就像C语言里的常量。其相关定义如下:DATA: MATNR LIKE EKPO-MATNR, MENGE LIKE EKPO-MENGE, WEMNG LIKE EKET-WEMNG, EBELN LIKE EKPO-EBELN.到这里我们已经把程序里要用到的数据和内表都定义好了。接着我们要做的工作就是选择屏幕。所谓选择屏幕是指程序运行时,你要从屏幕上输入的内容。比如说一个程序运行时,你输入一个物料号,就可以得到该物料的当前的库存数,那你就要编写一个屏幕以供查询者输入查询的条件。其相关定义如下:SELECT-OPTIONS: EBELN1 FOR EKKO-EBELN, BEDAT FOR EKKO-BEDAT, EKGRP FOR EKKO-EKGRP.PARAMETERS: R1 RADIOBUTTON GROUP RADI, R2 RADIOBUTTON GROUP RADI, R3 RADIOBUTTON GROUP RADI.现在我们已经完成了程序的前期准备,接着就开始真正的到表里查询我们需要的相关数据了。其代码如下:SELECT KEBELN INTO CORRESPONDING FIELDS OF TABLE ITAB FROM EKKO AS K WHERE KEBELN IN EBELN1 AND KBEDAT IN BEDAT AND KEKGRP IN EKGRP.LOOP AT ITAB. SELECT SUM( MENGE ) INTO ITAB-MENGE FROM EKPO WHERE EBELN EQ ITAB-EBELN. MODIFY ITAB.ENDLOOP.LOOP AT ITAB. SELECT SUM( WEMNG ) INTO ITAB-WEMNG FROM EKET WHERE EBELN EQ ITAB-EBELN. MODIFY ITAB.ENDLOOP.然后我们需要定义输出界面。把我们查询到的数据输出时要有一个输出的格式,这样大家看起来才会方便。代码如下:TOP-OF-PAGE . WRITE: /采购凭证号,22 物料号码, 47 采购订单数量,77 收到货物数量, 95 完成标志. ULINE AT /1(130).END-OF-PAGE . START-OF-SELECTION.最后就是把我们查到的数据输出了。其实我举的这个程序到这一步时穿插了一些查询,所以比较长。代码如下: IF R1 = X.LOOP AT ITAB. SELECT SMATNR SMENGE PWEMNG SEBELN INTO (MATNR, MENGE, WEMNG, EBELN) FROM EKPO AS S INNER JOIN EKET AS P ON SEBELP = PEBELP AND SEBELN = PEBELN WHERE SEBELN = ITAB-EBELN. IF ITAB-MENGE ITAB-WEMNG. WRITE: /2 EBELN,23 MATNR,41 MENGE, 71 WEMNG,97 否. ULINE AT /1(130). CLEAR: EBELN,MATNR,MENGE,WEMNG. ENDIF. ENDSELECT.ENDLOOP. ELSEIF R2 = X.LOOP AT ITAB. SELECT SMATNR SMENGE PWEMNG SEBELN INTO (MATNR, MENGE, WEMNG, EBELN) FROM EKPO AS S INNER JOIN EKET AS P ON SEBELP = PEBELP AND SEBELN = PEBELN WHERE SEBELN = ITAB-EBELN. IF ITAB-MENGE ITAB-WEMNG. WRITE: /2 EBELN, 23 MATNR,41 MENGE, 71 WEMNG,97 否. ULINE AT /1(130). CLEAR: EBELN,MATNR,MENGE,WEMNG. ENDIF. ENDSELECT. ENDLOOP.ENDIF.LOOP AT ITAB.IF R3 = X AND ITAB-MENGE = ITAB-WEMNG. SELECT SMATNR SMENGE PWEMNG SEBELN INTO (MATNR, MENGE, WEMNG, EBELN) FROM EKPO AS S INNER JOIN EKET AS P ON SEBELP = PEBELP AND SEBELN = PEBELN WHERE SEBELN = ITAB-EBELN. WRITE: /2 EBELN,23 MATNR,41 MENGE, 71 WEMNG,97 是. ULINE AT /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论