您的位置:首页 > 其它

ABAP学习笔记-基本的数据操作-002

2017-12-27 17:15 399 查看

数据赋值

数据赋值-move,=,还原语句用clear

MOVE source TO destination.
destination = source.


结构体赋值,相似的结构体之间也可以进行赋值

REPORT Z_TEST001.

DATA: BEGIN OF add_personal,
title(5) VALUE  'mr',
name(20),
street(100),
no(3) TYPE n,
postcode(6) TYPE n,
END OF add_personal.

DATA: BEGIN OF add_company,
position(20) VALUE 'Consultant',
name(20) VALUE 'jack Huang',
street(100) TYPE c VALUE 'BEIJING AVENUE',
no(3) TYPE n VALUE '002',
postcode(6) TYPE n VALUE '10087',
END OF  add_company.

MOVE-CORRESPONDING add_company TO add_personal.

write add_personal.


数据类型转换

类型转换如果数据类型不一致,则会消耗系统时间,所以应该有意识的把所有操作数和目标变量定义为相同的数据类型。

基本对象类型转换原则

除去基本类型只有类型D类型T不存在转换规则,其它的都有对应的转换规则。

引用类型的转换

对象引用和数据引用变量之间不能相互赋值。

结构体转换原则

分结构体是扁平结构还是纵深结构

扁平结构—–允许在互不兼容的结构体之间赋值

纵深结构—–要求结构体之间完全兼容。

内表转换原则

内表对象只能赋值给内表对象,成功取决于行结构是否可以兼容,与表类型或者关键字无关。

数值运算

关键字:COMPUTE,语法为
[COMPUTE] n = <mathematical expression>


算术运算

*&---------------------------------------------------------------------*
DATA int type n value 2.
COMPUTE int  = int + 1.
int = int + 1.
ADD 1 TO int.
write int.


使用数值运算+ - * / **关键字的前后必须都有空格,否则错误的语法导致程序无法编译。

数学运算,语法为:
[COMPUTE] n = func(m).


函数名说明
ABS返回绝对值
TRUNC返回整数部分
FRAC返回小数部分
SIGN正数返回1,负数-1,0为0
CELL天花板数
FLOOR地板数
示例:注意左括号中不能有空格,而参数两旁必须要有空格

DATA: result(20) TYPE c ,
float type f value '2.5000'.

result = trunc( float ).
write result.


此外还有一个F类型参数的函数列表

时间日期计算

DATA: seconds TYPE i,
hours TYPE i,
time1 TYpe t value '100000', "10:00:00 am
time2 TYPE t value '080000'. "08:00:00 am

seconds = time1 - time2 .
hours = seconds / 3600.

WRITE: / 'Seconds is ', seconds,
/ 'Hours is ', hours.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: