SAP ABAP程序设计基础教程第4章ABAP语言基本语法
- 格式:ppt
- 大小:601.50 KB
- 文档页数:34
abap基本语法汇总abap 基本语法汇总数据类型和对象在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。
在程序中必须声明要使用的全部数据对象。
声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。
1.1基本数据类型对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。
类型P数据允许在小数点后有数字。
有效大小可以是从1到16字节的任何值。
将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。
在小数点后最多允许14个数字。
1.2系统定义的数据对象abap 基本语法汇总1.3确定数据对象的属性如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE语句。
语法如下:DESCRIBEELD [LENGTHS〉] [TYPE [COMPONENTS^][OUTPUT-LENGTH ] [DECIMALS ][EDIT MASK ].将由语句的参数指定的数据对象的属性写入参数后的变量。
DESCRIBE FIELDS语句具有下列参数:1.3.1确定字段长度要确定数据对象的长度,利用DESCRIBFIELD语句使用LENGTH 参数,如下所示:DESCRIBE FIELD LENGTH .系统读取字段<f>的长度,并将值写入字段<1>abap 基本语法汇总1.3.2 确定数据类型要确定字段的数据类型,利用DESCRIBE FIELD语句使用TYPE 参数,如下所示:DESCRIBE FIELD TYPE [COMPONENTS ].系统读取字段的数据类型,然后将值写入字段。
除返回预定义数据类型C、D、F、I 、N、P、T 和X 外,该语句还返回s 对于带前导符号的两字节整型b 对于无前导符号的一字节整型h 对于内表C 对于组件中没有嵌套结构的结构C 对于组件中至少有一个嵌套结构的结构1.3.3 确定输出长度要确定字段的输出长度,利用DESCRIBE FIELD语句使用OUTPUT-LENGTH数,如下所示:DESCRIBE FIELD OUTPUT-LENGTH .系统读取字段的输出长度,并将值写入字段<0>。
abap语法ABAP1 了解ABAP2 ABAP语法概述3 ABAP语言的数据类型4 ABAP的语法格式5 结构类型和结构体6 内表7 数据库操作ABAP(Advanced business application program),是一种高级企业应用编程语言,它支持封装性和继承性,封装性是面向对象的基础,而继承性是建立在封装性基础上的重要特性。
它适合生成报表,支持对数据库的操作,如:Sqlserver,Oracle,DB2等主流数据库系统。
语法概述ABAP基本语法特点由各自独立的语句构成。
每个语句的第一个单词必须是ABAP关键字。
单词之间至少要用一个空格分隔。
每个语句结束必须要用句号。
一个语句可以跨多行,只要不遇到句号,就认为是一个延续的语句。
可以把多个语句放在一行。
ABAP不区分大小写,关键字和用户操作数都一样,为了便于阅读,一般把关键字大写,而操作数小写。
如果连续多行的第一个关键字相同,可以使用链语句方式减少输入 data: id type I.data: name type c.可写为:data: id type I ,name type c.注释:注释行由第一列的星号(*)开头,并且必须写在第一列,前面不能有空格。
在行末的注释用双引号(”)作为前导。
data: id type i. “ 定义一个对象num数据类型为IABAP的命名规则使用至少1个但不超过8个字符。
不要使用下列字符:句点(.);逗号(,);空格( );括号‘(’‘)’;单引号(‘);双引号(“);等号(=);星号(*);百分号(%);ABAP数据类型(八种基本数据类型)D :日期类型,格式为YYYYMMDD,长度为8T :时间类型,格式为HHMMSS,长度为6I :整数类型,默认长度为4,初始值为0F :浮点类型,默认长度为8,初始值为0,常用于计算C :字符串类型,定义变量时指定字符个数N :数字字符串类型,定义变量时指定数值字符个数X :字节序列类型,定义变量时指定字节数P(压缩号) :允许的长度为1 到16 个字节,系统会指定默认值8 个字节(也就是15 位数字)和0 个小数位常用:大小,长度,重量,货币等单位的场合.定义方法:[f1] type I.[f2] type p decimals [num].[f3] type f.如:DATA number(10) type p value '9.876543210' decimals 9.输出:9.876543210如果decimals 8 输出: 9.87654321ABAP运算数值运算(在ABAP中数学表达式可以任意多层嵌套)算术运算二元操作符包括:–+ :加法– - :减法–* :乘法–/ :除法–** :乘方–DIV :整除忽略余数–MOD :取模需要注意,圆括号和操作符都是关键字,需要跟操作数之间至少用一个空格分开。
1. ABAP/4 IntroductionIntroductionABAP/4(Advanced Business Application Programming)是SAP/R3目前唯一的系统发展工具, 属4GL, 语法比较近似Visual Basic或JAVA, 和传统third-generation 语言, 如C,PASCAL 有很大不同, 在程序模块(Program Structure Module)可分以下三个部分:1.Sequential coding within processing block与一般语言语法近似, 如IF,WHILE等, 但并没有GOTO叙述2.Reports呼叫一个独立的事件(Depending Event), 读取database 产生资料列表3.Dialog屏幕参数输入的对话框, 专门处理database 读取或异动的tranaction processBasic Languange Overview1.data element 宣告方式, 如数值, 字符资料变量宣告2.操作数(operate)使用, 如+ - * /3.Control element使用, 如Boolean 值4.特殊资料格式, 如日期与时间5.字符串字料处理function, 如部分字符串的截取6.子程序或自定函数的呼叫7.SQL语法使用8.数据结构的使用, 如process internal table的宣告与使用Reports Overview1.Reports Task, 如报表屏幕预览或打印机打印的选择2.Reports 模块是一个Stand-along 程序,3.database读取方式, 如可定义logical database(与磁盘的physical storage对映)4.报表数据的计算与产生5.报表的输出Dialog Overview1.专处理database 的读取与异动, 如使用SQL 指令2.Dialog 不是一个Stand-Along Progarm, 使用transaction code来产生屏幕对话框3.由flow logic 控制, flow logic分成PBO(Process Before Output)与PAI(Process After Input)2.Begin To Programming2.1 ABAP/4 EditorCreating ABAP/4 Program使用ABAP Workbench撰写程序(Choose Tools->ABAP/4 Workbench, Transaction Code: S001), 萤幕如下:可分成:1.ABAP/4 Editor :针对简单的报表或程序, 仅使用几个组件或不使用2.Obiect Browser :针对复杂的报表或程序, 如Dialog Transaction Module 撰写使用ABAP/4 Editor 撰写程序1.ABAP/4 Editor 画面如下(Transaction Code:SE38):2.输入程序名称, 如果是新程序, 按下”Create”, 如果修改已存在程序, 则按下”Change”或F6键在命名规则上, Reports程序为Yaxxxxxx或Zaxxxxxx, a表application module简称, 如s表SD Dialog程序为SAPMYxxx或SAPMZxxx3.输入程序Attribute(1).Title:程序描述或功能说明(2).Type:Execute mode: 1: Stand-along Program 如ReportsI: Include ProgramM: Module PoolF: Function GroupS: Subroutine Pool(3).Status:Program development status: P: SAP standard production programK: Customer production programS: System programT: Test program(4).Application: 程序所属的application module, 如F表Financeial acounting(5).Development class: 用于同一系统中各个program, 如果不属任一class, 可使用$TMP4.撰写Source CodeProgram 之后接的是程序名称, Write 是显示的意思, 会将所接的字符串在屏幕上显示, 注意每一行最后要有一个. (点), 表示叙述的结束, 储存后回ABAP/4 Editor画面5. 执行程序按”Execute”或F8键, 屏幕可见执行所得的结果重要的编辑键2.2 ABAP/4 Data ElementData TypeABAP/4 的资料型态可分成:Type Length Range Initial Value DescriptionC 1 1-65535Byte Space 字符串数据, 如‟Program‟D 8 8Byte …00000000‟ 日期资料, 格式为YYYYMMDDF 8 8Byte 0 浮点数I 4 -2^31至2^31-1 0 整数N 1 1-65535Byte …00…0‟ 数值所组成的字符串P 8 1-16Byte 0 Packed 数, 用在小数点数T 6 6Byte …000000‟ 时间资料, 格式为HHMMSSX 1 1-65535Byte X‟00‟ 16进位数变量宣告变量宣告包含name, type, length 和structure四个部分, 使用DATA 指令, 如DATA: S1 TYPE I,SUM TYPE I.常数宣告常数宣告使用CONSTANTS 指令, 如宣告PI 是一个小数点5位的值3.14159, CONSTANTS PI TYPE P DECIMALS 5 VALUE …3.14159‟.系统所定义资料这是由系统所定义的专有名辞, 如SPACE 空白字符串SY-SUBRC 系统执行传回值, 0 表示成功SY-UNAME logon 帐号SY-DATUM 系统日期SY-UZEIT 系统时间SY-TCODE 目前的transaction codeTYPE 叙述用来指定资料型态或宣告自定资料型态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叙述则是用在指定资料型态。
SAP ABAP基本语法概述目录1ABAP基础 (3)1.1创建简单的ABAP程序 (3)1.2ABAP程序帮助 (7)1.3ABAP语法和程序格式 (8)1.4输出数据到屏幕 (11)1.5赋值 (13)1.6运算符及函数 (17)1.7流控制 (18)1.8注释结构 (21)2内表 (21)2.1内表索引 (21)2.2访问内表 (21)2.3内表的声明 (23)2.4内表的使用 (25)3SQL指令 (33)3.1SELECT指令 (33)3.2INSERT指令 (36)3.3UPDATE指令 (37)3.4MODIFY指令 (37)3.5DELETE指令 (37)3.6数据库指针 (38)4数据库 (39)4.1数据库数据的选取、更新、删除、插入 (39)4.2数据库的事务 (40)4.3SE16检查表的内容 (40)4.4SE11定义表结构 (43)4.5检查数据表是否锁定 (46)1 ABAP基础1.1 创建简单的ABAP程序在上述界面中输入SE38键入回车进入ABAP编辑器界面,如图1-1所示。
功能操作区ABAP程序名选项区编辑、查看、创建图1-1创建程序名称时请遵守这些命名约定:报表程序(以列表格式输出数据分析):Yaxxxxxx 或Zaxxxxxx。
用应用程序区的分类字母替换a。
用任何有效字符替换x。
注意SAP报表程序遵守相似的命名约定:Raxxxxxx。
任何其它ABAP/4 程序(培训程序或事务程序): SAPMYxxx 或SAPMZxxx。
用有效字符替换x。
注意标准SAPABAP/4 程序遵守相似的命名约定:SAPMaxxx,其中a代表某应用程序区。
输入程序名,点击创建,则进入以下界面,如图1-2所示。
图1-21)Title:程序描述或功能说明,Report时为显示的标题。
2)Type: Execute mode: 1(Stand-along Program如Reports)、I(Include Program)、M(Module Pool)、F(Function Group)、S(Subroutine Pool)。
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 code SY-INDEX:当前 LOOP 循环过的次数SY-TABIX: 当前处理的是 internaltable的第几笔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 关键字则是用在指定资料型态。
培训教程•基础概念与入门•控制结构与流程控制•数据处理与操作•模块化编程实践•调试技巧与问题解决•实战案例分析与练习基础概念与入门SAPABAP是SAP系统中用于开发应用程序的高级编程语言。
它支持结构化编程,具有强大的数据处理和逻辑判断能力。
SAPABAP广泛应用于SAP系统的定制开发、报表生成、接口编程等方面。
SAPABAP简介编程环境与工具SAPABAP开发环境提供代码编辑器、调试器、性能分析工具等。
SAPGUI用于与SAP系统交互的图形用户界面。
ABAP Workbench集成开发环境,包括多种开发工具,如数据字典、函数库、屏幕画板等。
包括字符型、数值型、日期型、时间型等。
数据类型变量数据类型转换用于存储数据的容器,包括局部变量、全局变量、静态变量等。
不同数据类型之间的转换规则和方法。
030201数据类型与变量包括算术运算符、比较运算符、逻辑运算符等。
运算符由变量、常量、运算符等组成的计算式。
表达式运算符的优先级和结合性规则,用于确定表达式的计算顺序。
优先级与结合性运算符与表达式控制结构与流程控制用于根据条件执行不同的操作,包括简单IF 、IF-ELSE 和嵌套IF 结构。
IF 语句根据表达式的值选择执行不同的代码块,类似于其他编程语言中的switch-case 结构。
CASE 语句AND 、OR 和NOT 等,用于组合或修改条件表达式的结果。
逻辑运算符条件语句FOR 循环根据指定的次数重复执行一段代码,通常用于遍历数组或处理具有固定次数的任务。
DO 循环重复执行一段代码,直到满足指定的结束条件,包括DO WHILE和DO UNTIL 两种形式。
LOOP 语句无限循环执行一段代码,直到遇到特定的退出语句(如EXIT 或CHECK )才结束。
循环语句03CHECK 语句检查指定条件是否满足,如果不满足则跳转到指定的标签位置。
01JUMP 语句无条件跳转到程序中的指定位置,通常与标签(LABEL )一起使用。