草庐IT

SAP ABAP——SAP简介(五)【ABAP的前世今生和未来】

ThundersArk 2023-12-10 原文

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。


💅文章概要: 在此前文章中我们了解了SAP公司主要产品的时间线,众所周知,SAP公司所有产品都是基于ABAP语言来开发的,本篇文章着重要介绍的是SAP公司产品最重要的基石——ABAP。


🤟每日一言: 你可以遗憾,但是你绝对不能后悔。遗憾证明你努力过了,只是力有不逮。而后悔,只能说明你当时没努力过。。


目录


前言回顾

  在此前文章:
SAP ABAP——SAP简介(二)【SAP主要产品时间线】

  中我们了解了SAP公司主要产品的时间线,众所周知,SAP公司所有产品都是基于ABAP语言来开发的,本篇文章着重要介绍的是SAP公司产品最重要的基石——ABAP


ABAP的前世

  说起ABAP的前世,就不得不先介绍两门历史悠久的语言——COBOLSQL

 COBOL简介


  COBOL语言,是一种面向过程高级程序设计语言,主要用于数据处理,是国际上应用最广泛的一种高级语言。COBOL是英文Common Business-Oriented Language的缩写,原意是面向商业的通用语言。它采用 300多个英语单词作为保留字,以一种接近于英语书面语言的形式来描述数据特性和数据处理过程,因而便于理解和学习。COBOL语言是专门为企业管理而设计的高级语言,可用于统计报表财务会计计划编制作业调度情报检索人事管理等方面。
  可以这么说,没有COBOL的诞生就不会有ABAP的出现,在ABAP的语法中我们可以找到许多COBOL的影子。

 SQL简介

  SQL(结构化查询语言),是一种高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性强大的功能
  ABAP借鉴了SQL的语法,在ABAP中提供了OPEN SQLNATIVE SQL两种操作方式,能够对数据库中数据进行处理,为报表的生成提供数据,是ABAP中很重要的存在。

 初出茅庐的ABAP

  ABAP——全称为(Advanced Business Application Programming),中文名的含义为:高级业务应用程序编程语言,是由SAP公司发布的一种事件驱动的编程语言。ABAP最早出现于1983年,借鉴了COBOL语言SQL设计的第四代开发语言,所以ABAP又被称为ABAP/4
  1999年,SAP公司发布了面向对象的ABAP,参考了C++和JAVA的设计,从此ABAP也可以基于OO来进行开发了,面向对象的ABAP是ABAP发展过程中的一个重要里程碑,至此ABAP的语法变得冗余起来,在ABAP语法中我们既可以找到面向过程的例子,也不乏面向对象的影子,可以说ABAP是一种既有传承又有发展的老一辈语言。
  2003年,ABAP又经过发展,衍生出了Web Dynpro for ABAP(WDA),用于WEB UI的开发,随即ABAP也成为了SAP中Web Dynpro的开发语言。


ABAP的今生

  ABAP自从诞生开始便随着SAP一代代新产品的推出在不断地进行自我革新。2015年S/4 HANA横空出世,此后ABAP也可以被支持在云平台上进行开发(ABAP For HANA)。
  在ECC版本时代,SAP Cloud Platform(SCP) 还未诞生的时候,ABAP只能在SAP GUI集成环境中进行开发。而随着ABAP不断进行发展,现如今,在SAP Cloud Platform上已经支持ABAP的开发环境,这也让世界各地的开发人员,使用ABAP语言开发、构建新的Cloud应用程序成为了可能。

  云平台上的ABAP(ABAP in Cloud)是传统ABAP语言的一个子集,ABAP in Cloud移除了那些不符合云平台的安全规范ABAP的操作,例如直接访问文件系统。同时一些传统的report元素也不再可用,例如SE38中的选择屏幕等元素。ABAP in Cloud支持RESTful的编程模型,包含SAP FioriCore Data Services (CDS)


ABAP的未来

 ABAP会被淘汰吗?

  【ABAP未来会过时吗】这个问题很久之前就在被津津乐道了,笔者还在高中的时期便对此话题多有听闻,但是时间冉冉过去快5年了,现在似乎看来ABAP并没有被淘汰过时,反而还一直有着其用武之地。
  在这张2022全球需求最大编程语言排行榜中我们可以看到ABAP排在第16位,这个位置可以说不高也不低,相较于其他编程语言来说,ABAP是封闭的,它只能运行在SAP环境中,这种独特特点赋予了ABAP稳定的外部环境——"我和谁都不争,和谁争我都不屑"

  在Jerry老师的这篇文章ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来的结尾曾经说到过:从 ABAP 诞生之日起至今,这门编程语言就不停地进行自我改造和不断地进化。考虑到全球在 ABAP 平台上运行软件的庞大客户群(其中相当一部分是 SAP 旗舰级产品 S/4HANA),以及SAP公司在ABAP 方面的创新事实证明:ABAP 是一个充满活力的环境,总能找到合适的方案来整合市场最新需求和创新。

  ——我老了,但我不过时 是对ABAP的最好描述了吧!


 ABAP未来的方向

  ( 一 ) 作为SAP ECC等SAP核心系统的编程语言,ABAP具有深厚的历史背景,其开发成本之大也是不可考量的。无论基于技术原因还是商业战略,SAP都不可能放弃 ABAP语言而转用更为通用的语言作为核心系统的语言。事实上,SAP公司曾经试过放弃ABAP转向当时流行的语言和框架,但是失败了,最后还是老老实实地回归到了ABAP的发展和迭代之中。

  ( 二 ) ABAP在后台业务商业逻辑开发中是重点,即便数据库平台升级为HANA、应用平台移到云端,或者前端开始部分使用更为轻量的SAP Fiori,在SAP ECC或者S/4 HANA平台上ABAP依然是应用平台核心开发语言。

  ( 三 ) 除了SAP自己发布的系统是基于ABAP代码的,现实中大量的客户定制化开发数量众多的客户的核心业务逻辑还需要大量的ABAP程序的支撑和维护,尤其在SAP的大型企业用户中,SAP的应用实施大多已经完成,而深人业务开发的ABAP的二次开发却数量巨大,并且难度越发艰深,基于SAP平台的ABAP语言在后台逻辑的定制开发上还是无法替代的。


写在最后的话

  本文花费大量时间介绍了ABAP的前世今生和未来发展,希望能帮助到各位小伙伴,码文不易,还望各位大佬们多多支持哦,你们的支持是我最大的动力!

原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力! \textcolor{9c81c1}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{ed7976}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{98c091}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

有关SAP ABAP——SAP简介(五)【ABAP的前世今生和未来】的更多相关文章

  1. HBase Region 简介和建议数量&大小 - 2

    Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile

  2. IDEA 2023.1 正式发布,新特性简介 - 2

     昨晚看到IDEA官推宣布IntelliJIDEA2023.1正式发布了。简单看了一下,发现这次的新版本包含了许多改进,进一步优化了用户体验,提高了便捷性。至于是否升级最新版本完全是个人意愿,如果觉得新版本没有让自己感兴趣的改进,完全就不用升级,影响不大。软件的版本迭代非常正常,正确看待即可,不持续改进就会慢慢被淘汰!根据官方介绍:IntelliJIDEA2023.1针对新的用户界面进行了大量重构,这些改进都是基于收到的宝贵反馈而实现的。官方还实施了性能增强措施,使得Maven导入更快,并且在打开项目时IDE功能更早地可用。由于后台提交检查,新版本提供了简化的提交流程。IntelliJIDEA

  3. 科创人·数智未来私董会第4期:转型的实证-幸存者偏差与盲人摸象 - 2

    所有技术终将演变为基础设施。2022年6月11日,科创人·数智未来私董会第4期活动在线举办,本次活动由科创人、北航投资、方云智能联合举行;微软(中国)首席技术官韦青担任本期活动主讲嘉宾,携手14位企业高级决策者围绕数智未来课题进行深度探讨。科创人·数智未来私董会第3期活动回顾|《狗尾巴的故事-数智时代的第一性原理》与会嘉宾依次是:微软(中国)CTO韦青、领鹊科技创始人&CEO张志祥、食方科技创始人&CEO黄龚、中科云创创始人&CEO周北川、北航投资总经理王剑飞、中煤信息技术首席专家黄韶杰、天云数据创始人&CEO雷涛、中国农业银行科技与产品管理局信息安全与风险管理处处长何启翱、索迩科技创始人&C

  4. 未来的趋势————以ChatGPT为标杆的AI对生活的影响是巨大的 - 2

    文章目录前言1.AI的发展历程2.我是如何接触到人工智能的概念和产品的3.对于ChatGPT的一点看法4.AI对大学毕业生的职业发展的利与弊5.对于AI的思考和问题前言随着ChatGPT的爆火,生成式AI,大模型的人工智能被越来越多的人注意到,同时他也带来了许多问题。本文将对几方面进行探讨。1.AI的发展历程远古时期在公元前第一个千禧年,中国,印度和希腊哲学家都提出了一些推理的研究理论,比如亚里士多德(Aristotle)进行了演绎推理三段论的完整分析,欧几里得(Euclid)所著Elements是一种形式推理的模型,MuḥammadibnMūsāal-Khwārizmī,发明了代数学,即我们

  5. pytest简介 - 2

    介绍pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点:简单灵活,容易上手支持参数化能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等测试用例的skip和xfail处理可以很好的和jenkins集成

  6. SpringCloud入门实战(七)-Hystrix入门简介 - 2

    📝学技术、更要掌握学习的方法,一起学习,让进步发生👩🏻作者:一只IT攻城狮。💐学习建议:1、养成习惯,学习java的任何一个技术,都可以先去官网先看看,更准确、更专业。💐学习建议:2、然后记住每个技术最关键的特性(通常一句话或者几个字),从主线入手,由浅入深学习。❤️《SpringCloud入门实战系列》解锁SpringCloud主流组件入门应用及关键特性。带你了解SpringCloud主流组件,是如何一战解决微服务诸多难题的。项目demo:源码地址👉🏻SpringCloud入门实战系列不迷路👈🏻:SpringCloud入门实战(一)什么是SpringCloud?SpringCloud入门实战

  7. ruby - SAP 新实现Ruby 对Ruby 程序员有何意义? - 2

    SAP宣布BlueRuby,在ABAP虚拟机中运行的Ruby版本。这似乎为Ruby语言增加了可信度,但是,除了SAP开发人员之外,这是否适用于Ruby社区的其他人?我只是想知道这可能还有什么其他意义。可能会雇用Ruby开发人员从事SAP项目的额外工作机会?Ruby程序员还有其他潜在的好处吗?此外,还有一些我不清楚的地方:除了MRI和JRuby,还有多少种不同的实现,为什么我作为Ruby程序员需要MRI以外的任何实现?我知道如果我想与Java库集成,我可能需要JRuby。除了MRI或JRuby之外,还有什么时候我可能需要研究实现吗?我注意到BlueRuby已编译。这是一个很大的好处吗?这

  8. 最新2023年Kali Purple,紫色的带防御kali,简介和安装(超详细) - 2

    文章目录一,什么是kaliPurle(卡利紫)二,如何安装kaliPurple。(有步骤没图片直接是默认)1,复制它的下载链接到迅雷可以让你下镜像变得更快。2,打开你的虚拟机创建新的虚拟机3,点击后面浏览然后找到镜像的所在地选中确定,下一步4,这里默认就可以,因为Ubuntu和这个差不多架构。5,然后,名字自己改一下,然后把他安到你想要装的盘,容量默认。之后一直下一步就可以**6,打开它,然后第一个图形界面安装,直接回车,然后选中文点continue之后没有图片的直接点继续。7,密码想设什么设什么。然后一直继续到我的图片那里改一下就可以了。8,软件默认就行。9,耐心等待。然后点手动配置dvc然

  9. MPU6050 简介 - 2

    目录关于MPU6050芯片关于小板关于厂家和DATASHEET关于漂移关于角加速度还是角速度关于精度和量程(可调,可选)关于功耗,陀螺仪+加速器工作电流:3.8mA(全功率,陀螺仪在所有速率下,在1kHz采样率下加速)采样率高,功耗也高可以参考  MPU6050陀螺仪与Processing和匿名上位机飞控联动实录-知乎关于MPU6050芯片MPU6050传感器模块是6轴运动跟踪设备。包含3轴陀螺仪、3轴加速度计、运动处理器、温度传感器。I2C总线接口,可与微控制器进行通信。通过辅助I2C总线与其他传感器设备通信,如3轴磁力计、压力传感器等。如果3轴磁力计连接到辅助I2C总线,则MPU6050可

  10. MySQL REPLACE字符串函数简介 - 2

    MySQL为您提供了一个有用的字符串函数REPLACE(),它允许您用新的字符串替换表的列中的字符串。REPLACE()函数的语法如下:REPLACE(str,old_string,new_string);SQLREPLACE()函数有三个参数,它将string中的old_string替换为new_string字符串。注意:有一个也叫作REPLACE的语句用于插入或更新数据。所以不要将REPLACE语句与这里的REPLACE字符串函数混淆。REPLACE()函数非常方便搜索和替换表中的文本,例如更新过时的URL,纠正拼写错误等。在UPDATE语句中使用REPLACE函数的语法如下:UPDATE

随机推荐