ABAP历史发展.docx
- 文档编号:28988831
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:9
- 大小:21.53KB
ABAP历史发展.docx
《ABAP历史发展.docx》由会员分享,可在线阅读,更多相关《ABAP历史发展.docx(9页珍藏版)》请在冰豆网上搜索。
ABAP历史发展
PG是程序员SE是软件工程师
《SAP程序设计》黄佳编着
SAP全称:
systemsapplicationsandproductsindataprocessing。
SAP是一款用于ERP(企业资源计划)管理的软件,目前是全球最第一的erp软件。
ABAP是一种高级企业应用编程语言(AdvancedBusinessApplicationProgramming),起源于20世纪80年代。
经过不断的发展,现在的版本为ABAP/4,SAPR/3的应用程序就是用ABAP/4编写的。
ABAP介绍
ABAP发展历史
ABAP/4
ABAP/4的特征
一.要创建ABAP/4程序,请进行如下操作
二.命名规则
三.制定程序属性介绍
要输入程序属性,请进行如下操作
四.重要的程序属性
五.编写程序介绍
请进行如下操作
六.测试程序
七.显示或更改程序
八.将事物代码分配给程序介绍
进行如下操作
ABAP介绍
ABAP发展历史
ABAP/4
ABAP/4的特征
一.要创建ABAP/4程序,请进行如下操作
二.命名规则
三.制定程序属性介绍
要输入程序属性,请进行如下操作
四.重要的程序属性
五.编写程序
介绍请进行如下操作六.测试程序七.显示或更改程序八.将事物代码分配给程序
介绍进行如下操作展开编辑本段ABAP介绍
ABAP是一种高级企业应用编程语言(AdvancedBusinessApplicationProgramming),起源于20世纪80年代。
经过不断的发展,现在的版本为ABAP/4,SAPR/3的应用程序就是用ABAP/4编写的。
ABAP/4是面向对象语言。
它支持封装性和继承性。
封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。
ABAP/4具有事件驱动的特性。
ABAP/4和COBOL具有类似之处。
ABAP/4适合生成报表。
ABAP/4支持对数据库的操作。
SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。
经过不断的改进和修改以满足商业领域的需要。
现在,ABAP/4已成为SAP开发所有自己的应用程序的仅有工具。
SAP客户用ABAP/4进行其自身开发。
这样的开发对R/3标准解决方案适应特殊问题非常重要。
ABAP/4开发工作平台包含所有用于创建和维护ABAP/4程序的工具。
ABAP/4的可解释特性使其易于生成、测试并运行程序的中级版本,以便将来生成最终版本。
此过程也叫做早期原形处理,意味着您不必丢弃中级版本。
ABAP/4是第四代支持结构化程序设计的语言。
它合并了所有通常的控制结构和模块化概念。
编辑本段ABAP发展历史
了解一下ABAP的发展历史是必要的,ABAP产生的最初的目的是用以生成简单打印报表程序,我们知道SAP最初是为解决财务实时数据处理问题的,ABAP(AdvancedBusinessApplicationProgramming->高级业务应用编程语言)现在用于编写SAPAG的几乎全部产品源代码。
严格地讲,ABAP/4不仅仅是一个开发工具,而且是一套完整的client/server开发环境,这很好理解,微软的VisiualStudio是一开发环境,VB,VC++等是开发工具.ABAP开发环境包含支持程序开发的一些函数和包等。
SAP开发环境的三层(多层)概念也不新鲜,比如在安装SAP时也可将DBinstance安在一台server,Centralinstance在另一台所谓的Applicationserver(我想这应是相关SAP基础系统包括各种应用程序所在),而通常客户端安装的SAPLogonFrontEnd,SAP会话管理器等是所谓的表示层,它通过TCP/IP,SAP演示协议或RFC和应用服务器进行数据传输,用户看到的只是处理后的数据返回。
和Delphi的三层逻辑相近,在应用层包含多个组件象ABAP开发平台,身份验证,系统管理维护等用以处理会话,更新,排队,网关,数据层处理native和OpenSQL等(这是从内部机制方面看),SAP各模块应用的业务逻辑都在应用层被处理(从用户角度)然后结果被返回。
SAPLogon,[1]表示应用服务器(通常企业为了节省成本和方便管理可能会将应用服务器和数据库安装在同一起),[2]Systemnumber,举个实例,开发和测试服务共用一台服务器,开发使用systemnumber00,而测试使用systemnumber01,通过systemnumber逻辑地将一台physicalserver逻辑地分成了两台applicationserver。
[1]
编辑本段ABAP/4
-带有各种类型和结构的声明数据的声明元素 -数据制作的操作元素 -控制程序流的控制元素 -反应外部事件的事件元素 ·ABAP/4支持多种语言。
文本摘要(例如,标题、页眉和其他文本)将根据程序代码分别存储。
您可以随时在不改变程序代码的情况下更改、转换和维护这些文本摘要。
·ABAP/4支持商业数据类型和操作。
您可以用特殊日期和时间字段进行计算。
系统会自动执行必需的类型转换。
·ABAP/4提供一系列功能处理字符串。
·ABAP/4包含一个叫OpenSQL的SQL子集。
用OpenSQL,您可以读取和访问数据库表,与所用的数据库系统无关。
·ABAP/4允许您定义和处理内部表,该表只在运行程序时存在。
内部表使其更容易处理数据表,并帮助使用程序中的复杂数据结构。
·ABAP/4允许您定义和调用子程序。
也可以调用其他程序的子程序。
参数能够以各种方式从子程序传递或传递到子程序。
·ABAP/4包含一种特殊子程序,叫做功能模块。
您可以在中央库中创建和维护功能模块。
在调用程序和子程序之间功能模块有一个明确定义的数据接口。
它们能够以调用程序的独立模式进行分别测试。
这里有两种主要的ABAP/4程序类型:
·报表程序 报表程序用于分析数据库表中的数据。
这种分析的结果可以显示在屏幕上或发送到打印机上。
逻辑数据库支持报表程序。
逻辑数据库是特殊的ABAP/4程序,使开发者不必编码所有的数据库访问。
·对话程序 将对话程序组织为包含对话模块的模块池。
每个动态程序(由一个屏幕及其流逻辑组成的“动态程序”)都基于一个ABAP/4对话程序。
流逻辑包含对ABAP/4对话模块的调用。
编辑本段ABAP/4的特征
1.和SAP紧密结合,尤其在开发报表方面,坦率地讲,除了和SAP集成的好处,.我定认为ABAP在报表开发上比CrystalreportTool要高效简单。
2.和VB一样,ABAP是解释形的,如读者精通VB,学习ABAP应该豪不费力,倒是既然SAP是企业管理解决方案,ABAPer必须对企业管理流程熟悉。
解释性的另一好处是可以很好跟踪程序逻辑(使用/H),这对了解业务逻辑的实和追踪错误很有效.和VB不同的是,VB跟踪时允许程序运行指针随意往回或往全拉而ABAP程序去不行,但是ABAP程序允许在运行时修改变量的值,这是编译程序不能做到的.当然通常编译比解释执行的速度会更快。
ABAP程序执行并不直接读取源代码,而是执行内部经过“生成”的描述,对于ABAP/4字典的修改激活后将触发内部描述的重新生成,如程序并没激活就执行原版本,或者出现错误(程序没激活可能造成ABAPDumpingABAP)。
3.在对数据库处理方面,除了可直接执行SQL(使用nativesql,缺点是错误处理很难控制,相当于有开发环境将SQL语句直接传给DB去执行),SAP在ABAP开发环境层还提供了一套OpenSQL访问底层数据库。
4.程序员都知道Windows平台下开发都支持事件驱动,Windows系统本身也支持事件驱动,ABAP也提供了事件驱动,这表现在Dialog编程方面,但是ABAP在此方面并不强,而且相对讲也比较难于掌握(在后面会讨论)。
5.基于面向对象的风靡,ABAP在此方面也有相当反应,在SAP强大的软件包中提供了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象。
6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP也有ABAPprocessor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种网络系统。
[2]
编辑本段一.要创建ABAP/4程序,请进行如下操作
1.在“SAPR/3”初始屏幕上选择“工具->ABAP/4工作台”。
出现“ABAP/4开发工作台”屏幕 2.选择“ABAP/4编辑器” “ABAP/4编辑器初始屏幕”如下所示:
3.为在“程序”字段中创建的程序输入名称(关于创建程序名称的详细信息,参见命名程序规则(页455))。
4.选择“创建”。
不论在“对象组件”下选择什么,都出现“ABAP/4:
程序属性”屏幕。
当命名并创建程序后,可以定义其属性(关于定义程序属性的详细信息,参见指定程序属性(页457))。
创建ABAP/4程序还有其它过程。
例如,可以:
1.选择“ABAP/4开发工作台”屏幕上的“对象浏览”。
2.选择“对象列表”下的“程序”。
3.选择“单一对象”下的“程序对象”。
4.输入程序名并单击“显示”。
编辑本段二.命名规则
当创建程序名称时请遵循如下规则:
-使用至少1个但不超过8个字符。
-不要使用下列字符 -句点(.) -逗号(,) -空格() -括号'('')' -单引号(') -双引号(") -等号(=) -星号(*) -元音变音(_,_,_,_,_,_)和'_' -百分号(%)和下划线(_):
因为这些符号是SQL语句的通配符,所以也会导致问题(参见为在程序中选定行指定条件)。
SAP建议在程序名称中不要使用它们。
创建程序名称时请遵守这些命名约定:
_报表程序(以列表格式输出数据分析):
Yaxxxxxx或Zaxxxxxx。
用应用程序区的分类字母替换a。
用任何有效字符替换x。
注意SAP报表程序遵守相似的命名约定:
Raxxxxxx。
_任何其它ABAP/4程序(培训程序或事务程序):
SAPMYxxx或SAPMZxxx。
用有效字符替换x。
注意标准SAPABAP/4程序遵守相似的命名约定:
SAPMaxxx,其中a代表某应用程序区。
编辑本段三.制定程序属性
介绍
程序属性决定程序属于哪种应用程序以及程序所链接的逻辑数据库。
必须谨慎输入属性以便系统能正确处理程序(有关程序属性的详细信息,参见重要的程序属性(页459))。
已经将名称分配给程序并选择“ABAP/4编辑器初始屏幕”上的“创建”时,出现“ABAP/4:
程序属性”屏幕。
要输入程序属性,请进行如下操作
1.在字段“标题”中输入程序标题。
选择描述程序功能的标题。
系统自动将标题与文本摘要合并。
如果以后要更改标题,请按如下操作进行:
-选择“ABAP/4编辑器初始屏幕”上的“文本摘要”或“属性”。
-选择“更改”。
2.完成两个强制字段:
-如果创建报表程序,则在“类型”字段中输入1,如果创建模块存储,则在“类型”字段中输入M。
关于可能类型的列表,请单击可能条目箭头。
-在“应用程序”字段中为应用程序输入分类字母,如财务会计输入F。
3.如果创建报表(类型=1),请选择“确定”。
系统将特定报表属性自动插入输入字段。
然后看见附加字段“逻辑数据库”、“从应用程序”和“选择屏幕”(版本)。
4.指定与程序相关的所有其他属性(有关程序属性的详细信息,参见重要的程序属性(页459))。
5.选择“保存”以保存属性。
6.出现“维护对象目录条目”窗口。
7.输入开发类。
如果为培训或测试目的创建程序(如某私有对象),则输入开发类$TMP或选择“逻辑对象”。
8.选择“保存”以保存开发类。
这将关闭“维护对象目录条目”窗口并返回“ABAP/4:
程序属性”屏幕。
9.选择“后退”离开屏幕。
如果要直接转到ABAP/4编辑器,请选择“转向->源代码”。
如果通过预定义开发类在“对象浏览器”中创建程序,则跳过步骤6到8。
编辑本段四.重要的程序属性
最重要的程序如下所述。
关于其它属性的详细信息(或关于此处描述的属性的详细信息),请选择相关的输入字段,并单击可能的条目箭头。
注意下述某些属性只适用于报表程序并不适用于其他ABAP/4程序。
类型 除了类型1(如同报表的独立程序)和M(模块存储),还应该注意类型I(包含程序)。
包含程序是个独立的程序,它有两个主要特征。
首先,它包含程序代码,不同程序都可使用该代码。
其次,它用于模块化程序源代码,该代码分成逻辑相关部分。
其中每个部分都存储在不同的包含程序中。
包含程序改善源代码的可读性并有助于 维护。
(有关包含程序的详细信息,参见包含程序)。
应用程序 “应用程序”字段包括应用程序的缩写,如,财务会计缩写为F。
该必需条目使系统能将程序分配给适当的业务区。
开发类 开发类对系统之间进行传输非常重要。
执行传输时,可以将分配给某个开发类的工作台对象组合起来。
如果用户在某组中工作,也许要将程序分配给现有开发类或创建新的开发类。
分配给开发类$TMP的程序是私有对象并且不能传输到其他系统。
但是,也可以通过选择“ABAP/4编辑器初始屏幕”上的“程序->重新分配...”更改分配给程序的开发类。
应用程序中的逻辑数据库(仅报表程序) 这些属性决定报表使用哪个逻辑数据库检索数据,以及逻辑数据库属于哪个应用程序。
应用程序中数据库名称必须是唯一的。
但是,整个系统可以包括数个同名数据库。
因此指定应用程序很重要。
关于逻辑数据库的详细信息,参见逻辑数据库的特性和维护。
如果报表程序直接读取数据,而未使用逻辑数据库(关于此主题的详细信息,参见访问带逻辑数据库的数据库表),则应该象通常一样指定应用程序,但将“逻辑数据库”字段置空。
选择屏幕版本(仅报表程序) 如果没有指定选择屏幕版本,则系统在逻辑数据库选择标准、报表特定参数及选择选项的基础上自动创建选择屏幕(关于选择屏幕的详细信息,参见使用选择屏幕)。
如果想使用自己的选择屏幕,请在此字段中输入号码。
该号码必须小于1000。
可以通过按F4或在DBxxxSEL程序中找到现有选择屏幕号码(详细信息,参见逻辑数据库选择)。
大写/小写 显示和存储时,如果要让ABAP/4编辑器将程序代码与输入时保持相同,则请将该字段置空。
如果选择该字段,则所有的程序代码(除了引号中的文本及注释外)都转换成大写字母。
屏幕显示依赖于所使用的编辑器模式(详细信息,参见文档ABAP/4工作台工具。
编辑器锁定 如果设置此属性,则其他用户则不能修改、改名或删除程序。
只有用户可以更改程序、维护属性、文本摘要及文档;或者解除锁定。
定点算术 如果设置此属性,系统则根据小数点位数将类型P字段四舍五入,或用零填补(关于类型P字段的详细信息,参见数字数据类型(页3-4))。
这种情况下,无论在用户主记录中指定了什么,小数点字符总是句点(.)。
通过变式启动(仅报表程序) 如果设置该属性,则用户只可以使用变式启动报表程序。
在启动程序之前,必须创建至少一个报表变式(关于创建变式的详细信息,参见使用变式预设置选择)。
编辑本段五.编写程序
介绍
在ABAP/4编辑器中编写ABAP/4程序。
可以直接从“ABAP/4程序属性”屏幕切换到编辑器,也可以从“ABAP/4编辑器初始屏幕”中调用编辑器。
请进行如下操作
1.在“ABAP/4程序属性”屏幕上选择“转向->源代码”或“源代码”。
选定“源代码”并选择“ABAP/4编辑器初始屏幕”上的“更改”。
出现“ABAP/4编辑器编辑程序”屏幕。
系统自动输入第一个ABAP/4语句,如 REPORT
然后系统扫描程序代码寻找语法错误及不相容处。
如果检查出错误,则出现消息报告它并且有可能的话将建议解决方案或更正。
将光标放在适当的位置上。
4.选择“保存”保存代码。
源文本存储在程序库中。
编辑本段六.测试程序
测试程序检查代码是否正确工作。
为测试目的要运行程序,选择“ABAP/4编辑器编辑程序”屏幕上的“程序->执行”。
系统执行该程序,如同从“ABAP/4编辑器初始屏幕”中启动的一样。
例如,创建报表程序之后,则首先出现从中输入条件的选择屏幕,然后是结果列表。
如果正创建ABAP/4程序模块,则必须在运行程序之前创建事务代码(关于创建事务代码的详细信息,参见对话编程简介)。
出于测试目的,可以先不进行保存,直接运行某个不是模块存储部件的程序。
编辑器保留一个包含更改的临时版本。
但是,测试结束后必须返回编辑器以确保所有更改都已保存。
编辑本段七.显示或更改程序
本节主要说明如何显示或更改现有程序。
此处相关的是技术步骤而不是实际代码更改。
要显示或更改程序,请进行如下操作:
1.在“ABAP/4编辑器初始屏幕”上的“程序”字段中输入要更改的程序名称。
2.选择“源代码”并选择“显示”或“更改”。
如果选择“更改”则继续步骤3。
如果选择“显示”,则看到“ABAP/4编辑器显示程序”屏幕。
此处也显示源代码,但不能进行更改。
可以通过选择“显示->更改”切换到更改模式。
3.如果其他用户锁定该程序对编辑器的访问,则系统显示下列消息:
User
要更改程序,必须将它复制到新程序中并用新程序名再开始步骤1。
否则,继续步骤5。
4.输入对程序代码的更改。
5.选择“检查”检查语法。
6.保存程序的更改版本。
如果更改程序的私有版本(开发类$TMP),则立即保存更改版本。
如果从$TMP之外的开发类更改程序,则会出现一个窗口,从中可以指定更正请求号(ChangeRequestNumber)。
7.运行程序测试它(关于测试的详细信息,参见测试程序(页11))。
编辑本段八.将事物代码分配给程序
介绍
进行如下操作
1.按照本节上述主题所述,创建单独程序。
2.SAP菜单树:
工具->ABAP工作台->开发->其他工具->事务,事务代码:
SE93。
3.填入事务代码并选择“维护事务”屏幕上的“创建” 4.在下列对话屏幕上选择“报表事务”; 5.在下列“创建报表事务”屏幕上填入所需条目“事务说明”和“程序”。
6.将事务代码保存在开发类中。
开发类可以用事务代码SM30维护视图V_TDEVC来创建或修改。
Salesdistribution销售与分销
Materialsmanagement物料管理
ProductionPlanning生产
Financial财务
CO=Controlling,成本会计
WM(warehousemanagement),是指仓管管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ABAP 历史 发展