第一篇:ABAP 入门介绍 #私藏项目实操分享#

简介: 第一篇:ABAP 入门介绍 #私藏项目实操分享#

ABAP 是啥

ABAP (Advanced Business Application Programming) 是 SAP 系统的默认高级编程语言,它可以帮助大公司自定义 SAP 的 ERP(Enterprise Resource Planing,企业资源规划)。

ERP:支持企业流程的 IT 系统被称为 ERP,中文名:企业资源规划系统。目的是尽可能高效地使用这些资源并有效控制企业。

ABAP 可以帮助定制  

  • FICO(Financial ACCOUNTING)
  • MM(Materials Management)
  • AM(Asset Mangement)
  • SD (Sales  

SAP 当前的开发平台 NetWeaver 也支持 ABAP 和 Java。我们将学习如何使用 ABAP 进行基础开发。

为什么 SAP ABAP?

为什么该学习 SAP ABAP ?

  • 使用 SAP 系统,如 SAP R3平台,并对系统有定制需求
  • ABAP 是一种简单的语言,在编程方面很容易学习
  • 支持 面向过程面向对象 两种编程模式
  • 有助于 SAP 客户来改进基于 SAP 的应用程序
  • 允许您创建自定义报告和借口
  • ABAP 语言对于程序员来说非常容易。但是,对于非程序员不是可以使用的正确工具。

ABAP 的历史

ABAP 的几个重要历史节点:

  • ABAP 是 20 世纪 80年代开发的 4/GL(Fourth generation,第四代)语言
  • ABAP 成为为客户服务器开发程序的语言,该程序于 1992 年第一次发布
  • 1999年,SAP 介绍了一个面向对象的扩展名称为 ABAP 对象
  • 2006年,7.0 版本发布,提供交换机框架功能
  • 2012年,该版本发布了表格表达式
  • 2015年,版本7.5开始支持 Open SQL 表达式
  • 2017年,7.52版本引入了内表的虚拟排序

ABAP 运行时环境

所有的 ABAP 程序存储在SAP数据库中。但是,它们永远不会像 C++ 和 Java 程序一样存储在外部文件中。在数据库中,所有代码都以两种不同形式的 ABAP 写入:

  • 源代码,可以在 ABAP Workbench 工具和帮助下查看和编辑,以及代码的生成。它是与 Java 字节代码相似的二进制表示。
  • ABAP程序允许您控制运行时系统,这是SAP内核的一部分。运行时系统还允许ABAP语句的过程。它控制屏幕的逻辑,并响应用户单击或鼠标悬停等用户事件。

SAP ABAP 程序要么是一个可执行单元,要么是一个库,是一个可重用的代码。但是,它不能单独执行。 ABAP 可执行程序分为两类: 报告模块池。 ABAP 不可执行的程序类型是:

  • INCLUDE modules
  • Subroutine pools
  • Function groups
  • Object classes
  • Interfaces Type pools

SAP ABAP 工作台

ABAP 工作台是 ABAP 系统的重要组成部分,可通过 SAP GUI 访问。它包含用于编辑程序的各种工具。 它被 SAP 广泛用于标准自定义应用程序的开发。 ABAP 工作台也用于创建字典对象。

image.png

SAP ABAP具有以下组件:

  • ABAP 编辑器:它主要用于维护程序。
  • ABAP 字典:它用于维护字典对象。
  • 存储库浏览器:它用于在包中显示组件的分层结构。
  • 菜单绘制:它用于开发 GUI,包括菜单栏和工具栏。
  • 屏幕绘制:它用于维护在线程序的屏幕组件。
  • 存储库信息系统:存储有关开发和运行时对象的信息,如数据模型,表结构,程序和功能。
  • 功能构建器:此组件可帮助您创建和维护功能组和功能模块。
  • 测试和分析工具:如语法检查和调试器。
  • 数据建模器:此工具支持图形建模。
  • Workbench 组织者:它可以帮助您维护开发人员管理的多个开发项目进行分发。

SAP Java Vs. SAP ABAP

以下是 SAP Java和 SAP ABAP 之间的重要差异:

SAP Java

SAP ABAP

Java 在 IT 社区中被广泛使用,并在许多开源计划中发挥着重要作用

ABAP 是 SAP 用于按需和内部部署业务应用程序的默认编程语言。

Java 主要用于运行基于 Java 的应用程序或服务。

ABAP 用于运行基于 ABAP 的应用程序或服务。

SAP 将 Java 用于集成主题、门户和集成解决方案、协作场景和产品。

ABAP 为大型企业的 IT 环境提供高度可扩展且可靠的生命周期管理。

Java Stack 用于 SAP 门户,它可以托管用 JSP/EJB 编写的基于 Internet/Web 的应用程序。 Java Stack 使用 Java 线程来运行应用程序。 Java 堆栈包含 IR、SLD、ID、RWB 和 AE。

ABAP stack 帮助你运行ERP应用,主要是MM、SD、FICO等。ABAP stack包括IE和BPE。

总结

SAP ABAP 意味着高级业务应用程序编程。这是一种简单的语言,即在编程方面很容易学习。ABAP 编程已成为开发客户服务器程序的语言,该程序于1992年首次发布。 在数据库中,所有代码都以两种不同形式的ABAP写入:源代码,可以在 ABAP Workbench 工具的帮助下查看和编辑;生成的代码。 ABAP 可执行程序分为两种类型:报告和模块池。 Java 广泛用于 IT 社区,在许多开源举措中发挥着强大作用。相比之下,ABAP 是 SAP 的默认编程语言,用于按需和内部部署业务应用程序。

       

相关文章
|
SQL 设计模式 前端开发
【置顶】SAP ABAP开发实战——从入门到精通系列目录
本文章为SAP ABAP开发实战——从入门到精通系列的目录以及关于该教程的后续写作计划表
1828 0
【置顶】SAP ABAP开发实战——从入门到精通系列目录
SAP ABAP操作Office Excel的开源项目abap2xlsx
SAP ABAP操作Office Excel的开源项目abap2xlsx, 已经导入到EHP6, EHP7系统. ABAPer 可以参考一个人家OO的开发设计理念http://blog.itpub.net/30030251/viewspace-1363822/
2116 0
|
9月前
|
程序员
开发语言漫谈-ABAP
ABAP是SAP公司专门用于SAP软件环境的专门语言
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
251 0
|
前端开发 JavaScript 数据库
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
Restful ABAP Programming 编程模式是 ABAP 这门编程语言在不断向前进化的过程中,诞生的一门新的编程模型,简称为RAP模型。
175 0
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
|
程序员 BI
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
abap开发function module时使用tables传递参数报错过时的解决方法
如下图,我写了一个Function Module我要在tables中添加一个参数TABLES参数已过时不管怎么点击保存按钮,一直报错,怎么办呢?不管是不是过时,狂点回车,就保存了
1770 0
ABAP开发基础知识:1) ABAP基础程序类型(ABAP Elementary Data Types)
ABAP程序共包含8种基本数据类型定义,下表 数据类型名称 描述 属性 C Character Text(字符类型) 默认长度=1,默认值=blank,最大长度无限制 N Numeric Text(数字类型) 默认长度=1,默认值=“0.
864 0
ABAP开发基础知识:2) 变量的声明(Declaring Variables)
本篇文件主要讲解的是在ABAP编程过程中如何声明变量。     1.按类型定义变量     ABAP的变量需要通过关键字DATA进行声明,当同时声明多个变量时,需要在DATA后面加冒号,如“DATA:”,每个变量可以分配默认值,使用"VALUE ‘默认值’"进行定义,基本语法如下:     DATA  (长度)  TYPE   VALUE  . 例如:定义一个C类型变量“TEST1”,长度为10,默认值为“Hello Sap” 。
1663 0
ABAP开发基础知识:3) 自定义数据类型(User-Defined Data Types)
在前面曾经介绍过,ABAP共有8种基本数据类型,但是这些数据类型属性太为单一,为了方便开发人员操作和理解,SAP还提供自定义数据类型,让用户能自行定义数据类型的名称及属性,通过关键字TYPES能够实现自定义功能,其语法格式与变量定义类似,通过TYPES声明的参数可以被其它常量、变量引用,不能直接赋值。
1094 0