当前位置: 首页 > news >正文

【ABAP4】基本语法1

ABAP基本语法

  • ABAP句法规则
  • 数据
    • 基本数据声明
      • 声明变量的方式
      • 常量声明
    • 数据对象——结构
    • 数据对象——内部表
      • 概念
      • 特点
      • 分类
      • 内部表的声明
      • 内部表的赋值
  • 数据库访问

ABAP句法规则

ABAP由若干单独语句组成,每个语句以句点结束,第一个单词一般为关键字。一句语句可由多行组成,一行中可以有多个语句。

数据

基本数据声明

变量遵循“先声明后使用”原则。

声明变量的方式

DATA:<变量名称> TYPE [ABAP标准类型|用户自定义类型].

1、 基本数据类型:

数据类型初始长度有效长度初始值值域
C11-65535-
N11-65535-
D88‘00000000’-
T66‘000000’-
X11-65535-
I440
P81-160根据长度和小数点位置决定
F880

C:字符变量,初始长度为1,有效长度1-65535
N:数字,初始长度1,有效长度1-65535
D:日期,初始长度8
T:时间
P:带小数位
I:整型
F:浮点型。使用科学计数法

DATA: W_CHAR TYPE C,W_MULCHAR(20) TYPE C,W_INTERGER TYPE I VALUE 6.
DATA:<变量名称> LIKE 数据对象.

LIKE语句是变量继承数据对象的类型

常量声明

关键字为:CONSTANTS。相同业务定义为常量,赋初值,在使用的过程中不可以修改。

types:ABAP_bool TYPE C LENGTH 1.
CONSTANTS:ABAP_true TYPE abap_bool value 'X'ABAP_false TYPE abap_bool value ' ',ABAP_undefined TYPE abap_bool value '-',ABAP_on TYPE abap_bool value 'X',ABAP_off TYPE abap_bool value ' '.

数据对象——结构

1、定义结构
定义结构类似于定义表,结构里的字段相当于表中的字段。结构的声明有两种方法:

  • 使用程序预定义的结构类型
TYPE:BEGIN OF <结构类型><项目1> TYPE <类型1>,<项目2> TYPE <类型2>,...END OF <结构型>.
DATA:<结构型> TYPE <结构型>.
  • 使用数据字典中预定义的表或者构造
DATA:<结构名> TYPE <数据字典-表(结构)>.

2、结构的赋值

DATA(struct_test) = VALUE TY_COLLMNS2(COLN1=1 COLN2-COLS1=1 COLN2-COLS2=2).DATA(struct_test1) = VALUE TY_COLLMNS2(COLN1=1 COLN2=VALUE #(COLS1=1 COLS2=2)).

数据对象——内部表

概念

内表是一种临时表,建立在本地的内存空间中,不占用系统资源,并且存取速度快。

特点

内部表是ABAP/4中最核心的处理对象
内部表用来处理增删改查一系列具有相同结构的数据
内部表涵盖了在其他编程语言中的数组的功能
内部表只存在于ABAP/4程序运行的内存空间
内部表能够自动完成相关的内存管理。

分类

有序表和无序表。有序表分为标准表和排序表,一般是用的标准表。
1、标准表以Index进行排序,可使用Index和key访问。排序表以Key进行排序,也可使用Index和key访问。
2、无序表不按照任何规则进行排列,只能按照Key来进行访问。

内部表的声明

TYPES: BEGIN OF STRUCT,ID TYPE <数据库表中的字段>,...END OF STRUCT.
DATA: <表名> TYPE STANDARD TABLE OF STRUCT.

内部表的赋值

ITAB = VALUE #(直接赋值).

数据库访问

有两种访问的方式,一是Open SQL,它是SAP ABAP/4访问数据库的语法的集合;二是Native SQL,直接执行底层数据库。
TIPS:
ABAP/4语法还挺多的,就不放在一起了,下一篇博客见~

http://www.dtcms.com/a/348822.html

相关文章:

  • 第4章栈和队列:队列基础知识
  • pom.xml 标签整理各个标签的用途和含义
  • 蓝凌EKP产品:从 XML 到 JSON ——表单存储的性能优化实践
  • 前端漏洞(上)- CSRF漏洞
  • 强光干扰下误检率↓79%!陌讯动态决策算法在安全带检测的实战优化
  • Redis详解--基本篇
  • Linux 的 TCP 网络编程常用API
  • 网络流量分析——使用捕获和显示过滤器查询网络流量
  • 每天自动备份oracle
  • 关于熵减 - 力学单位和来源
  • 安装gitlab
  • C++ AOV 拓扑排序
  • pyecharts可视化图表-scatter:从入门到精通
  • 2020/12 JLPT听力原文 问题二 5番
  • 【网络运维】Shell 脚本编程:case 条件语句
  • 【大语言模型 18】Vision Transformer革命解析:图像理解的范式突破与架构创新
  • VsCode使用SFTP连接Linux
  • 油雾干扰下误报率↓76%!陌讯动态感知算法在卸油作业安全识别中的实战突破
  • Java:HashSet的使用
  • 【MySQL】CRUD基础详解
  • 基于 Redis + JWT 的跨系统身份共享方案
  • HTTP数据之旅:一个网络请求的完整冒险
  • Unity的Cursor.lockState
  • 油雾环境下漏检率↓79%!陌讯多模态检测算法在加油站智能巡检的落地实践
  • VMware Workstation 不可恢复错误:(vcpu-0)
  • 强反射场景漏检率↓89%!陌讯动态感知算法在护目镜合规检测的实战解析
  • 二叉树学习笔记
  • MyBatis 和 MyBatis-Plus对比
  • 【GEE+Python 实战】用 Sentinel-2 监测 2024 年研究区 NDVI 变化(附完整源码与避坑指南)
  • 深入解析十大经典排序算法原理与实现