ABAP培训.ppt_第1页
ABAP培训.ppt_第2页
ABAP培训.ppt_第3页
ABAP培训.ppt_第4页
ABAP培训.ppt_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/7/15,1,ABAP/4培训,2020/7/15,2,ABAP Training,SAP及ABAP/4 Overview 系统开发语言 创建企业报表 应用事务开发 商用文档设计,2020/7/15,3,SAP介绍,ERP巨人SAP:创立于1972年,ERP思想的倡导者,ERP领域中处于领导地位,全球最优秀的企业管理软件供应商 SAP:System, Application and Products in Data Processing,即数据处理的系统、应用和产品,2020/7/15,4,SAP R/3一体化ERP系统,客户/服务器,FI 财务会计,CO 财务控制,TR 司库,PS

2、 项目管理,WF 工作流程管理,IS 行业解决方案,MM 物料管理,HR 人事管理,SD 销售与分销,PP 生产计划,QM 质量管理,PM 工厂维护,2020/7/15,5,SAP新的业务模块和组件,CRM顾客关系管理 SCM供应链管理 BW商业信息仓库 APO高级计划与优化(Advanced Planner and Optimizer),2020/7/15,6,R/3主要业务模块介绍,生产计划控制 物料管理 销售与分销 财务会计 管理会计 人力资源,2020/7/15,7,SAP其他业务模块,跨应用组件(CA,Cross-Application Compo-nents) 基础系统组件(BC,

3、Basis Components) 品质管理(QM,Quality Management) 资产管理(AM,Assets Management),2020/7/15,8,SAP 业务流程,S&D,销售订单,PP,主生产计划,物料需求计划,采购订单,库存管理,生产执行,开票,运输,生产订单,发票校验,成本,财务,MM,CO/FI,2020/7/15,9,SAP系统特性,系统体系架构 系统实施过程 ABAP工作台 ABAP语言,2020/7/15,10,系统导航登录系统(1),Client:并非物理结构的客户端,而是企业中多个逻辑上独立的商业区域,用户登录时需要指明Client,且一般只能访问所指

4、定Client的商业数据,2020/7/15,11,系统导航登录系统(2),标准初始界面,User Menu,SAP Menu,事务命令域,SAP业务工作区,2020/7/15,12,系统导航标准屏幕元素,菜单栏,标准工具栏,选项,标题栏,应用工具栏,输入字段,功能按钮,主屏幕区域,状态栏,2020/7/15,13,SAP系统常用菜单项,2020/7/15,14,SAP系统常用标准工具栏元素,2020/7/15,15,常用屏幕元素,2020/7/15,16,F1和F4帮助,F1帮助:字段、菜单、功能和消息的联机帮助,鼠标位于某字段上,按F1键,可获得该字段的帮助信息;可为自定义字段提供技术属性

5、 F4帮助:提供当前屏幕字段的输入值得信息,又称输入帮助,与 功能一致; F1和F4帮助,如下图所示:,2020/7/15,17,F1和F4帮助图示,F4帮助,F1帮助,2020/7/15,18,系统联机帮助,Application Help:应用帮助,当前系统应用说明 SAP Library:SAP资料库,包含所有的联机帮助 Glossary:词汇表,SAP系统术语的定义与解释 Release notes:版本信息,不同版本的功能差异 SAP Net:登录Internet形式的SAP帮助资源系统 Feedback:反馈,向SAP服务体系发送反馈信息 Settings:设定,允许用户对帮助的形

6、式进行设定,2020/7/15,19,系统联机帮助图示,2020/7/15,20,ERP实施步骤,总体规划,分步实施 教育和培训 原形测试 数据准备 系统开发 模拟运行 切换,2020/7/15,21,SAP实施结构设计,实施过程中需要多少个R/3系统 需要多少个Client,具体任务是什么 各个集团将如何分布在不同的系统中 通常将“开发”、“质量控制(测试)”、“产品”分别置于三个不同系统的不同集团中,2020/7/15,22,SAP系统蓝图示例,修改与传输控制工具,2020/7/15,23,实施过程中的修改,定制:按照企业的业务流程和功能选择原型系统及需要的模块 个性化设定:字段初始值、显

7、示与否、用户菜单顺序设定等 修订:对SAP仓库对象(Repository object)进行修改 增强:对某些SAP仓库对象增添一些自定义的功能 用户开发:使用用户命名空间自行开发完全有用户自定义的仓库对象,2020/7/15,24,修订、增强与用户开发图例,2020/7/15,25,系统开发原则,2020/7/15,26,开发过程中标准制定,制定命名规则:自定制的所有对象应当以“Z”或“Y”开头;避免命名冲突 界面风格指南:应与SAP的标准保持一致 文档维护: 项目文档:项目设计、实施进度等 最终用户文档:对象说明、程序说明等 技术说明文档:程序代码说明、程序规格等 修订列表维护:对所有对象

8、的修改清单 对象模块化、在线文档标准等,2020/7/15,27,R/3开发平台介绍,R/3体系结构 R/3仓库与开发平台 系统开发工具 第一个ABAP程序 ABAP编辑器 ABAP数据字典介绍,2020/7/15,28,R/3逻辑体系结构,逻辑上分为显示层、应用层、数据库层 数据库层:主要业务数据及开发过程中的程序和元数据通过关系数据库管理系统进行操作; 应用层:从数据层提取数据进行处理或者存储新数据 显示层:SAPGUI,系统和用户间的接口,用户通过该层访问系统应用、输入新数据并接受工作过程的处理结果,2020/7/15,29,SAP物理体系结构,2020/7/15,30,R/3开发平台介

9、绍,R/3体系结构 R/3仓库与开发平台 系统开发工具 第一个ABAP程序 ABAP编辑器 ABAP数据字典介绍,2020/7/15,31,R/3仓库,R/3仓库储存所有SAP系统开发过程中的对象,这些对象也被称之为仓库对象: ABAP程序 数据库表结构定义 系统数据类型 仓库对象不是企业业务数据,而是系统内部数据,与Client无关 仓库对象要从R/3系统传入另一R/3系统,需要开发类别辅助,2020/7/15,32,仓库对象目录列表,2020/7/15,33,开发类别,仓库对象创建时,需要指定所属的开发类别 仓库对象在R/3仓库中按照开发类别分类,这些对象的集合形成的组织单元即为开发类别

10、开发类别的主要功能是对仓库对象进行管理(目录管理及传输控制管理等) 开发类别中所包含的仓库对象可以通过对象浏览器(SE80)查看和维护 开发类是ABAP工作台对象,其修改通过Transport Organizer记录,开发类别的开发类别是其自身,2020/7/15,34,ABAP工作台工具图例,2020/7/15,35,ABAP工作台工具介绍(1),对象导航器:Object Navigator,通过开发类别组织R/3对象的浏览及维护 程序编辑器:ABAP Editor,编辑ABAP程序代码 数据建模器:Data modeler,业务数据建模工具 数据字典:ABAP Dictionary,定义系

11、统数据类型及数据库对象 简单报表创建器:ABAP Query,2020/7/15,36,ABAP工作台工具介绍(2),函数创建器:Function Builder,创建功能模块 类创建器:Class Builder,创建ABAP类及方法等面向对象元素 菜单绘制器:Menu Painter,用于创建屏幕的标题、菜单、工具栏中的元素及功能设定 屏幕绘制器:Screen Painter,用于创建SAP标准屏幕 工作台管理器:Workbench Organizer,用于管理修改请求,2020/7/15,37,仓库对象传输,R/3仓库对象的修改通过Workbench Request记录,并通过传输系统从

12、一个R/3系统传输到另一个R/3系统,2020/7/15,38,R/3开发平台介绍,R/3体系结构 R/3仓库与开发平台 系统开发工具 第一个ABAP程序 ABAP编辑器 ABAP数据字典介绍,2020/7/15,39,对象导航器,ABAP工作台的众多开发工具的中心入口,可对各种R/3仓库对象进行维护,具体见下图 事务码:SE80 包括导航区域、对象浏览及工具区域三大块 导航区域:对象列表选择及名称输入区域 对象列表:对象列表机上下文菜单(context menu) 工具区域:ABAP工作台工具、工具栏、菜单、标准工具栏、应用工具栏及附属窗口等,2020/7/15,40,ABAP对象导航器图例

13、,导航区域,工具区域,对象列表,附属窗口,2020/7/15,41,R/3开发平台介绍,R/3体系结构 R/3仓库与开发平台 系统开发工具 第一个ABAP程序 ABAP编辑器 ABAP数据字典介绍,2020/7/15,42,对象导航器路径,双击,2020/7/15,43,在对象导航器中创建程序,点击“Yes”按钮,2020/7/15,44,命名新建程序,单击,2020/7/15,45,程序属性设定,点击Save按钮继续,2020/7/15,46,分配开发类,点击“Local object”按钮继续,2020/7/15,47,创建成功导航器中的对象列表,提示程序已经保存成功,双击对象列表中的对象

14、名称,进入代码编辑界面,2020/7/15,48,编辑程序代码,选择工具栏中的 切换显示和编辑状态,2020/7/15,49,完整程序代码,点击工具栏上 对代码进行语法检查,点击工具栏上 激活程序,2020/7/15,50,运行程序,点击工具栏上 运行程序,2020/7/15,51,程序运行结果,2020/7/15,52,R/3开发平台介绍,R/3体系结构 R/3仓库与开发平台 系统开发工具 第一个ABAP程序 ABAP编辑器 ABAP数据字典介绍,2020/7/15,53,仓库信息系统,存储所有开发过程中的仓库对象信息,事务码:SE81 查询搜索仓库对象,事务码:SE84,2020/7/15

15、,54,ABAP编辑器路径,事务码SE38,2020/7/15,55,ABAP编辑器初始界面,点击Change按钮进入ABAP编辑器,2020/7/15,56,ABAP编辑器初始界面的工具栏图标,2020/7/15,57,ABAP编辑器界面,2020/7/15,58,ABAP编辑器中的新按钮,Previous object:前一个对象 Next object:下一个对象 DisplayChange:显示修改转换 ActiveInactive:激活非激活状态转换 Display object list:显示对象清单 Set/delete break-point:设置删除断点 Pattern:插入

16、模式,用于自动生成部分代码 Pretty Printer:规范代码书写格式的工具,2020/7/15,59,Pretty Printer设置,菜单项:Utilities-settings,弹出对话框,控制程序缩进,控制大小写,全部小写,全部大写,关键字大写,2020/7/15,60,关键字大写标准格式化结果,点击次按钮,得到如图结果,2020/7/15,61,Active并运行得到同样结果,2020/7/15,62,R/3开发平台介绍,R/3体系结构 R/3仓库与开发平台 系统开发工具 第一个ABAP程序 ABAP编辑器 ABAP数据字典介绍,2020/7/15,63,ABAP(DDIC)数据

17、字典介绍,数据字典:定义和管理数据元素及数据库元素的中心工具,所有的数据库表结构及系统全局数据类型等都需要在其中创建并维护 功能: 自定义系统共用数据类型(基本类型、结构和表) 定义数据库对象结构(数据库表、视图和索引等) 进行屏幕字段的格式化、编辑,比如F1和F4帮助 事务码:SE11,2020/7/15,64,可在数据字典中创建和维护的元素,数据库表:独立于数据库存在,表的行结构由一系列的DDIC字段组成,存在物理数据库中 视图:数据库表的逻辑表现形式,可以将多个表中的字段组合起来显示 数据类型:包括数据元素、结构类型和表类型,数据元素可用作后两者的组件字段 域:用于确定数据元素的ABAP

18、内置数据类型、长度即小数位,数据元素必须指定一个域 查询帮助:屏幕字段的可能输入值帮助列表 锁定对象:用于解决多用户操作同一表时的数据一致性问题,2020/7/15,65,ABAP Training,SAP及ABAP/4 Overview 系统开发语言 创建企业报表 应用事务开发 商用文档设计,2020/7/15,66,ABAP基础,ABAP语言概述 数据定义 基本数据操作 结构控制 处理字符数据 使用内表 动态数据对象 模块化技术 错误处理,2020/7/15,67,ABAP语言概述,程序结构 程序类型 程序元素 语句格式 程序运行 内存管理,2020/7/15,68,ABAP程序结构,AB

19、AP是一种事件驱动语言,包括: 数据定义:整个程序中可见的全局数据类型和数据对象 处理块(Processing blocks):ABAP程序的主要结构单元,除数据定义和声明语句外的所有ABAP语句都必须隶属于某一个处理块 ABAP程序基本结构如下图所示:,2020/7/15,69,处理块类型,事件块(Event blocks):事件关键字开头,至下一事件关键字出现(或程序结束),无事件结束关键字 报表事件:Initialization,Start-of-selection 列表事件:At-line-selection 屏幕事件(对话事件):Process before output, proc

20、ess after input 对话模块(Dialog Modules):有开始和结束关键字,用于事务程序设计,从属于对话事件,在对话事件块中调用 过程(Procedure):有开始和结束关键字,独立的程序单元,包括功能模块和子程序、ABAP对象的类方法,2020/7/15,70,处理块的调用,处理块按照预定义的规则调用,与在程序代码中的先后顺序无关,运行时处理块调用图例如下:,ABAP运行时环境,处理块,处理块,处理块,处理块,处理块,处理块,处理块,处理块,处理块,处理块,2020/7/15,71,事件驱动,系统对事件块的调用基于事件的触发 只设计希望系统进行响应的特定事件块 事件驱动程序

21、是用于企业事务的用户界面设计和处理,2020/7/15,72,ABAP处理块调用范例,REPORT z_processing_blocks . DATA: text1(20) TYPE c VALUE Basic List:, text2(20) TYPE c VALUE Secondary List:. * Processing block1: Event block - Start-of-selection START-OF-SELECTION. DO 5 TIMES. PERFORM frm_output_line USING sy-index. ENDDO. * Processing

22、block2: Event block - at line-selection AT LINE-SELECTION. WRITE:/ text2,sy-lsind. * Processing block3: Procedure - subroutine frm_output-line FORM frm_output_line USING p_index. WRITE:/ text1,sy-lsind,Value:,p_index. ENDFORM.,2020/7/15,73,ABAP处理块调用范例运行结果,2020/7/15,74,处理块与工作进程(Work Process),调度机(Disp

23、atcher):分解程序代码模块为对话步骤 工作进程:在系统的应用层的虚拟机上进行处理,确保ABAP程序运行时的平台无关性,并通过程序处理器进行处理 程序处理器:处理对话步骤地不同类型任务 屏幕处理器:处理屏幕流逻辑及传输数据给程序,并告知程序将要处理的块 ABAP处理器:执行程序内部处理逻辑并和数据库通信,2020/7/15,75,ABAP语言概述,程序结构 程序类型 程序元素 语句格式 程序运行 内存管理,2020/7/15,76,程序类型的设定,程序类型包括应用程序类型和其它程序类型,在创建程序时在程序属性中设定,如下图所示:,2020/7/15,77,应用程序类型,可执行程序(Exec

24、utable Program):创建报表,由Report关键字引导,可包括屏幕,可包含除功能模块外的所有处理块,可直接在ABAP编辑器中运行,类型代码为1。对应为报表程序 模块池(Module Pool):由Program关键字引导,包括自定义的屏幕和对话模块,必须通过事务码运行,类型代码M。对应为事务程序(也叫对话程序、动态程序),2020/7/15,78,其它程序类型,不可直接运行,可为ABAP程序提供模块化单元,包括: 功能组(Function Group):由Function-pool语句引导,包含一个或多个功能模块,类型代码为F 类库(Class Pool):由Class-pool语

25、句引导,类型代码K 接口库(Interface Pool):由Interface-pool语句引导,类型代码J 子程序池(Subroutine pools):由Program语句引导,类型代码S,包含子程序代码或类方法 类型组(Type groups):由Type-pool语句引导,在数据字典中定义,无类型代码 包含程序(Include Program):不需要语句引导,类型代码I,只是代码复用,可直接插入其它程序中,成为该程序一部分,2020/7/15,79,ABAP语言概述,程序结构 程序类型 程序元素 语句格式 程序运行 内存管理,2020/7/15,80,程序元素类型,ABAP元素:在

26、ABAP编辑器中维护的元素 屏幕元素:通过屏幕绘制器维护的元素 GUI元素:通过菜单绘制器维护的元素,2020/7/15,81,程序元素,源代码(source code) 变式(Variants):与选择屏幕相关,用于存放输入的数据选择值,以便反复调用该程序时重复输入数据 文本元素(Text elements):存储于文本池中的文本,包括文本符号、选择文本、列表标题等 文档(Documentation):写给用户的说明,用于解释程序的功能、使用方法等 文本元素和文档均具有语言相关性,可以由系统翻译工具进行翻译,2020/7/15,82,文本元素维护界面,2020/7/15,83,屏幕元素,SA

27、P标准屏幕(Screen):多用于SAP事务程序设计,包括屏幕布局(Layout)和流逻辑(Flow Logic) 选择屏幕(Selection Screen):多用于报表程序中接受用户输入报表的选择标准,可通过ABAP语句控制其输出格式 传统列表屏幕(Lists):只包含列表输出区域,伸出内容通过write和uline等ABAP语句生成,2020/7/15,84,GUI元素,为屏幕的一个组成部分,但设计时独立于屏幕存在,各种屏幕都可以独立分配GUI 包括屏幕上方的菜单、标准工具栏、应用工具栏以及功能键和功能代码等 GUI元素在程序调用时分为状态(GUI status)和标题(GUI Titl

28、e)两部分,2020/7/15,85,ABAP语言概述,程序结构 程序类型 程序元素 语句格式 程序运行 内存管理,2020/7/15,86,ABAP语句结构,以一个ABAP语句关键字引导,句号结束 ABAP语句中还可以含附加项和操作元素 各关键字、选项、操作数之间应至少保留一空格 范例: Report z_simple_program. Data Text(20) VALUE Simple program. Start-of-selection. WRITE text.,2020/7/15,87,ABAP语句类型(1),声明语句:用于数据元素的定义和声明(如变量) DATA,PARAMETE

29、R,TABLES,TYPES 模块化语句:用于定义运行时的处理代码块,分为事件关键字语句和过程定义关键字语句 事件关键字包括:AT-SELECTION-SCREEN,START-OF-SELECTION,AT USER-COMMAND 过程定义关键字包括:FORM/ENDFORM,FUNCTION/ENDFUNCTION,MODULE/ENDMODULE 控制语句:以条件控制程序处理块内部的程序流程 IF/ENDIF,WHILE/ENDWHILE,CASE/ENDCASE,2020/7/15,88,ABAP语句类型(2),调用语句:用于调用已定义好的处理块 PERFORM,CALL,SUMBI

30、T,LEAVE TO 操作语句:用于程序内部数据操作或输出 WRITE,MOVE,ADD以及运算符等 数据库语句:用于数据库操作,含Open SQL和Native SQL两种,2020/7/15,89,语句链,关键字“:”和“,”可以把连续使用的相同关键字引导的语句连接在一起,以简化代码,如: WRITE: text1,text2.等价于 WRITE text1. WRITE text2.,2020/7/15,90,注释,“*”,在行的开头使用,可注释该行 “”,单个双引号,可注释该行中其后的文字,如下所示 * This whole line is comments WRITE text.“Contents behinds this is comments,2020/7/15,91,ABAP语言概述,程序结构 程序类型 程序元素 语句格式 程序运行 内存管理,2020/7/15,92,程序调用,直接运行: 在事务SE38或SA38中直接运行 通过系统目录或者在命令域中输入事务代码运行 内部调用: 事务代码调用:LEAVE TO TRANSACTION,CALL TRANSACTION(调用返回) SUBMIT,SUBMIT AND RETURN(调用返回),2020/7/15,9

温馨提示

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

评论

0/150

提交评论