ABAP/4入门

ABAP语法规则

  1. ABAP程序是由若干个单独的语句组成的
  2. 每一个语句都用句点(英文)结束
  3. 语句的第一个单词一般为关键字
  4. 语句中单词之间至少要用一个空格隔开
  5. 语句可以缩进
  6. 一句语句可以由多行组成
  7. 在一行中可以由多个语句

ABAP 数据声明

变量定义基本格式

DATA < f > [(< length >)] < type> [< value>] [< decimals>].

< f >指定变量名
< length>指定变量长度
< type>指定变量的类型,还可以使用type来指定
< decimals> 指定变量小数的位数

  • 数据类型
    不占用内存空间。
    描述了数据对象的属性。
    是数据对象的属性并与数据对象联系紧密。
    用户可以自定义

  • 数据对象
    是程序在运行时使用的物理单元。
    占用内存空间。
    每个数据对象都有分配给它的特定数据类型。
    ABAP/4根据数据对象的数据类型处理数据对象。

  • 预定义基础数据类型
    在这里插入图片描述

简单的变量定义示范

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

预定义结构化类型
通常情况下,ABAP/4程序中的结构化数据类型是用户定义的。
在 ABAP/4 中,没有可用的预定义结构化数据类型,但下列例外:
例如: TABLES: sbooks.

生成了一个与表结构相同﹐命名相同的结构

常量定义
常量是包含值的数据对象,如果在程序中频繁使用某常量,可以利用常量语句,将其声明为具有固定值的变量:
语法:CONSTANTS < c>[< length>] < type> < value> [< decimals>].
要将字段串定义为常量,请写:
CONSTANTS: BEGIN OF < fstring>,
< component declaration>,

END OF < fstring>.
对于常量语句必须使用 参数,利用 参数指定的初始值,在程序的执行期间不能更改,否则,系统将报错误消息。

ABAP/4中的结构定义
结构声明同样有两种方法:

DATA / TYPES:
BEGIN OF <结构名>, <项目1>, <项目2>, …… <项目n>,
END OF <结构名>.

DATA : <结构名> TYPE|LIKE <结构|表>.

定义示例

1.直接声明
DATA:  
BEGIN OF TYP_STUDENT,    
NAME(40)   TYPE C,    
BIRTH_DATE TYPE D,    
BIRTH_TIME TYPE T,    
HEIGHT     TYPE P,    
WEIGHT     TYPE I,  
END OF TYP_STUDENT. 

2.使用like
DATA : 
TYP_STUDENT_REF LIKE TYP_STUDENT,  
TYP_MARA        LIKE MARA. 

3.特殊的用法中,在自己的结构中包含别的结构
DATA:  
BEGIN OF TYP_STUDENT2.    
INCLUDE STRUCTURE TYP_STUDENT.    
DATA:CLASS(2)     
TYPE N,         
DIRECTOR(40) TYPE C,  
END OF TYP_STUDENT2. 

内表

  • 概念
    内表是一种临时的数据表,它并不建立在Database Server上,而是建立在本地内存空间中,所以它不占用系统资源,而且存取速度快。正因为这些特性,使得内表在ABAP编程中显得相当的重要。

  • 特征
    内部表是ABAP/4中最核心的处理对象
    内部表是用来处理(增加、查询、修改、删除)一系列具有相同结构的数据的
    内部表涵盖了在其它编程语言中数组的功能
    内部表仅在ABAP/4程序运行时在内存空间里存在
    内部表是自动化的对象,它自动完成相关的内存管理

  • 分类
    内表可以分为有序表和无序表(hashtable),有序表又分为标准表和排序表。这三种表在使用中各有区别,一般我们未特别指明的情况下都是用的标准表。
    标准表是以Index来进行排列的,我们可以使用Index和Key来访问它。排序表是以Key来进行排列的,同样的,我们也可以使用Index和Key来进行访问。
    无序表是(hashtable)不按照任何规则进行排列的,对它的访问只能按照Key来进行。
    在这里插入图片描述

  • 内表的声明
    内部表

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值