搜档网
当前位置:搜档网 › abap基本语法汇总

abap基本语法汇总

abap基本语法汇总
abap基本语法汇总

一数据类型和对象

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

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

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

类型 P 数据允许在小数点后有数字。有效大小可以是从 1 到 16 字节的任何值。将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。在小数点后最多允许14 个数字。

1.3 确定数据对象的属性

如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE 语句。语法如下:

DESCRIBE FIELD [LENGTH ] [TYPE [COMPONENTS ]]

[OUTPUT-LENGTH ] [DECIMALS ]

[EDIT MASK ].

将由语句的参数指定的数据对象的属性写入参数后的变量。

1.3.1 确定字段长度

要确定数据对象的长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD LENGTH .

系统读取字段的长度,并将值写入字段

1.3.2确定数据类型

要确定字段的数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD TYPE [COMPONENTS ].

系统读取字段的数据类型,然后将值写入字段

除返回预定义数据类型 C、D、F、I、N、P、T 和 X 外,该语句还返回

2 s 对于带前导符号的两字节整型

2 b 对于无前导符号的一字节整型

2 h 对于内表

2 C 对于组件中没有嵌套结构的结构

2 C 对于组件中至少有一个嵌套结构的结构

1.3.3确定输出长度

要确定字段的输出长度,利用 DESCRIBE FIELD 语句使用 OUTPUT-LENGTH 参数,如下

所示:

DESCRIBE FIELD OUTPUT-LENGTH .

系统读取字段的输出长度,并将值写入字段

1.3.4确定小数位

若要确定类型P字段的小数位的个数,利用 DESCRIBE FIELD语句使用 DECIMALS参数,如下所示:

DESCRIBE FIELD DECIMALS .

系统读取字段的小数个数,并将值写入字段

1.3.5 确定转换例程

要确定 ABAP/4 词典中某字段的转换例程是否存在,如果存在,名称是什么,利用DESCRIBE FIELD 语句使用 EDIT MASK 参数,如下所示:

DESCRIBE FIELD EDIT MASK .

如果 ABAP/4 词典中字段的转换例程存在,则系统将其写入字段,然后将系统字段 SY-SUBRC 中的返回代码设为 0。

可以像下面所显示的那样,在 WRITE 语句中将字段直接用作格式模板:

WRITE USING EDIT MASK .

如果字段没有转换例程,则系统将返回代码设为 4。

二数据输出到屏幕

2.1 在屏幕上定位Write输出

通过制定字段名称前面的格式规范,可以在屏幕上定位 WRITE 语句的输出:

WRITE AT [/][][()] .

此处

3 斜线‘/’表示新的一行

3 是最长为三位数字的数字或变量,表示在屏幕上的位置

3 是最长为三位数字的数字或变量,表示输出长度

如果格式规范只包含直接值(即,不是变量),可以忽略关键字 AT。

2.2 格式化选项

对 WRITE 语句,可以使用不同的格式化选项。

WRITE ....<选项>.

(1)所有数据类型的格式化选项:

(3)日期字段的格式化选项:

2.3输出符号和图标

使用下列语法,可以在屏幕上输出符号和 R/3 图标:

WRITE AS SYMBOL.

WRITE AS ICON.

符号和图标的名称(<符号名>和<图标名>)是定义系统的常量,这些常量在包含程序(尖括号是名称的一部分)中指定。这些包含程序也包含符号和图标的简短说明。输出符号和图标最简单的方法是使用语句结构。

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

2.4 输出线和空行

(1)水平线

用下列语法,可以在输出屏幕上生成水平线:

ULINE [AT [/][][()]].

它等同于

WRITE [AT [/][][()]] SY-ULINE.

AT 后的格式规范,与在屏幕上定位 WRITE 输出中为 WRITE 语句说明的格式规范完全一样。如果没有格式规范,系统则开始新的一行,并用水平线填充该行。否则,只按指定输出水平线。

生成水平线的另一种方法,是在 WRITE 语句中键入恰当数量的连字符,如下所示:WRITE [AT [/][][()]] '-----...'.

(2)垂直线

用下列语法,可以在输出屏幕上生成垂直线:

WRITE [AT [/][]] SY-VLINE.

WRITE [AT [/][]] '|'.

(3)空行

用下列语法,可以在输出屏幕上生成空行:

SKIP [].

该语句从当前行开始,在输出屏幕上生成个空行。如果没有指定的值,就输出一个空行。

(4)要将输出定位在屏幕的指定行上,使用:

SKIP TO LINE .

该语句允许将输出位置向上或向下移动。

2.5 将字段内容作为复选框输出

使用下列语法,可以将字段的第一个字符,作为复选框输出到输出屏幕上:

WRITE AS CHECKBOX.

如果字段的第一个字符是一个“ X”,就显示复选框已填充。如果字段的第一个字符是 SPACE,就显示复选框为空。

该语句创建的复选框,默认状态是可输入的。就是说,用户可以通过单击鼠标来填充它们或使其为空。

三赋值

在 ABAP/4 中,可以在声明语句和操作语句中给数据对象赋值。在声明语句中,将初始值赋给声明的数据对象。为此,可以在 DATA、常量或 STATICS 语句中使用 VALUE 参数。

要在操作语句中给数据对象赋值,可以使用:

6 MOVE 语句和 WRITE TO 语句,对应于赋值运算符(=)

3.1用MOVE 赋值

3.1.1 基本赋值操作

要将值(文字)或源字段的内容赋给目标字段,可以使用 MOVE语句或赋值运算符(=)。

MOVE 语句的语法如下所示:

MOVE TO .

MOVE 语句将源字段的内容传送给目标字段可以是任何数据对象。必须是变量,不能是文字或常量。传送后,的内容保持不变。

赋值运算符(=)的语法如下所示:

= .

MOVE 语句和赋值运算符功能相同。

3.1.2 用指定偏移量赋值

可以在每条 ABAP/4 语句中为基本数据类型指定偏移量和长度。在这种情况下,MOVE 语句语法如下:

MOVE [+][()] TO [+][()].

将字段+1 位置开始且长度为的段内容赋给字段,覆盖从+1 位置开始且长度为的段。

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

3.1.3 在字符串组件之间赋值

描述的 MOVE 语句赋值方法适用于基本数据对象和结构化数据对象。另外,还有一种MOVE 语句变体,允许将源字段串组件内容复制到目标字段串组件中。语法如下:MOVE-CORRESPONDING TO .

该语句将字段串组件的内容赋给有相同名称的字段串组件。

对于每对名称,系统都执行 MOVE 语句,如下所示:

MOVE STRING1- TO STRING2-.

系统分别执行所有必要类型转换。该处理不同于包括整个字段串的赋值。在这种情况下,应用不兼容的字段串和基本字段所述的转换规则。

3.2 用WRITE TO 赋值

要将值(文字)或源字段内容写入目标字段,可以使用 WRITE TO 语句:

WRITE TO [

WRITE TO 语句将源字段内容写入目标字段可以是任何数据对象,必须是变量,不能是文字或常量。写入后,内容保持不变。

对于

WRITE TO 语句总是检查用户主记录中的设置。例如,这些设置指定是将小数点显示为句号(.),还是逗号(,)。

WRITE TO 语句并不遵循类型转换中所述的转换规则。目标字段解释为类型 C 字段。系统总是将源字段内容转换为类型 C,它不将结果字符串转换为目标字段的数据类型,而直接写入目标字段。因此,不应使用数值数据类型的目标字段。

3.2.1 运行时指定源字段

可以使用 WRITE TO 语句在运行时指定源段。为此,需用括号将包含源字段名的数据对象名括起来,并将其放在源字段位置:

WRITE () TO .

系统将赋给的数据对象值放到中。

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

3.2.2用指定偏移量写入值

可以指定每条 ABAP/4 语句中基本数据对象的偏移量和长度。WRITE TO 语句语法如下:WRITE [+][()] TO [+][()].

将字段中从+1 位置开始且长度为的内容赋给字段,覆盖从+1 位置开始且长度为的段。

在 WRITE TO 语句中,目标字段的偏移量和长度指定可为变量。

四数值运算

要处理数值数据对象并将结果值赋给数据对象,可以用 COMPUTE 语句或赋值运算符(=)。COMPUTE 语句语法如下所示:

COMPUTE = .

关键字 COMPUTE 可选。

4.1 基本算术运算

ABAP/4 支持四种基本算术运算,同时还支持乘方计算。可以用数学表达式指定以下算

术运算符:

可以用关键字 ADD、SUBTRACT、 MULTIPLY和 DIVIDE进行基本算术运算,而不使用数学表达式中的运算符。

4.2 字符串的算术运算

类似于用 MOVE-CORRESPONDING 语句在字段串之间复制值,可以用以下关键字,执行字段串的算术运算:

8 ADD-CORRESPONDING

8 SUBTRACT-CORRESPONDING

8 MULTIPLY-CORRESPONDING

8 DIVIDE-CORRESPONDING

对于所有同名字段串组件,ABAP/4 进行相应算术运算。然而,仅当所有相关组件都是数值型数据类型时,该运算才有意义。

4.2.1 添加字段顺序

除基本算术运算中所述的基本加法之外,ADD 语句有几个变体,用于添加字段顺序。例如,添加字段顺序并将结果赋给另一个字段:

ADD THEN UNTIL GIVING .

如果、 ... 、是在内存中相同类型和长度的等距字段序列,则进行求和计算并将结果赋给

添加字段顺序并将结果添加到另一个字段内容中:

ADD THEN UNTIL TO .

该语句除了将字段总和添加到的旧内容中之外,与上面语句的工作方式相同。

4.3 数学函数

以下内部函数使用所有三种数值数据类型(F、 I 和 P)作为参数。

4.4 浮点函数

以下内部函数用浮点数据类型(F)作为参数。

对于所有函数,正常数学约束适用。否则,会产生运行错误。

五字符串

5.1 移动字符串

5.1.1 按给定位置数移动字符串

要按给定位置数移动字段内容,使用 SHIFT 语句,用法如下:

SHIFT [BY PLACES] [].

该语句将字段移动个位置。如果省略 BY PLACES,则将解释为一个位置。如果是 0 或负值,则保持不变。如果超过长度,则用空格填充。可为变量。

对不同()选项,可以按以下方式移动字段

LEFT: 向左移动位置,右边用个空格填充(默认设置)。

RIGHT: 向右移动位置,左边用个空格填充。

CIRCULAR:向左移动位置,以便左边个字符出现在右边。

5.1.2移动字符串到给定串位置

要移动字段内容以到给定串位置,则使用 SHIFT 语句,用法如下:

SHIFT UP TO .

ABAP/4 查找字段内容直到找到字符串并将字段移动到字段边缘。选项与按给定位置数移动字符串中所述相同。可为变量。

如果中找不到,则将 SY-SUBRC 设置为 4 并且不移动。否则,将 SY-SUBRC 设置为0。

5.1.3 根据第一个或最后一个字符移动字符串

假设第一个或最后一个字符符合一定条件,则可用 SHIFT 语句将字段向左或向右移动。为此,请使用以下语法:

SHIFT LEFT DELETING LEADING .

SHIFT RIGHT DELETING TRAILING .

假设左边的第一个字符或右边的最后一个字符出现在中,该语句将字段向左或向右移动。字段右边或左边用空格填充,可为变量。

5.2 替换字段内容

要用其它字符串替换字段串的某些部分,使用 REPLACE 语句。

REPLACE WITH INTO [LENGTH ].

ABAP/4 搜索字段中模式个位置第一次出现的地方。如果未指定长度,按全长度搜索模式。然后,语句将模式在字段中第一次出现的位置用字符串替换。

如果指定长度,则只替换模式的相关部分。如果将系统字段 SY-SUBRC 的返回代码设置为0,则说明在中找到且已用替换。非 0 的返回代码值意味着未替换。可为变量。

5.3 大小写转换并替换字符串

可以将字母转换大/小写或使用替换规则。要转换大/小写,使用 TRANSLATE 语句,用法如下:

TRANSLATE TO UPPER CASE.

TRANSLATE TO LOWER CASE.

这些语句将字段中的所有小写字母转换成大写或反之。

使用替换规则时,使用以下语法:

TRANSLATE USING .

该语句根据字段中存储的替换规则替换字段的所有字符。包含成对字母,其中每对的第一个字母用第二个字母替换。可为变量。

5.4 转换为可排序格式

可以将字符字段转换为可按字母顺序排列的格式:

CONVERT TEXT INTO SORTABLE CODE .

该语句为字符字段填充可排序目标字段。字段必须是类型 C且字段必须是类型 X ,最小长度为长度的16倍。

该语句目的是为字符字段创建相关字段,作为的按字母顺序排列的排序关键字。在内表的内容和已解压缩的数据中进行排序。

如果对未转换的字符字段进行排序,则系统创建与各字母的特定平台内部编码相对应的顺序。在对目标字段进行排序之后,转换 CONVERT TEXT 按这样的方式创建目标字段,相应的字符字段顺序按字母排序。例如,在德语中,顺序为‘ Miller、 Moller、 Mller、 Muller’,而不是‘ Miller、 Moller、 Muller、 Mller’。

转换方法依赖于运行 ABAP/4 程序的文本环境。文本环境在用户主记录中定义。例外的是可以使用如下语句,在程序中设置文本环境:

SET LOCALE LANGUAGE [COUNTRY ] [MODIFIER ].

该语句根据语言设置文本环境。对于选项 COUNTRY,只要特定国家语言不同,就可以在语言以外指定国家。对于选项 MODIFIER,只要一个国家内语言不同,就可以指定另一个标识符,例如,排序顺序在电话簿和词典之间不同。

字段必须是类型 C 且长度必须与表 TCP0C 的关键字段长度相等。表TCP0C 是一个表格,从中进行平台相关的文本环境维护。在语句 SET LOCALE 期间,系统根据 TCP0C中的条目设置文本环境。除了内部传送的平台特性之外,用 SET 语句指定表关键字。如果等于 SPACE ,则系统根据用户主记录设置文本环境。如果对于指定的关键字在表中无条目,则系统将产生运行错误。

文本环境影响 ABAP/4 中依赖于字符集的所有操作。

5.5 覆盖字符字段

要用另一字符字段覆盖字符字段,使用 OVERLAY 语句,用法如下:

OVERLAY WITH [ONLY ].

该语句用的内容覆盖字段中包含中字母的所有位置。保持不变。如果省略 ONLY ,则覆盖字段中所有包含空格的位置。

如果至少要替换中的一个字符,则将 SY-SUBRC 设置为 0。对于所有其它情况,将SY-SUBRC 设置为 4。如果长,则只覆盖中的长度。

5.6 搜索字符串

要搜索特定模式的字符串,请使用 SEARCH 语句,用法如下:

SEARCH FOR .

该语句在字段中搜索中的字符串。如果成功,则将 SY-SUBRC 的返回代码值设

置为0并将 SY-FDPOS 设置为字段中该字符串的偏移量。否则将 SY-SUBRC 设置为4。

搜索串可为下列格式之一:

单词之间用空格、逗号、句号、分号、冒号、问号、叹号、括号、斜杠、加号和等号等分隔。

搜索字符字段的各种选项()如下

(1)ABBREVIATED

在字段中搜索包含中指定字符串的单词,其中字符可能被其它字符隔开。单词和字符串的第一个字母必须相同。

(2)STARTING AT

在字段中搜索从开始的。结果 SY-FDPOS 参照相对于的偏移量而不是字段的开始。

(3)ENDING AT

在字段搜索直到位置

(4)AND MARK

如果找到搜索串,则将搜索串中的所有字符(和使用 ABBREVIATED 时的所有字符)转换为大写形式。

5.7 获得字符串长度

要决定字符串到最后一个字符而不是 SPACE 的长度,使用内部函数 STRLEN,用法如下: [COMPUTE] = STRLEN( ).

STRLEN 将操作数作为字符数据类型处理,而不考虑其实际类型。不进行转换。关键字 COMPUTE 可选。

5.8 压缩字符串去空格

要删除字符字段中多余空格,使用 CONDENSE 语句,用法如下:

CONDENSE [NO-GAPS].

该语句去除字段中的前导空格并用一个空格替换其它空格序列。结果是左对齐单词,每个单词用空格隔开。如果指定附加的 NO-GAPS,则去除所有空格。

5.9 连接字符串

要将单个字符串连接成一体,使用 CONCATENATE 语句,用法如下:

CONCATENATE ... INTO [SEPARATED BY ].

该语句连接字符串并将结果赋给

该操作忽略尾部空格。附加 SEPARATED BY 允许指定字符字段,它放置在单个字段间已定义的长度中。

如果结果符合,则将 SY-SUBRC 设置为0。然而,如果结果必须被截断,则将SY-SUBRC设置为4。

5.10 拆分字符串

要将字符串拆分成两个或更多小串,使用 SPLIT 语句,用法如下:

SPLIT AT INTO ... .

该语句在字符字段搜索分界字符串,并将分界符之前和之后的部分放到目标字段 ... 中。

要将所有部分放到不同目标字段中,必须指定足够目标字段。否则,用字段的剩余部分填充最后目标字段并包含分界符。

如果所有目标字段足够长且不必截断任何部分,则将 SY-SUBRC 设置为0。否则,将其设置为4。

5.11 分配字符串部分

MOVE 语句的以下变体只使用类型 C 字段:

MOVE TO PERCENTAGE

[RIGHT].

将左对齐的字符字段的百分比

(或如果用 RIGHT选项指定,则为右对齐)复制到

值可为 0 和 100 之间的任何数。将要从复制的长度取整为下一个整数。

如果语句中某一参数不是类型 C,则忽略参数 PERCENTAGE。

六逻辑流控制

6.1 比较运算符

操作数可以是数据库字段、内部字段、文字或常数。

除基本字段外,还可以将结构数据类型和上表中的运算符结合起来作为操作数。字段串逐个组件进行比较,嵌套的结构分为基本的字段。

如果有意义,可以对不同数据类型的字段进行比较。如果字段可转换,就可以进行比较。在比较之前,系统将按照下列层次规则执行自动类型转换:

(1)如果操作数之一是浮点数(类型 F),则系统将其它操作数转换为类型 F。

(2)如果操作数之一是压缩字段(类型 P),则系统将其它操作数转换为类型 P。

(3)如果操作数之一是日期字段(类型 D)或时间字段(类型 T),则系统将其它操作数转换为类型 D 或 T。不支持日期和时间字段之间的比较,这会导致程序中断。

(4)如果操作数之一是字符字段(类型 C)且其它操作数是十六进制字段(类型 X),则系统将类型 X 的操作数转换为类型 C。

(5)如果操作数之一是字符字段(类型 C),其它操作数为数字字段(类型 N),则系统将这两种操作数都转换为类型 P。

6.2 比较字符串和数字串

因为除类型 N 和 C 外,系统不能执行任何其它类型转换,所以,在进行包含这些运算之一的比较时,操作数应该是类型 N 或 C。

运算符的功能如下:

(1)CO (仅包含)

如果仅包含中的字符,则逻辑表达式 CO 为真。该比较区分大小写,并包括尾部空格。如果比较结果为真,则系统字段 SY-FDPOS 包括的长度。如果为假,则 SY-FDPOS 包含中第一个未在内出现的字符的偏移量。

(2)CN (不仅包含 )

如果还包含之外的其他字符,则逻辑表达式 CN 为真。该比较区分大小写,并包括尾部空格。如果比较结果为真,则系统字段 SY-FDPOS 包含中第一个未同时在中出现的字符的偏移量。如果为假,SY-FDPOS 包含的长度。

(3)CA (包含任何 )

如果至少包含的一个字符,则逻辑表达式 CA 为真。该比较区分大小写。如果比较结果为真,则系统字段 SY-FDPOS 包含中第一个也在中出现的字符的偏移量。如果为假,SY-FDPOS 包含的长度。

(4)NA (不包含任何)

如果不包含的任何字符,则逻辑表达式 NA 为真。该比较区分大小写。如果比较结果为真,则系统字段 SY-FDPOS 包含的长度。如果为假,则 SY-FDPOS 包含中在内出现的第一个字符的偏移量。

(5)CS (包含字符串)

如果包含字符串,则逻辑表达式 CS 为真。忽略尾部空格并且比较不区分大小写。如果比较结果为真,则系统字段 SY-FDPOS 包含中的偏移量。如果为假,SY-FDPOS 包含的长度。

(6)NS (不包含字符串)

如果不包含字符串,则逻辑表达式 NS 为真。忽略尾部空格且比较不区分大小写。如果比较为真,系统字段 SY-FDPOS 包含的长度。如果为假,系统字段SY-FDPOS 包含中的偏移量。

(7)CP (包含模式 )

如果包含模式,则逻辑表达式 CP 为真。如果属于类型 C,则可以在中使用下列通配符:

15 * 用于任何字符串

15 + 用于任何单个字符

忽略尾部空格且比较不区分大小写。如果比较结果为真,系统字段 SY-FDPOS 包含中的偏移量。如果为假,SY-FDPOS 包含的长度。

如果要对中的特殊字符进行比较,请将换码符 # 放到其前面。可以使用换码字符 #

指定:

16 大小写字符

16 通配符 "*"(输入 #*)

16 通配符 "+" (输入 #+)

16 换码符号本身 (输入 ##)

16 字符串结尾的空格 (输入 #___)

(8)NP (不包含模式)

如果不包含模式,则逻辑表达式 NP 为真。在中,可以使用与 CP 相同的通配符和换码字符。忽略尾部空格且比较不区分大小写。如果比较结果为真,则系统字段 SY-FDPOS 包含的长度,如果为假,SY-FDPOS 包含中的偏移量。

6.3 比较二进制位结构

要将逻辑表达式初始操作数第一字节的二进制位结构与第二操作数的进行比较,请使用下列操作符。

第二操作数的长度应为一个字节。

没有必要对第二操作数使用长度为 1 的十六进制字段(类型 X),但却较方便,因为其长度为一个字节且数字值直接与二进制位结构相关。

操作符功能如下:

O (二进制位是 1)

如果中二进制位是 1 的位置,在中是 1,则逻辑表达式 O 为真。

Z (二进制位是0)

如果中二进制位是 1 的位置,在中是 0,则逻辑表达式 Z 为真。

M (混合二进制位)

如果从中二进制位是 1 的位置起,中至少一个是 1,一个是 0,则逻辑表达式 M 为真。

6.4 编程分支和循环

6.4.1 IF条件分支

IF 语句允许依据条件将程序流转到特定的语句块中。该语句块包括 IF 语句及其后面的 ELSEIF、 ELSE 或 ENDIF 之间的所有命令。

IF .

ELSEIF .

ELSEIF .

.....

ELSE.

ENDIF.

如果第一个条件是真,系统将执行所有语句直到第一个语句块结束,然后继续处理ENDIF 语句之后的程序。要采用选择性条件,可以使用 ELSEIF语句。如果第一个条件是假,系统使用与 IF 语句一样的方式处理后面的 ELSEIF 语句。如果 IF 或 ELSEIF 条件都为假,则执行 ELSE 开始的语句块。最后的语句块必须用 ENDIF 结束。

要用公式表达 IF 和 ELSEIF 语句中的条件,可以使用任何编程逻辑表达式描述的逻辑表达式。

6.4.2CASE条件分支

要根据特殊数据字段的内容执行不同的语句块,可以如下使用 CASE 语句:

CASE .

WHEN .

WHEN .

WHEN .

WHEN ...

......

WHEN OTHERS.

ENDCASE.

系统执行 WHEN 语句之后的语句块,如果内容等于的内容,且继续处理 ENDCASE

语句后面的语句。如果的内容不等于的内容,则执行选项 WHEN OTHERS 后面的语句块。最后的语句块必须用 ENDCASE 结束。

6.4.3DO无条件循环

如果想要多次执行语句块,则可以如下使用 DO 语句编程循环:

DO [ TIMES] [VARYING FROM NEXT ].

ENDDO.

在发现 EXIT、 STOP 或 REJECT语句之前,系统继续执行由 DO 引导、ENDDO 结束的语句块。

可以使用 TIMES 选项限制循环次数。可以是文字或变量。如果是 0 或负数,系统不执行该循环。

系统字段 SY-INDEX 中包含已处理过的循环次数。

6.4.4WHILE条件循环

如果只要条件为真,就不止一次执行语句,可以如下使用 WHILE 语句编程:

WHILE [VARY FROM NEXT ].

ENDWHILE.

只要是真,或系统发现 EXIT、 STOP 或 REJECT 语句,系统将继续执行由WHILE 语句引导、 ENDWHILE 结束的语句块。

对于,可以使用编程逻辑表达式中描述的任何逻辑表达式。

系统字段 SY-INDEX 中包含已执行的循环次数。

可以任意嵌套 WHILE 循环,也可与其他循环结合使用。

WHILE 语句的 VARY 选项与 DO 循环的 VARYING 选项工作方式一样。允许每次执行循环时为变量重新赋值。、 ... 必需是内存中类型相同和长度相等的一系列等距字段。第一次循环时,将分配给,第二次循环时,将分配给,以此类推。可以在一个 WHILE 语句中使用多个 VARY 选项。

6.5 终止循环

在循环中只能使用 CONTINUE,但在循环外还可使用关键字 CHECK 和 EXIT,分别完成不同的功能。

6.5.1无条件终止

要立即无条件终止循环,请如下使用 CONTINUE 语句:

CONTINUE.

在CONTINUE 语句之后,系统跳过当前语句块中所有剩余语句块,继续该语句后面的循环。

6.5.2有条件终止

要有条件终止循环过程,请如下使用 CHECK 语句:

CHECK .

如果条件是假,系统跳过当前语句块中所有剩余语句块,继续后面的循环过程。对于,可使用编程逻辑表达式中描述的任何逻辑表达式。

6.5.3完全终止

要无条件完全终止循环,请如下使用 EXIT 语句:

EXIT.

EXIT语句之后,系统立即退出循环,继续结束语句 (ENDDO、 ENDWHILE、 ENDSELECT)后面的处理。在嵌套循环中,系统仅退出当前循环。

七内表

7.1 创建内表

TYPES: BEGIN OF OCCURS ,

,

..............

END OF .

DATA: TYPE STANDARD OF ,

TYPE .

其作用与先创建字段串,然后再创建与该字段串行结构相同的内表相同。指定行的初始号。将第一行写入用类型创建的内表数据对象之后,就为指定行保留内存。如果添加到内表中的行比指定的要多,则自动扩展保留的内存。如果内存中没有足够空间可用于内表,则将其写入缓冲区或磁盘(分页区域)。

7.2 填充内表

要填充内表,既可逐行添加数据,也可复制另一个表格的内容。要逐行填充内表,可以使用 APPEND、 COLLECT 或 INSERT 语句。

要将内表仅用于存储数据,出于性能方面的考虑,建议使用 APPEND。用 APPEND 也可以创建序列清单。

7.2.1无关键字附加行

要将行附加到内表中,使用 APPEND 语句,用法如下:

APPEND [ TO|INITIAL LINE TO] .

该语句将新行附加到内表中。

通过使用 TO 选项,指定要附加的源区域。对于带表头行的表格,可以忽略 TO 选项。这样,表格工作区域就成了源区域。

可以使用 INITIAL LINE TO 选项替代 TO,将用其类型的正确值初始化的行添加到表格中。

APPEND 不考虑是否存在标准关键字相同的行。这样,可能会出现相同条目。系统字段SY-TABIX 在每个 APPEND 语句之后包含附加行的索引。

7.2.2根据标准关键字附加行

要用有唯一标准关键字的行填充内表,使用 COLLECT 语句,用法如下:

COLLECT [ INTO] .

该语句通过使用 INTO 选项指定想附加的源区域。如果表格有表头行,则可以忽略INTO 选项。这样,表格工作区域就成了源区域。

系统检查表格条目的标准关键字是否相同。如果没有,COLLECT 语句的作用与 APPEND 语句相似,并将新行添至表格中。

如果存在关键字相同的条目,COLLECT 语句不附加新行,但将工作区域中数字字段的内容添加到现有条目中数字字段的内容中。系统字段 SY-TABIX 包含处理过的行的索引。

为 COLLECT 指定的工作区域必须与内表的行类型兼容,不仅仅是可转换为内表的行类型。COLLECT 语句无法用于带深层结构的内表,例如,将内表作为组件的行。

如果仅使用 COLLECT 语句填充内表,则不会出现重复条目。因此要填充没有重复条目的内表,应该使用 COLLECT 而不是 APPEND 或 INSERT。

7.2.3插入行

要在内表行之前插入新行,使用 INSERT 语句,用法如下:

INSERT [ INTO|INITIAL LINE INTO] [INDEX ].

该语句通过使用 INTO 选项指定想插入的源区域。如果表格有表头行,则可以忽略

人事表格大全

第七章 人事事务管理 一、人事事务主管岗位职责 职责1 执行公司的规章制度和工作程序,保质、保量、按时完成工作任务 职责3 组织审查、办理员工的岗位调动、职称评定、离、退休等事宜的人事、劳资手续 职责4 组织汇总、审核各部门的考勤情况,及时传给薪酬专员 职责5 组织建立人力资源部文件、员工人事档案、劳资档案,及保管和定期归档工作 职责6 负责审核、办理员工请假、销假手续 职责7 组织办理员工出国申报、资格审查 职责8 组织人事保密工作 职责9 及时向人力资源部经理汇报相关工作 职责2 组织制定考勤管理、出差管理、出国管理、离职管理、人事档案管理等规章制度 及实施细则,经批准后实施 职责10 人力资源部经理交代的其他相关工作

二、人事事务专员岗位职责 三、档案管理专员岗位职责 职责1 执行公司的规章制度和工作程序,保质、保量、按时完成工作任务 职责3 统计员工请假、休假情况,汇报各部门的考勤情况,提交人事事务主管 职责4 受理员工出差、出国申报资料工作 职责5 职责6 及时向人事事务主管汇报相关工作 人事事务主管交代的其他相关工作 职责2 协助人事、事务主管制定考勤制度、出差管理、离职管理等规章制度及 职责1 执行公司的规章制度和工作程序,保质、保量、按时完成工作任务 职责3 负责建立人力资源部文件、员工人事档案、劳资档案,及保管和定期归档工作 职责4 负责人事档案的保密工作 职责5 及时向人事事务主管汇报相关工作 职责6 人事事务主管交代的其他相关工作 职责2 制定员工人事档案管理制度及实施细则

四、员工休假规定 休假种类具体规定 法定节假日1.新年(1月1日):放假一天(不含周末) 2.春节(农历正月初一、初二、初三):放假三天(不含周末) 3.劳动节(5月1日、2日、3日):放假三天(不含周末) 4.国庆(10月1日、2日、3日):放假三天(不含周末) 5.上述给假为一般执行标准,因公司工作需要,总经理可以调整和决定具体的放假时间和长短 年假1.员工在公司连续工作满一年者,皆可享有3天有薪年假,服务期每增1年则增加1天的年假,最多增至14天 2.年假可以分次使用,每次不得少于1天,并应于休假日前3天提出申请 3.员工每年的年假应于当年度使用,否则该年度未使用的年假将视为自动放弃;如因工作需要无法于当年度休假的,经核准后可以在次年度补假 事假1.员工遇事必须在工作时间亲自办理,应事先填写请假单,注明请假类别,经部门经理同意批准并把工作交待清楚后可请事假 2.无法事先请假的,可用电话、传真两种方式请假,获得批准后方可请事假,期满仍需续假的应在期满前办理续假手续;不可用发手机短信的方式请事假 3.试用期内员工通常不可请事假,特殊情况需要请事假,填写请假单经部门经理批准后,报人力资源部延长试用期 4.一般员工请假2天内由直接主管领导批准;3天以上至5天以内应由隔级上级领导批准;5天以上事假必须报总经理批准 5.中层以上管理人员请假1天内可自行决定,告知直接上级领导及下属人员即可;1天以上3天以内由直接上级领导批准;3天以上5天以内需经隔级上级领导批准;5天以上需经总经理批准,报人力资源部备案 6.公司高级管理人员请假3天内(包括3天)可自行决定,告知总经理及直接下属即可;3天以上需经总经理批准 7.员工请事假期间不享受工资和津贴 病假1.员工因病或非因公受伤,应凭医院的病休证明准病假

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>。 1.3.4 确定小数位 若要确定类型P字段的小数位的个数,利用DESCRIBE FIELD语句使用DECIMALS参数,如下所示: DESCRIBE FIELD DECIMALS . 系统读取字段的小数个数,并将值写入字段。 1.3.5 确定转换例程 要确定ABAP/4 词典中某字段的转换例程是否存在,如果存在,名称是什

各类人事常用表格汇总

LEAVE APPLICATION FORM 请假申请单

员工离职面谈表 Check List 员工到职手续表 Name 员工姓名: _____________ Date到值日:________ Department & Position部门及职位: ______________________

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * HR & Adm. Department 人事行政部: The staff has already got the offer letter and the training is arranged for him or her. The staff has read the staff handbook and signed on it. He or she has got the stationary. 已经发给该员工录用通知,培训安排,该员工已经阅读过员工手册并签字,已经领用了相关办公用品。 HR & Adm. Manager’s signature人事行政主管签名:_______ Date日期:____________ Finance Department 财务部: The staff has already read the financial system, knowing how to transact a bank card for the salary. 该员工已经阅读过学校财务制度,知道工资卡办理流程。 Finance Head’s signature部门经理签名:_________________Date日 期:_______________ IT Department 资讯服务部审批: The staff’s E-mail address: 已经为该员工开设学校邮箱,邮箱地址为:_______________。 The staff has received the training about MIS, e-mail and computer application. 已经为该员工培训过MIS系统,邮件使用,电脑使用等。 IT Head’s signature IT主管签名:______________ Date日 期:_______________ Front Desk Department 前台审批: The receptionist has taken down the staff’s personal information. 已经登记该员工的个人信息,分机_____,手机__________,家庭电话 ___________. Reception Head’s signature前台主管签名:_______ Date日 期:____________ T he staff’s direct department 到职员工直属部门审批: The supervisor has met the staff. The staff has received the pre-working training plan. 已经接收到部门员工,该员工已经收到岗前培训计划。 Dept. Head’s signature部门主管签名:_________________Date日 期:_______________ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Note: 入职员工在完成以上入职流程后将此表交回到人事行政部。 Return this form to H.R department after finishing it. 合同签订通知书 您好: 您已经通过了 ?岗位的面试,您的正式上岗日期为? ?? ??? 年??? ?? ?月?? ? 日。现需要您完成以下入职程序:

ABAP语法完整版

SAP ABAP / 4 基础知识学习 数据类型 C :字符串 D :日期型格式为 YYYYMMDD 例:'1999/12/03' F : 浮点数长度为8 I :整数 N :数值组成的字符串如:011,'302' P : PACKED数用于小数点数值如:12.00542 T : 时间格式为:HHMMSS 如:'14:03:00' X : 16进制数如:'1A03' *-------------------------------------------------------------------------------------* 变量声明 DATA [] [][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 [] [] [] 系统专用变量说明 系统内部专门创建了SYST这个STRUCTURE,里面的栏位存放系统变量,常用的系统变量有: SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,'0'表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code SY-INDEX: 当前LOOP循环过的次数 SY-TABIX: 当前处理的是internal table 的第几笔 SY-TMAXL: Internal table的总笔数 SY-SROWS: 屏幕总行数; SY-SCOLS: 屏幕总列数; SY-MANDT: CLIENT NUMBER SY-VLINE: 画竖线 SY-ULINE: 画横线 TYPE 关键字 用来指定资料型态或声明自定资料型态 Example: TYPES: BEGIN OF MYLIST,

各种人事表格汇总

招聘需求申请表

应聘人员登记表

录用通知书 _________先生(小姐): 您好!很荣幸地通知您,您应聘的职位已获通过,请您于_____月____日_____时_____分到报到上班。 报到须知:报到时请持《录用通知书》,并携带本人身份证、学历证明等证书原件和复印件1张、一寸免冠彩照2张。 若您不能按时报到,请主动联系人力资源部,电话: 分公司 人力资源部 _____年_____月____日 录用通知书 _________先生(小姐): 您好!很荣幸地通知您,您应聘的职位已获通过,请您于_____月____日_____时_____分到报到上班。 报到须知:报到时请持《录用通知书》,并携带本人身份证、学历证明等证书原件和复印件1张、一寸免冠彩照2张。 若您不能按时报到,请主动联系人力资源部,电话: 分公司 人力资源部 _____年_____月____日

入职确认书 亲爱的员工伙伴: 您好!我很荣幸的通知您,您申请的职位已获通过,恭喜你成为公司的一员! 入职后3天内,请您将《入职确认书》填好后,连同以下个人资料交至人力资源专员: 1、身份证复印件:2张; 2、一寸免冠照片:3张; 3、学历证复印件:1张; 4、职称资格证复印件:1张; 此外,为了让您更快地熟悉公司制度,现明确以下制度: 一、岗前培训:公司将统一组织新员工岗前培训,并通知您具体时间,请您准时参加。 二、7天观察期:员工入职之日起7天内为双向选择,期间如员工辞职或者公司劝退员工,原则上不予发放工资。 三、2个月试用期:XXXXXXXXXXXXX……试用期内离职,需提前15天填写《离职申请表》递交人力资源部;转正后离职须提前30天填写《离职申请表》递交人力资源部。 四、发薪日:公司于每月XX号发放上月工资,每月XXX号发放上月提成奖金,但每月25号以后入职的新员工,当月薪酬将与次月薪酬一并发放。 五、考勤制度: 1、上班时间:8:00-12:00、14:00-17:00。 2、打卡制度:每天上班前、下班后均须打卡,业务部门员工每天只须上班前打卡;漏打卡必须在24小时内至前台领取《考勤补签单》,并经部门经理审核签字后交至人力资源部,未及时办理则按旷工处理;请假需提前一天至前台领取《请假申请表》并经部门经理审核签字后交至人力资源部;突发情况不能提前办理请假手续的,须在事后24小时内补办请假手续。 员工签字确认: 日期:

各类人事常用表格汇总

各类人事常用表格汇总 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

LEAVE APPLICATION FORM 请假申请单

员工离职面谈表 Check List 员工到职手续表 Name 员工姓名: _____________ Date到值日:________ Department & Position部门及职位: ______________________ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * HR & Adm. Department 人事行政部: The staff has already got the offer letter and the training is arranged for him or her. The staff has read the staff handbook and signed on it. He or she has got the stationary. 已经发给该员工录用通知,培训安排,该员工已经阅读过员工手册并签字,已经领用了相关办公用品。 HR & Adm. Manager’s signature人事行政主管签名:_______ Date日 期:____________ Finance Department 财务部: The staff has already read the financial system, knowing how to transact a bank card for the salary. 该员工已经阅读过学校财务制度,知道工资卡办理流程。

abap字符串操作语法总结

ABAP 字符串操作语法总结 CONCATENATE:合并字符串. CONCATENATE f1 … fn INTO g [SEPARATED BY h]. 1* CONCATENATE合并字符串 2DATA: c1(10) TYPE c VALUE 'Sum', 3c2(3) TYPE c VALUE 'mer', 4c3(5) TYPE c VALUE 'holi ', 5c4(10) TYPE c VALUE 'day', 6c5(30) TYPE c , 7sep(3) TYPE c VALUE ' - '. 8CONCATENATE c1 c2 c3 c4 INTO c5. 9WRITE c5. 10CONCATENATE c1 c2 c3 c4 INTO c5 SEPARATED BY sep. 11WRITE / c5. -------------------------------------------------------- 输出结果: Summerholiday Sum - mer - holi - day -------------------------------------------------------- SPLIT: 字符串拆分. SPLIT f AT g INTO h1 … hn. SPLIT f AT g INTO TABLE itable. 1* splitting strings 2DATA: string10(60) TYPE c , 3p1(20) TYPE c VALUE '++++++++++++++++++++', 4p2(20) TYPE c VALUE '++++++++++++++++++++', 5p3(20) TYPE c VALUE '++++++++++++++++++++', 6p4(20) TYPE c VALUE '++++++++++++++++++++', 7del10(3) TYPE c VALUE '***'. 8 string10 = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'. 9WRITE string10.

ABAP基本语法学习关键语句的写法(参考模板)

ABAP基本语法学习关键语句的写法 内表建立过程: 1、声明一个结构体 2、用声明好的结构体作为工作区,声明一个内表 内表名称like standard table of 结构体名称, 内表名称like sorted table of 结构体名称, 内表名称like harshed table of 结构体名称。 后面可以用到with 选项来进行关键字的声明。基本语法如下: DATA itab { {TYPE tabkind OF [REF TO] type} | {LIKE tabkind OF dobj} } [WITH key] [INITIAL SIZE n] [WITH HEADER LINE] [VALUE IS INITIAL] [READ-ONLY]. DATA rtab {TYPE RANGE OF type}|{LIKE RANGE OF dobj} [INITIAL SIZE n] [WITH HEADER LINE] [VALUE IS INITIAL] [READ-ONLY]. 此语句可以定义一个范围表,在操作数据库时可以用来作为判断数据选择的条件描述。3、向内表中插入数据,插入数据可以用insert数据into内表语句或者是 append数据to内表语句。可以插入整个内表到另一内表insert lines of 内表名称 into table 另一内表名称。亦可以进行累加插入:collect 数据into 内表名称。相同的数据进行累积。 4、修改内表数据,利用modify 关键字,modify 内表名称 from 数据(用结构 体表示的数据)。可以修改多行,modify 内表名称 from 数据 transporting 关键字 where 条件。 5、读内表数据的几种操作方法: 用Include来构造一个结构体 INCLUDE { {TYPE struc_type} | {STRUCTURE struc} } [AS name [RENAMING WITH SUFFIX suffix]]. TYPES: BEGIN OF t_day, work TYPE c LENGTH 8, free TYPE c LENGTH 16, END OF t_day. DATA BEGIN OF week. INCLUDE TYPE t_day AS monday RENAMING WITH SUFFIX _mon.

ABAP基础知识(完整版)---自学

ABAP基础知识(完整版)-上 SAP ABAP / 4 基础知识学习 数据类型 C :字符串 D :日期型格式为YYYYMMDD 例:'1999/12/03' F : 浮点数长度为8 I :整数 N :数值组成的字符串如:011,'302' P : PACKED数用于小数点数值如:12.00542 T : 时间格式为:HHMMSS 如:'14:03:00' X : 16进制数如:'1A03' *-------------------------------------------------------------------------------------* 变量声明 DATA [] [][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 [] [] [] 系统专用变量说明 系统内部专门创建了SYST这个STRUCTURE,里面的栏位存放系统变量,常用的系统变量有: SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,'0'表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code

ABAP学习方法

sap学习总结信管0911 杨钏 2011-12-2 sap学习总结 立谈之间,来集团参加erp项目已近四个月,通过集团erp项目组精心组织的培训,经 过自己的努力学习,我对erp的认识有了很大程度的转变。从一开始的不了解,带着对很多 专业名词及模块功能的疑问,到现在融入到erp项目组后,被sap庞大的功能所震撼;从一 开始认为sap仅仅是一种应用软件,跟其他公司的erp差不多,到现在深刻的地体会到sap 在企业管理中的重要位置;从一开始对sap可能带来的不便以及人力、财力、时间成本产生 抵触情绪,到现在对sap产生依赖心理。这些对sap认识的转变,让我意识到作为一名关键 用户和信息人员,为确保erp的上线成功,应该如何发挥自身的作用。 5月9日,初步接触到了sap软件。五月份到七月份我初步学习sap中abap语言,起初 感觉这跟平时学校学习的语言差不多,但是接触的越久,我就越深深的震撼abap语言的严 谨性,以及abap编辑语言在sap中的重要的位置,对其他工作模块工作有非常重要的影响。 通过这段时间abap语言的学习后,我进入技术组协助技术组中的各位老师,解决些小问题。 工作一段时间之后,我才发觉,erp前期项目的工作量大大超乎我的想像,它的重要性也让 人感到紧张。在每天的工作中,大家加班加点,热火朝天的讨论业务流程问题,以及程序代 码如何实现业务需求,有时候为了一个观点不同而争论不休,有时候又为达成共识而言欢高 兴。大家良好的沟通交流,让我们这些初识者更积极主动地参与进来。 在技术组组工作了近两周之后,为了让我们全面认识sap,从而更深入地开展工作,erp 项目组办公室组织人员进行了为期一周的sap开发语言abap的培训。对于我们来说,掌握 abap编程语言是深入理解sap软件知识要领的敲门砖。通过对abap的学习,我对sap的后 台有了更进一步的了解,也为下一步深入接触实际操作打下了基础。在basis组织的讲座和 培训中,我对basis有了一定了解,意识到abap对做好sap系统的后台规划、安装、配置、 管理、监控、维护、调优等工作的重要性。通过此次培训,大家对sap有了些许的初步了解, 对应该做好哪些工作有了初步的认识。 接下来说说,近半年我所学到的一些abap知识,报表显示alv alv是系统的一种网格的 显示方式,这种方式带有汇总\排序\筛选等功能,alv格式的数据是以单元格为单位显示,不 象一般的写屏方式拷出来或是导出成文件不同列的内容粘在一块,这种方式便于数据导出来 放在电子表格里进行加工. alv: abap list view / sap list view , 在sap报表数据输出使用最广泛的技术基于gui,在展现层处理 操作简单 较强的标准功能。排序、过滤、计算等 有三个版本的技术实现function ->grid->om bdc技术 首先简单解释一下bdc(batch data conversion): 在sap系统里,由于某种原因,可能需要重复输入数据,(数据不同,但是操作是相同的, 典型的情形就是切换系统的时候,旧系统的数据需要导入sap),大致过程不外乎是这样:输 入一个t-code, 进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点 执行或者确定按钮, 进入另一个屏幕,在某些字段输入值(`也可能是标注checkbox选中或者不选中)或者 修改这些字段里的值。

abap基本语法汇总情况

一数据类型和对象 在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。 在程序中必须声明要使用的全部数据对象。声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。 1.1 基本数据类型 对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。 类型 P 数据允许在小数点后有数字。有效大小可以是从 1 到 16 字节的任何值。将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。在小数点后最多允许14 个数字。 1.2 系统定义的数据对象

1.3 确定数据对象的属性 如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE 语句。语法如下: DESCRIBE FIELD [LENGTH ] [TYPE [COMPONENTS ]] [OUTPUT-LENGTH ] [DECIMALS ] [EDIT MASK ]. 将由语句的参数指定的数据对象的属性写入参数后的变量。 DESCRIBE FIELDS 语句具有下列参数: 1.3.1 确定字段长度 要确定数据对象的长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD LENGTH . 系统读取字段的长度,并将值写入字段。 1.3.2确定数据类型 要确定字段的数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD TYPE [COMPONENTS ]. 系统读取字段的数据类型,然后将值写入字段。 除返回预定义数据类型 C、D、F、I、N、P、T 和 X 外,该语句还返回 XXX s 对于带前导符号的两字节整型 XXX b 对于无前导符号的一字节整型 XXX h 对于表 XXX C 对于组件中没有嵌套结构的结构 XXX C 对于组件中至少有一个嵌套结构的结构 1.3.3确定输出长度 要确定字段的输出长度,利用 DESCRIBE FIELD 语句使用 OUTPUT-LENGTH 参数,如下

SAP ABAP_4编程语法汇总(中文版)

SAP ABAP_4编程语法汇总(中文版) 本文是由塞依教育编辑整理,了解更多SAP培训信息,请进入https://www.sodocs.net/doc/c512015781.html,/news/一、Data Type (数据类型) C: 字符(串), 长度为1, 最大有65535 BYTES, 初始值为: space,例: ‘M’; D: 日期, 格式为YYYYMMDD, 最大是’9999/12/31’ ,例:’1999/12/03’. F: 浮点数, 长度为8, 例如: 4.285714285714286E-01 I: 整数范围 :-2^31 ~ 2^31-1 N: 数值组成的字符串: 011, ‘302’. P: packed 数,用于小数点数值,例如: 12.00542; T: 时间, 格式为HHMMSS,例如: ’14:03:00’, ’21:30:39’. X: 16进制数, 例如‘1A03’. 二、变量宣告 变量宣告包含name, length, type, structure等,语法如下: DATA [] [] [] 其中: :变量名称,最长30个字符,不可含有 + , . , : ( ) 等字符; :变量类型及长度; :初值 :小数位数 Example 1: DATA: COUNTER TYPE P DECIMALS 3, NAME (10) TYPE C VALUE ‘Delta’, S_DATE TYPE D VALUE ‘19991203’. Example 2: DATA: BEGIN OF PERSON, NAME(10) TYPE C, AGE TYPE I, WEIGHT TYPE P DECIMALS 2, END OF PERSON. 另外,有关DATA宣告的指令还有: CONSTANTS(宣告常数)、STATICS(临时变量宣告). 三、系统专用变量说明 系统内部专门创建了SYST这个STRUCTURE,里面的字段存放系统变量,常用的系统变量有: SY-SUBRC : 系统执行某指令后,表示执行成功与否的变量,’0’表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code SY-INDEX : 当前LOOP循环过的次数 SY-TABIX: 当前处理的是internal table 的第几笔 SY-TMAXL: Internal table的总笔数

SAP必备基础语法

ABAP基础知识 数据类型 C :字符串 D :日期型格式为YYYYMMDD 例:'1999/12/03' F : 浮点数长度为8 I :整数 N :数值组成的字符串如:011,'302' P : PACKED数用于小数点数值如:12.00542 T : 时间格式为:HHMMSS 如:'14:03:00' X : 16进制数如:'1A03' *-------------------------------------------------------------------------------------* 变数宣告 DATA [] [][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 [] [] []

SY-SUBRC : 系統執行某指令后,表示執行成功与否的變數,'0' 表示成功 SY-UNAME: 當前使用者登入SAP的USERNAME; SY-DATUM: 當前系統日期; SY-UZEIT: 當前系統時間; SY-TCODE: 當前執行程式的Transaction code SY-INDEX : 當前LOOP循環過的次數 SY-TABIX: 當前處理的是internal table 的第几筆 SY-TMAXL: Internal table的總筆數 SY-SROWS: 屏幕總行數; SY-SCOLS: 屏幕總列數; SY-MANDT: CLIENT NUMBER SY-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敘述則是用 在指定資料型態。 *-------------------------------------------------------------------------------------* 输出 一. WRITE 語句 ABAP/4用來在屏幕上輸出資料的指令是WRITE指令,例如: WRITE: 'USER NAME IS:', SY-UNAME.

abap开发基础知识总结

1.内表的定义 通过关键字DATA对内表进行创建,内一的定义可以直接参考结构体或者其它内表及透明表,也可以直接定义字段,其中关键字如下: UNIQUE|NON-UNIQUE:指定关键字,只能应用于排序表或者哈希表。 INITIAL SIZE n:指定初始化内表大小。 WITH HEADERLINE:定义内表是否有表头。 具体定义有以下几种方式: DATA <内表名> TYPE <结构类型> WITH[UNIQUE|NON-UNIQUE] [INITIAL SIZE n] [WITH HEADER LINE]。 DATA <内表名> LIKE TABLE OF <内表或者透明表> WITH[UNIQUE|NON-UNIQUE] [INITIAL SIZE n] [WITH HEADER LINE]。 DATA BEGIN OF itab OCCURS n, ...... END OF itab [VALID BETWEEN f1 AND f2]。 2.内表的赋值 上面曾介绍过,内表分为有无HEADER LINE两种。对于有HEADER LINE的内表,可以通过填充HEADER LINE数据后或通过外部的Work Area向内表存储空间中追加数据,相关语法如下: APPEND( into) . 3.内表数据管理 3.1.内表的清空 CLEAR :仅清空HEADER LINE,对内表数据存储空间不影响。 REFRESH :清空内表数据存储空间,对HEADER LINE不影响。

REFRESH FROM TABLE:清空内表存储空间,填充从数据库表所获数据。 FREE :清空内表数据存储空间,对HEADER LINE不影响。 3.2.INSERT(向内表插入数据) 可以按内表的具体字段向表中插入一行或者多行数据,具体语法如下:INSERT [wa INTO|INITIAL LINE INTO] itab [INDEX idx]. INSERT [wa INTO|INITIAL LINE INTO] TABLE itab. INSERT LINES OF itab1 [FROM idx] [TO idx2] INTO itab2 [INDEX idx3]. 3.3.MODIFY(直接修改内表数据) 按内表位置或者具体内表字段值相等条件修改内表数据。 MODIFY itab [FROM wa] [INDEX idx][TRANSPORTING f1...fn] WHERE cond. 3.4.COLLECT(内表数据分类汇总) 将内表中相同的字段合并,若有类型为I的字段,则将其值加总。 COLLECT [wa INTO] itab. 3.5.SORT(内表数据排序) 对内表进行排序,可以指定具体的排序字段、排序方式(升/降),语法如下:SORT itab [BY f2 f2...fn] [ASCENDING/DESCENDING] 3.6.READ(读取) 依据具体行数或字段值等条件读取某一内表的数据。 READ TABLE itab FROM wa. READ TABLE itab WITH [TABLE] KEYk1=v1...kn=vn [BINARY SEARCH]. READ TABLE itab INDEX i.

集团公司人事关表格汇总

集团公司人事相关表格目录 1,人员补充申请表—————————————— CMHR--001 2,应聘人员登记表—————————————— CMHR--002 3,面试评价表———————————————— CMHR--003 4,员工录用审批表—————————————— CMHR--004 5,员工培训鉴定表—————————————— CMHR--005 6,试用期员工考核表————————————— CMHR--006 7,员工提前转正申请表———————————— CMHR--007 8,试用期员工转正申请表——————————— CMHR--008 9,员工转正审批表—————————————— CMHR--009 10,员工调动审批表————————————— CMHR--010 11,工资调整审批表—————————————— CMHR--011 12,请假单—————————————————— CMHR--012 13,月份职工出勤工时记录表———————— CMHR--013 14,月份人员变动情况表—————————— CMHR--014 15,员工辞职申请表—————————————— CMHR--015 16,离职汇签表———————————————— CMHR--016 17,交接清单————————————————— CMHR--017

础明集团人力资源部 2004年7月16日 注:从7月19日以后,集团公司所有部门以及集团公司所有分公司一律使用以上新表,以前的旧格同时作废,继续使用旧表的事宜人事部门将不予受理。

人员补充申请表(CMHR—001) 申请部门:年月日 专业资料.

ABAP的常用知识点

SAP常用知识点 SAP Basis学习2009-07-12 10:49:30 阅读249 评论0 字号:大中小 包括:{系统变量|TCODE|消息类型|数据类型|变量声明|Internal Table} KEY: 1.常用系统变量 2.常用TCODE 3.消息类型 4.数据类型 5.变量声明 6.Internal Table 1.常用系统变量 SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’表示成功SY-DBLNT: 被处理过的记录的笔数 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DA TUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code SY-INDEX : 当前LOOP循环过的次数 SY-TABIX: 当前处理的是internal table 的第几笔 SY-TMAXL: Internal table的总笔数 SY-SROWS: 屏幕总行数; SY-SCOLS: 屏幕总列数; SY-MANDT: 當前系統編號(CLIENT NUMBER) SY-VLINE: 画竖线 SY-ULINE: 画横线 SY-PAGNO: 当前页号 SY-LINSZ: 当前报表宽度 SY-LINCT: 当前报表长度 SPACE: 空字符串 SY-LSIND: 列表索引页 SY-LISTI: 上一个列表的索引 SY-LILLI: 绝对列表中选定行的行号 SY-CUROW: 屏幕上的行 SY-CUCOL: 光标列 SY-CPAGE: 列表的当前显示页 SY-STARO:真实行号 SY-LISEL: 选择行的内容,长度为255 SY-LINNO: 当前行 2.常用TCODE