abap基本语法汇总

合集下载

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语法

abap语法

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 :取模需要注意,圆括号和操作符都是关键字,需要跟操作数之间至少用一个空格分开。

SAP ABAP程序设计基础教程第4章ABAP语言基本语法

SAP ABAP程序设计基础教程第4章ABAP语言基本语法

为代码行设置断点
ABAP程序的流程控制-逻辑表达式
比较所有基本类型的数据对象
运算符 含义
EQ
或 =
等于
NE
或 <> 或
><
不等于
LT
或 <
小于
LE
或 <=
小于等于
GT 或 >
大于
GE
或 >=
大于等于
比较字符串
运算符 含义 CO 仅包含
CN
不仅包含
CA
包含任何
NA
不包含任何
CS
包含字符串
NS
不包含字符串
CP
包含模式
处理字符串
连接字符串 : CONCATENATE <s1> ... <sn> INTO <s> [SEPARATED BY <c>]. 拆分字符串 : SPLIT <s> AT <sep> INTO <s1> ... <sn>. 搜索字符串 : SEARCH <s> FOR <sub>. 获得字符串长度 [COMPUTE] <n> = STRLEN( <s> ). 替换字符串内容 : REPLACE <s1> WITH <s2> INTO <src> [LENGTH <l>]. 字符串的大小写转换: TRANSLATE <s> TO UPPER CASE. :将字符串转换成大写 TRANSLATE <s> TO LOWER CASE. :将字符串转换成小写
第4章ABAP语言基本语法

SAP ABAP基本语法介绍

SAP ABAP基本语法介绍
明 ➢用内表是一个处理大量结构化数据的简单办法
19
内表类型 ➢标准表
系统内建维护了表的行号(即索引),索引和键访问都是允许的。 当经常用索引访问表的时候就选择标准表。
➢排序表
数据记录在表内自动以升序进行排列,索引是系统自动维护的,索 引和键访问都可以用。如果经常使用键来访 问数据,或者希望数据 能够自动排序时,就用排序表。
往内表的最后追加一条记录,只能用于标准表
➢INSERT
向内表插入一条记录
➢READ
把表的指定行拷贝到结构中
➢LOOP
遍历内表
➢MODIFY
使用结构的内容重写表的指定行
➢DELETE
删除表的指定行
➢COLLECT
把结构中的内容累加到内表具有相同键的行上,只有非键字段才执 行累加,并且只有非键字段 都是数值的时候才能执行这个语句
➢CLEAR 语句根据类型清除数据对象,恢复成默认值。
15
基本ABAP语句:运算
➢ABAP 程序中,数学表达式可以进行任意多层嵌套
( 20 + 10) * 10 + 10 / 2
➢二元操作符包括:
+ :加法 - :减法 * :乘法 / :除法 ** :乘方 DIV :整除忽略余数 MOD(%) :取模
包含了接口。类和接口池 (程序类型为 J) 接口都在类制作器中管理,事务码 SE24。
➢类池 (程序类型为 K)
包含了类。类和接口都在类制作器中管理,事务码 SE24
7
数据类型和数据对象
➢形式上的变量描述叫做数据类型,由数据类型具体定义 的变量叫做数据对象 ➢数据类型
标准数据类型(预定义数据类型)、本地数据类型、全 局数据类型

ABAP语法

ABAP语法

ABAP语法一、格式。

作用:设置或更改有效的输出格式。

注意:由Format设置的格式会影响到清淡的下一个输出操作,下一个输出命令或下一个新行。

附加ON对于转换贴切的输出格式变得更随意。

你也能设置静态的附加ON,OFF和n(对于颜色)。

1、颜色。

Format Color n [ON] or Format Color n[OFF]作用:行背景颜色。

N能有如下的价值。

OFF or COL_BACKGROUND Background (GUI-specific)1 or COL_HEADING Headers (grayish blue)2 or COL_NORMAL List body (bright gray)3 or COL_TOTAL Totals (yellow)4 or COL_KEY Key columns (bluish green)5 or COL_POSITIVE Positive threshold value (green)6 or COL_NEGATIVE Negative threshold value (red)7 or COL_GROUP Control levels (violet)清单颜色注意:每次一个新的事件(START-OF-SELECTION, TOP-OF-PAGE, ...)开始,这个系统的设置回复到COLOR 0。

附加.. INTENSIFIED和... INVERSE影响颜色的显示属性...COLOR对于线不起作用。

WRITE --- OUTPUT AS lineInclude<Line>(或更多广泛的Include<List>)对于行包含关系识别作为永恒,例如:LINE_TOP_LEFT_CORNER, LINE_BOTTOM_MIDDLE_CORNER。

Line不能有其他的显示属性。

如果像颜色(COLOR),背面VIDEO(INVERSE)或变强(INTENSIFIED)被设置,这些忽略输出。

abap switch 语法

abap switch 语法

abap switch 语法摘要:一、ABAP Switch 语法简介二、ABAP Switch 语法详解1.基本语法结构2.变量和表达式3.条件分支4.默认分支5.跳出循环正文:【ABAP Switch 语法简介】ABAP(Advanced Business Application Programming)是一种高级企业应用程序编程语言,主要用于SAP ERP 系统的开发。

Switch 语句是ABAP 中的一种选择结构控制语句,可以根据不同的条件执行不同的代码块。

本文将详细介绍ABAP Switch 语法的相关知识。

【ABAP Switch 语法详解】1.基本语法结构ABAP Switch 语句的基本语法结构如下:```SWITCH (<条件表达式>)WHEN (<条件1>) THEN<代码块1>WHEN (<条件2>) THEN<代码块2>...WHEN (<条件n>) THEN<代码块n>ELSE<默认代码块>END-SWITCH```其中,`<条件表达式>` 是用于判断的条件,`<条件1>`、`<条件2>` 等是具体的条件,`<代码块1>`、`<代码块2>` 等是针对不同条件执行的代码块,`<默认代码块>` 是在所有条件都不满足时执行的代码块。

2.变量和表达式在ABAP Switch 语句中,可以使用变量和表达式作为条件。

需要注意的是,Switch 语句中的条件表达式不能包含函数调用。

3.条件分支在Switch 语句中,可以使用WHEN 子句定义多个条件分支。

当条件表达式的值为某个条件时,将执行对应的代码块。

多个WHEN 子句之间可以有任意数量的空行,但它们必须处于同一缩进级别。

4.默认分支如果Switch 语句中没有满足的条件,将执行ELSE 子句中的代码块。

abap 主要知识点

abap 主要知识点

abap 主要知识点ABAP(Advanced Business Application Programming)是一种用于开发企业级业务应用程序的编程语言,主要应用于SAP业务软件系统中。

ABAP主要用于实现和定制SAP ERP、SAP S/4HANA等企业资源规划系统。

以下是ABAP主要知识点:1.基本语法:ABAP的基本语法包括数据类型、变量、常量、运算符、流程控制、函数、过程、模块等。

2.数据结构:ABAP中常用的数据结构有数组、表格、链表、树形结构等。

3.界面设计:ABAP可用于设计用户界面,包括对话框、菜单、报表等。

4.数据库操作:ABAP支持对数据库的CRUD(创建、读取、更新、删除)操作,主要包括SQL语句、数据定义、数据存取等。

5.报表设计:ABAP具有强大的报表设计功能,可以创建各种复杂程度的报表,如分组报表、多级报表、交叉报表等。

6.常用ABAP组件:ABAP中有一些常用的组件,如逻辑块(ALV)、数据字典(DDIC)、报表框架(BDC)、界面事件(BEL)、用户自定义函数(FC)等。

7.企业对象组件(EPC):EPC是ABAP的一种企业级组件,用于实现业务过程的自动化。

8.工作流:ABAP支持工作流编程,可以实现业务流程的建模、调度和监控。

9.对象化编程:ABAP支持面向对象的编程,可以实现代码的复用和模块化。

10.接口技术:ABAP接口用于实现与其他系统(如HR、CRM等)的集成。

主要包括BAPI、BDC、IDoc等。

11.性能优化:ABAP程序的性能优化是开发者关注的重要议题,包括SQL优化、代码优化、内存管理等。

12.ABAP开发工具:常用的ABAP开发工具包括ABAP Workbench、SE80/SE81、SAP NetWeaver Developer Studio 等。

13.脚本语言:ABAP脚本语言(Scripting)用于实现与ABAP程序的交互和自动化。

abap基本语法汇总

abap基本语法汇总

一数据类型和‎对象在ABAP‎中,可以使用与‎标准数据声‎明相似的语‎法处理数据‎类型,而与数据对‎象无关。

在程序中必‎须声明要使‎用的全部数‎据对象。

声明过程中‎,必须给数据‎对象分配属‎性,其中最重要‎的属性就是‎数据类型。

对算术运算‎的非整型结‎果(如分数)进行四舍五‎入,而不是截断‎。

类型 P 数据允许在‎小数点后有‎数字。

有效大小可‎以是从 1 到 16 字节的任何‎值。

将两个十进‎制数字压缩‎到一个字节‎,而最后一个‎字节包含一‎个数字和符‎号。

在小数点后‎最多允许 14 个数字。

1.3 确定数据对‎象的属性如果要查明‎数据对象的‎数据类型,或者要在程‎序的运行期‎间使用其属‎性,可使用DESCR‎I BE 语句。

语法如下:DESCR‎I BE FIELD‎<f> [LENGT‎H <l>] [TYPE <t> [COMPO‎N ENTS‎<n>]][OUTPU‎T-LENGT‎H <o>] [DECIM‎A LS <d>][EDIT MASK <m>].将由语句的‎参数指定的‎数据对象<f>的属性写入‎参数后的变‎量。

DESCR‎I1.3.1 确定字段长‎度要确定数据‎对象的长度‎,利用DES‎CRIBE‎FIELD‎语句使用 LENGT‎H参数,如下所示:DESCR‎I BE FIELD‎<f> LENGT‎H <l>.系统读取字‎段<f>的长度,并将值写入‎字段<l>。

1.3.2确定数据‎类型要确定字段‎的数据类型‎,利用DES‎CRIBE‎FIELD‎语句使用 TYPE 参数,如下所示:DESCR‎I BE FIELD‎<f> TYPE <t> [COMPO‎N ENTS‎<n>].系统读取字‎段<f>的数据类型‎,然后将值写‎入字段<t>。

ABAP基本语法

ABAP基本语法

ABAP基本语法目录1.表声明12.定义变量13.常用算术操作符:14.常用比较操作:15.赋值语句26.IF语句27.CASE语句28.DO语句29.WHILE语句210.从数据库中取数据集211.取出单行记录212.WRITE语句213.ULINE语句314.SKIP语句315.定义常量316.定义结构317.TYPES语句418.LIKE语句419.输入参数520.分块语句521.定义内表522.往内表中添加记录623.用LOOP读取内表数据624.用READ读取内表数据625.把数据库的记录读入内表626.CLEAR清空表头和表记录627.DELETE删除内表记录628.REFRESH删除内表记录629.FREE删除内表记录730.在内表中插入记录731.修改内表记录732.对内表进行排序733.内表的控制语句734.循环跳转语句735.常用系统变量836.子程序的定义837.子程序的调用838.子程序的参数传递839.常用事件840.跳出事件的方法9ABAP/4:Advanced Business Application Programming1.表声明Tables: 表名[,表名]. 声明多个表时可用逗号分隔当你声明了一个数据表的同时,系统也同时自动生成了一个和数据表同名的结构,结构的变量集等于数据表里面的字段。

2.定义变量Data: v1[(l)] [type t] [decimals d] [value 'xxx'].v1 是变量名。

(l) 是变量的长度。

t 是数据类型。

d 是小数位。

'xxx'是缺省值。

如:data num(10) type p decimals 3 value '1.12'.3.常用算术操作符:5.赋值语句total = 10.mess = 'this is a test!'.如果字符串中包括 ' 号,用 '' 进行付值,如:mess = 'this is a ''test''! '.6.IF语句if i = 2.write 'i 等于 2'.[else.write 'i 不等于 2'.]endif.7.CASE语句case i. 类似于VFP中的DO CASE语句when 1. write 'i = 1'.when 2. write 'i = 2'.[when others. write 'i <> 1 and i <> 2'.]endcase.8.DO语句do [n] times. 类似于VFP中的FOR语句[执行代码]enddo.9.WHILE语句while [条件]. 类似于VFP中的DO WHILE语句[执行语句]endwhile.10.从数据库中取数据集select * from 数据表 [where 条件].[操作语句]endselect.如:select * from t000 [where mandt < 200].write: / t000-mandt,t000-mtext.endselect.11.取出单行记录select single * from 数据表 [where 条件]. 注:仅取出符合条件的第一行记录select single 字段 from 数据表 into 变量 [where 条件].12.WRITE语句write: [/][定位][数据1][,[定位] [数据2]]……[/] 为插入一行空行,注意单独write一个[/]和在其它数据之前加 [/] 的效果是不一样的,单独的write[/]在插入空行后光标定位在空行的下面,在其它数据前加[/]在插入空行后光标定位于所插的空行。

abap基本语法汇总

abap基本语法汇总

一数据类型与对象在ABAP中,可以使用与标准数据声明相似得语法处理数据类型,而与数据对象无关。

在程序中必须声明要使用得全部数据对象。

声明过程中,必须给数据对象分配属性,其中最重要得属性就就是数据类型。

1、1 基本数据类型对算术运算得非整型结果(如分数)进行四舍五入,而不就是截断。

类型 P 数据允许在小数点后有数字。

有效大小可以就是从 1 到 16 字节得任何值。

将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字与符号。

在小数点后最多允许 14 个数字。

1、2 系统定义得数据对象1、3 确定数据对象得属性如果要查明数据对象得数据类型,或者要在程序得运行期间使用其属性,可使用DESCRIBE 语句。

语法如下:DESCRIBE FIELD <f> [LENGTH <l>] [TYPE <t> [COMPONENTS <n>]][OUTPUT-LENGTH <o>] [DECIMALS <d>][EDIT MASK <m>]、将由语句得参数指定得数据对象<f>得属性写入参数后得变量。

DESCRIBE FIELDS 语句具有下列参数:1、3、1 确定字段长度要确定数据对象得长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD <f> LENGTH <l>、系统读取字段<f>得长度,并将值写入字段<l>。

1、3、2确定数据类型要确定字段得数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD <f> TYPE <t> [COMPONENTS <n>]、系统读取字段<f>得数据类型,然后将值写入字段<t>。

abap 常用函数用法 -回复

abap 常用函数用法 -回复

abap 常用函数用法-回复标题:ABAP常用函数用法详解ABAP(Advanced Business Application Programming)是SAP公司开发的一种高级编程语言,广泛应用于企业资源规划(ERP)系统中。

在ABAP编程中,函数的使用是不可或缺的一部分。

本文将详细介绍一些ABAP常用函数的用法。

1. CONCATENATE函数CONCATENATE函数用于连接两个或更多的字符字段或变量。

其基本语法如下:CONCATENATE expression1 [ INTO target ] [ SEPARATED BY separator ].例如,我们想要连接两个字符串"Hello"和"World":DATA(str1) = 'Hello'.DATA(str2) = 'World'.DATA(result) = CONCATENATE str1 ' ' str2.在上述代码中,'result'的值将会是"Hello World"。

2. SUBSTRING函数SUBSTRING函数用于从字符串中提取一部分子字符串。

其基本语法如下:SUBSTRING string [ OFFSET offset ] [ LENGTH length ].例如,我们想要从字符串"Hello World"中提取"World":DATA(full_str) = 'Hello World'.DATA(sub_str) = SUBSTRING full_str OFFSET 6.在上述代码中,'sub_str'的值将会是"World"。

3. REPLACE函数REPLACE函数用于在字符串中替换某个子字符串。

ABAP基本语法和SQL语句(ABAP内表)

ABAP基本语法和SQL语句(ABAP内表)

Abap内表什么是内表:内表是内存中建立的一个临时表,你可以在程序运行时对表中的数据进行,插入,修改,删除等操作,程序跑完了,就会被释放。

--内表定义1内表有三种类型:标准表,哈希表,排序表(主要用标准表)。

2预定义的基本数据类型有:C(文本型数据)、N(数字型)、T(时间型)、X(十六进制)、D(日期型)、F(浮点型)、I(整数型)、P(压缩号)。

注意:在abap中要用data定义数据对象,也就是定义变量(内表也是一种变量)。

后面再用type或like来定义变量的类型,这里要要注意type和like的用法,一般能用like的地方都能用type。

当用type的不一定能用like。

因为type一般定义的预定义和自定义的类型,而like用于定义词典对象和已经存在的对象。

其中types直接定义的数据类型与结构,是没有分配内存空间的。

3内表定义三个步骤:1)定义类型2)参考类型定义结构、工作区域、变量3)参考类型定义内表定义类型:通过types开头定义TYPES: BEGIN OF line,field1 TYPE i,field2 TYPE i,END OF line.参考类型定义结构、工作区域、变量:定义结构通过data开头定义DA TA: WA _ITAB TYPE(LIKE) line. “ 声明一个内表工作区参考类型定义内表:定义内表通过data开头定义DA TA: ITAB TYPE(LIKE) line OCCURS 0. “ 声明一个无工作区的内表DA TA: ITAB TY PE(LIKE) STANDARD TABLE OF line INITIAL SIZE 0. “ 声明一个有工作区的内表DA TA: ITAB TYPE(LIKE) line OCCURS 0 WITH HEADER LINE.DA TA: ITAB TYPE(LIKE) STANDARD TABLE OF line INITIAL SIZE 0 WITH HEADER LINE.直接定义内表,这个内表是有工作区的DA TA: BEGIN OF ITAB OCCURS 0 ,CARR1 LIKE SPFLI-CARRID,CONN1 LIKE SPFLI-CONNID,END OF ITAB.[* DATA: ITAB1 TYPE ITAB.(错误的,定义出来的什么都不是)。

abap基本语法汇总

abap基本语法汇总

一数据类型和对象在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。

在程序中必须声明要使用的全部数据对象。

声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。

1.1 基本数据类型对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。

类型 P 数据允许在小数点后有数字。

有效大小可以是从 1 到 16 字节的任何值。

将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。

在小数点后最多允许14 个数字。

1.2 系统定义的数据对象1.3 确定数据对象的属性如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE 语句。

语法如下:DESCRIBE FIELD <f> [LENGTH <l>] [TYPE <t> [COMPONENTS <n>]][OUTPUT-LENGTH <o>] [DECIMALS <d>][EDIT MASK <m>].将由语句的参数指定的数据对象<f>的属性写入参数后的变量。

DESCRIBE FIELDS 语句具有下列参数:1.3.1 确定字段长度要确定数据对象的长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD <f> LENGTH <l>.系统读取字段<f>的长度,并将值写入字段<l>。

1.3.2确定数据类型要确定字段的数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD <f> TYPE <t> [COMPONENTS <n>].系统读取字段<f>的数据类型,然后将值写入字段<t>。

ABAP学习(1):基本语法介绍

ABAP学习(1):基本语法介绍

ABAP学习(1):基本语法介绍ABAP学习ABAP学习基本资料整理。

ABAP基本语法ABAP中不区分⼤⼩写,例如:Type 和type表⽰⼀个意思。

1基本数据类型ABAP基本数据类型:I : 整形数据;C:字符型数据;N:只包含数字的字符串;P:包装数据类型;F:浮点类型;D:⽇期类型;T:时间类型;X:⼗六进制数据。

F和P类型都保存浮点数,P的精度⽐F更⾼,⼀般使⽤P类型。

⽰例:"整型DATA:num1 type I."字符型DATA:num2(3) type C."数字字符型DATA:num3(4) type N."包装类型,decimals指定⼩数位数,只有P类型可⽤DATA:num4(10) type P DECIMALS 4."浮点型DATA:num5 type F."⽇期型DATA:num6 type D."时间型DATA:num7 type T."16进制型DATA:num8(10) type X."字符串DATA:num9 type string."C,N,X,P可以使⽤length定义长度DATA:num10 TYPE C LENGTH 14."赋值操作"move to 语句"MOVE 1333 TO num1.num1 = 1234567890.num2 = 'abc'.num3 = '0010'.num4 = '1.23456789'.num5 = '12.3456789'.num6 = sy-datum.num7 = sy-uzeit.num8 = 1234567890.write :/ 'num1=',num1,'num2=',num2,'num3=',num3,'num4=',num4,'num5=',num5,'num6=',num6,'num7=',num7,'num8=',num8."字符串转I,"不能有汉字,不能是科学计数法"num9 = '1.23300000E+2'.num9 = '12.33334'.num1 = num9.WRITE:/ 'num1',num1."字符串转Cnum9 = '中'.num2 = num9.WRITE:/ 'num2',num2."字符串转N,会将⼩数点去掉num9 = '22.33'.num3 = num9.WRITE:/ 'num3',num3."字符串转P,num9 = '12.3456'.num4 = num9.WRITE:/ 'num4',num4."字符串转F,会变成科学计数法显⽰num9 = '12.34567'.num5 = num9.WRITE:/ 'num5',num5."字符串转D,MMDDYYYY"输出:09302018num9 = '20180930'.num6 = num9.WRITE:/ 'num6',num6."字符串转T,hhmmssnum9 = '014423'.num7 = num9.WRITE:/ 'num7',num7."字符串转X,长度超过20位,截取前20字符num9 = '123456789012345678901234'.num8 = num9.WRITE:/ 'num8',num8."科学计数法转换DATA:str TYPE char25 VALUE '4.3999999999999997E-2'. DATA:m_str LIKE CHA_CLASS_DATA-SOLLWERT. DATA:c_str(16) TYPE C.DATA:c_num(16) TYPE P DECIMALS 3.MOVE str to m_str."科学计数法字符串转换成数字CALL FUNCTION'QSS0_FLTP_TO_CHAR_CONVERSION' EXPORTINGI_NUMBER_OF_DIGITS = 3I_FLTP_VALUE = m_strI_VALUE_NOT_INITIAL_FLAG = 'X'I_SCREEN_FIELDLENGTH = 16 IMPORTINGE_CHAR_FIELD = c_str.IF sy-subrc = 0.WRITE:/ c_str.c_num = c_str.WRITE:/ c_num.ENDIF."不⽤function转换,QSOLLWERTE作为中间数据"将科学计数法字符串转换为其他数据DATA:mid_str TYPE QSOLLWERTE.mid_str = str.c_num = mid_str.View Code2 type定义数据类型语法结构:Types :<类型名> type <数据类型>Types :<类型名> like <数据对象或数据类型>定义结构体Types: begin of <结构名>,<资料名> type <数据类型>,…………end of <结构名>.Data: begin of <结构名>,<资料名> type <数据类型>,…………end of <结构名>."******************************************************************"type定义数据类型"******************************************************************TYPES: length TYPE I.TYPES: str(20) TYPE C.TYPES: BEGIN OF person,Name(10) type C,Age type I,END OF person.3变量声明相关语法:data: <变量名> type <数据类型> [value <值>] 。

abap基础语法

abap基础语法

abap基础语法ABAP基础语法ABAP(Advanced Business Application Programming)是一种高级业务应用编程语言,主要用于SAP系统开发。

它由SAP公司开发并广泛应用于企业资源计划(ERP)系统中。

ABAP基础语法是学习ABAP编程的第一步,掌握基础语法对于编写高效、可维护的ABAP程序至关重要。

本文将介绍ABAP基础语法的一些重要概念和常用语句。

1. 数据类型在ABAP中,我们可以声明各种不同的数据类型,如整数型(INT)、字符型(CHAR)、浮点型(FLOAT)等。

声明变量时需要指定变量的数据类型,并可以为其赋初值。

2. 变量和常量ABAP中可以通过“DATA”关键字声明变量,并使用“CONSTANTS”关键字声明常量。

变量和常量用于存储和操作数据,在程序中起到关键的作用。

3. 运算符ABAP支持各种算术、比较和逻辑运算符,用于进行数值计算、条件判断和逻辑操作。

例如,加法运算符(+)、等于运算符(=)和逻辑与运算符(AND)等。

4. 控制语句ABAP提供了多种控制语句,用于根据条件执行不同的代码块。

常用的控制语句包括IF语句、CASE语句和LOOP语句等。

这些语句可以帮助我们实现程序的流程控制和逻辑判断。

5. 函数和方法ABAP中可以定义函数和方法,用于封装一段可重用的代码。

函数是一段独立的代码,可以接受输入参数并返回一个结果。

方法是与对象相关联的代码,可以访问对象的属性和方法。

6. 内部表内部表是ABAP中一种重要的数据结构,类似于其他编程语言中的数组或列表。

内部表用于存储一组有序的数据,并可以通过索引或关键字访问。

我们可以使用内部表来处理和操作数据。

7. 结构体ABAP中的结构体是一种复合数据类型,可以包含多个字段。

结构体用于组织和存储相关的数据,并可以通过字段名访问各个字段的值。

8. 类和对象ABAP是一种面向对象的编程语言,支持类和对象的概念。

SAP-ABAP语法整理

SAP-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 is initial,而应该写成DEAKT = ‟00000000‟ (8个0)。

odata abap 语法

odata abap 语法

odata abap 语法OData(Open Data Protocol)是一种数据协议,用于构建和使用RESTful API。

它定义了一种规范,允许应用程序通过HTTP协议以查询和操作数据的方式进行互操作。

ABAP(Advanced Business Application Programming)是一种用于SAP系统的编程语言。

在ABAP中,可以使用OData语法来构建RESTful API。

以下是OData在ABAP中的一些常见语法:1. URL路径:使用URL路径来指定要访问的资源。

例如,`/sap/opu/odata/sap/ZMY_ORDER_SERVICE`表示访问名为ZMY_ORDER_SERVICE的OData服务。

2. $select:使用$select选项来筛选要返回的属性。

例如,`?$select=OrderID,CustomerName`将只返回OrderID和CustomerName属性。

3. $filter:使用$filter选项来过滤数据。

例如,`?$filter=OrderID eq'A001'`将返回OrderID为'A001'的订单。

4. $expand:使用$expand选项来扩展相关实体。

例如,`?$expand=Customer`将返回订单及其关联的客户信息。

5. $orderby:使用$orderby选项对结果进行排序。

例如,`?$orderby=OrderDate desc`将按OrderDate降序排列订单。

6. $top和$skip:使用$top选项返回前n条结果,使用$skip选项跳过第n条结果。

例如,`?$top=5&$skip=10`将返回第11至15条结果。

这些是OData在ABAP中的一些常见语法,你可以根据具体的需求和OData规范来构建更复杂的查询和操作。

ABAP语法基础篇(3)——赋值

ABAP语法基础篇(3)——赋值

ABAP语法基础篇(3)——赋值三、赋值在 ABAP/4中,可以在声明语句和操作语句中给数据对象赋值。

在声明语句中,将初始值赋给声明的数据对象。

为此,可以在DATA 、常量或 STATICS 语句中使⽤ VALUE 参数。

要在操作语句中给数据对象赋值,可以使⽤:MOVE语句和WRITE TO语句,对应于赋值运算符=3.1⽤MOVE赋值3.1.1 基本赋值操作要将值(⽂字)或源字段的内容赋给⽬标字段,可以使⽤MOVE语句或赋值运算符=。

MOVE语句的语法如下所⽰:MOVE <f1> TO <f2>.MOVE语句将源字段<f1>的内容传送给⽬标字段<f2>。

<f1>可以是任何数据对象。

<f2>必须是变量,不能是⽂字或常量。

传送后,<f1>的内容保持不变。

赋值运算符=的语法如下所⽰:<f2> = <f1>.MOVE语句和赋值运算符功能相同。

3.1.2 ⽤指定偏移量赋值可以在每条 ABAP/4 语句中为基本数据类型指定偏移量和长度。

在这种情况下,MOVE语句语法如下:MOVE <f1>[+<o1>][(<l1>)] TO <f2>[+<o2>][(<l2>)].将字段<f1>从<o1>+1位置开始且长度为<l1>的段内容赋给字段<f2>,覆盖从<o2>+1位置开始且长度为<l2>的段。

在MOVE语句中,所有偏移量和长度指定都可为变量。

3.1.3 在字符串组件之间赋值描述的MOVE语句赋值⽅法适⽤于基本数据对象和结构化数据对象。

另外,还有⼀种MOVE语句变体,允许将源字段串组件内容复制到⽬标字段串组件中。

语法如下:MOVE-CORRESPONDING <string1> TO <string2>.该语句将字段串<string1>组件的内容赋给有相同名称的字段串<string2>组件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

abap 基本语法汇总数据类型和对象在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。

在程序中必须声明要使用的全部数据对象。

声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。

1.1基本数据类型对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。

类型P数据允许在小数点后有数字。

有效大小可以是从1到16字节的任何值。

将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。

在小数点后最多允许14个数字。

1.2系统定义的数据对象abap 基本语法汇总1.3确定数据对象的属性如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE语句。

语法如下:DESCRIBEELD <f> [LENGTHS〉] [TYPE <t> [COMPONENTS^][OUTPUT-LENGTH <o>] [DECIMALS <d>][EDIT MASK <m>].将由语句的参数指定的数据对象<f>的属性写入参数后的变量。

DESCRIBE FIELDS语句具有下列参数:1.3.1确定字段长度要确定数据对象的长度,利用DESCRIBFIELD语句使用LENGTH参数,如下所示:DESCRIBE FIELD <f> LENGTH <l>.系统读取字段<f>的长度,并将值写入字段<1>abap 基本语法汇总1.3.2 确定数据类型要确定字段的数据类型,利用DESCRIBE FIELD语句使用TYPE 参数,如下所示:DESCRIBE FIELD <f> TYPE <t> [COMPONENTS <n>].系统读取字段<f>的数据类型,然后将值写入字段<t>。

除返回预定义数据类型C、D、F、I 、N、P、T 和X 外,该语句还返回s 对于带前导符号的两字节整型b 对于无前导符号的一字节整型h 对于内表C 对于组件中没有嵌套结构的结构C 对于组件中至少有一个嵌套结构的结构1.3.3 确定输出长度要确定字段的输出长度,利用DESCRIBE FIELD语句使用OUTPUT-LENGTH数,如下所示:DESCRIBE FIELD <f> OUTPUT-LENGTH <o>.系统读取字段<f>的输出长度,并将值写入字段<0>。

1.3.4 确定小数位若要确定类型P字段的小数位的个数,利用DESCRIBE FIELD语句使用DECIMALS参数,如下所示:DESCRIBE FIELD <f> DECIMALS <d>.系统读取字段<f>的小数个数,并将值写入字段<d>。

1.3.5 确定转换例程要确定ABAP/4 词典中某字段的转换例程是否存在,如果存在,名称是什abap 基本语法汇总么,利用DESCRIBE FIELD语句使用EDIT MASK参数,女口下所示:DESCRIBE FIELD <f> EDIT MASK <m>.如果ABAP/4词典中字段<f>的转换例程存在,则系统将其写入字段<m>然后将系统字段SY-SUBRC中的返回代码设为0。

可以像下面所显示的那样,在WRITE语句中将字段<口>直接用作格式模板:WRITE <f> USING EDIT MASK <m>.如果字段<f>没有转换例程,则系统将返回代码设为4。

二数据输出到屏幕2.1 在屏幕上定位Write 输出通过制定字段名称前面的格式规范,可以在屏幕上定位WRITE 语句的输出:WRITE AT [/][<pos>][(<len>)] <f>.此处斜线‘ / '表示新的一行vpos>是最长为三位数字的数字或变量,表示在屏幕上的位置<len> 是最长为三位数字的数字或变量,表示输出长度如果格式规范只包含直接值 (即,不是变量),可以忽略关键字ATabap 基本语法汇总2.2格式化选项对WRITE语句,可以使用不同的格式化选项WRITE ….vf><选项>.(1) 所有数据类型的格式化选项:(2) 数字字段的格式化选项:(3) 日期字段的格式化选项:2.3输出符号和图标使用下列语法,可以在屏幕上输出符号和R/3 图标:abap 基本语法汇总WRITE <symbol-name> AS SYMBOL.WRITE <icon-name> AS ICON.符号和图标的名称(<符号名>和<图标名>)是定义系统的常量,这些常量在包含程序<SYMBO和<ICON(尖括号是名称的一部分)中指定。

这些包含程序也包含符号和图标的简短说明。

输出符号和图标最简单的方法是使用语句结构。

要使符号和图标对程序可用,必须在程序中输入恰当的包含程序或更易理解的包含程序<LIST>。

2.4 输出线和空行(1)水平线用下列语法,可以在输出屏幕上生成水平线:ULINE [AT [/][<pos>][(<len>)]].它等同于WRITE [AT [/][<pos>][(<len>)]] SY-ULINE.AT 后的格式规范,与在屏幕上定位WRITE 输出中为WRITE 语句说明的格式规范完全一样。

如果没有格式规范,系统则开始新的一行,并用水平线填充该行。

否则,只按指定输出水平线。

生成水平线的另一种方法,是在WRITE 语句中键入恰当数量的连字符,如下所示:WRITE [AT [/][<pos>][(<len>)]] ' ...'.(2)垂直线用下列语法,可以在输出屏幕上生成垂直线:WRITE [AT [/][<pos>]] SY-VLINE.或abap 基本语法汇总WRITE [AT [/][<pos>]] '|'.(3)空行用下列语法,可以在输出屏幕上生成空行:SKIP [<n>].该语句从当前行开始,在输出屏幕上生成<n>个空行。

如果没有指定<n>的值,就输出一个空行。

(4)要将输出定位在屏幕的指定行上,使用:SKIP TO LINE <n>.该语句允许将输出位置向上或向下移动。

2.5 将字段内容作为复选框输出使用下列语法,可以将字段的第一个字符,作为复选框输出到输出屏幕上:WRITE <f> AS CHECKBOX.如果字段<f>的第一个字符是一个“ X”,就显示复选框已填充。

如果字段<f>的第一个字符是SPACE就显示复选框为空。

该语句创建的复选框,默认状态是可输入的。

就是说,用户可以通过单击鼠标来填充它们或使其为空。

三赋值在ABAP/4 中,可以在声明语句和操作语句中给数据对象赋值。

在声明语句中,将初始值赋给声明的数据对象。

为此,可以在DATA、常量或STATICS 语句中使用VALUE 参数。

要在操作语句中给数据对象赋值,可以使用:MOVE语句和WRITE TO语句,对应于赋值运算符(=)3.1用MOVE赋值abap 基本语法汇总3.1.1 基本赋值操作要将值(文字)或源字段的内容赋给目标字段,可以使用MOVE 语句或赋值运算符(=)。

MOVE语句的语法如下所示:MOVE <f1> TO <f2>.MOVE语句将源字段<f1>的内容传送给目标字段<f2>。

<f1>可以是任何数据对象。

<f2>必须是变量,不能是文字或常量。

传送后,<f1>的内容保持不变。

赋值运算符(=)的语法如下所示:<f2> = <f1>.MOVE语句和赋值运算符功能相同。

3.1.2 用指定偏移量赋值可以在每条ABAP/4 语句中为基本数据类型指定偏移量和长度。

在这种情况下,MOV语句语法如下:MOVE <f1>[+<o1>][(<l1>)] TO <f2>[+<o2>][(<l2>)].将字段<f1>从<o1>+1位置开始且长度为<11>的段内容赋给字段<f2>,覆盖从<02>+1位置开始且长度为<12>的段。

在MOVE 语句中,所有偏移量和长度指定都可为变量。

3.1.3 在字符串组件之间赋值描述的MOVE语句赋值方法适用于基本数据对象和结构化数据对象。

另外,还有一种MOVE语句变体,允许将源字段串组件内容复制到目标字段串组件中。

语法如下:MOVE-CORRESPONDING <string1> TO <string2>.该语句将字段串<string1> 组件的内容赋给有相同名称的字段串abap 基本语法汇总<string2> 组件。

对于每对名称,系统都执行MOVE语句,如下所示:MOVE STRING1-<component> TO STRING2-<component>.系统分别执行所有必要类型转换。

该处理不同于包括整个字段串的赋值。

在这种情况下,应用不兼容的字段串和基本字段所述的转换规则。

3.2 用WRITE TO赋值要将值(文字)或源字段内容写入目标字段,可以使用WRITETO 语句:WRITE <f1> TO <f2> [<option>].WRITE TO语句将源字段<f1>内容写入目标字段<f2>。

<f1>可以是任何数据对象,<f2>必须是变量,不能是文字或常量。

写入后,<f1> 内容保持不变。

对于<option> ,可以使用WRITE 语句的所有格式化选项(UNDER 和NO-GAP除外)。

WRITE TO语句总是检查用户主记录中的设置。

例如,这些设置指定是将小数点显示为句号(.),还是逗号(,)。

WRITE TO语句并不遵循类型转换中所述的转换规则。

目标字段解释为类型C 字段。

系统总是将源字段内容转换为类型C,它不将结果字符串转换为目标字段的数据类型,而直接写入目标字段。

因此,不应使用数值数据类型的目标字段。

3.2.1 运行时指定源字段可以使用WRITETO 语句在运行时指定源段。

为此,需用括号将包含源字段名的数据对象名括起来,并将其放在源字段位置:WRITE (<f>) TO <g>.系统将赋给Vf>的数据对象值放到<g>中。

然而,如果要在运行时指定目标字段,则必须按使用字段符号中所述,使用字段符号。

abap 基本语法汇总3.2.2 用指定偏移量写入值可以指定每条ABAP/4 语句中基本数据对象的偏移量和长度。

相关文档
最新文档