SAP ABAP JAVA开发技术总结

SAP ABAP JAVA开发技术总结

1.ABAP基础

1.1基本数据类型

1.1.1ABAP基本数据类型

C–字符 最大长度1~262143个字符,默认长度为1个字节
N–字符串 0到9之间字符组成的数字字符串,最大长度1~262143个字符,默认长度为1个字节
D–日期 为 YYYYMMDD的日期格式,最大长度8个字符
T–时间 为 24-hour的 HHMMSS,最大长度6个字符
I–整型-2147483648 到 +2147483647,最大长度4个字符
F–浮点型, 小数位最大可以到17位,即可精确到小数点后17位,最大长度8个字符
P–压缩型,小数位最大为14位,如果没有小数位默认为整型,字符长度为16个字符,用于精确计算
String-- 字符串,任意字符串

P类型详解(压缩型)

是一种压缩的定点数,其数据对象占据内存字节数和数值范围取定义时指定的整个数据大小和小数点后位数,如果不指定小数位,则将视为I类型。其有效数字位大小可以是从1~31位数字(小数点与正负号占用一个位置,半个字节),小数点后最多允许14个数字。P类型的数据,可用于精确运算,DATA: p(16) TYPE p DECIMALS 14 VALUE ‘12345678901234567.89012345678901’. 16*2=32,±符号和小数点占用1个字节,还剩31位,最大小数14位,所以整数位只有17位。P类型是以字符串形式来表示小数,所以能做到精确

1.1.2ABAP TYPE和LIKE和DATA的区别

DATA : a TYPE I. 这是没有问题的,
但是DATA : a LIKE I,系统就有错误提示了:
Field “I” is unknown. It is neither in one of the specified tables nor
defined by a “DATA” statement . . . . . . . . . .,
type的是一个类型如基本类型
like引用另一定义变量的类型
data是将类型实例化

1.1.3DESCRIBE

DESCRIBE FIELD data1 TYPE typ1 COMPONENTS com1.
运行结果是data1的类型被存储在typ1变量里,com1则存放了data1里面有几个子元素。
DESCRIBE FIELD data1 LENGTH ilen IN BYTE CHARACTER MODE.
运行的结果是data1定义的长度存在了ilen里。
DESCRIBE FIELD data1 DECIMALS dec.
运行的结果是如果data1是小数,dec则存放了小数点后的位数。、
DESCRIBE FIELD data1 OUTPUT-LENGTH olen.
运行的结果是data1的输出长度存在了olen里。
***************将内表的行数读到I中
DATA:i(5) TYPE i.
DATA:gt_ztmxt TYPE TABLE OF ztmxt.
DESCRIBE TABLE gt_ztmxt LINES i.
write i.


REPORT ZZXXY.
TABLES:ztmxt.
WRITE 'This is the 1st line'.
SKIP. "空白行
SKIP 5. "空白5行
WRITE 'This is the 2nd line'.
SKIP TO LINE 20. "将光标放到某行上并且输出下面
WRITE 'This is the 3nd line'.
skip.
WRITE 'This is Underlined'.
ULINE."插入线

MESSAGE S000(ZSD_MSG)."SE91创建消息类ZSD_MSG  输出E类型消息类003行文本  E W I A S X 类型

MESSAGE '这个是消息常量' TYPE 'S'."消息常量
MESSAGE  '改变显示方式' TYPE 'S' DISPLAY LIKE 'E'.
DATA: date_1 TYPE D.

date_1 = SY-DATUM.
Write: / 'Present Date is:', date_1 DD/MM/YYYY.

date_1 = date_1 + 06.
Write: / 'Date after 6 Days is:', date_1 DD/MM/YYYY.
skip.
DATA: time_1 TYPE T.
      time_1 = SY-UZEIT.

Write /(60) time_1 USING EDIT MASK
'Now the Time is: __:__:__'.
time_1 = time_1 + 75.

Write /(60) time_1 USING EDIT MASK
'A Minute and a Quarter from Now, it is: __:__:__'.

DEFINE mac_test.
WRITE: 'This is Macro &1'.
END-OF-DEFINITION.

PARAMETERS: s1 type C as checkbox.
PARAMETERS: s2 type C as checkbox.
PARAMETERS: s3 type C as checkbox default 'X'.

START-OF-SELECTION.
IF s1 = 'X'.
   mac_test 1. ENDIF.
IF s2 = 'X'.
   mac_test 2.
ENDIF.

IF s3 = 'X'.
   mac_test 3.
ENDIF.

DATA: time     TYPE s_fltime,
       seconds TYPE i,
       msk     TYPE string.
DESCRIBE FIELD time EDIT MASK msk.
seconds = 333.
skip.
WRITE seconds USING EDIT MASK msk.
skip.
***************将内表的行数读到I中
DATA:i(5) TYPE i.
DATA:gt_ztmxt TYPE TABLE OF ztmxt.
DESCRIBE TABLE gt_ztmxt LINES i.
write i.
***********************************
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值