报表开发培训_abap语言篇

上传人:wt****50 文档编号:49597188 上传时间:2018-07-31 格式:PPT 页数:43 大小:406KB
返回 下载 相关 举报
报表开发培训_abap语言篇_第1页
第1页 / 共43页
报表开发培训_abap语言篇_第2页
第2页 / 共43页
报表开发培训_abap语言篇_第3页
第3页 / 共43页
报表开发培训_abap语言篇_第4页
第4页 / 共43页
报表开发培训_abap语言篇_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《报表开发培训_abap语言篇》由会员分享,可在线阅读,更多相关《报表开发培训_abap语言篇(43页珍藏版)》请在金锄头文库上搜索。

1、Software & ServicesDate: 25. Feb 2005Beyond TechnologyABAP培训 杨晓光Software & ServicesDate: 25. Feb 2005ABAP程序分类报表程序(Report)1、结构简单;2、由事件块(Event Blocks)组成程序架构;3、执行方式多样;对话程序(Dialog Program / Transaction Program)1、结构复杂;2、包括ABAP程序代码、用户对话、图形用户接口和事务代码;3、图形用户接口包括菜单栏、标准工具栏、应用程序工具栏和标题栏;4、程序由事务代码触发运行;Software &

2、ServicesDate: 25. Feb 2005报表程序分类普通报表程序输出结果格式固定,不能对其进行交互式操作;交互式报表程序通过特定的触发事件,比如双击、菜单、按钮和功能键等, 可以对报表结果进行操作;Software & ServicesDate: 25. Feb 2005报表程序结构Software & ServicesDate: 25. Feb 2005处理块的类型Software & ServicesDate: 25. Feb 2005事件块组成报表程序的基本单位; 原则上每个事件块由各自的关键字为起 始,不同的事件块执行不同的任务; 事件块的结束标志为下一个事件块的关 键字;

3、 事件块由ABAP运行时环境调用,其调用 顺序固定,与程序编码顺序无关; 缺省的事件块START-OF-SELECTIONSoftware & ServicesDate: 25. Feb 2005实例讲解某库存地选定物料月末库存数统计表(报表:ZTEST)目的:对某个工厂下的某个库存地的选定物料统计其在某年 某月的月末库存数,数据来源于系统Software & ServicesDate: 25. Feb 2005程序名REPORT rep. Additions: 1. . NO STANDARD PAGE HEADING :没有标准页眉的报表 2. . LINE-SIZE col 3. . L

4、INE-COUNT n(m)表单输出每页由n行,其中的m行作为页脚; 4. . MESSAGE-ID mid 消息对象5. . DEFINING DATABASE ldb 使用逻辑数据库,自动产生例如:定义一个120列37行(其中3行为页脚保留),没有标准页眉的报表REPORT ZTESTNO STANDARD PAGE HEADING LINE-SIZE 120 LINE-COUNT 37(3).Software & ServicesDate: 25. Feb 2005Tables 语句基本格式TABLES dbtab. Dbtab是指ABAP字典的一个数据库对象,可以是透明表格、视图和结构

5、; 该语句的作用是声明了一个表工作区,类似于C语言里面的STRUCTURE 和PASCAL语言里面的RECORD; 这个表工作区由多个字段组成,其名称、类型和dbtab的字段完全相同; ABAP字典对象中字段的类型自动的转换为ABAP程序的类型; 表工作区通常是一个全局变量。例:TABLES: MARA,“物料主数据表MARD,“物料的仓储位置数据表MARDH.“物料主储存位置段:历史表Software & ServicesDate: 25. Feb 2005TYPES语句定义一个简单的数据类型; 定义一个结构化的数据类型; 定义一个内表形式的数据类型;Software & ServicesD

6、ate: 25. Feb 2005TYPES语句格式1. TYPES type. 2. TYPES type(len).3. TYPES: BEGIN OF structype . END OF structype. 4. TYPES itabtype TYPE tabkind OF linetype| LIKE tabkind OF lineobj WITH UNIQUE|NON-UNIQUE keydef INITIAL SIZE n. 5. TYPES itabtype TYPE RANGE OF type. TYPES itabtype LIKE RANGE OF f. 6. TYPE

7、S itabtype TYPE linetype|LIKE lineobj OCCURS n. Software & ServicesDate: 25. Feb 2005DATA语句(1)定义一个简单类型的变量例如:DATA VAR1 TYPE I.”定义整型变量DATA VAR2 TYPE P DECIMALS 2.”定义数值型小数位2位DATA VAR3 LIKE MARA-MATNR.”定义象表MARA的 字段MATNRSoftware & ServicesDate: 25. Feb 2005DATA语句(2)定义一个结构化的数据对象例:DATA: BEGIN OF ITAB_LINE,

8、MATNR LIKE MARA-MATNR,MAKTX(40),END OF ITAB_LINE.Software & ServicesDate: 25. Feb 2005DATA语句定义内表(3)Software & ServicesDate: 25. Feb 2005定义输入屏幕用SELECTION-SCREEN语句来定义输入屏幕例:SELECTION-SCREEN BEGIN OF BLOCK RAD1WITH FRAME TITLE TEXT-001.PARAMETERS WERKS LIKE MARD-WERKS.“工厂PARAMETERS LGORT LIKE T001L-LGOR

9、T.“库存地点SELECT-OPTIONS MATNR FOR MARA-MATNR.“物料号PARAMETERS YEAR LIKE MARD-LFGJA.“当前期间的会计年度PARAMETERS MONTH LIKE MARD-LFMON.“当前期间 (记帐期间)SELECTION-SCREEN END OF BLOCK RAD1.Software & ServicesDate: 25. Feb 2005SELECTION-SCREEN语法特殊效果Software & ServicesDate: 25. Feb 2005输入字段设计PARAMETERS 语句例: PARAMETERS LG

10、ORT LIKE T001L-LGORT.“库存地点SELECT-OPTIONS语句例: SELECT-OPTIONS MATNR FOR MARA-MATNR.“物料号Software & ServicesDate: 25. Feb 2005PARAMETERS语法默认值 类型 小数位 表字段 内存值做缺省值 给参数分配匹配代码对象 给修改组分配参数 禁止参数显示 小写 必输项 11.复选框形式输出 12.单选钮形式输出Software & ServicesDate: 25. Feb 2005Select-options语法Software & ServicesDate: 25. Feb 2

11、005事件块INITIALIZATION AT SELECTION-SCREEN START-OF-SELECTION GET END-OF-SELECTION TOP-OF-PAGE END-OF-PAGESoftware & ServicesDate: 25. Feb 2005事件块详细讲解 事件块的简单处理过程:ABAP程序运行的时候,INITIALIZATION首先被调用; 经过初始化的输入屏幕会显示在表示服务器; 用户离开输入屏幕的时候,START-OF-SELCTION事件会被 自动调用; 结果数据会以列表的形式显示在第二个屏幕上;Software & ServicesDate:

12、25. Feb 2005事件块的语法源代码中的事件块顺序不影响它们的执行顺序 事件块关键字和它下面的代码组成一个不可分割的整体,不管书写事件块关 键字的顺序如何,当程序执行时,SAP是按事件块关键字的特定顺序执行的 。例如:不管怎样书写,下面标号总是执行顺序START-OF-SELECTIONPERFORM WRITEDATA.INITIALIZATIONLGORT = 3001.AT SELECTION-SCREENPERFORM GETDATA.Software & ServicesDate: 25. Feb 2005事件块编码规则(1)INITIALIZATION通常在此事件块中设定输入

13、屏幕字段的初始值例如: INITIALIZATION .LGORT = F106.效果:输入屏幕的库存地字段初始显示值为一站台6道Software & ServicesDate: 25. Feb 2005事件块编码规则(2)AT SELECTION-SCREEN通常在此事件块中进行用户输入数据的合法性检查,发现错 误则以消息的形式给出警示,直到用户输入正确的数值例如: AT SELECTION-SCREEN .IF LGORT = SPACE .STOP.ENDIF.效果: 如果字段LGORT为空,则程序会停止在选择屏幕, 等待用户输入,一直到数据合法。Software & ServicesD

14、ate: 25. Feb 2005事件块编码规则(3)START-OF-SELCTION通常在此事件中针对业务需求进行系统数据的查询例如:start-of-selection .PERFORM GETDATA.效果:在输入屏幕用户按下执行按钮后,子程序PERFORM GETDATA 被执行, 在其中获得业务相关的数据存放到内 表或者其它变量,这些数据在END-OF-SELECTION事件块 中被输出Software & ServicesDate: 25. Feb 2005事件块编码规则(4)END-OF-SELCTION通常在此事件中进行结果清单的输出例如:end-of-selection .

15、PERFORM WRITEDATA.效果:数据以清单的形式输出Software & ServicesDate: 25. Feb 2005事件块编码规则(5)GET从逻辑数据库中得到数据(较少用)TOP-OF-PAGE在此事件块中设计输出清单的页头例如: TOP-OF-PAGENEW-LINE.POSITION 30.WRITE: 物料月末库存数.SKIP 1.NEW-LINE.ULINE 2(85).Software & ServicesDate: 25. Feb 2005事件块编码规则(6)END-OF-PAGE在此事件中设定输出清单的页脚例如:END-OF-PAGE .NEW-LINE.P

16、OSITION 70.WRITE: 制表人:,sy-uname.Software & ServicesDate: 25. Feb 2005WRITE语句按照指定的格式把变量里面的数据输出到屏幕 语法:特定位置 格式(对齐等) 字段特有的输出(货币) 输出为复选框 输出为符号 输出为图标 输出为直线 带快捷信息Software & ServicesDate: 25. Feb 2005WRITE语句的选项根据选项的不同,WRITE语句可以输出到屏幕、输出到变量 、以复选框的形式输出、以图标的格式输出Software & ServicesDate: 25. Feb 2005子程序(1)子程序类似于C、PASCAL等 语言的函数/过程 子程序在事件块中被调用Software & ServicesDate: 25. Feb 2005子程序(2)语法S

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 文化创意

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