02、ABAP基本语法概述

ABAP语法背景

  ABAP语法,相对于Java、Python,有点晦涩难懂,但熟悉之后,相比于Java较为简单,没有数据库连接,没有Java生态圈诸多框架(Spring全家桶、消息中间件等等),没有Java那么多繁琐的配置,没有jar包版本的兼容问题,只需要基于企业业务,专注于开发报表、接口即可。
  笔者复制粘贴习惯了,现在开始睁眼看世界,所以整理难免会有一些错误,虚心接受诸位的批评指正,我会不断完善内容

01、数据类型

基本数据类型表

数据类型 含义 默认值 自定义值 长度 作用
C 字符 ‘ ’(空格) ‘ABAP’ 默认长度为1,最大长度无限制 标识、文本
N 数值型文本 ‘0’ ‘520’ 默认长度为1,最大长度无限制 数值文本
T 时间:HHMMSS ‘000000’ ‘083606’ 固定长度为6 时分秒
D 日期:YYYYMMDD ‘00000000’ ‘20240606’ 固定长度为8 年月日
I 整型 0 1314 默认长度为1,取值范围过亿,足够用 库存计算
F 浮点型 0.0000000000000000E+00 754 长度按机器类型(操作系统位数)固定 金额计算
P 包类型 00 123456789 默认长度为1,最大长度为16 商务标准值
X 十六进制数 00 ‘6B’ 默认长度为2,最大长度无限制
String 可变字符串 ’ '(空格) ‘521’ 默认长度为1,最大长度无限制 字符串可追加
XString 十六进制字符串 ’ '(空格) ‘A3FF’ 默认长度为1,最大长度无限制 文件压缩

02、变量

(1)普通变量定义

	DATA: a Type I. "定义整型变量

(2)常量定义

	CONSTANTS PI TYPE P DECIMALS 2 VALUE '3.14'. "定义常量

在这里插入图片描述
在这里插入图片描述

(3)结构体变量定义

  结构体变量是一个内表变量,可以存储数据

DATA: BEGIN OF item,
        matnr  LIKE mara-matnr, "物料编号
        werks  LIKE marc-werks, "工厂
      END OF item.

(4)结构类型定义

  结构体类型仅是一个数据类型,不占用内存,不存储数据

TYPES: BEGIN OF TY_item,
         matnr(40)  TYPE C, "物料编号
         werks(4)  TYPE C, "工厂
       END OF TY_item.

(5)工作区定义

DATA: it_item TYPE LINE OF TY_item.

(6)内表定义

DATA: it_item LIKE TABLE OF TY_item.

03、变量操作

(1)变量赋值

DATA text_line TYPE C LENGTH 40.
text_line = '520'.
Write text_line.

MOVE '1314' TO text_line." MOVE可以用WRITE替换
Write / text_line.

text_line = '5201314'." 不同编程语言通用赋值方法
Write / text_line.

(2)变量清空

DATA text_line TYPE C LENGTH 40.
text_line = '520'.
clear text_line . "清空变量

04、算术运算符

算术运算符 含义 例子 结果
+ 1+1 2
- 2-1 1
* 6*6 36
/ 6/2 3
DIV 整除 6.9 DIV 2 3
MOD 取余 6.9 MOD 2 1
** 幂次方 2 ** 3(相当于23 8

05、比较运算符

比较运算符 含义 替代写法 英文全称
= 等于 EQ Equal
< 小于 LT Less Than
<= 小于等于 LE Less Equal
> 大于 GT Greater Than
>= 大于等于 GE Greater Equal
<> 不等于 NE Not Equal

06、流程控制

(1)条件判断

DATA a TYPE I.
a = 9.
* IF条件判断
IF a > 6.
    WRITE: 'a大于6'.
ELSEIF a > 3 and a <= 6.
    WRITE: 'a大于3,小于6'.
ELSE.
    WRITE: 'a小于等于3'.
ENDIF.
------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值