
RICEFW ID | NAME | CODE1| CODE2 | CODE3 比如是一个这样5个field的 soft table
第一个可以为Report 名, 第二个可以是对应的 厂
ReportN | A | 000 |
ReportN | A | 001 |
ReportN | A | 002 |
ReportN | B | 000 |
ReportN | B | 001 |
ReportN | B | 002 |
你可以维护以上纪录(我只用了前三个字段)
然后,你写的Report 里面一开始 加一句 select 这个表, 拿出这些 sortcode纪录(根据你的task 句名 或 程序名 或 Tcode名)
以后,你们厂业务扩充后,加了个C厂,之后就可以再维护上去, 程序就不用改了
表数据是可以通过SE16N、SE11、SE12 等等食物代码导出来。结构数据是不能导出来的,因为结构里面只是一条抬头,没内容的。
如果你只指的是运用事物代码算来的报表,都可以直接保存为本地文件的。
这是我刚接触report的时候下的,转给你参考[这个贴子最后由tanglun在 2003/12/03 01:39pm 第 1 次编辑]在这里我给初学者示范一个实例,讲讲abap开发报表的简单过程。程序的正确与否我们不与讨论,我们只关心这个程序的编写过程。首先,在任何程序的开始阶段,我们都要确定将会用到的表。我们所讲的这个程序是查询采购订单是否完成的。将会用到以下三个表:EKKO,EKPO,EKET。程序的开头为:REPORTTEST.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: MATNRLIKE EKPO-MATNR, MENGELIKE EKPO-MENGE, WEMNGLIKE EKET-WEMNG, EBELNLIKE EKPO-EBELN.到这里我们已经把程序里要用到的数据和内表都定义好了。接着我们要做的工作就是选择屏幕。所谓选择屏幕是指程序运行时,你要从屏幕上输入的内容。比如说一个程序运行时,你输入一个物料号,就可以得到该物料的当前的库存数,那你就要编写一个屏幕以供查询者输入查询的条件。其相关定义如下:SELECT-OPTIONS: EBELN1 FOREKKO-EBELN, BEDAT FOREKKO-BEDAT, EKGRP FOREKKO-EKGRP.PARAMETERS:R1 RADIOBUTTON GROUP RADI, R2 RADIOBUTTON GROUP RADI, R3 RADIOBUTTON GROUP RADI.现在我们已经完成了程序的前期准备,接着就开始真正的到表里查询我们需要的相关数据了。其代码如下:SELECTK"EBELN INTO CORRESPONDING FIELDS OF TABLE ITAB FROM EKKO AS K WHERE K"EBELN IN EBELN1 AND K"BEDAT IN BEDAT AND K"EKGRP IN EKGRP.LOOP AT ITAB. SELECT SUM( MENGE ) INTO ITAB-MENGE FROM EKPO WHERE EBELN EQ ITAB-EBELN. MODIFY ITAB.ENDLOOP.欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)