1. ABAP语法基础

1.1 基本数据类型

CNDTIFPXstringXstring

P:默认为8字节,最大允许16字节。最大整数位:16*2 = 32 - 1 = 31 -14(允许最大小数位数) = 17位整数位

类型

最大长度(字符数)

默认长度

说明

C

1~262143个字符

1 字符

N

1~262143个字符

1 字符

0到9之间字符组成的数字字符串

D

8 个字符

日期格式必须为 YYYYMMDD

T

6 个字符

格式为 24-hour的 HHMMSS

I

4 bytes

-2.147.483.648 to +2.147.483.647

F

8 bytes

小数位最大可以到17位,即可精确到小数点后17位

P

1 to 16 bytes

8 bytes

两个数字位压缩后才占一个字节,由于0-9的数字只需要4Bit位,所以一个字节实质上允许存储二位数字,这就是P数据类型为压缩数据类型的由来。并借用半个字节来存储小数点位置、正号、负号相关信息

X

1~524,287 bytes

1 byte

十六进制字符 0-9, A-F具体的范围为:00~FF

类型X是十六进制类型,可表示内存字节实际内容,使用两个十六制字符表示一个字节中所存储的内容。但直接打印输出时,输出的还是赋值时字面意义上的值,而不是Unicode解码后的字符

如果未在 DATA 语句中指定参数<length>,则创建长度为 1

注:如果值是字母,则一定要大写

1.1.1 数据申明

定义变量

DATA < f > [(< length >)] < type> [< value>] [< decimals>].//<f>指变量名;<length>变量长度;<type>变量类型;<decimals>小数的位数
DATA: p(9) TYPE p DECIMALS 2 VALUE '-123456789012345.12'.
DATA :
W_CHAR TYPE C, "1位长度的字符变量
W_MULCHAR() TYPE C, "20位长度的字符变量
W_INTERGER TYPE I VALUE , "整型变量,并赋上了初值10
W_FLOAT TYPE F VALUE ,2E-10, "浮点数
W_DATE TYPE D VALUE '', "日期
W_TIME TYPE T VALUE '', "时间
W_NUMBER TYPE N, "1位数字变量
W_MULNUM() TYPE N, "10位数字变量
W_QUAN TYPE P, "缺省有3位小数的变量
W_CURR TYPE P DECIMALS . "固定2位小数的变量
DATA :
W_CHAR_REF LIKE W_CHAR, "和上面定义的W_CHAR一样
W_MATNR LIKE MARA-MATNR. "和标准表MARA中字段MATNR一样

定义常量

CONSTANTS < c>[< length>] < type> < value> [< decimals>].
CONSTANTS: BEGIN OF < fstring>,
< component declaration>,

END OF < fstring>.//字符串定义为常量

定义结构

DATA / TYPES:
BEGIN OF <结构名>, <项目1>, <项目2>, …… <项目n>,
END OF <结构名>.
DATA : <结构名> TYPE|LIKE <结构|表>.
.直接声明
DATA:
BEGIN OF TYP_STUDENT,
NAME() TYPE C,
BIRTH_DATE TYPE D,
BIRTH_TIME TYPE T,
HEIGHT TYPE P,
WEIGHT TYPE I,
END OF TYP_STUDENT. .使用like
DATA :
TYP_STUDENT_REF LIKE TYP_STUDENT,
TYP_MARA LIKE MARA. .特殊的用法中,在自己的结构中包含别的结构
DATA:
BEGIN OF TYP_STUDENT2.
INCLUDE STRUCTURE TYP_STUDENT.
DATA:CLASS()
TYPE N,
DIRECTOR() TYPE C,
END OF TYP_STUDENT2.

【ABAP】第一章-基础的更多相关文章

  1. .net架构设计读书笔记--第一章 基础

    第一章 基础 第一节 软件架构与软件架构师  简单的说软件架构即是为客户构建一个软件系统.架构师随便软件架构应运而生,架构师是一个角色. 2000年9月ANSI和IEEE发布了<密集性软件架构建 ...

  2. Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考

    第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...

  3. Linux系统shell编程自学_第一章基础

    第一章 基础shell的优势在于处理操作系统底层的业务,Python,php的优势在于开发运维工具,web界面的管理工具以及web业务开发.处理一键安装.优化.报警脚本shell又叫命令解释器,它能识 ...

  4. wpf(第一章 基础知识)

    wpf第一章基础知识:通过vs2015创建wpf程序会在引用里面多出3个核心程序集PresentationCore.PresentationFramework.WindowsBase.并且会在解决方案 ...

  5. 《openssl编程》:第一章基础知识

    第一章 基础知识 1.1 对称算法 对称算法使用一个密钥.给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同.解密时,使用读密钥与加密密钥相同. 对称算法主要有四种加密模式: (1) 电子密码 ...

  6. Python第一章-基础知识

    第一章:基础知识 1.1 安装python.     直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...

  7. TypeScript学习指南第一章--基础数据类型(Basic Types)

    基础数据类型(Basic Types) 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了Ja ...

  8. 快学Scala习题解答—第一章 基础

    1 简介 近期对Scala比较感兴趣,买了本<快学Scala>,感觉不错.比<Programming Scala:Tackle Multi-Core Complexity on th ...

  9. Laxcus大数据管理系统2.0(3)- 第一章 基础概述 1.2 产品特点

    1.2 产品特点 Laxcus大数据管理系统运行在计算机集群上,特别强调软件对分布资源可随机增减的适应性.这种运行过程中数据动态波动和需要瞬时感知的特点,完全不同与传统的集中处理模式.这个特性衍生出一 ...

随机推荐

  1. QML学习(三)——<QML命名规范>

    QML对象声明 QML对象特性一般使用下面的顺序进行构造: id 属性声明 信号声明 JavaScript函数 对象属性 子对象 状态 状态切换 为了获取更好的可读性,建议在不同部分之间添加一个空行. ...

  2. JAVA泛型知识--> <? extends T>和<? super T>

    <? extends T> 和 <? super T> 是Java泛型中的“通配符(Wildcards)” 和 “边界(Bounds)”的概念 <? extends T& ...

  3. 思科 DHCP服务器配置及DHCP中继

    思路: 1.配置 DHCP 客户端 确保每个 PC 为 自动获取IP地址的方式: 2.配置 SW1 # 创建 VLAN 10 , 20 # 将相关的端口,放入到对应的 VLAN : # 配置交换机之间 ...

  4. @DateTimeFormat 和 @JsonFormat 注解

    1. 准备 定义一个pojo,它有一个 java.util.Date 类型的属性 date. import java.util.Date; public class DateVo { private ...

  5. 2015-2016-2《Java程序设计》团队博客4

    一.类结构图 这一周将所有的类都进行了实现,以下是这周实现的类图:         二.项目进展 目前已经将所有代码都编写完成,正在进行整体测试.虽然期间遇到了一些问题,但我们一起进行了讨论,并查找了 ...

  6. 【翻译】可能是CAP理论的最好解释

    一篇非常精彩的解释CAP理论的文章,翻译水平有限,不准确之处请参考原文,还请见谅. Chapter 1: “Remembrance Inc” Your new venture : Last night ...

  7. jar第三方组件Dependency-check依赖检查工具

    jar第三方组件Dependency-check依赖检查工具 http://www.mianhuage.com/913.html 工具下载 http://dl.bintray.com/jeremy-l ...

  8. MySQL count

    https://www.jianshu.com/p/1b0a1f641e80] 不同引擎count(*)实现方式不同 MyISAM引擎把一个表的总行数记录在了磁盘上,执行count(*)会直接返回这个 ...

  9. Python 图片Resize.py

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 19-7-14 下午4:54 # @Author : RongT import cv2 ...

  10. 监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法

    在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的 需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包 ...