ABAP_4语法集锦(中文版)
- 格式:doc
- 大小:2.51 MB
- 文档页数:45
ABAP/4 Training 陳偉 第1页(共45页) 11/21/2013 §. ABAP/4 DATA ELEMENT 一.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: 当前系统时间; ABAP/4 Training 陳偉 第2页(共45页) 11/21/2013 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.整行注释用’*’号, 注释本行后面部分用’”’号; ABAP/4 Training
陳偉 第3页(共45页) 11/21/2013 §OUTPUTTING DATA TO SCREEN 一. WRITE 语句 ABAP/4用来在屏幕上输出数据的指令是WRITE指令,例如: WRITE: ‘USER NAME IS:’, SY-UNAME. 二. 指定屏幕输出位置 指定输出位置的语句格式为: WRITE: [AT] [ / ] [] [()] 资料项 [] 其中: / : 在下一行输出 : 指定输出的行号; ():指定输出位数(长度) : 指定显示格式参数,参数有: LEFT-JUSTIFIED 资料靠左对齐 CENTERED 数据靠中间对齐 RIGHT-JUSTIFIED 资料靠右对齐 UNDER 正对在数据项的下面显示 NO-GAP 紧接着显示,不留空格 USING EDIT MASK : 使用内嵌子元显示, 如 12:03:20 USING NO EDIT MASK: 不使用内嵌子元 NO-ZERO: 数字前面 0 的部分不显示 NO-SIGN: 不显示正负号 DECIMALS : 显示 位小数 EXPOENT : F(浮点数)指数的值 ROUND : 四舍五入至小数点后位 CURRENCY : 币别显示 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’. ABAP/4 Training 陳偉 第4页(共45页) 11/21/2013 WRITE: / X USING EDIT MASK ‘__:__:__’. WRITE: / X USING EDIT MASK ‘$___,___’. WRITE: / Y NO-GAP. 输出结果为: 11:20:30 $112,030 ABCDEF 四.显示图标: 语法: WRITE: AS SYMBOL. WRITE: AS ICON. 例如: INCLUDE . INCLUDE . WRITE: / ‘Phone symbol:’, SYM_PHONE AS SYMBOL. WRITE: / ‘Alarm Icon:’, ICON_VOICE_OUTPUT AS ICON. 要查看系统所提供有那些符号及图标,可选择’EDIT’下的’Insert Statement’,选择’Write’,接下来选择要查看的群组,如SYMBOL 或ICON, 接下来按’Display’即可. ABAP/4 Training
陳偉 第5页(共45页) 11/21/2013 § INTERNAL TABLE 一. 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 OCCURS , TYPE , [ TYPE , TYPE , „ ] END OF . 格式二. TYPES: BEGIN OF , TYPE , [ TYPE , TYPE , „ ] END OF . TYPES TYPE OCCURS . 格式三. DATA: BEGIN OF . INCLUDE STRUCTURE . DATA: END OF . DATA: LIKE OCCURS .