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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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,

NAME(10) TYPE C,

NUMBER TYPE I,

END OF MYLIST.

DATA LIST TYPE MYLIST.

LIKE 关键字

跟TYPE关键字使用格式相同, 如

DATA TRANSCODE LIKE SY-TCODE.

不同的是LIKE 用在已有值的资料项, 如系统变量, 而TYPE关键字则是用在指定资料型态。

TABLES 关键字

用来声明Table Work Area 的数据, 对应至ABAP/4 资料文件(Dictionary Object), 由SQL 指令加载所需数据

语法:

TABLES

Example:

TABLES: SPFL.

SELECT * FROM SPFL.

WRITE: SPFL-MANDT, SPFL-CARRID,SPFL-CONNECTION.

ENDSELECT.

从ABAP/4 Dictionary 的SPFL 档载入MANDT,CARRID,CONNECTION 三个字段至SPFL 此Table Work Area

*-------------------------------------------------------------------------------------*

输出

一. 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-ZER 数字前面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'.

WRITE: / X USING EDIT MASK '__:__:__'.

WRITE: / X USING EDIT MASK '$___,___'.

WRITE: / Y NO-GAP.

输出结果为:

11:20:30

$112,030

ABCDEF

例如3: DATA: LEN TYPE I VALUE 10,

POS TYPE I VALUE 11,

TEXT(10) VALUE '1234567890'

WRITE 'The text ------------ appears in the text.'.

WRITE AT POS(LEN) TEXT.

WRITE TO 语句的基本形式

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

相关文档
最新文档