Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SAP ABAP——SAP简介(三)【S/4 HANA开发环境】

SAP ABAP——SAP简介(三)【S/4 HANA开发环境】

作者头像
THUNDER王
发布于 2023-02-23 05:12:17
发布于 2023-02-23 05:12:17
1.1K0
举报

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

💅文章概要: 本篇文章我们就来介绍一下SAP S/4 HANA的两种开发环境——GUI和`Fiori,将详细地对两种开发环境进行详解并进行比较。

🤟每日一言: 保护好你的梦想,等到它开花结果的那天,它会让你俯视所有曾经看低你的人。

目录

前言回顾

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

  中我们了解了SAP公司地主要产品时间线,我们知道了在未来SAP的下一代商务套件是S/4 HANA ,本系列教程也是基于S/4 HANA的开发环境来进行,本篇文章我们就来介绍一下SAP S/4 HANA的两种开发环境——GUIFiori

SAP GUI

 SAP GUI简介

SAP GUI 是 SAP 的通用客户端,用于访问 SAP 应用程序中提供的开发功能和业务功能SAP GUI 既是 SAP 应用的开发环境,也是运行环境。它从 SAP 服务器获取信息,例如在其窗口中需要显示的信息,在何时,何处,以及以什么样的方式来显示。

  在S/4 HANA诞生以前,SAP ABAP的开发环境只有SAP GUI,如下图所示,相信各位朋友们并不会陌生

  在S/4之前的版本中(R/3、ECC),只能使用SAP GUI进行传统开发,但在新一代S/4中,除了传统GUI外还支持了新一代UI套件FLORI进行开发。SAP GUI提供了下述事务代码(T-CODE)进行ABAP开发

T-CODE

描述

说明

SE80

对象导航器

包含了所有与ABAP开发相关的工作区

SE38

ABAP编辑器

ABAP主要的开发工具

SE37

函数编辑器

函数的开发工具

SE11

ABAP数据字典

数据字典类型和对象的开发工具

SE16

数据浏览器

维护数据库表数据的开发工具

SE93

维护事务码

维护事务码(T-CODE)的开发工具

SE43

区域菜单维护

SAP菜单开发工具

SE21

包构建器

SAP包的开发工具

SE24

类构建器

维护类的开发工具

SE09

传输组织器

CTS(变更传输系统)的开发工具

SM30

维护表视图

维护表/视图数据的开发工具

 使用GUI的S/4架构

  S/4 HANA继承了ECC的传统三层架构——表示层应用层数据库层

  用户通过SAP GUI进行操作,于是表示层向应用层传输用户提交功能的请求,应用层服务器接收请求后调用相应功能的ABAP代码并且向数据库层传输调用HANA数据库数据的请求,最终完成操作,生成数据报表展现给用户

SAP Fiori

 SAP Fiori 简介

SAP Fiori是SAP软件和应用程序的新用户体验(UX)它提供了一组应用程序,用于常规业务功能。如工作批准财务应用程序,计算应用程序和各种自助服务应用程序。   听起来似乎有点绕口是吗?其实简单点来理解Fiori就是:SAP S/4的新一代UI,相较于传统的SAP GUI界面来说,Fiori无需进行安装,只需要在浏览器中登录即可使用,在Fiori主页内嵌了许多个如同APP一样的应用程序,其中事务性APP的功能就等同于传统SAP GUI中的事务码(T-CODE),如下图所示是SAP Fiori的各设备显示页面,可以看到Fiori是响应式的,可以完美兼容各种设备,界面相较于传统SAP GUI来说也十分美观

 SAP Fiori 架构

  在前面介绍了使用GUI的S/4框架并阐述了其运行原理,接着我们来介绍一下Fiori的基础框架

   SAP WEB调度程序

SAP Web调度程序是SAP Fiori架构中最终用户的第一个联系人。这可以通过移动设备或笔记本电脑处理来自最终用户的所有Web浏览器请求。它是所有HTTP / HTTPS请求的入口点,并定义系统是否必须接受或拒绝请求以及请求应该去的服务器。它可以拒绝或接受与SAP Fiori系统的连接。事务应用程序可以在任何数据库上运行,但事实表和分析应用程序需要运行SAP HANA数据库

   SAP 前端服务器

SAP ABAP前端服务器包含Fiori系统NetWeaver网关的所有UI组件。这些UI组件由中央UI添加,SAP UI5控制库和SAP Fiori Launchpad组成。它还包含产品特定的UI。附件包含各种业务套件的UI开发,如ERP,SCM,SD,MM等。SAP NetWeaver Gateway用于设置SAP业务套件与目标客户端,平台和框架之间的连接。它提供开发和生成工具来为不同的客户端开发工具创建OData服务

   SAP 后端服务器

SAP ABAP后端服务器用于包含业务逻辑后端数据。资料单和SAP业务套件的搜索模型包含在ABAP后端服务器中。

   SAP HANA数据库和HANA XS Engine

HANA XS引擎用于运行SAP Fiori中的所有分析应用程序。它包含Fiori应用程序内容和通过SAP HANA Live提供的虚拟数据模型重用内容。 HANA XS Engine由以下两部分组成 : 1.商业套件的HANA Live App内容。HANA Live内容包含VDM重用内容,可用于扩展性目的。 2.带有KPI Modeler的Smart Business组件。

 SAP Fiori应用程序类型

  在Fiori中有三种不同类型的APP

   Transactional App(事务型)

  事务型APP可以理解为GUI版本上的事务代码,这类程序与GUI版本的类似,提供了基础的GRUD功能(增删改查)。

   Fact Sheet App(资料信息型)

  这类App通俗点来说就是在一个App里面通过各种维度展现某一类型的应用数据,比如之前的采购管理画面,在这个画面可以直观查询从采购申请到采购订单,交货凭证以及相关的发票凭证等一应单据,可以非常直观查看所有流程的数据。

   Analytical App(分析型)

  能看到的各种图表,图形,根据用户感兴趣的维度展现出来,比如一段时期以内的前十客户销售数据、地区前十销售数据、应收欠款前十客户等,这类SAP标准预设的App都能够很直观看到各种维度的管理图表。


SAP GUI和SAP Fiori的比较

  SAP GUI在某种程度上,成为了SAP系统的一个经典符号,它虽然不如SAP Fiori那般美观,但简洁高效风格统一。即使在S/4 HANA时代SAP GUI仍是不可被替代的一环,仍然有许多的用户在使用和许多传统的开发在上面进行。   Fiori 清爽的风格友好的操作方式,以及在不同终端的通用性,其优势也是显而易见的。并且经过性能调优后,Fiori的反应速度相较1.0版本来说变快了许多了。Fiori拥有五种设计原则——基于角色的响应性简单无缝体验令人愉快的,这五种设计原则使得Fiori为SAP S/4打造出全新的用户体验(UX)。   综上所述,借用阿诺德·施瓦辛格的一句话来总结——"我老了,但我并不过时"!SAP GUI不可替代,但不会再是唯一选择了。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
浅谈基于 JUnit 的单元测试
JUnit 是一个 Java 语言的单元测试框架,它由 Kent Beck 和 Erich Gamma 建立,逐渐成为 xUnit 家族中最为成功的一个。 JUnit 有它自己的 JUnit 扩展生态圈,多数 Java 的开发环境都已经集成了 JUnit 作为单元测试的工具。在这里,一个单元可以是一个方法、类、包或者子系统。因此,单元测试是指对代码中的最小可测试单元进行检查和验证,以便确保它们正常工作。例如,我们可以给予一定的输入测试输出是否是所希望得到的结果。在本文中,我们将着重介绍 JUnit 4.X 版本的特性,这也是我们在日常开发中使用最多的版本。
CG国斌
2022/11/28
1.2K0
Junit执行器Runner探索之旅
Tech      导读 单元测试是每个程序员必备的技能,而Runner是每个单元测试类必有属性。本文通过解读Junit源码,介绍junit中每个执行器的使用方法,让读者在单元测试时,可以灵活的使用Runner执行器。 01 背景 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了! 在今年的敏捷团队建设中,京东物流通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有
京东技术
2022/05/27
4350
Junit执行器Runner探索之旅
Junit 实例精讲基础教程(五) JUnit套件测试,一次性运行多个测试用例(测试类的测试方法)
前面我们已经了解了使用Junit进行单个方法的测试、以及如何模拟超时测试和异常测试,抛出一个问题:我不想一个一个地去跑测试用例,应该怎么办呢?Junit套件测试为我们提供了解决方案,它可以使用@RunWith(Suite.class)注解结合@Suite.SuiteClasses({Class1.class, Class2.class,… })注解来一次性执行Class1、Class2,…多个测试用例的测试方法。
青山师
2023/05/04
1.6K0
Junit 实例精讲基础教程(五) JUnit套件测试,一次性运行多个测试用例(测试类的测试方法)
Junit 学习笔记
目录 Junit 学习笔记 1. 编写测试用例时需要注意 2. 出现结果分析 3. Junit 运行流程 4. Junit 常用注解 5. Junit 测试套件的使用 6. Junit 参数化设置 Junit 学习笔记 1. 编写测试用例时需要注意 测试方法上必须使用 @Test 进行修饰 测试方法必须使用 public void 进行修饰,不能带任何参数 新建一个车源代码目录来存放我们的测试代码 测试类的包应该和被测试类保持一致 测试单元中的每个方法必须可以独立测试,测试方向间不能有任何依赖 测试类使用
希希里之海
2019/09/04
7580
测试开发实战|如何利用 xUnit 框架对测试用例进行维护?
xUnit 是一系列测试框架的统称,最开始来源于一个叫做 Smalltalk 的 SUnit 框架,现在各种面向对象的语言,如 Java、Python 的鼻祖就是 Smalltalk,后来这些语言都借助了 Sunit 框架的理念,有很多通用的规范和特征,也就统称为 xUnit。
霍格沃兹测试开发
2022/06/09
1.2K0
Java单元测试框架(一)——JUnit4
由于squareRoot方法是一个死循环,为了保证测试用例不至于无限制等待,在@Test后使用(timeout=1000),意思是等待1000毫秒,如果1000毫秒内没有出结果,默认测试失败
顾翔
2020/08/28
6220
单元测试_JUnit常用单元测试注解介绍及代码演示
https://pan.baidu.com/s/1OUNC0kZNduXJJLbpw76GZA
授客
2019/09/11
9260
单元测试_JUnit常用单元测试注解介绍及代码演示
如何利用 xUnit 框架对测试用例进行维护?
xUnit 是一系列测试框架的统称,最开始来源于一个叫做 Smalltalk 的 SUnit 框架,现在各种面向对象的语言,如 Java、Python 的鼻祖就是 Smalltalk,后来这些语言都借助了 Sunit 框架的理念,有很多通用的规范和特征,也就统称为 xUnit。
Hogwarts_测试
2022/06/30
6080
Spring Boot---(11)SpringBoot使用Junit单元测试
摘要:本文详细的记录了SpringBoot如何结合Junit写测试用例,如何执行,打包执行,忽略执行等操作,SpringBoot内置了Junit测试组件,使用很方便,不用再单独引入其他测试组件。
IT云清
2019/01/22
2.1K0
Eclipse中使用JUnit4进行单元测试(整合篇)
我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。正因为如此麻烦,所以程序员们编写单元测试的热情不是很高。于是有一个牛人推出了单元测试包,大大简化了进行单元测试所要做的工作,这就是JUnit4。本文简要介绍一下在Eclipse3.2中使用JUnit4进行单元测试的方法。
流川枫
2018/09/12
2.7K0
Eclipse中使用JUnit4进行单元测试(整合篇)
JUnit4 Categories 含义和官方示例
在众多待测试的类中,Categories runner 只运行那些带有@IncludeCategory注解或者其子类型的类或者方法。
明明如月学长
2021/08/27
4110
JUnit VS TestNG
软件开发经历了许多阶段,如需求收集和分析、设计、软件开发、测试和发布。测试是 SDLC 不可或缺的一部分,单元测试是一种可靠的测试类型。像 JUnit 和 TestNG 这样优秀的单元测试框架已经成为主流选择,但是关于 TestNG 与 JUnit 的差异的争论一直存在。
FunTester
2022/07/08
1.4K0
Spring集成junit,太好用了!| Spring系列第54篇
通常我们写完代码之后,为了确保代码的正确性,都需要自己测试一遍,看一下代码的运行结果和我们期望的结果是不是一样的,也就是我们常说的单元测试,java中最常用的单元测试框架是junit,本文主要介绍3个内容:
路人甲Java
2020/12/16
1K0
Spring集成junit,太好用了!| Spring系列第54篇
Java一分钟之-JUnit测试框架:断言与测试套件
JUnit是Java中最常用的单元测试框架,它提供了断言机制来验证代码行为,以及测试套件来组织和运行多个测试。本文将探讨JUnit中断言的使用、测试套件的创建,以及常见的问题和避免方法。
Jimaks
2024/06/04
3900
Java一分钟之-JUnit测试框架:断言与测试套件
​[JUnit] 基于JUnit从零开始认识单元测试
如果你听说过测试驱动开发(TDD:Test-Driven Development),单元测试就不陌生。单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。比如对函数abs(),我们可以编写出以下几个测试用例:
架构探险之道
2019/07/25
8150
Java测试框架——JUnit详解(4&5)
如果有对单元测试还不熟悉的小伙伴可以看一下我的这篇文章——浅谈单元测试,本文我们主要针对JUnit 来讲解Java中的常用单元测试关于JUnit4和5的区别可以参考这篇文章,从JUnit 4迁移到JUnit 5:重要的区别和好处。
秋名山码神
2023/01/05
2.1K0
Java测试框架——JUnit详解(4&5)
Junit 4 Tutorials(Junit 4 教程) 五、测试套件
Junit 4允许通过使用测试套件类批量运行测试类 . 为一套测试类创建一个测试套件,要为测试类添加以下注解:
亦山
2021/09/14
6120
Junit使用教程详解
JUnit是一个Java语言的单元测试框架。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 -- 来源:百度百科。
浩Coding
2019/07/02
3.1K0
Junit使用教程详解
【干货】JUnit5快速指南
单元测试是软件开发中必不可少的一环,但是在平常开发中往往因为项目周期紧,工作量大而被选择忽略,这样往往导致软件问题层出不穷。线上出现的不少问题其实在有单元测试的情况下就可以及时发现和处理,因此培养自己在日常开发中写单元测试的能力是很有必要的。无论是对自己的编码能力的提高,还是项目质量的提升,都是大有好处,本文将介绍 Java 单元测试框架 JUnit 5 的基础认识,和使用来编写单元测试。
TestOps
2022/04/07
5160
Selenium 中的 JUnit 注解
JUnit 是一个基于 Java 的开源框架,可帮助测试人员执行单元测试。JUnit 主要用于测试应用程序的每个单元或组件,例如类和方法。它有助于编写和运行可重复的自动化测试,以确保项目代码按预期运行。还可以使用 JUnit 执行 Selenium 自动化测试用例,以测试 Web 应用程序或网站。
FunTester
2022/12/09
9200
Selenium 中的 JUnit 注解
推荐阅读
相关推荐
浅谈基于 JUnit 的单元测试
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档