ABAP基础知识 上网的原理

基础类型

.P

声明: TYPES mount TYPE p length 5DECIMALS 2.

又称为压缩类型.

值范围1~15整型数字(除去最后的符号位).

若在没有定义长度的情况下,默认为最大长度,即15.

点号不算在表示位数内,但表示位数过长的情况下,点号会自动消除,如:12,345; 1234567,890,123

小数点可表示最大位数14.小数点部分按四舍五入法取值.

.DEC

DEC(13,2) 长度为13,其中2位小数位.

金额类型.

与类型P的转换公式为:P((n+1)/2)即DEC(13,2) = P(7)

※注意DEC(14,2) = P(8) / DEC(15,2) = P(8)

与之相关的常用的domain有DEC13(13位的小数点项目)

DECV13(13位的小数点项目(正负))

DEC15(15位的小数点项目)

DECV15(15位的小数点项目(正负))

金额加算等需要注意溢出(CX_SY_ARITHMETIC_OVERFLOW)

.F

浮动小数点数

可表示值范围1~31.如:1000000 ⇒ 1.0000000000000000E+06

用WRITE中的EXPONENT属性可以设定变量的指数,

如: f = 1000000. WRITE f EXPONENT2.⇒10000.000000000000E+02

演算符

+加算

-减算

*乘算

/除算

DIV整除

MOD取模

**乘方

Ø负数取模(MOD)

例: 1 MOD 5 ⇒125 MOD 7 ⇒4

1 MOD -5 ⇒125 MOD -7 ⇒4

-1 MOD 5 ⇒4-25 MOD 7 ⇒3

-1 MOD -5 ⇒4-25 MOD -7⇒3

从上例可以得出以下的结论

①取模结果只与除数符号有关,与被除数的符号无关

②所谓的取模即为两数相除后得到的余数,所以取模结果为几的关键是相除后的商是多少.

上例可以看出取模运算的商是两数可除尽的最小整数值.如:25/7⇒3(余4) -25/7⇒-4(余3)

※可除尽的最小整数值的符号与除数符号一致(-25/-7⇒-4(余3))

③取模结果一般都为正数(取模结果 = | |商 * 被除数| - |除数| |)

④ABAP的取模结果不代表数学上的取模结果,根据编译器的不同, 取模结果也可能不同

常用函数

5.55-(P)

abs(n)绝对值5.55

sign(n)符号值1.00-

ceil(n)>n的整数最小值5.00-

floor(n)<n的整数最大值6.00-

trunc(n)取整数部5.00-

frac(n)取小数部0.55-

strlen(str) 取文字列个数(unicode对应)

lines(arg)取内表的行数

逻辑运算符

Ø数值型(I 型、F 型、P 型)

= EQ

<>NE

<LT

>GT

<=LE

>=GE

Ø文字型(C、D、N、T、STRING)

例:f1 逻辑式f2

ABAP基础知识 上网的原理

含义大小写区分右侧的空格处理

CO全包含(f1 ⊆ f2)区分处理

CNCO的相反区分处理

CA至少包含一个文字(f1 ⊇ f2)区分无视

NACA的相反区分无视

CS包含(f1 ⊇ f2)不区分无视

NSCS的相反不区分无视

CP与正规表达式匹配(f1 ⊆ f2)不区分无视

NPCP的相反不区分无视

※1.CO中要注意f1的右侧空格是作为一个文字来进行处理的,看下面的代码

DATA: str1(10) TYPE c VALUE 'abc',

str2(10) TYPE c VALUE 'abcdefghij'.

if str1 cp str2.

write '●'.

else.

write '×'.

endif.

运行结果为'×',原因就在于str1的右侧还包含了7个space,而str2中没有space字符。

2. CP中可以使用正则表达式,*,+,转意符#

数据处理

Ø日期,时间处理

例:

²取上个月的最后一天的日期

ultimo= sy-datum.

ultimo+6(2) = '01'.

ultimo= ultimo - 1.

²取相隔时间差

DATA: t1 TYPE t VALUE'200000',

t2 TYPE t VALUE '020000'.

diff = t2 - t1.

seconds = diff MOD 86400.

hours = seconds / 3600.

Ø字符串处理

²SHIFT

根据指定文字数向左向右移动,根据指定子字符串的值向左向右移动,删除指定子字符串的值等

²REPLACE

对字符串进行置换

²TRANSLATE

对字符串大小写转换及一些简单置换

²OVERLAY

将第一个字符串内容置换成相同位置的第二个字符串的内容

²Strlen()

计算字符串的长度(字符串的右space不算在字符串长度内)

²CONDENSE

去除space

²CONCATENATE

字符串连接

²SPLIT

字符串分割

²+OFFSET(LENGTH)

取子字符串

内表

ØSTANDARD TABLE

标准内表,通过索引对表进行访问,所属index table

ØSORTED TABLE

所属index table。有索引。

可以设置主键,也可不设。

设置主键后,在行插入(insert)时,可根据主键自动排序。

(但在行追加(append)时,如果追加行的主键值大于内表中最后一条记录的主键值时,会有执行错误发生)

另外,在行检索(read itab fromstru)时,可以根据stru中的主键值(主键值以外的项目值被无视)进行检索。

关于主键唯一性的设置 NON-UNIQUE:主键值不唯一/UNIQUE:主键唯一

ØHASHED TABLE

哈希内表。

无索引。所以所有关于使用index操作表的语句都不可使用。

必须设置主键。

内表操作

Ø行追加/插入

APPEND 单一/复数行追加。一般用于STANDARD TABLE的行追加。

INSERT单一/复数行插入。一般用于SORTED TABLE的行插入。行插入时能根据主键自动按升序排列

COLLECT单一行插入,若内表中已有相同主键的纪录,使主键以外的数值型项目相加后,合并。(所以要求COLLECT的操作对象内表中,除主键以外的项目必须是数值类型(i,p,f))。一般用于定义有主键的SORTED TABLE和HASHED TABLE的数值求和等

Ø行更新

MODIFY单一/复数行内容更新。更新语句一般有下述两种:

1. Modify table itab from wa

根据wa的主键值进行检索,更新。

所以不建议无主键的内表使用,如STANDARD TABLE。即便使用了,更新的内容也非预期所想的。一般情况下更新内表中的第一条数据。

更新时,若检索主键值存在的情况下,根据检索主键更新。若主键值不存在,则不进行更新,结果返回4

2. Modify itab index sy-tabix fromwa

根据索引进行检索,更新。

HASHED TABLE因为没有索引,该语句不允许被使用。

SORTED TABLE虽然允许使用,但如果被更新纪录的主键已被修改的情况下

会发生执行错误。建议使用1.

在STANDARD TABLE中会无条件更新,当然前提是该索引存在的情况下。但

即使索引不存在,也不会发生指针溢出的情况。

Ø行删除

DELETE单一/复数行删除。

与MODIFY相似,可根据主键值以及索引进行删除。

可多条件删除,如:DELETE TABLE itab: FROMline,

WITH TABLE KEY col1 = 3.

在使用重复值删除(ADJACENT DUPLICATESFROM)的时候要注意,重复值指的是相临的几条数据之间的重复值比较,而非整个内表中的所有记录。所以在使用重复值删除时,最好先根据比较key排一下序。

Ø表访问

READ表读取。读取内表中符合检索条件的第一条记录。

LOOP AT循环读取表纪录。

at new compN/at end ofcompN

含义:

-at new compN:在项目comp1~compN值变化的第一条数据时执行

-at end of compN:在项目comp1~compN拥有相同值的最后一条记录

时执行

要注意一下几点:

1. 关于语句at new compN,不是单单compN值变化时执行的,而是到compN

之前的任何一个项目的值发生变化时都会执行。

2.在at new compN~endat中,有时候不能正常的读取循环领域的值(*)。

3.关于GROUP求和(SUM). SUM一般在at end of compN/atlast中被使

用。求和结果放在循环领域的同名项目中。SUM求和比较复杂,也不易操作,如同一内表需要对不同的GROUP进行求和的场合,由于1.的原因需要创建与该内表项目名相同但次序不同的多个结构。建议使用COLLECT。

Ø排序等

SORT按key值升/降排序

STABLE不破坏原有的顺序,在原有的顺序基础上排序

  

爱华网本文地址 » http://www.aihuau.com/a/25101010/19389.html

更多阅读

茶叶基础知识1 茶叶的基础知识

中国人民素来爱茶,茶的基础知识已经深入日常生活,小编班门弄斧,整一整说一说茶的基本知识。1、茶叶的划分茶叶的分类方法有很多种,我们中国主要的分类方法是按照色泽、加工工艺以及发酵程度来分。按照茶叶的色泽、加工工艺可以将茶

色彩基础知识 美术色彩基础知识调色

第二章?色彩色彩概述1.色彩基础知识色彩的概念光从物体反射到人的眼睛所引起的一种视觉心理感受。色彩按字面含义上理解可分为色和彩,所谓色是指人对进入眼睛的光并传至大脑时所产生的感觉;彩则指多色的意思,是人对光变化的理解

词的基础知识以及如何填词一 诗词基础知识

词的基础知识以及如何填词大家好,今天借我们学会安排的这么一个机会,我想同大家主要探讨和学习一下四个方面的问题:,一,什么是词;二,词的形成和发展过程;三,同大家一道欣赏几首经典的词作;四,同大家探讨如何填词。一.什么是词首先,我

工笔画的基础知识 国画兴趣入门64全集 国画入门教学视频全集

收集一套(国画)工笔画的基础知识,供喜爱绘画的博友参考墨为五色之主,然须以白配之,则明。老子曰:“知白守黑,知雄守弱。”画事以笔取气,以墨取韵,以焦、积、破取厚重。此意,北宋米襄阳已知之矣。“知白守黑”理论最先是由老子提出,他的初衷也许

声明:《ABAP基础知识 上网的原理》为网友我是悍将分享!如侵犯到您的合法权益请联系我们删除