一.声明数据
DATA 创建变 量
语法:
DATA [()] TYPE .
DATA LIKE .
DATA LIKE LINE OF .
DATA: BEGIN OF ,
,
..............
END OF .
CONSTANTS 创建 常量
语法:
CONSTANTS [] [].
STATICS 创 建变量,这 些变量在程 序运行期间 一直存在, 但仅在过程 中可见
STATICS [] [] [].
TABLES 创建表工作 区
语法
TABLES .
TYPES 创建 用户定义的 数据类型
语法
TYPES [] [].
TYPE-POOLS 使用类型组
语法
TYPE-POOLS .
二. 数据输出 到屏幕
WRITE
语法
WRITE .
WRITE AT [/][][()] .
斜线‘/’ 表示换行
表示在屏幕 上的位置
表示输出长 度
如果格式规 范只包含直 接值(即不是变量) ,可以忽略 关键字 AT。
三.处理数据
赋值:
语法
MOVE <</span>F1> TO <</span>F2>.
<</span>F2> = <</span>F1>.
指定偏移 量赋值
<</span>F2>[+][()] = <</span>F1>[+][()]。
将字段 <</span>F1> 从 +1 位置开始且 长度为 的段内容赋 给字段 <</span>F2> ,覆盖从 +1 位置开始且 长度为 的段。
字段串组 件之间复制 值
语法
MOVE-CORRESPONDING TO .
STRING2- = MOVE STRING1.
符串替换
语法
REPLACE WITH INTO [LENGTH ].
ABAP/4 搜索字段 中模式 前 个位置第一 次出现的地 方。如果未 指定长度, 按全长度搜 索模式 。
转换大/小 写
语法
TRANSLATE TO UPPER CASE.
TRANSLATE TO LOWER CASE.
TRANSLATE USING . 该语句根据 字段 中存储的替 换规则替换 字段 的所有字符
转换为可排 序格式
CONVERT TEXT INTO SORTABLE CODE . 该语句为字 符字段 填充可排序 目标字段
SET LOCALE LANGUAGE [COUNTRY ] [MODIFIER ]. 该语句根据 语言 设置文本环 境。
覆盖字符字 段
OVERLAY WITH [ONLY ].
搜索字符串
SEARCH FOR .
获得字符串长度
= STRLEN( ).
压缩字段内 容
CONDENSE [NO-GAPS] 该语句去除 字段 中的前导空 格并用一个 空格替换其 它空格序列 。结果是左 对齐单词, 每个单词用 空格隔开。 如果指定附 加的 NO-GAPS, 则去除所有 空格。
连接字符串
CONCATENATE ... INTO
该语句连接 字符串 与 并将结果赋 给 。
拆分字符串
SPLIT AT INTO ... .
该语句在字 符字段 搜索分界字 符串 , 并将分界符 之前和之后 的部分放到 目标字段 ... 中。
SPLIT AT INTO .
对于字符串 的每一部分 ,系统添加 新表行
四.控制 ABAP/4 程序流
ABAP/4程序流分 内部控制和 外部控制
编程逻辑表 达式
<</span>F1> <</span>F2>
比较所有的 字段类型
<</span>运算符>
含 义
EQ
等于
=
等于
NE
不 等于
<>
不 等于
><<o:p>
不 等于
LT
小 于
<<o:p>
小于
LE
小 于等于
<=
小 于等于
GT
大 于
>
大于
GE
大 于等于
>=
大 于等于
比较字符串 和数字串
<</span>运算符>
含 义
CO
仅包 含
CN
不仅 包含
CA
包 含任何
NA
不 包含任何
CS
包 含字符串
NS
不 包含字符串
CP
包含模 式
NP
不包 含模式
检查字段是否属于某一 范围
. <</span>F1> BETWEEN <</span>F2> AND <</span>F3> ..
检查初始值
IS INITIAL
检查选择条 件
IN
组合几个逻 辑表达式
使用逻 辑连接运算 符 AND、OR 和 NOT,可 以将几个逻 辑表达式组 合为单个表 达式
IF 的条件分支
语法
IF .
ELSEIF
ELSEIF .
.....
ELSE.
ENDIF.
CASE 的条件分支
CASE .
WHEN .
WHEN .
WHEN .
WHEN ...
......
WHEN OTHERS.
ENDCASE.
使用 DO 的无条件循 环
DO [ TIMES] [VARYING FROM <</span>F1> NEXT <</span>F2>].
ENDDO.
1.可以使用 TIMES 选项限制循 环次数。 可以是文字 或变量。如 果 是 0 或负数,系 统不执行该 循环。
系统字段 SY-INDEX 中包含已处 理过的循环 次数。
2. 可以使用 VARYING 选项在每次 循环中给变 量 重新赋值
使用 WHILE 的条件循环
WHILE [VARY FROM <</span>F1> NEXT <</span>F2>].
ENDWHILE.
无条件终止 循环过程
CONTINUE.
有条件终止 循环过程
CHECK .
完全终止循 环
EXIT.
|