书签 分享 收藏 举报 版权申诉 / 247
上传文档赚钱

类型SAP-ABAP基础语法培训教程(珍藏版)-PP课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2876802
  • 上传时间:2022-06-07
  • 格式:PPT
  • 页数:247
  • 大小:2.90MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《SAP-ABAP基础语法培训教程(珍藏版)-PP课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    SAP ABAP 基础 语法 培训 教程 珍藏 PP 课件
    资源描述:

    1、SAP ABAP基础语法培训教程(珍藏版)2ABAP Training SAP及ABAP/4 Overview 系统开发语言 创建企业报表 应用事务开发 商用文档设计3SAP介绍 ERP巨人SAP:创立于1972年,ERP思想的倡导者,ERP领域中处于领导地位,全球最优秀的企业管理软件供应商 SAP:System, Application and Products in Data Processing,即数据处理的系统、应用和产品4SAP R/3一体化ERP系统TR司库司库后勤系统后勤系统财务系统财务系统人力资源人力资源客户及工业部门的客户及工业部门的特殊要求特殊要求5SAP新的业务模块和组件

    2、 CRM顾客关系管理 SCM供应链管理 BW商业信息仓库 APO高级计划与优化(Advanced Planner and Optimizer)6R/3主要业务模块介绍 生产计划控制 物料管理 销售与分销 财务会计 管理会计 人力资源7SAP其他业务模块 跨应用组件(CA,Cross-Application Compo-nents) 基础系统组件(BC,Basis Components) 品质管理(QM,Quality Management) 资产管理(AM,Assets Management)8 SAP 业务流程业务流程S&D 销售订单 PP主生产计划物料需求计划采购订单库存管理生产执行开票运

    3、输生产订单发票校验成本财务 MMCO/FI910ERP实施步骤 总体规划,分步实施 教育和培训 原形测试 数据准备 系统开发 模拟运行 切换11SAP实施结构设计 实施过程中需要多少个R/3系统 需要多少个Client,具体任务是什么 各个集团将如何分布在不同的系统中 通常将“开发”、“质量控制(测试)”、“产品”分别置于三个不同系统的不同集团中12开发过程中标准制定 制定命名规则:自定制的所有对象应当以“Z”或“Y”开头;避免命名冲突 界面风格指南:应与SAP的标准保持一致 文档维护:项目文档:项目设计、实施进度等最终用户文档:对象说明、程序说明等技术说明文档:程序代码说明、程序规格等 修订

    4、列表维护:对所有对象的修改清单 对象模块化、在线文档标准等13ABAP Training SAP及ABAP/4 Overview 系统开发语言 创建企业报表 应用事务开发 商用文档设计14R/3开发平台介绍 R/3体系结构 R/3仓库与开发平台 系统开发工具 第一个ABAP程序 ABAP数据字典介绍15R/3逻辑体系结构逻辑上分为显示层、应用层、数据库层数据库层:主要业务数据及开发过程中的程序和元数据通过关系数据库管理系统进行操作;应用层:从数据层提取数据进行处理或者存储新数据显示层:SAPGUI,系统和用户间的接口,用户通过该层访问系统应用、输入新数据并接受工作过程的处理结果16R/3仓库

    5、R/3仓库储存所有SAP系统开发过程中的对象,这些对象也被称之为仓库对象:ABAP程序数据库表结构定义系统数据类型 仓库对象不是企业业务数据,而是系统内部数据,与Client无关 仓库对象要从R/3系统传入另一R/3系统,需要开发类别辅助17开发类别 仓库对象创建时,需要指定所属的开发类别 仓库对象在R/3仓库中按照开发类别分类,这些对象的集合形成的组织单元即为开发类别开发类别 开发类别的主要功能是对仓库对象进行管理(目录管理及传输控制管理等) 开发类别中所包含的仓库对象可以通过对象浏览器(SE80)查看和维护 开发类是ABAP工作台对象,其修改通过Transport Organizer记录,

    6、开发类别的开发类别是其自身18ABAP工作台工具介绍(1) 对象导航器:Object Navigator,通过开发类别组织R/3对象的浏览及维护 程序编辑器:ABAP Editor,编辑ABAP程序代码 数据建模器:Data modeler,业务数据建模工具 数据字典:ABAP Dictionary,定义系统数据类型及数据库对象 简单报表创建器:ABAP Query19ABAP工作台工具介绍(2) 函数创建器:Function Builder,创建功能模块 类创建器:Class Builder,创建ABAP类及方法等面向对象元素 菜单绘制器:Menu Painter,用于创建屏幕的标题、菜单、

    7、工具栏中的元素及功能设定 屏幕绘制器:Screen Painter,用于创建SAP标准屏幕 工作台管理器:Workbench Organizer,用于管理修改请求20对象导航器 ABAP工作台的众多开发工具的中心入口,可对各种R/3仓库对象进行维护,具体见下图 事务码:SE80 包括导航区域、对象浏览及工具区域三大块导航区域:对象列表选择及名称输入区域对象列表:对象列表机上下文菜单(context menu)工具区域:ABAP工作台工具、工具栏、菜单、标准工具栏、应用工具栏及附属窗口等21ABAP对象导航器图例导航区域工具区域对象列表附属窗口22ABAP编辑器路径事务码SE3823Abap程序

    8、及相关介绍 ABAP advanced business application programming 是“高级商业应用编程”的缩写 “Hello World”程序 系统程序实例:ABAPDOCU、DWDM24ABAP(DDIC)数据字典介绍 数据字典:定义和管理数据元素及数据库元素的中心工具,所有的数据库表结构及系统全局数据类型等都需要在其中创建并维护 功能:自定义系统共用数据类型(基本类型、结构和表)定义数据库对象结构(数据库表、视图和索引等)进行屏幕字段的格式化、编辑,比如F1和F4帮助 事务码:SE1125ABAP Training SAP及ABAP/4 Overview 系统开发语

    9、言 创建企业报表 应用事务开发 商用文档设计26企业报表类型 静态报表 交互式报表27报表格式28报表格式29ABAP Training SAP及ABAP/4 Overview 系统开发语言 创建企业报表 应用事务开发 商用文档设计30对话编程简介 事务是实施 与用户对话 的程序。在 典型的对话 中,用户可 以在系统显 示的屏幕上 输入或请求 信息。作为 对用户输入 或请求的响 应,程序执 行适当的动 作:转到下 一个屏幕, 显示输出或 更改数据库 。 SAP 系统中的每 个对话都是 由动态程序 控制的。动 态程序包含 一个屏幕和 它的流逻辑 并且精确控 制一个对话 步骤。流逻 辑决定在显 示

    10、屏幕前( 输出前的 PBO 处理)和接 收到用户在 屏幕上制作 的条目后( 输入后的 PAI 处理)进行 的处理。31ABAP Training SAP及ABAP/4 Overview 系统开发语言 创建企业报表 应用事务开发 商用文档设计32主要工具 SMART FORMS SCRIPT33ABAP基础 ABAP语言概述 数据定义 基本数据操作 结构控制 处理字符数据 使用内表 动态数据对象 模块化技术 错误处理 程序调试34ABAP程序结构 ABAP是一种事件驱动语言,包括:数据定义:整个程序中可见的全局数据类型和数据对象处理块(Processing blocks):ABAP程序的主要结构

    11、单元,除数据定义和声明语句外的所有ABAP语句都必须隶属于某一个处理块 ABAP程序基本结构如下图所示:程序内部全局数据定义对话模块事件块子程序等ABAP程序35处理块类型 事件块(Event blocks):事件关键字开头,至下一事件关键字出现(或程序结束),无事件结束关键字报表事件:Initialization,Start-of-selection列表事件:At-line-selection屏幕事件(对话事件):Process before output, process after input 对话模块(Dialog Modules):有开始和结束关键字,用于事务程序设计,从属于对话事件

    12、,在对话事件块中调用 过程(Procedure):有开始和结束关键字,独立的程序单元,包括功能模块和子程序、ABAP对象的类方法36ABAP处理块调用范例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-selectionSTART-OF-SELECTION. DO 5 TIMES. PERFORM frm_output_line USING

    13、 sy-index. ENDDO.* Processing block2: Event block - at line-selectionAT LINE-SELECTION. WRITE:/ text2,sy-lsind.* Processing block3: Procedure - subroutine frm_output-lineFORM frm_output_line USING p_index. WRITE:/ text1,sy-lsind,Value:,p_index.ENDFORM. 37ABAP处理块调用范例运行结果38程序类型的设定 程序类型包括应用程序类型和其它程序类型,

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

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

    16、AP编辑器中维护的元素 屏幕元素:通过屏幕绘制器维护的元素 GUI元素:通过菜单绘制器维护的元素43程序元素 源代码(source code) 变式(Variants):与选择屏幕相关,用于存放输入的数据选择值,以便反复调用该程序时重复输入数据 文本元素(Text elements):存储于文本池中的文本,包括文本符号、选择文本、列表标题等 文档(Documentation):写给用户的说明,用于解释程序的功能、使用方法等 文本元素和文档均具有语言相关性,可以由系统翻译工具进行翻译 44文本元素维护界面45屏幕元素 SAP标准屏幕(Screen):多用于SAP事务程序设计,包括屏幕布局(Lay

    17、out)和流逻辑(Flow Logic) 选择屏幕(Selection Screen):多用于报表程序中接受用户输入报表的选择标准,可通过ABAP语句控制其输出格式 传统列表屏幕(Lists):只包含列表输出区域,伸出内容通过write和uline等ABAP语句生成46GUI元素 为屏幕的一个组成部分,但设计时独立于屏幕存在,各种屏幕都可以独立分配GUI 包括屏幕上方的菜单、标准工具栏、应用工具栏以及功能键和功能代码等 GUI元素在程序调用时分为状态(GUI status)和标题(GUI Title)两部分47ABAP语句结构 以一个ABAP语句关键字引导,句号结束 ABAP语句中还可以含附加

    18、项和操作元素 各关键字、选项、操作数之间应至少保留一空格范例:Report z_simple_program.Data Text(20) VALUE Simple program.Start-of-selection.WRITE text.48ABAP语句类型(1) 声明语句:用于数据元素的定义和声明(如变量)DATA,PARAMETER,TABLES,TYPES 模块化语句:用于定义运行时的处理代码块,分为事件关键字语句和过程定义关键字语句事件关键字包括:AT-SELECTION-SCREEN,START-OF-SELECTION,AT USER-COMMAND过程定义关键字包括:FORM/

    19、ENDFORM,FUNCTION/ENDFUNCTION,MODULE/ENDMODULE 控制语句:以条件控制程序处理块内部的程序流程IF/ENDIF,WHILE/ENDWHILE,CASE/ENDCASE49ABAP语句类型(2) 调用语句:用于调用已定义好的处理块PERFORM,CALL,SUMBIT,LEAVE TO 操作语句:用于程序内部数据操作或输出WRITE,MOVE,ADD以及运算符等 数据库语句:用于数据库操作,含Open SQL和Native SQL两种50语句链 关键字“:”和“,”可以把连续使用的相同关键字引导的语句连接在一起,以简化代码,如:WRITE: text1,

    20、text2.等价于WRITE text1.WRITE text2.51注释 “*”,在行的开头使用,可注释该行 “”,单个双引号,可注释该行中其后的文字,如下所示* This whole line is commentsWRITE text.“Contents behinds this is comments52程序调用 直接运行:在事务SE38或SA38中直接运行通过系统目录或者在命令域中输入事务代码运行 内部调用:事务代码调用:LEAVE TO TRANSACTION,CALL TRANSACTION(调用返回)SUBMIT,SUBMIT AND RETURN(调用返回)53程序结束 自动

    21、结束:程序完全运行,自动结束 强制结束:通过LEAVE PROGRAM.语句可以在任意点结束程序54内存管理(1) 运行时内存管理与用户对话相关(同一个用户和系统进行最多六个SAP GUI对话),包括SAP内存和ABAP内存两部分 主对话:又称外部对话,用户登录SAP之后,即开始和应用服务器之间的主对话,各对话间无联系 内部对话:在主对话中运行可执行程序或者模块池程序,开始内部对话 调用序列:调用不返回,新程序内部对话代替原程序内存,并删除原程序内存;调用返回时,生成程序调用序列,生成堆栈,调用结束时,恢复上一级程序内存状态55内存管理(2) ABAP内存:主对话内部有一个ABAP内存区域,在

    22、该对话内部,可通过EXPORT TO和IMPORT FROM MEMORY在内存堆栈之间进行数据传递,以队列的方式存储 SAP内存:所有对话都可以访问的内存区域,可在SAP各对话间共享,通过SET PARAMETER和GET PARAMETER访问 装载程序:调用或执行程序时,程序实例被装载到ABAP内存,第一个被装载的程序为主程序;程序装载,触发LOAD-OF-PROGRAM事件 对象创建:创建对象(CREATE OBJECT),类的实例被装载到内部对话,该内部对话中的程序及对象都可以使用该类实例56ABAP基础 ABAP语言概述 数据定义 基本数据操作 结构控制 处理字符数据 使用内表 动

    23、态数据对象 模块化技术 错误处理57数据定义与宣告语句 DATA:用于定义变量以及内表、工作区间 TYPE:定义类型 TABLES:宣告某一个系统中的表或者结构,以便于程序中使用,同时创建表的工作区间 CONSTANTS:定义一个常量 Parameters、selection-options58数据对象 生存周期:程序的运行期 保存:存储于数据库或者输出到文件范例:DATA txt1(15) TYPE c VALUE Data Object.初始值类型为字符串存储长度15个字节59数据类型体系 基本类型(Element Types)分为固定长度和可变长度两种固定长度(C、N、T、D、I、P、F

    24、、X)可变长度 String 、XString 复杂类型结构类型:结构体表类型:内表 引用类型:基于基本数据定义参考变量的数据参考变量的对象60基本类型 固定长度61基本类型 可变长度String:字符串,如A StringXString:十六进制字符串,如A3FF62补充 文本文字最 长可达 255 个字符。如 果某文本文 字包含引号 ,必须重复 引号,以使 系统能够将 内容识别为 文本文字而 不是文字的 结尾。 新压缩类型P在系统中存放时所占内存空间只有同长度的浮点数、整数的一半 数字字符N,实际上是一个字符串,但是其中的字符只能是数字。如果给该类型变量赋值不足与定义的长度,系统会自动在左

    25、边补零63确定数据对象属性 DESCRIBE语法格式:DESCRIBE FIELD f LENGTH TYPE t COMPONENTS n OUTPUT-LENGTH o DECMIALS d EDIT MASK m HELP-ID h 变量:LENGTH,对象长度TYPE,对象类型OUTPUT-LENGT,确定输出长度DECIMALS,确定P类型数据对象的小数位长度EDIT MASK确定在数据字典中定义转换例程HELP-ID确定数据字典中定义的F1帮助信息64其他定义方式 Data A like B. Emp:Data:matnr like mara-matnr, date like sy

    26、-datum.65ABAP基础 ABAP语言概述 数据定义 基本数据操作 结构控制 处理字符数据 使用内表 动态数据对象 模块化技术 错误处理 程序调试66基本的数据操作数据赋值 MOVE:把源字段的值赋给目标变量,如MOVE source TO destination.等价于Destination = source. 注意事项:源对象和目标完全兼容(类型,长度等),则赋值过程中结果不变不完全兼容但可以进行类型转换,按固定的转换规则转换不兼容且不能转换,则不能赋值,提示语法错误或者编译过程中有错误,否则会出现运行时错误67基本的数据操作结构体赋值 两个结构体组件结构完全一致,可以直接赋值,如s

    27、tur1 = stur2 两结构体组件结构不完全一致,但有部分组件有对应关系,可逐个组件赋值或者使用move-corresponding stru1 to stru2.语句赋值68基本的数据操作初始值设定 将已经赋值的变量值晴空,恢复为初始状态,采用clear语句,如:clear g_var1. Clear基本数据类型:初始值根据数据类型定 Clear结构体类型:逐层、逐个组件拆分按上一规则执行 Clear内表,清除内表表头数据语句为:clear it_test.;清除内表标题数据语句为:clear it_test.或者refresh it_test. 引用类型数据:恢复初始状态,不指向任何数

    28、据对象69数值运算算术预算语句70数值运算算术预算原则 运算后赋值时需要注意类型转换 多种数学表达式共存时注意优先级 除法/整除运算时要注意除数不能为0 运算符号及括号都是ABAP关键字,前后都需要有空格 使用P类型进行计算时,程序属性Fixed Pointed arithmetic没有选中的话,运算时会被当作整数类型进行处理 两个结构体同名字段也可以整体进行算术运算,语句为ADD-CORRESPONDING,前缀和运算关键字一样71数值运算任意类型参数的数学函数72数值运算浮点数类型的数学函数73数值运算时间日期运算 系统将日期时间先转换为数值类型,根据这两种特殊的类型进行合理的增减,如下所

    29、示DATA: seconds TYPE i, hours TYPE i, time1 TYPE t VALUE 100000, time2 TYPE t VALUE 080000.seconds = time1 - time2.hours = seconds / 3600.WRITE:/ Seconds between time1 and time2:, seconds, / Hours between time1 and time2:, hours.74数据输出基本输出格式 数据输出及格式化语句:WRITE, ULINE, FORMAT, SKIP. 基本输出语法如下:WRITE / f.U

    30、LINE.FORMAT color .SKIP n.75基本数据类型的默认输出模式76格式化输出(write语句) 语法格式:write f . 具体的格式化选项请参考F1帮助 在用户主记录中,可以设置输出时显示的日期分隔符、小数点字符和千分符等选项,进入方式为:任意一SAP屏幕的菜单System-User Profile-Own data77逻辑表达式 基本格式: f1 f2 通用逻辑表达式列表78逻辑表达式特殊操作符 IS INITIAL:检查变量是否是初始值 BETWEEN:检查对象的值是否属于特定范围之间: f1 between f2 and f3 IN:用于检查数据对象的内容是否遵从

    31、某个选择表的逻辑条件选择表:一种特殊的内表,每一行包含一个特定的逻辑条件,DATA seltab like range of f. 组合逻辑表达式:AND, OR, NOT,如下IF ( A LT N ) and ( N GT F ).79逻辑表达式比较两种类型数据 兼容类型:不需要做转换,按照通常的比较方式进行 不兼容类型:可转换的则先转换,转换规则:操作数之一为F类型,则其他操作数转为F类型操作数无F类型,之一为P类型,则其他操作数转为P类型无F,P类型,之一为T或D类型,其他操作数转为T或D类型无F,P,T,D类型,之一为C类型且其他为X类型,X类型转为C类型操作数之一为C类型,其他为N

    32、类型,则两种类型均转换为P类型 比较结构化数据:可转换,则逐个组件比较;若不可转换,则先转为C类型在比较 比较内表:首先决定于行数,若行数相同,则逐行逐个组件进行比较;如果使用等于之外的操作副,则系统找到不对等的组件即停止比较并返回结果80ABAP基础 ABAP语言概述 数据定义 基本数据操作 结构控制 处理字符数据 使用内表 动态数据对象 模块化技术 错误处理 程序调试81结构控制程序处理块内部的代码由下列三种结构组织顺序结构:程序顺序执行分支结构:根据不同的条件执行不同的语句块循环结构:反复执行某个语句块在ABAP中,控制结构都是在程序处理块内部的,作用范围不能超出一个处理块,所以称为处理

    33、块内部块内部控制82分支控制 包括两种分支控制条件分支语句:IF/ENDIFIf conditions.elseif conditions.Endif.CASE/ENDCASECASE f. when f1 or f2 or when when others. Endcase.83循环控制无条件循环 无条件循环,使用DO语句实现DO n times. ENDDO. N用于控制循环次数,可以是数字或者变量如果N为0或者负数,则不进入该循环;如果不限定N的值,则需要用EXIT(推出当前循环),STOP或REJECT等语句强制结束循环,避免死循环 系统变量SY-INDEX为已经处理过的循环次数值,D

    34、O循环可以嵌套,SY-INDEX为当前循环的次数84无条件循环范例REPORT z_do_loop.DATA: out_index TYPE i, in_index TYPE i.DO 2 TIMES. out_index = sy-index. WRITE:/ out_index. SKIP. DO 3 TIMES. in_index = sy-index. WRITE: out_index NO-GAP,- NO-GAP, in_index LEFT-JUSTIFIED. ENDDO. SKIP.ENDDO.85条件循环 使用WHILE语句实现,进入循环之前,先检查语句中逻辑表达式的值,如

    35、果为真,执行后面的语句;当逻辑值不再为真或者执行到中止语句时,结束循环,语句格式如下: WHILE . ENDWHILE. SY-INDEX包含已执行的循环次数,可以嵌套循环,要避免死循环问题,一般需要在程序中修改逻辑表达式某变量值,确保一定次数后语句条件为假,否则语句块中必须含有循环中止语句86条件循环语句范例REPORT z_while_loop.DATA: g_lenth TYPE i, g_str01(30) TYPE c VALUE Beijing 2008.WHILE g_str01 NE space. g_lenth = sy-index. SHIFT g_str01.ENDWH

    36、ILE.skip 5.WRITE:/ Length of g_str01:,g_lenth.注释:该程序确定字符串的有效长度,每次执行循环时,将字符串左移一位,直到其仅包含空格为止87循环的中止 无条件循环:设定循环次数实现中止 条件循环:在循环过程中修改逻辑表达式中变量的值,使条件语句为假 强制结束循环语句CONTINUE用于无条件中止当前循环,运行该语句后跳过当前语句块所有生于语句执行但并非结束循环,而是开始下一轮循环或条件判断CHECK用于有条件中止当前循环,与CONTINUE语句类似EXIT,无条件中止循环,系统退出当前循环,继续执行当前循环后面的代码,嵌套循环时执行上一级循环STOP

    37、、REJECT,退出循环并无条件结束程序88循环中止范例REPORT z_terminate_loop.DO 4 TIMES. IF sy-index = 2. CONTINUE. ENDIF. WRITE sy-index.ENDDO.SKIP.DO 4 TIMES. CHECK sy-index BETWEEN 2 AND 3. WRITE sy-index.ENDDO.SKIP.DO 4 TIMES. IF sy-index = 3. EXIT. ENDIF. WRITE sy-index.ENDDO.89ABAP基础 ABAP语言概述 数据定义 基本数据操作 结构控制 处理字符数据 使

    38、用内表 动态数据对象 模块化技术 错误处理 程序调试90处理字符数据 字符数据操作连接字符串拆分字符串查找字符串替换字符串内容确定字符串长度其他操作语句 字符串比较 定位操作字符串91字符数据操作连接字符串 语句关键字:CONCATENATE concatenate s1 sn into s_dest separated by sep连接字符串s1sn并将结果赋给字符串s_destseparated by用于指定一个字符(串)作为分隔符如果连接字符串后的总长度超过目标字符串长度,则把结果截断后赋值;一旦出现截断情况,sy-subrc为4,否则为0为了避免截断,可以把目标字符串定义为string

    39、类型92连接字符串范例REPORT z_string_concatenate.data: g_s1(9) type c value Firstname, g_s2(10) type c value Secondname, g_s3(20) type c, g_sp(1) type c value .concatenate g_s1 g_s2 into g_s3.write / g_s3.concatenate g_s1 g_s2 into g_s3 separated by g_sp.write / g_s3.93字符数据操作拆分 使用SPLIT语句可将字符串拆分未多个小串split sour

    40、ce at sep into s1 sn.在源字符串中搜索分隔符(sep),并根据该分隔符把源串拆分为多个小串并放到目标字串s1sn中子串中不包括分隔符与连接语句类似,如果目标字串长度不够会进行截断,且sy-subrc为4,否则为0如果源串拆分的字串数量多于目标字串数量,则源串最后剩余部分包括其后的分隔符都将写入最后一个字串。可采用内表来避免这种情况94字符串拆分范例REPORT z_string_split.DATA: text TYPE string, itab TYPE TABLE OF string.text = ABAP is a programming language.SPLIT

    41、 text AT space INTO TABLE itab.LOOP AT itab INTO text. WRITE / text.ENDLOOP.95字符数据操作查找字串 使用search语句:search c for str.在变量C中茶中字符串str,如果找到,sy-subrc返回0,sy-fdpos返回变量C中该字符串的位置(从左算起的字符偏移量),否则将sy-subrc返回4字符串str,可以使用通配符*,也可以设定保存或者忽略str末尾的空格,如下所示:str,搜索str并忽略尾部空格.str.,搜索str不忽略尾部空格*str,搜索以str结尾的单词str*,搜索以str开头

    42、的单词注意:单词是指以符号(空格,标点符号,其他字符)分隔的字串96查找字符串范例REPORT z_string_search.DATA g_str(30) TYPE c VALUE This is a test sentence.WRITE:/ Searched,SY-SUBRC,SY-FDPOS.SEARCH g_str FOR X.WRITE:/ X,sy-subrc UNDER SY-SUBRC, sy-fdpos UNDER SY-FDPOS.SEARCH g_str FOR e .WRITE:/ e,sy-subrc UNDER SY-SUBRC, sy-fdpos UNDER S

    43、Y-FDPOS.SEARCH g_str FOR .e .WRITE:/ .e.,sy-subrc UNDER SY-SUBRC, sy-fdpos UNDER SY-FDPOS.SEARCH g_str FOR *e.WRITE:/ *e,sy-subrc UNDER SY-SUBRC, sy-fdpos UNDER SY-FDPOS.SEARCH g_str FOR s*.WRITE:/ s*,sy-subrc UNDER SY-SUBRC, sy-fdpos UNDER SY-FDPOS.97字符数据操作替换字符串内容 用其他字符串替换字段的某些部分,使用replace str1 wit

    44、h str2 into s_dest length l先对字段s_dest进行搜索,发现字串str1即用str2替换第一次出现的部分如果指定length,则只搜索前L个字节如果SY-SUBRC返回为0,则找到并替换成功,否则为进行任何替换98替换字符串范例REPORT z_string_replace.DATA name TYPE string.name = Michael-Cheong.WRITE:/ not replaced:,name.WHILE sy-subrc = 0. REPLACE - WITH INTO name.ENDWHILE.WRITE:/ replaced:,name.

    45、99字符数据操作确定字串长度 字符串长度:从首字符开始到最后一个非空字符的长度,即不包括结尾空格,使用:n = STRLEN( str ).将操作数str作为字符数据类型处理,不考虑其实际类型,也不进行转换,范例如下:REPORT z_strlen.DATA: text(24) type c VALUE ABAP Language, len TYPE i.Len = strlen( text ).Write:/ Length of ,text, is, len.100字符数据操作其他操作语句 SHIFT,将字符串整体或者字串进行位移 CONDENSE,删除字符串中多于的空格 TRANSLATE

    46、,字符转换 CONVERT TEXT创建一个可以排序的格式 OVERLAY用一个字符串覆盖另一个字符串101字符数据比较102定位操作字串 通过制定长度及偏移量来操作指定的部分字串,语句为:s+o(L)对变量S从第o+1位开始且长度为L的部分执行该语句的操作,如果未指定长度,则对第o+1位至程序末尾之间的所有位进行处理,偏移量和长度可以为变量动态指定,但是只能是如下情况:MOVE赋值;WRITE TO赋值;ASSIGN分配给字段符号;PERFORM将数据传给子程序。范例如下:REPORT z_string_comparison.DATA: f1(8) VALUE ABCDEFGH, f2(20

    47、) VALUE 123456789.f2+6(5) = f1+3(5).103系统变量 所有的系统字段存放于结构SYST中,可以通过SE11来浏览 SY-SUBRC,该变量是多数命令行执行成功与否的标志,比如数据库操作、功能函数调用等等,0表示操作成功,其他为操作失败。是ABAP编程中最常用、最有用的系统变量104建表 Data element Domin105谢谢大家Q/A106ABAP基础 ABAP语言概述 数据定义 基本数据操作 结构控制 处理字符数据 使用内表 动态数据对象 模块化技术 错误处理 程序调试107结构、工作区、内表 结构(Structure) 工作区(Work area)

    48、 内表(Inner table)108结构 属于复杂类型,内容包含定义的数据字段 TYPES:BEGIN OF line, id TYPE i, name(30), age type i, END OF line.109内表 工作区内表:用于在程序运行期间存储多行结构相同的数据工作区:内表是按行 进行访问的 。必须使用 某个工作区 域作为与表 格互相 传输数据的接口 。工作区与内表的定义 data:wa_line type line, it_line type table of line.表头行(with header line):隐式工作区 读取数据行 更新数据行工作区 内表110内表的分类

    49、 内表种类:标准表 排序表 哈希表111定义内表 语法格式:TYPES|DATA itab TYPE|LIKE tablekind OF LINETYPE|LINEOBJECT WITH key INITIAL SIZE n with header line.tablekind: 内表类型linetype | lineobject:行结构key: 表关键字Initial size n:内表分配的初始内存大小with header line: 定义表头行112内表的重要概念逻辑索引 对于标准表和排序表,每一条数据记录都有一个逻辑索引 在对标准表和排序表进行插入、删除、附加操作的时候,系统自动的对

    50、每一条数据记录赋一个逻辑索引,记录该数据记录在该内表中的逻辑位置(第X行) 对于标准表和排序表,可以通过逻辑索引操作数据行,关键字为INDEX n,表示读取第多少行数据记录113内表的重要系统变量 SY-TABIX,当前内表的当前数据记录的逻辑索引值 内表嵌套循环时,如果需要使用到sy-tabix变量,请尽量把sy-tabix赋给一个变量再进行处理114内表类型标准表 标准表(standard table或者省略关键字):系统为每一行数据生成一个逻辑索引;填充标准表时,可附加在现有行之后或者是插入到指定位置;程序对内表的寻址操作可以通过关键字或者索引进行;对内表进行插入、删除等操作时,其数据行

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:SAP-ABAP基础语法培训教程(珍藏版)-PP课件.ppt
    链接地址:https://www.163wenku.com/p-2876802.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库