ABAP一些基础知识整理.ppt
23版-SAP入门基础通用培训ppt优质课件
建立详细的恢复计划,包括恢复步骤、恢复时间、恢复验证等,确 保在发生灾难时能够快速恢复系统。
备份存储
选择合适的备份存储介质,如磁带、硬盘等,确保备份数据的安全性 和可用性。
用户权限管理原则和方法分享
最小权限原则
根据岗位职责,为用户分 配所需的最小权限,避免 权限滥用和数据泄露。
职责分离原则
SAP系统架构与组成部分
架构
SAP系统采用客户端/服务器架构 ,包括数据库服务器、应用服务
器和客户端三部分。
组成部分
SAP系统由多个组件构成,包括 SAP GUI(图形用户界面)、 SAP NetWeaver(技术平台)
、SAP应用模块等。
技术特点
SAP系统支持多种数据库和操作 系统,具有良好的开放性、可扩
优化性能提升用户体验建议
系统调优
通过对系统参数、硬件配置等进行优化,提高系统运行效 率。
数据库优化
对数据库进行定期维护、索引优化等,提高数据库查询速 度。
网络优化
优化网络配置,减少网络延迟和丢包,提高数据传输效率 。
总结回顾与展望未
06
来发展趋势
本次培训内容总结回顾
SAP系统概述
SAP基础操作
企业资源计划(ERP)概念
定义
ERP是一种企业资源计划系统, 通过集成企业内部和外部的信息 流、物流、资金流等资源,实现
资源的优化配置和高效利用。
功能
ERP系统包括财务管理、采购管理 、销售管理、库存管理、生产管理 等多个模块,支持企业全面管理业 务流程。
价值
通过实施ERP系统,企业可以提高 运营效率、降低成本、增强市场竞 争力。
蓝图设计文档编写与评审
编写详细的蓝图设计文档,包括业务流程图、系 统配置图、数据流程图等,并进行内部评审和客 户确认。
ABAP入门知识最全总结新人小白必备学习资料
SAP系统与ABAP关系
01
SAP系统是一款广泛应用于企业 资源计划(ERP)、供应链管理 (SCM)、客户关系管理 (CRM)等领域的软件产品。
02
ABAP是SAP系统的开发语言, 用于编写SAP系统中的业务逻辑、 数据处理和报表生成等功能。
调试日志
在调试过程中,可以开启调试日 志功能,记录程序执行过程中的 详细信息和操作步骤。这对于复 杂问题的排查和分析非常有帮助。
08
实战案例分析与经验分 享
案例一:简单报表开发实例
报表需求分析与设计
明确报表目的、数据源和输出格式,设计报 表布局和字段。
ABAP报表开发流程
创建报表程序,定义数据源和选择条件,编 写报表逻辑和输出处理。
根据实际需求设置报表的输出格式, 如PDF、Excel、Word等。
格式调整
调整报表的页面设置、边距、字体、 颜色等,确保报表输出的美观和易读 性。
报表性能优化策略
数据源优化
优化数据库查询语句,减少数据冗余和提高查询 效率。
报表缓存
合理利用报表缓存机制,减少重复计算和数据库 访问次数。
分页处理
对于大量数据的报表,采用分页处理技术,提高 报表加载速度和用户体验。
Eclipse与SAP系统连接
配置Eclipse连接参数,连接到SAP系统,实现ABAP代码的上传、下载和执行等操作。
其他辅助工具推荐
SAP Notepad
一款轻量级的文本编辑器,支持ABAP语法高亮显示和代 码折叠等功能,适合编写简单的ABAP程序。
ABAP Doc
ABAP培训资料
Standard length 8 4 8 1 1 8 6 1
Permitted length 1-16 4 8 1-max. 1-max. 8 6 1-max.
R
numeric
P I F N
alphanumeric
C D T X
SAP AG
File: ABAP开发培训.ppt
30/173
ABAP 数据类型和基本语法
Data objects
occupy their own memory space are of a particular type are concrete examples of data types
R
SAP AG
File: ABAP开发培训.ppt
28/173
ABAP 数据类型和基本语法
File: ABAP开发培训.ppt
1/173
培训主题
ABAP 开发介绍 ABAP 数据类型和基本语法 选择屏幕的设计 OPEN SQL INTERNAL TABLE 操作 EVENT 介绍 报表输出(LIST) ALV输出
BDC导入
模块化程序设计 HIDE 技术
29/173
ABAP 数据类型和基本语法
基本的数据类型
Predefined Data Types
4/21
Data type
Predefined (P,I,F,C,N,D,T,X)
User-defined
Elementary
Structured
Structured type
Table type
Data type
在上面运行 数据库的访问 通信,ABAP还可以和其它的系统进行通信,同时外 部的系统也可一访问ABAP 系统的监控和管理
SAP-ABAP程序设计基础教程第7章ABAP数据库操作PPT课件
其步骤如下: 打开光标: 使用光标几乎可从任何 SELECT 语句的结果集中获得下一行(或 一些行)。为此,应该按如下格式使用OPEN CURSOR 语句将光 标与相关的SELECT 语句链接起来,语法是:
OPEN CURSOR [WITH HOLD] <c> FOR SELECT ........
-
7
SELECT <field list> FROM table INTO | APPENDING [CORRESPONDING FIELDS OF] TABLE itab WHERE <condition> .
-
8
总计表达式
使用总计表达式,可从数据库表的列<f> 中取得统计数据,有 效的总计表达式有: (1) MAX: 返回列<f>的最大值 (2) MIN: 返回列<f>的最小值 (3) SUM: 返回列<f>的总计 (3) AVG: 返回列<f>的平均值 (4) COUNT:给值或行计数:其中COUNT( DISTINCT <f> )
使用光标从数据库表中读取行
-
3
从数据库表中读取数据
SELECT语句的用法
SELECT <result> FROM <source> [INTO <target>] [WHERE <condition>] [GROUP BY <fields>] [HAVING <cond>] [ORDER BY
<sort_order>].
删除行
DELETE: 可使用DELETE 语句从数据库表中删除行。
ABAP基础知识整理
ABAP开发分为RICEF-WReport开发、Interface开发、Conversion 转换开发、Enhancement开发、Form开发、Workflow工作流开发。
Table: SE111. 建议Field中先定义Data element 不建议先定义field2. 特殊DataType:CLNT:Data element/Domain有MANDTCURR:小数位设定CUKY:Currency:Domain like WAERSDATS:日期 YYYYMMDD Domain like DATUMTIMS:时区管理 hhmmss Domain like UZEIT3. Delivery class A和CA - Application table 业务数据不会经常修改物料供应商客户C - Customizing table 会产生Transport RequestData browser/table view maint.Not allowed 和allowed区别4. Sigh 金额有关打钩支持正负号5. Lowercase 大小写区分6. Value range 取值限制男、女Single val。
单个取值Intervals 一段取值7. Text table 用在master table8. Append structure 只能用在一个地方Include structure 能用多次9. 创建表的时候:设置Technical Setting10. 设置Enhancement category for table missing:Extras - Enhancement category11. Table Maintenance Generator:se11->unitilies->table maintenance generator12. Fixed values——屏幕输入时检查Report:SE381. Tool bar:where-used list 这个程序被什么地方调用过2. Utility-more utility -edit pattern 用户、时间、用途等格式3. 不想让别的公司看到报表1.权限检查 2.select option4. Like [table]-[field] 后加search help,检查field-data element-..5. Type [data element] 后加search help,检查data element-…6. Goto - Text element - selection texts Dictionary打钩则p_name显示为nameLong7. 屏幕分块 Selection-screen begin of block 名字(四位)WITH FRAME TITLE text-002.8. file exist检查的message放在At selection screen 中Select-options 默认参数:1. MEMORY ID 就是在SAP内定义的一段内存区域,方便你从里边读出数据或者往里边写入数据你这里使用的MEMORY ID最明显的现象就是:你在选择画面上输入一个值后,该PARAMETER/SELECT-OPTIONS会将其设为默认值,当你退出程序再进入时,你会发现该PARAMETER/SELECT-OPTIONS保留了你上一次输入的值。
1.ABAP_Basic_Knowledge(基础知识)
ABAP基本语法主要内容:数据类型文本元素的概念和使用程序逻辑控制函数调用和返回目标:通过本次的学习,能够掌握ABAP 各种数据的声明,文本元素的使用,程序的逻辑控制语法,和功能函数的调用方法。
ABAP/4 中的数据类型使用数据时,了解数据类型是否兹容是很重要的。
在各方面,数据类型D、F、I 和T 都是预定义的,但数据类型C、N、P 和X 可以有附加说明。
例如,可以在程序中定义大小。
变量的定义:DATA指令用于变量的定义。
DATA <f> [<length>] <type> [<value>] [<decimals>]<f>: 变量名称, 最长30个字符, 不可含有+ . , : ( ) 等字符<length><type>: 数据型态及长度<value>: 初值<decimals>: 小数位数例:DATA NAME(10)TYPE C VALUE ‘MAX’.定义了一个长度为10位的字符串,初始值为MAX后面跟了7个空格。
DATA COUNT TYPE I.DATA NUM(6) TYPE N.DATA NDATE TYPE D.注:VALUE在定义变量的时候使用,作用为所定义的变量赋于用户指定的初始值。
常数定义:使用CONSTANTS 指令。
如:定义PI 是一个小数点5位的值 3.14159,CONSTANTS PI TYPE P DECIMALS 5 VALUE ‘3.14159’.结构定义和自定义数据类型定义:TYPES: BEGIN OF MYLIST,NAME(10) TYPE C,NUMBER TYPE I,END OF MYLIST.DATA LIST TYPE MYLIST.TABLES 语句利用TABLES 语句,可以创建称为表工作区的数据对象。
表工作区是参考ABAP/4 词典对象的字段串。
很全abap入门知识
很全abap入门知识ABAP入门知识1.ST05是用于在开发ABAP程序时,对应事务码取得的字段是“数据结构”而不是“透明表”的时候,通过ST05的“SQL跟踪”来获得相关“Select”的语句;一般查看“REC”列耗时比较多的“Select”语句;2.跟踪时如果有涉及到“数量”这类有对数据表进行更新或插入操作的,则直接去查Update和Insert的SQL语句;3.在跟踪后,直接双击“对象名”列的名称,点选“表格字段”转到“SE11”的表字段表;4.ABAP程序开头的Tables:“数据表名”,只有在屏幕中有用到的表,才需要声明;在程序中用到的表则不需要进行在Tables内声名;5.抓SAP“文本”字段的数据,要先自定义变量,然后通过SE37的函数“FUNCTION ?ZREAD_TEXT?”取回文本数据;6.新建的ABAP程序,在测试运行的时候要先进行“激活”,才能测试运行;7.SE93:把ABAP写好的程序指定一个事务码执行;8.abap引号内的字符??必须要是大写;9.ABAP select 里面的语句,不能像mssql有那么丰富的函数使用,需要导到内表后再对数据进行操作;10.?EQ?是单个数据值,?BT?是between区间的意思。
11.在写select inner join 里面,要注意是否需要加上销售组织的条件;on 条件1 and 销售组织条件。
12.SELECTION-SCREEN,里面有两个子项,PARAMETERS和select-options。
PARAMETERS 一般是用于必输项的屏幕参数设置,如果这个参数不是必输项的,就要用select-options。
在select ...where条件里,用PARAMETERS的条件语法是“数据字段 = 屏幕字段”;而select-options的条件语法是“数据字段 in 屏幕字段”。
13.在where判断一个日期型数据是空,不是DEAKT = ??,也不是DEAKT isinitial,而应该写成DEAKT = ?00000000? (8个0)。
ABAP基础知识(完整版)
ABAP基础知识(完整版)SAP ABAP / 4 基础知识学习数据类型C :字符串D :日期型格式为 YYYYMMDD 例:'1999/12/03'F : 浮点数长度为8I :整数N :数值组成的字符串如:011,'302'P : PACKED数用于小数点数值如:12.00542T : 时间格式为:HHMMSS 如:'14:03:00'X : 16进制数如:'1A03'*-------------------------------------------------------------------------------------*变量声明DATA <F> [<Length>] <type> [<value>][decimals]<F> 变量名称<length><type> 变量类型及长度<value> 初值<decimals> 小数位数exp:DATA : COUNTER TYPE P DECIMALS 3.NAME(10) TYPE C VALUE 'DELTA'.S_DATE TYPE D VALUE '19991203'.exp:DATA : BEGIN OF PERSON,NAME(10) TYPE C,AGE TYPE I,WEIGHT TYPE DECIMALS 2,END OF PERSON.另外,有关DATA声明的指令还有: CONSTANTS(声明常数)、STATICS(临时变量声明).exp:CONSTANTS PI TYPE P DECIMALS 5 VALUE '3.14159'.STATICS 关键字声明的变量仅在目前的程序中使用, 结束后会自动释放语法:STATICS <c> [<length>] <type> [<value>] [<decimals>]系统专用变量说明系统内部专门创建了SYST这个STRUCTURE,里面的栏位存放系统变量,常用的系统变量有:SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,'0'表示成功SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-INDEX: 当前LOOP循环过的次数SY-TABIX: 当前处理的是internal table 的第几笔SY-TMAXL: Internal table的总笔数SY-SROWS: 屏幕总行数;SY-SCOLS: 屏幕总列数;SY-MANDT: CLIENT NUMBERSY-VLINE: 画竖线SY-ULINE: 画横线TYPE 关键字用来指定资料型态或声明自定资料型态Example:TYPES: BEGIN OF MYLIST,NAME(10) TYPE C,NUMBER TYPE I,END OF MYLIST.DATA LIST TYPE MYLIST.LIKE 关键字跟TYPE关键字使用格式相同, 如DATA TRANSCODE LIKE SY-TCODE.不同的是 LIKE 用在已有值的资料项, 如系统变量, 而TYPE关键字则是用在指定资料型态。
ABAP基础内容讲解-事件块、选择屏幕PPT课件
2021/3/12
20
事件块的语法
源代码中的事件块顺序不影响它们的执行顺序
2021/3/12
21
事件块编码规则(1)
INITIALIZATION 通常在此事件块中设定输入屏幕字段的初始值
例如: INITIALIZATION . P_DATE = ‘20030201’ .
效果: 输入屏幕的日期字段初始显示值为2003年2月1日
2021/3/12
19
事件块详细讲解
事件块的简单处理过程:
ABAP程序运行的时候, INITIALIZATION首先被调用;
经过初始化的输入屏幕会显示在表 示服务器;
用户离开输入屏幕的时候, START-OF-SELCTION事件会被自 动调用;
结果数据会以列表的形式显示在第 二个屏幕上;
5. TYPES itabtype TYPE RANGE OF type. TYPES itabtype LIKE RANGE OF f.
6. TYPES itabtype {TYPE linetype|LIKE lineobj} OCCURS n.
2021/3/12
10
DATA语句
定义一个简单类型的变量
消息对象 5. ... DEFINING DATABASE ldb
使用逻辑数据库,自动产生
2021/3/12
7
Tables 语句
基本格式
TABLES dbtab. Dbtab是指ABAP字典的一个数据库对象,可以是透明表格、视图和结
构; 该语句的作用是声明了一个表工作区,类似于C语言里面的
STRUCTURE和PASCAL语言里面的RECORD; 这个表工作区由多个字段组成,其名称、类型和dbtab的字段完全相
《ABAP基础》课件
ABAP中常用的包和函数
探索ABAP中常用的包和函数,加快开发进程并提高代码重用性。
ABAP中的GUI编程
学习如何开发具有交互性和可视化效果的GUI应用程序,为用户提供更好的体验。
ABAP中的Webdynpro
介绍ABAP中的Webdynpro框架,用于快速构建现代化的Web应用程序和企业 门户。
ABAP数据类型
讲解ABAP中的数据类型和变量声明,包括基本数据类型、结构和表。
ABAP语法
深入理解ABAP编程语言的语法规则和常用操作符,以及控制流程和函数调用。
ABAP面向对象编程
学习如何在ABAP中使用面向对象编程的概念和技术,包括类、对象、继承和 封装。
ABAP数据库连接
了解如何在ABAP程序中连接和操作数据库,并处理数据的持久化和检索。
ABAP中的ALV技术
深入了解ABAP列表视图(ALV)技术,创建交互性和可定制性强的数据表格。
ABAP中的智能表单
了解如何创建漂亮且灵活的ABAP智能表单,用于生成和打印复杂的业务文档。
ABAP中的SAPUI5
探索ABAP中的SAPUI5框架,构建功能强大且现代化的企业级Web应用程序。
ABAP中的SAP HANA
了解如何在ABAP中利用SAP HANA数据库的强大功能,加速数据处理和分析。
ABAP中的BADI
介绍ABAP中的业务添加删除接口(BADI)技术,实现对SAP系统行为的增强和 定制。
ABAP中的BAPI
学习如何使用ABAP中的业务应用编程接口(BAPI)与SAP系统进行交互和数据 同步。
案例分析
通过实例分析和实践,将ABAP的知识应用于实际项目,深化理解和技能。
《程!本课程将带您深入了解ABAP编程,并分享 一些最佳实践和调试技巧。
ABAP开发培训经典入门课件pptx(2024)
01
02
03
建立数据库连接
介绍如何在ABAP中建立 与数据库的连接,包括配 置数据源、设置连接参数 等。
2024/1/29
数据库配置管理
详细讲解数据库的配置管 理,包括数据库服务器的 配置、数据库用户的权限 管理等。
连接池技术
阐述连接池技术的原理及 其在ABAP中的应用,以 提高数据库连接的效率和 性能。
利用消息队列、企业服务总线(ESB)等中间件技术,实现ABAP 系统与其他系统的异步通信和数据交换。
API集成
通过调用其他系统提供的API接口,实现系统间的数据交互和业务 协同。
数据库集成
在数据库层面进行数据交换,如使用数据库链接(DBLink)或共 享数据库等方式。
31
系统扩展点与插件开发
01
扩展点概述
面向对象、事件驱动、数据库无关性、强大的数据处理能力 等。
ABAP语言应用领域
SAP系统定制开发、报表开发、接口开发、数据转换等。
4
开发环境搭建
安装SAP GUI客户端 ,并配置连接参数。
使用SAP GUI客户端 连接到SAP系统,并 打开ABAP开发环境 。
2024/1/29
在SAP系统中创建开 发用户,并分配相应 的开发权限。
具有更灵活的操作方式。
12
变量定义与赋值
变量定义
在ABAP中,变量必须先定义后使用。定义变量时需要指定变BAP中,可以使用赋值语句将值赋给变量。赋值语句的格式为“变量名 = 值”。此外,还可以使用输入输出语句从用户或文件中读取数据并赋给变量。
2024/1/29
2024/1/29
24
报表输出与打印
报表输出格式
介绍常见的报表输出格式,如PDF、Excel、Word等,让学员了解 不同输出格式的特点及适用场景。
SAP ABAP基础语法培训教程珍藏版 ppt课件
类别组织R/3对象的浏览及维护
▪ 程序编辑器:ABAP Editor,编辑ABAP程
序代码
▪ 数据建模器:Data modeler,业务数据建
模工具
▪ 数据字典:ABAP Dictionary,定义系统数
据类型及数据库对象
▪ 简单报表创建器:ABAP Query
事务码SE38
2020/9/1
21
SAP ABAP基础语法培训教程珍藏 版
▪ ABAP advanced business application programming 是“高级商业应用编程”的缩写
▪ “Hello World”程序 ▪ 系统程序实例:ABAPDOCU、DWDM
2020/9/1
22
恢复初始状态不指向任何数据对象2020102068数值运算算术预算语句运算数学表达式语句关键字语句加法2020102069数值运算算术预算原则运算符号及括号都是abap关键字前后都需要有空格使用p类型进行计算时程序属性fixedpointedarithmetic没有选中的话运算时会被当作整数类型进行处理两个结构体同名字段也可以整体进行算术运算语句为addcorresponding前缀和运算关键字一样2020102070数值运算任意类型参数的数学函数函数名称说明abs返回输入参数的绝对值sign返回输入参数符号正数返回10返回0负数返回1trunc返回输入参数的整数部分frac返回输入参数的小数部分ceil返回不小于输入参数的最小整数值floor返回不大于输入参数的最大整数值2020102071数值运算浮点数类型的数学函数函数名称说明cossintan三角函数acosasinatan反三角函数coshsinhtanh双曲函数exp底数为e27182818285的幂函数loglog10底数为e10的对数sqrt平方根2020102072数值运算时间日期运算系统将日期时间先转换为数值类型根据这两种特殊的类型进行合理的增减如下所示data
ABAP基础知识(完整版)-自学
ABAP基础知识(完整版)-上SAP ABAP / 4 基础知识学习数据类型C :字符串D :日期型格式为YYYYMMDD 例:'1999/12/03'F : 浮点数长度为8I :整数N :数值组成的字符串如:011,'302'P : PACKED数用于小数点数值如:12.00542T : 时间格式为:HHMMSS 如:'14:03:00'X : 16进制数如:'1A03'*-------------------------------------------------------------------------------------*变量声明DATA <F> [<Length>] <type> [<value>][decimals]<F> 变量名称<length><type> 变量类型及长度<value> 初值<decimals> 小数位数exp:DATA : COUNTER TYPE P DECIMALS 3.NAME(10) TYPE C VALUE 'DELTA'.S_DATE TYPE D VALUE '19991203'.exp:DATA : BEGIN OF PERSON,NAME(10) TYPE C,AGE TYPE I,WEIGHT TYPE DECIMALS 2,END OF PERSON.另外,有关DATA声明的指令还有: CONSTANTS(声明常数)、STATICS(临时变量声明).exp:CONSTANTS PI TYPE P DECIMALS 5 VALUE '3.14159'.STATICS 关键字声明的变量仅在目前的程序中使用, 结束后会自动释放语法:STATICS <c> [<length>] <type> [<value>] [<decimals>]系统专用变量说明系统内部专门创建了SYST这个STRUCTURE,里面的栏位存放系统变量,常用的系统变量有: SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,'0'表示成功SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-INDEX: 当前LOOP循环过的次数SY-TABIX: 当前处理的是internal table 的第几笔SY-TMAXL: Internal table的总笔数SY-SROWS: 屏幕总行数;SY-SCOLS: 屏幕总列数;SY-MANDT: CLIENT NUMBERSY-VLINE: 画竖线SY-ULINE: 画横线TYPE 关键字用来指定资料型态或声明自定资料型态Example:TYPES: BEGIN OF MYLIST,NAME(10) TYPE C,NUMBER TYPE I,END OF MYLIST.DATA LIST TYPE MYLIST.LIKE 关键字跟TYPE关键字使用格式相同, 如DATA TRANSCODE LIKE SY-TCODE.不同的是LIKE 用在已有值的资料项, 如系统变量, 而TYPE关键字则是用在指定资料型态。
ABAPInternalTablePPT教学课件
创建和处理内表
向内表中逐条追加记录 语法 APPEND [<wa>] TO <itab> 例子 DATA: BEGIN OF ITAB OCCURS 10, COL1 TYPE I, COL2 TYPE I, END OF ITAB. DO 2 TIMES. ITAB-COL1 = SY-INDEX. ITAB-COL2 = SY-INDEX ** 2. APPEND ITAB. ENDDO
• 表头行带来方便也增加了混淆:同一语句内表名 称可能代表内表或者同名工作区,加[]代表内表, 不带[]表示表头行
2021/4/2
14
第14页/共32页
行访问方式
• 通过关键字访问(适合所有内表):
• 通过索引访问(不适合哈希表):
• 所有行操作成功,SY-SUBRC为0,否则为非0值
标准表
排序表
第23页/共32页
创建和处理内表
在加入新记录时,将非数值字段具有相同内容记录的数值字段汇总。 语法 COLLECT [<wa> INTO] <itab>. 例子 DATA: BEGIN OF ITAB OCCURS 10, COL1(3) TYPE C, COL2 TYPE I, END OF ITAB. ITAB-COL1 = ‘ABC’. ITAB-COL2 = 100. COLLECT ITAB. ITAB-COL1 = ‘XYZ’. ITAB-COL2 = 200. COLLECT ITAB. ITAB-COL1 = ‘ABC’. ITAB-COL2 = 300. COLLECT ITAB.
2021/4/2
11
第11页/共32页
工作区(Work Area/Work Space)
ABAP入门培训PPT教学课件
➢ABAP/4介绍 ➢ABAP/4程序开发(基础) ➢ABAP/4程序开发(提高) ➢补充
Xavery Hsueh
1
第1页/共232页
ABAP/4介绍
Xavery Hsueh
2
第2页/共232页
什么是ABAP/4
➢ABAP/4是英文Advanced Business Application Programming的缩写,是SAP R/3 商用系统的应用程序开发工具
Xavery Hsueh
5
第5页/共232页
ABAP/4编辑器
Xavery Hsueh
6
第6页/共232页
属性设置
Xavery Hsueh
7
第7页/共232页
创建对象目录条目
Xavery Hsueh
8
第8页/共232页
ABAP/4 EDITOR
Xavery Hsueh
9
第9页/共232页
运行结果(按F8运行)
Xavery Hsueh
48
第48页/共232页
循环语句的一个例子
Xavery Hsueh
49
第49页/共232页
数据库操作语句
➢数据库操作语句实现从数据库中取数据的操 作。 ➢主要的取数的操作有
取单行记录 取记录集
Xavery Hsueh
50
第50页/共232页
从数据库中取数据集
➢取出数据库中附合条件的所有数据。
➢通过 SAP菜单—工具—ABAP工作台—开发— SE11-ABAP字典 进入SAP的数据表设置工具,另 外也可以通过命令行 SE11 进行。
Xavery Hsueh
12
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 注释行由第一列的星号(*)开头,并且必须写在第 一 列,前面不能有空格。
• 编译器忽略注释行,不会执行。 • 在行末的注释用双引号(”)作为前导。
ABAP语言的基本元素
数据类型
• D :日期类型,格式为YYYYMMDD,长度为8 • T :时间类型,格式为HHMMSS,长度为6 • I :整数类型,长度为4 • F :浮点类型,长度为8 • STRING:变长字符串类型 • XSTRING:变长字节序列类型 • C :字符串类型,定义变量时指定字符个数 • N :数字字符串类型,定义变量时指定数值字符个数 • X :字节序列类型,定义变量时指定字节数 • P :组合数值类型,定义变量时指定长度和小数点后位
ABAP
l 了解ABAP l SAP的三层体系结构 l ABAP语法概述 l ABAP语言的基本元素 l ABAP的语法格式 l 结构类型和结构体 l 内表 l 数据库操作
ABAP
• ABAP(Advanced business application program),是一种高级企业应用编程语言, 它支持封装性和继承性,封装性是面向对象 的基础,而继承性是建立在封装性基础上的 重要特性。它适合生成报表,支持对数据库 的操作,如:SQLserver,Oracle,DB2等主流 数据库系统。
ENDCASE.
例子:
• DATA: TEXT1 VALUE 'X', TEXT2 VALUE 'Y', TEXT3 VALUE 'Z', STRING VALUE 'A'.
• 数据库层(Database layer):这里就是SAP系统 的核心,存放了所有SAP系统的数据。
语法概述
ABAP基本语法特点
• 由各自独立的语句构成。 • 每个语句的第一个单词必须是ABAP关键字。 • 单词之间至少要用一个空格分隔。 • 每个语句结束必须要用句号。 • 支持分块缩进,便于阅读。 • 一个语句可以跨多行,只要不遇到句号,就认
-TYPES: address TYPE C.
注:TYPES语句用来创建用户定义的基本数据类型和结构化的数 据类型,通过TYPE定义的类型不能直接使用,需要通过DATA进行定 义其对应的变量后才可使用
如: DATA:address1 TYPE address
语句链
如果连续多行的第一个关键字相同,可以使用链 语句 ,链语句的方式 减少输入
true
使用CASE的条件分支
基本语法:
CASE <f>. WHEN <F1>. <statement block> WHEN <F2>. <statement block> WHEN <F3>. <statement block> WHEN ... ...... WHEN OTHERS. <statement block>
ELSEIF <condition3>. <statement block>
..... ELSE.
<statement block> ENDIF.
例子:
• DATA flag TYPE c VALUE ‘a'. • IF flag = ‘a‘. • WRITE / ‘true‘. • ELSE. • WRITE / ‘error'. • ENDIF. • 产生如下输 出:
WRITE text1. WRITE text2. WRITE text3. 可以写成:WRITE: text1,text2,text3.
condition1>. <statement block>
ELSEIF <condition2>. <statement block>
• IS ASSIGNED 检查字段是否被分配
– BETWEEN操作符
– 组合逻辑表达式
AND 与
OR 或
NOT 非
ABAP程序的关健字
关健字是语句的第一个词,它决定整个语句的意义,有 四种不同类型的关健字 1.说明性关健字 TYPES,DATA,TABLES,这些关健字说明定义数据类 型或者说明程序可以访问的数据对象 2.事件关健字 AT SELECTION SCREEN,
START-OF-SELECTION
AT USER-COMMAND 这些关健字在ABAP中定义处理块,处理块是当特定事 件发生时进行处理的语句组
ABAP程序的关健字
3.控制关健字 IF ,WHILE,CASE
4.操作关健字 WRITE,MOVE,ADD 用于处理数据
语法格式
• 定义数据对象
– DATA name TYPE type_name 例: DATA number TYPE I. 定义了一个对象number其类型为I DATA num TYPE I value 18. 定义了一个对象num其类型为I初始值为18.
为是一个延续 的语句。 • 可以把多个语句放在一行。
ABAP基本语法特点(持续)
• ABAP不区分大小写,关键字和用户操作数都一样, 为了便于 阅读,一般把关键字大写,而操作数小写。
• 由于编程的时候随时切换大小写比较麻烦,可以在 ABAP编 辑器中用“规范化打印机”按钮来自动转 换。
• 如果连续多行的第一个关键字相同,可以使用链语 句 链语句的方式 减少输入
数
ABAP运算
• 数值运算(在ABAP中数学表达式可以任意多层嵌套)
– 算术运算
– 数学函数
– 时间日期运算
• 逻辑表达式
– 通用逻辑运算符
EQ( = ) NE( <> ) LT( < ) LE( <= ) GT( > ) GE( >= )
– IS操作符
• IS INITIAL 检查字段是否为初始值
SAP三层体系结构
• 表现层(Presentation Layer):这是SAP用户和 R/3系统交流的接口,用户在这一层对SAP系统进行 操作。这层将用户的命令或者操作传送给R/3系统, 然后系统进行相应的处理后把数据返还给用户。
• 应用层(Application layer):这层包括一个或 者多个应用服务器和一个消息服务器。每一个应用 服务器包括一系列服务以便运行应用程序。所有的 服务分置在这些应用服务器之中,其实用户需要的 只是其中的一个应用服务器,多个服务器之间传递 信息以决定用户到底需要的是哪个服务器的服务。