ABAP ALV报表开发实例

上传人:枫** 文档编号:477546057 上传时间:2022-12-22 格式:DOCX 页数:4 大小:9.60KB
返回 下载 相关 举报
ABAP ALV报表开发实例_第1页
第1页 / 共4页
ABAP ALV报表开发实例_第2页
第2页 / 共4页
ABAP ALV报表开发实例_第3页
第3页 / 共4页
ABAP ALV报表开发实例_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《ABAP ALV报表开发实例》由会员分享,可在线阅读,更多相关《ABAP ALV报表开发实例(4页珍藏版)》请在金锄头文库上搜索。

1、ALVReport是SAP中一种常见的报表展现形式,它可以标准化、简单化R/3系统中的表单,可以提供给用户一个统一的 表单格式以及用户接口。ALV既能显示简单表单(SIMPLE LIST)又能显示有序表单(SEQUENTIAL LIST)在这里我给初学者示范 一个实例,讲讲abap开发报表的简单过程。程序的正确与否我们不与讨论,我们只关心这个程序的编写过程。首先,在任何程序的开始阶段,我们都要确定将会用到的表。我们所讲的这个程序是查询采购订单是否完成的。将会用到以下三个表:EKKO,EKPO,EKET。程序的开头为:REPORT TEST.TABLES: EKKO,EKET,EKPO.现在我们

2、已经定义了所要用到的表,接下来的工作就是定义内表和数据。内表是用来存储我们从上述三个表中查询到的数据。相关定义如下: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

3、-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

4、 GROUP RADI.现在我们已经完成了程序的前期准备,接着就开始真正的到表里查询我们需要的相关数据了。其代码如下:SELECT KEBELNINTO CORRESPONDING FIELDS OF TABLE ITABFROM EKKO AS KWHERE KEBELN IN EBELN1AND KBEDAT IN BEDATAND KEKGRP IN EKGRP.LOOP AT ITAB.SELECT SUM( MENGE ) INTO ITAB-MENGEFROM EKPOWHERE EBELN EQ ITAB-EBELN.MODIFY ITAB.ENDLOOP.LOOP AT ITA

5、B.SELECT SUM( WEMNG ) INTO ITAB-WEMNGFROM EKETI 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.最后就是把我们查到的数据输出了。其实我举的这个程序到这一步时穿插了一些查询,所以比较

6、长。代码如下:IF R1 = X.LOOP AT ITAB.SELECT SMATNR SMENGE PWEMNG SEBELNINTO (MATNR, MENGE, WEMNG, EBELN)FROM EKPO AS S INNER JOIN EKET AS PON SEBELP = PEBELP AND SEBELN = PEBELNWHERE SEBELN = ITAB-EBELN.IF ITAB-MENGE ITAB-WEMNG.WRITE: /2 EBELN,23 MATNR,41 MENGE,71 WEMNG,97 否.ULINE AT /1(130).CLEAR: EBELN,M

7、ATNR,MENGE,WEMNG.ENDIF.ENDSELECT.ENDLOOP.ELSEIF R2 = X.LOOP AT ITAB.SELECT SMATNR SMENGE PWEMNG SEBELNINTO (MATNR, MENGE, WEMNG, EBELN)FROM EKPO AS S INNER JOIN EKET AS PON SEBELP = PEBELP AND SEBELN = PEBELNWHERE SEBELN = ITAB-EBELN.IF ITAB-MENGE ITAB-WEMNG.WRITE: /2 EBELN, 23 MATNR,41 MENGE,71 WEM

8、NG,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 SEBELNINTO (MATNR, MENGE, WEMNG, EBELN)FROM EKPO AS S INNER JOIN EKET AS PON SEBELP = PEBELP AND SEBELN = PEBELNWHERE SEBELN = ITAB-EBELN.WRITE: /2 EBELN,23 MATNR,41 MENGE,71 WEMNG,97 是.ULINE AT /1(130).CLEAR: EBELN,MATNR,MENGE,WEMNG.ENDSELECT.ENDIF.ENDLOOP.这时程序就结束了。其实举这个例子是想让大家知道ABAP开发报表的一个常规流程,并不是讲什么技巧之类的,希望能对初学者有点用。抛砖引玉!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号