SAP入门技术分享二:数据类型

news/2024/7/7 23:01:23

数据类型

  • 1.概要
  • 2.数据类型的种类
    • (1)ABAP基本数据类型
    • (2)局部数据类型
    • (3)全局数据类型
  • 3.DATA语句
    • (1)TYPE type
    • (2)LIKE num
    • (3)VALUE int
    • (4)LENGTH n
    • (5)DECIMALS n
  • 4.ABAP命名规范
    • (1)定义全局变量
    • (2)局部变量
    • (3)检查命名规则
  • 5.ABAP编辑器
  • 6.ABAP基本数据类型
    • (1)数字类型
    • (2)数字运算符
    • (3)字符串类型
    • (4)不定长ABAP基本数据类型
  • 7.Hexadecimal类型
  • 8.局部数据类型
  • 9.ABAP数据字典数据类型
    • (1)表和视图
    • (2)数据类型:数据元素、结构体、表类型。
    • (3)类型组(Type Groups)
    • (4)ABAP数据字典类型
  • 10.赋值
    • (1)给变量赋值
    • (2)利用Offset进行赋值
    • (3)结构体之间的计算操作
  • 11.定义其他变量
    • (1)常量
    • (2)静态变量
    • (3)TABLES

1.概要

数据类型(Data Type):定义变量的类型,用TYPES声明;
数据变量(Data Variable):又称数据对象,参照数据类型定义的、可以存储值的变量,在程序中是通过变量名操作该对象,用Data声明。

2.数据类型的种类

ABAP程序包含三种数据类型:

(1)ABAP基本数据类型

系统内部定义的数据类型,分类有
C、D、F、I、N、F、T、X、STRING、XSTRING。

(2)局部数据类型

只在程序块中起效,用ABAP基本数据类型定义局部数据类型,或者定义包含多个基本数据类型的结构体类型变量。

(3)全局数据类型

在所有程序中起效,用TYPE语句参考数据字典中的类型定义变量。
在这里插入图片描述

3.DATA语句

规则:用于定义数据变量,变量名包括”_”,最长可定义30位。

(1)TYPE type

在这里插入图片描述

(2)LIKE num

在这里插入图片描述

(3)VALUE int

在这里插入图片描述

(4)LENGTH n

在这里插入图片描述

(5)DECIMALS n

在这里插入图片描述

4.ABAP命名规范

规范:变量名的前两位代表范围和类型,区分符号”_”和最后单词将省略变量的具体功能。
在这里插入图片描述

(1)定义全局变量

定义全局变量以G开头,具体定义方法如下:
但变量名不宜过长,可以用”_”后第一个字母区分变量类型。
在ABAP语言中的PARAMETERS和SELECT-OPTIONS变量分别用”P”与”S”作为前缀使用。
在这里插入图片描述

(2)局部变量

在这里插入图片描述

(3)检查命名规则

检查ABAP程序是否符合命名规则的工具,事务码是SCI。
在检查变量-名称区域单击按钮,可以切换全局/局部变量检查:
在这里插入图片描述

在ABAP程序编辑器中进行代码检查:
第一步:选择程序->检查->代码分析器;
在这里插入图片描述

第二步:点击新建按钮;
在这里插入图片描述
在这里插入图片描述

第三步:默认调用基本检查变量,自动命名为DEFAULT;
在这里插入图片描述

第四步:选择编程规则->命名规则的属性按钮;
在这里插入图片描述

第五步:可以设置程序中使用变量的命名规则;
在这里插入图片描述

5.ABAP编辑器

ABAP编辑模式有下列三种功能:
(1)新版ABAP编辑模式:Front-End Editor;
(2)旧版ABAP编辑模式:Front-End Editor( Plant text mode );
(3)Back-End Editor( Line-based mode )。
可以在实用程序->设置中进行设置ABAP编辑类型:
在这里插入图片描述

6.ABAP基本数据类型

一共有八种基本数据类型,如下图所示:
在这里插入图片描述

(1)数字类型

I:整型,范围
在这里插入图片描述

F:浮点型,精度比较低
在这里插入图片描述
在这里插入图片描述

P:打包数量,需指定DECIMALS识别小数位,精度比较高
在这里插入图片描述

C:字符型,需指定长度
D:类似字符的日期型
N:数字文本字段,需指定长度,用字符串代表数字
T:类似字符的时间型
X:十六进制字段,需指定长度
创建程序时不选择固定点算法,使用Package numbers(类型P、CURR、QUAN)类型时,小数点会被忽略。
在这里插入图片描述

(2)数字运算符

基本数据类型:
在这里插入图片描述

数字运算用函数:
在这里插入图片描述

Floating-Point函数:
在这里插入图片描述

(3)字符串类型

字符串类型分为一下4种:
C:用于定义文字、数字和特殊文字
指定类型C的长度可以直接使用”()”或者关键字LENGTH
N:用于显示类型数字,以字符串形式显示整数
D:日期类型
T:事件类型

(4)不定长ABAP基本数据类型

分类:C类型和String类型。
不同:String类型当程序执行时生成动态内存。

经常使用的字符串命令:
在这里插入图片描述

单引号”’”与grave”`”的区别:

7.Hexadecimal类型

Hexadecimal(十六进制)类型是指将1B由2个码位显示的类型。


8.局部数据类型

在程序内部声明的数据类型是局部数据类型,用关键字TYPES声明。

可以用下面语句定义结构体类型:

利用INCLUDE TYPE语句可以定义嵌套结构体类型。

利用INCLUED STRUCTURE语句,可以把结构体包含到嵌套结构体中。


9.ABAP数据字典数据类型

在数据字典中的数据类型为全局数据类型,分为3种形式。

(1)表和视图

(2)数据类型:数据元素、结构体、表类型。

(3)类型组(Type Groups)

类型组(Type Group)是以INCLUDE技术为基础的,结合多种类型进行声明时使用类型组,可以在所有程序中使用。

(4)ABAP数据字典类型

在ABAP数据字典中将经常使用的数据类型事先定义的实例,如下:


10.赋值

(1)给变量赋值

MOVE TO语句与=语句相同,可进行类型转换。
MOVE-CORRESPONDING语句的俩字段名可以不相同,还经常用于不同结构体之间同名的字段赋值。
WRITE TO语句:

(2)利用Offset进行赋值

规则如下:

(3)结构体之间的计算操作

结构体之间的赋值用MOVE-CORRESPONDING语句,


11.定义其他变量

(1)常量

常量有一般常量和结构体常量两种。

(2)静态变量

在子程序块( FORM,FUNCTION )中要持续保存局部变量值时定义为静态变量( STATICS )。

(3)TABLES

使用TABLES语句定义ABAP数据字典中的数据表、视图、结构体,会生成与ABAP数据字典具有相同结构的数据对象。也就是生成一个表工作区,在程序中与结构体的用法相同。


http://lihuaxi.xjx100.cn/news/568850.html

相关文章

JAVA代码审计笔记

预编译不是万能的,否则就不会出现这么多的SQL注入漏洞。order by后面的语句,是不能够用预编译进行处理的,只能通过拼接进行操作,因此需要手动过滤。 SQL注入漏洞的防范方法: 1、预编译 2、类型转换 xss漏洞的危害&…

面试官:请实现Javascript发布-订阅模式

简介 发布-订阅模式又叫做观察者模式,他定义了一种一对多的依赖关系,即当一个对象的状态发生改变的时候,所有依赖他的对象都会得到通知。 回忆曾经 作为一名前端开发人员,给DOM节点绑定事件可是再频繁不过的事情。比如如下代码…

Oracle_4_分区、分区索引

数据切分:1、垂直:不同的表存放在不同的地方。2、水平:按照规则将同一个表中的数据分开存放。一、range分区(范围分区) 创建表的时候,可以按照规则把一个表分成几个部分,分开存放。 结构:create table 表名(字段信息)--选定字段进行分区partition by range(字段名)(--…

P2257 YY的GCD

求 \[\begin{aligned} & \sum^{n}_{i = 1} \sum^{m}_{j = 1} [ gcd(i, j) \in prime]\\ & \sum^{}_{k \in prime} \sum^{n}_{i = 1} \sum^{m}_{j = 1}[ gcd(i, j) = k]\\ \end{aligned} \]设 \[\begin{aligned} f(s) & = \sum^{n}_{i = 1} \sum^{m}_{j = 1}[ gcd(i…

webdav服务/ddns/域名/ssl证书设置

1.webdav服务 1.1.Windows iis自带的webdav组件 默认未启用,可以启用进行设置,使用了一下,在使用浏览器或Windows资源管理器内右键添加网络位置作为客户端时比较好用,但是当在移动端使用cx文件管理器app时,身份验证出现问题. 参考文章: 1.2. WebDAV Server (推荐) 项目地址:Git…

基于多保真方法来估计方差和全局敏感度指数分析(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 此代码实现了多保真方法来估计方差和全局敏感度指数。当模型具有不确定的输入时,模型输出也是不确定的。基于方差的…

网络爬虫入门到实战

简介 数据采集文章 开始 入门程序 环境准备 pip3 install beautifulsoup4 基本操作 from urllib.request import urlopen from bs4 import BeautifulSouphtml urlopen("http://www.baidu.com") # print(html.read()) (打印html完整内容) bsObj BeautifulSou…

【Vue2+Element ui通用后台】面包屑和tag功能

文章目录面包屑tag面包屑 Element ui 面包屑:显示当前页面的路径,快速返回之前的任意页面,完成效果如下: 我们之前把头部的代码封装到了 CommonHeader.vue 中,面包屑部分直接写死了一个首页,我们可以把官…