首页 > 其他分享 >一种在 ABAP 端扩展 SAP Fiori 应用的方法介绍

一种在 ABAP 端扩展 SAP Fiori 应用的方法介绍

时间:2023-11-09 22:34:21浏览次数:40  
标签:文件 SAP uglify grunt JavaScript js ABAP Fiori Grunt

有朋友在我的知识星球提问:

HCMFAB_COMMON 这个lib已经被很多app消费了,我想对HAMFAB_COMMON做一点扩展,希望原先消费它的app能使用最新的功能。

有个群友给出了解答.

StackOverflow 的帖子:

Can some one please advise on the issue I am facing. I am trying to extend a Standard HCM Fiori App - My Communication Data. The requirement is to add some validations to the input filed in one of the view when save button is pressed.

这个网友想扩展 SAP HCM 领域标准的 Fiori 应用 - My Communication Data.

扩展需求是在 save 按钮按下时,给某些 input 字段增加 validation 逻辑。

Unfortunately I am unable to find the respective controller to add the validation, the view is using a HCM commons controller "hcm.fab.lib.common.controller.PersInfoWrapperController" and can some one please advise where to add the custom code in this case and even the save button is also in the “sap.ushell.ui.footerbar” ? Thank you in advance.

save 按钮位于 sap.ushell.ui.footerbar 区域,控制器实现是 comman 的 hcm.fab.lib.common.controller.PersInfoWrapperController

项目文件夹:

扩展的具体方法:

In order to get your customer-specific screen loaded, you need to create a customer-specific implementation of Enhancement Spot “HCMFAB_PERSINFO” in the backend – Country version would be “99”.

This implementation can inherit from class “CL_IM_HCMFAB_PERSINFO_CONFIG99”.

Method “IF_EX_HCMFAB_PERSINFO_CONFIG~GET_SCREEN_VERSIONS” needs to be redefined, to return your customer-specific screen for App ID “if_hcmfab_constants=>gc_application_id-mycommunication ('MYCOMMUNICATION')”:

上图 Gruntfile.js 的作用:

gruntfile.js 是一个用于配置或定义 Grunt 任务的文件,它是一个有效的 JavaScript 或 JSON 文件。Grunt 是一个 JavaScript 任务运行器,可以自动化您的工作流程。例如,它可以用于:文件的连接、文件压缩、代码检查、单元测试等。使用 Grunt 可以大幅提升工作效率,使你更加专注于程序开发,而不是被一些重复、琐碎的任务所困扰。

在 SAP UI5 项目中,gruntfile.js 的主要用途包括,但不限于,以下几点:

  1. 项目构建:Grunt 可以用于编译、压缩和合并项目文件,使其更适合生产环境。例如,您可以使用 Grunt 将多个 JavaScript 文件合并成一个文件,然后压缩它以减少文件的大小和加载时间。

  2. 代码检查:Grunt 提供了许多插件,如 jshinteslint 等,可以用于检查 JavaScript 代码的质量和风格。

  3. 文件监视:Grunt 的 watch 任务可以监视文件的变化,并在文件改动时自动执行任务。例如,当您保存 JavaScript 文件时,Grunt 可以自动运行 jshint 任务来检查代码的质量。

  4. 单元测试:Grunt 可以集成各种测试框架,如 JasmineMochaQUnit 等,以运行单元测试。

gruntfile.js 中,我们定义了各种任务和它们的配置。以下是一个简单的 gruntfile.js 文件的例子:

module.exports = function(grunt) {
  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
      },
      build: {
        src: 'src/<%= pkg.name %>.js',
        dest: 'build/<%= pkg.name %>.min.js'
      }
    }
  });

  // Load the plugin that provides the "uglify" task.
  grunt.loadNpmTasks('grunt-contrib-uglify');

  // Default task(s).
  grunt.registerTask('default', ['uglify']);
};

在这个例子中,我们定义了一个 uglify 任务,该任务是通过 grunt-contrib-uglify 插件提供的,用于压缩 JavaScript 文件。我们还定义了一个 default 任务,当我们在命令行中输入 grunt 并回车时,这个 default 任务会被执行。

总的来说,gruntfile.js 在 SAP UI5 项目中发挥了重要的作用,它帮助我们自动化执行各种任务,从而提升我们的工作效率。

标签:文件,SAP,uglify,grunt,JavaScript,js,ABAP,Fiori,Grunt
From: https://blog.51cto.com/jerrywangsap/8285944

相关文章

  • 欧莱雅SAP系统成功合并
    欧莱雅集团是全球化妆品行业的大型企业。该集团分为四个部门:消费品(欧莱雅巴黎、卡尼尔、美宝莲Jade)、专业产品(欧莱雅专业人士、卡诗、Redken、Matrix)、欧莱雅奢侈品(兰蔻、碧欧泉、赫莲娜、阿玛尼香水等)和活性化妆品(薇姿、理肤泉等)。其中消费品和专业产品部门、活性化妆品部门都......
  • 通过 SAP UI5 IconTabBar 控件结合 FlexibleColumnLayout 实现多页面 Master-Detail
    本文也是来源于网络上一位朋友的咨询,这是这位朋友实际项目中的真实需求。本文介绍了一个实际项目中开发需求的详细实现过程。通过使用SAPUI5IconTabBar控件,我们可以让逻辑上属于不同业务范畴的界面,通过点击对应的Icon,以切换的方式,在同一块屏幕区域显示出来。IconTabBar结......
  • SAP: 简单的ALV 控件实例
    SAPECC6EHP7 简单的ALV控件实例创建ALV过程参考Z_TEST02的操作步骤:在命令栏中输入“SE38”命令,进入如图所示的界面。  以下例子以表(T823D)为例, 使用数据字典定义结构,通过ALV控件显示数据。具体代码如下(ABAP脚本):*&------------------------------------------------......
  • WhatsApp Business为什么会被封号?该如何解决
    目前,作为全球即时通讯领域的重要平台之一的WhatsApp已成为企业在营销和与客户沟通时的首选工具。但是长时间、高强度的营销行为很容易导致WhatsApp Business账户突然被封禁,无法再使用账号。即使后续再去进行申诉,要求官方解封该账户,也仍然需要等待一段时间。在这段时间里账号仍然是......
  • 如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版
    本教程前一篇文章:8.如何找到SAPFioriElements应用某个字段显示值具体的数据源在WebIde(SAPUI版本1.97.0)生成FioriElements的Overviewpage并发布后,再次在消费视图中修改UI注解后,本地运行该Overviewpage应用发现页面已经变动,但是发布后的界面却没有变动。重新发布该Overvi......
  • SAP CDS view 里的 currency_conversion 功能介绍
    SAPABAPCDSView的currency_conversion函数是一种用于在CDS(CoreDataServices)视图中执行货币转换的功能。在SAP系统中,经常需要在不同货币之间进行转换,以便在报表和分析中展示一致的货币金额。currency_conversion函数允许在CDS视图中定义货币转换规则,以便在查询结果中将数值......
  • SAP CDS view 里的 COALESCE 函数
    在SAPABAPCDS(CoreDataServices)View中,COALESCE函数是用于处理NULL值的一种功能。COALESCE函数接受多个参数,并返回第一个非NULL值参数。这意味着如果第一个参数不为NULL,则返回第一个参数的值;如果第一个参数为NULL,则返回第二个参数的值;以此类推,直到找到第一个非NUL......
  • 如何找到 SAP Fiori Elements 应用某个字段显示值具体的数据源试读版
    笔者将自己在SAP领域16年(2007~2023)的SAPUI5(Fiori)和OData开发的技术沉淀,进行了系统的归纳和总结,分别写成了三套由浅入深的学习教程,收到了不错的反响:零基础快速学习ABAP一套适合SAPUI5开发人员循序渐进的学习教程SAPOData开发实战教程-从入门到提高这三套教程都......
  • SAP Fiori Elements 应用里的 ui5.yaml 文件详解试读版
    本教程第4篇文章,我们介绍了本地启动SAPFioriElements应用的三种模式。4.SAPFioriElements本地应用启动的三种模式辨析以默认方式即命令行yarnstart启动之后,项目文件夹里的ui5.yaml文件会默认被加载并解析。ui5.yaml这个文件,在本地开发FreestyleUI5时也会遇到,笔......
  • SAP Fiori Elements 应用里的 ui5-local.yaml
    SAPFioriElements是SAP的一种开发框架,用于快速构建SAPFiori应用程序。SAPFioriElements应用程序的一个重要方面是模拟服务器(mockserver),它允许在本地开发环境中模拟OData服务,以便在没有真实后端服务的情况下进行开发和测试。ui5-local.yaml文件用于配置本地开发环境,......