SAP ABAP_4编程语法汇总(中文版)
本文是由塞依教育编辑整理,了解更多SAP培训信息,请进入 /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 <F> [<length>] <type> [<value>] [<decimals>]
其中: <f> :变量名称,最长30个字符,不可含有 + , . , : ( ) 等字符;
<length><type>:变量类型及长度;
<value>:初值
<decimals>:小数位数
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的总笔数实验用英语怎么说
SY-SROWS: 屏幕总行数;
SY-SCOLS: 屏幕总列数;
SY-MANDT: CLIENT NUMBER
SY-VLINE: 画竖线
SY-ULINE: 画横线
附注:
1. SAP的全称是: System Application Products in Data Processing;
2. ABAP/4的全称是:Advanced Business Application Programming;
3. ABAP/4的路径为:Tools ABAP/4 WorkBenchABPA/4 Editor ;
4. ABAP/4每条语句以句号结束;
5. ABAP/4中象= ,>, <,+,-,*,/等符号左右都需要有至少一个空格;
6. 整行注释用’死神镰刀*’号, 注释本行后面部分用’”’号;
一. WRITE 语句
ABAP/4用来在屏幕上输出数据的指令是WRITE指令,例如:
WRITE: ‘USER NAME IS:’, SY-UNAME.
二. 指定屏幕输出位置
指定输出位置的语句格式为:
WRITE: [AT] [ / ] [<pos>] [(<len>)] 资料项 [<par>]
其中: / : 在下一行输出
<pos>: 指定输出的行号;
(<len>):指定输出位数(长度)
<par>: 指定显示格式参数,参数有:
LEFT-JUSTIFIED 小蝌蚪找妈妈课件资料靠左对齐
CENTERED 数据靠中间对齐
RIGHT-JUSTIFIED 资料靠右对齐
UNDER <g> 正对在数据项<g>的下面显示
NO-GAP 紧接着显示,不留空格
二氧化碳焊 USING EDIT MASK <m>: 使用内嵌子元显示, 如 12:03:20
USING NO EDIT MASK: 不使用内嵌子元
NO-ZERO: 数字前面 0 的部分不显示
NO-SIGN: 不显示正负号
DECIMALS <d>: 显示 <d> 位小数
EXPOENT <e>: F(浮点数)指数的值
ROUND <r>: 四舍五入至小数点后<r>位
CURRENCY <c>: 币别显示
梦见被黑狗咬 DD/MM/YY : 日期显示格式
MM/DD/YY:
YY/MM/DD:
YY/DD/MM
MM/DD/YYYY:
DD/MM/YYYY
YYYY/MM/DD:
YYYY/DD/MM:
例如1: WRITE: /10(6) ‘ABCDEFGHIJK’.
输出结果为: ABCDEF
例如2: DATA: X TYPE I VALUE ’11:20:30’,
A(5) TYPE C VALUE ‘AB CDE’.
WRITE: / X USING EDIT MASK ‘__:__:__’.
WRITE: / X USING EDIT MASK ‘$___,___’.
WRITE: / Y NO-GAP.
输出结果为:
11:20:30
$112,030
ABCDEF
1. 显示图标:
语法: WRITE: <symbol-name> AS SYMBOL.
WRITE: <icon-name> AS ICON.
例如: INCLUDE <SYMBOL>.
INCLUDE <ICON>.
WRITE: / ‘Phone symbol:’, SYM_PHONE AS SYMBOL.
WRITE: / ‘Alarm Icon:’, ICON_VOICE_OUTPUT AS ICON.
要查看系统所提供有那些符号及图标,可选择’EDIT’下的’Inrt Statement’,选择’Write’,接下来选择要查看的群组,如SYMBOL 或ICON, 接下来按’Display’即可.
§ INTERNAL TABLE
1. Internal Table 的宣告
ABAP/4中的Internal Table是一种Data Structure,类似于其它语言中的STRUTURE,它可以由几个不同类型的字段(field)组成,用来表示具有不同属性的某一事物,单独一笔资料表示某个事物,多笔数据表示具有相同属性的多个事物.例如:
为了存取或记录某班的同学数据,我们创建如下的internal table:
DATA: BEGIN OF STUDENT OCCURS 20,
STD_ID TYPE N,
NAME(10) TYPE C,
AGE TYPE I,
BIRTH TYPE D,
SCORE TYPE P DECIMALS 2,
END OF STUDENT.
此时我们已经创建了名叫STUDENT的internal table,并且为它预先申请了能够存放20笔数据的Buffer(当然,如果存取数据不止20笔,程序执行时,会自动申请系统Buffer)
Internal table 的定义有以下几种格式:
格式一. DATA: BEGIN OF <internal table> OCCURS <n>,
<field 1> TYPE <type1>,
[<field 2> TYPE <type 2>,
<field 3> TYPE <type 3>,
… ]
END OF <internal table>.
格式二. TYPES: BEGIN OF <work area>,
<field 1> TYPE <type1>,
[<field 2> TYPE <type 2>,
绵山大罗宫 <field 3> TYPE <type 3>,
… ]
END OF <work area>.