sap abap开发从入门到精通_SAP开发-ABAP数据字典概述

本文介绍了SAP ABAP开发的基础——数据字典,包括数据字典的作用、透明表、域、数据元素、结构、表类型等概念,并通过实例展示了如何在SAP系统中创建和管理这些对象。同时,文章解答了关于索引和缓冲的常见问题,为初学者提供了入门指导。
摘要由CSDN通过智能技术生成

06e7f258e04080b156981cecc593f7d3.png

ABAP是SAP开发的基础语言,这在SAP简介和SAP开发的生产力两篇文章中已经介绍过,下面这个系列我们就一起来看看ABAP开发的细节。

如果你已经有一些其他语言的开发经验,1-2周即可上手开发ABAP报表。但和大多数语言一样,ABAP属于上手容易精通难,ABAP包罗万象,涉及企业管理软件的方方面面,要成为专家,需要数年的修炼才可以,技术上的提高是一方面,还要结合业务的理解,这就要在项目中慢慢积累了。

ABAP 主要是用来处理企业数据和业务逻辑的,这就免不了要和数据库打交道,我们就从ABAP的数据字典开始讲起吧。

SAP是跨数据库的,可支持市面上大部分主流数据库,比如Hana,Oracle,DB2,MySql, Sqlserver等,那这是如何做到的呢?原来ABAP并非直接在数据库底层直接操作,而是在应用服务器通过数据字典来定义和管理数据对象,数据字典定义的表,一般称为透明表,SAP会在底层数据库创建和透明表相同结构的表。简单来说,SAP是通过底层代码映射解决了跨数据库的问题。各位可以感受下,要实现这种映射并非易事,需要强大的基础架构做支撑。

常见的数据库对象有表空间,表,字段,索引等,除开这些,ABAP字典还有一些自己独创的概念,主要是域(Domain),数据元素(Data Element),结构(structure),透明表(Transparent Table),表类型等。它们之间的关系如下图:

e158b10ab179d14c600dff405e89a50e.png

域(Domain): 用于定义字段的技术属性,包括数据类型、格式、长度、初始化值等。域在定义时可使用SAP的预定义类型。

8bedf2a46f47a7890012adad6f5754bc.png

这些预定义类型最常用的是CHAR(字符),DEC(金额), INT4(整型), NUMC(数字字符),CURR(货

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
30天学会ABAP程序 学习ABAP并不难,有人说SAP系统重在管理思想,不在技术,通常对有编程经验的读者不用任何培训参考一些相关资料就可立即上手. 简单介绍下ABAP/4的一些特征: 1.和SAP紧密结合,尤其在开发报表方面,坦率地讲,除了和SAP集成的好处,.我定认为ABAP在报表开发上比Crystal report Tool要高效简单. 2.和VB一样 ,ABAP是解释形的,如读者精通VB,学习ABAP应该豪不费力,倒是既然SAP是企业管理解决方案,ABAPer必须对企业管理流程熟悉. 解释性的另一好处是可以很好跟踪程序逻辑(使用/H),这对了解业务逻辑的实和追踪错误很有效. 和VB不同的是,VB跟踪时允许程序运行指针随意往回或往全拉而ABAP程序去不行, 但是ABAP程序允许在运行时修改变量的值,这是编译程序不能做到的. 当然通常编译比解释执行的速度会更快. ABAP程序执行并不直接读取源代码,而是执行内部经过“生成”的描述,对于ABAP/4字典的修改激活后将触发内部描述的重新生成,如程序并没激活就执行原版本,或者出现错误(程序没激活可能造成ABAP Dumping ABAP). 3.在对数据库处理方面,除了可直接执行SQL(使用native sql,缺点是错误处理很难控制,相当于有开发环境将SQL 语句直接传给DB去执行),SAPABAP开发环境层还提供了一套Open SQL访问底层数据库. 4. 程序员都知道Windows平台下开发都支持事件驱动,Windows系统本身也支持事件驱动,ABAP也提供了事件驱动,这表现在Dialog编程方面,但是ABAP在此方面并不强,而且相对讲也比较难于掌握(在后面会讨论). 5.基于面向对象的风靡,ABAP在此方面也有相当反应,在SAP强大的软件包中提供了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象. 6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP也有ABAP processor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种网络系统.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值