`
moonfly2004
  • 浏览: 54808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

ABAP Standard Report

 
阅读更多


一个典型的报表程序是由许多的程序区块(Code Block)所组成,在区块间最好能加上一些
说明以利程序可读性,一个典型的报表程序格式如下:
* PROGRAM SOURCE HEADER : 说明程序名称及目的
* Program Name:
* Description:

* Date/Author:

* Table Update:
* Special Logic:

* Include:

*---------------------------------------------------------------
* MODIFICATION LOG : 程序修改更新记录
*---------------------------------------------------------------
* ChangeDate Programmer Request Description
* ========== ============= ============ ==========================
* NEW PROGRAM
*---------------------------------------------------------------
* REPORT NAME : 宣告程序名称及报表格式,
*------------------------------------------------------------------

 

REPORT Z_____ NO STANDARD PAGE HEADING
MESSAGE-ID __ “ 所使用的MESSAGE
LINE-COUNT ___ “ 每页报表列数 LINE-SIZE ___. “ 每页报表宽度


* TABLE DESCRIPTION : 宣告程序会使用的TABLE *------------------------------------------------------------------

TABLES:

 

* DATA : 宣告程序所使用的变量及自定型态
*----------------------------------------------------------------
TYPES:
DATA:
* SELECTION SCREEN / OPTION / PARAMETER : 屏幕输入报表筛选条件 *-----------------------------------------------------------------
SELECTION-SCREEN BEGIN OF BLOCK ____
SELECT-OPTIONS:
SELECTION-SCREEN END OF BLOCK ___ 49
* INITIALIZATION : 启动程序开始执行, 如SELECT-OPTION及PARAMETER *---------------------------------------------------------------- INITIALIZATION. INCLUDE ____.
* AT START SELECTION : 输入结束后启动的区块, 如按下<F8>
*--------------------------------------------------------------- START-OF-SELECTION. SET PF-STATUS ____. “ 指定报表执行时所用的 GUI-STATUS名称


PERFORM READ_DATA.
PERFORM PROCESS_DATA.
PERFORM PRINT_DATA.
PERFORM PRINT_SUMMARY.


* AT USER Commaand : 执行在GUI-STATUS中自定的命令
*--------------------------------------------------------------------
AT USER_COMMAND.


* AT LINE SELECTION : 由在报表中按下<F2>或Double-Click启动 *--------------------------------------------------------------------
AT LINE-SELECTION.


* TOP OF PGAE : 每页开始打印时执行, 用于定义报表表头
*--------------------------------------------------------------------
* END OF PAGE : 报表打印完最后一页后启动
*---------------------------------------------------------------------
END-OF-PAGE


* END OF SELECTION : 在结束打印数据后启动, 如可用来印出USER输入的条件
*---------------------------------------------------------------------

END-OF-SELECTION. INCLUDE _____


* FORM : 撰写程序中所使用到的子程序
*-------------------------------------------------------------
* Read Data : 自TABLE读取数据放入Internal Table
*-------------------------------------------------------------
50
FORM READ_DATA. SELECT * FROM ______ INTO _______ WHERE _______.

IF SY-SUBRC = 0.
ENDIF. APPEND _____. “ 增加Internal Table元素
ENDSELECT.
ENDFORM.
* Process Data : 处理Internal Table的数据, 如排序及汇总 *-------------------------------------------------------------

 

FORM PROCESS_DATA. ENDFORM. * Print Data : 依序输出 Internal Table的数据 *-------------------------------------------------------------
FORM PRINT_DATA.
ENDFORM.


* Print Summary : 印出数值资料加总
*-------------------------------------------------------------
FORM PRINT_SUMMARY.


ENDFORM.


* Include Program : 列出所含入的其它程序source code, 如子程序
*-------------------------------------------------------------
INCLUDE _____
INCLUDE _____

分享到:
评论
1 楼 dan001 2008-09-18  
function dsn()
{
ddd
}

相关推荐

Global site tag (gtag.js) - Google Analytics