Do you want to create a key user custom field of type “Code List based on CDS view” but you do not know 1) which is the right Semantic Object and Semantic Object Parameter you need to add as UI navigation info to your custom field or 2) how to find or create the value....
Prior to the release of Developer Extensibility (Embedded Steampunk) integration scenario developers working with S/4HANA Cloud public edition were restricted to the use of released APIs. A recent blog post and tutorial published by Dennis Leslie demonstrates how it’s now quite straightforward for customers to build their own Custom APIs. In this blog post I will share some....
Do you want to know how you can enrich a key user custom field of type “Code List based on CDS view” in a way that in display mode, it becomes a link that navigates you to another Fiori app showing the target business object instance? Let’s say that within the “Maintain Customer Project” Fiori....
Here we come to the 4th blog of our series. First of all, I’d like to suggest that you can read other blogs in our series. Case Introduction Case 1 – Enhanced Goods Receipt Process Case 2 – Customizing Sales Order App Case 3 – Custom CDS View Using ADT After these, let’s start our....
有客户提出需求,在为采购订单预制发票时,进行检查,对于采购订单行项目 Account Assignment Category (科目分配类别) 是 Y(3rd Party W/O SN), 如果 Deliv. Compl. (交货已完成) 未被勾选,此时用 MIRO 开票需要提示报错:收货未完成,不能开票。 本文即对该需求展开分析,探索解决方案。 如果没有果 Deliv. Compl. 未被勾选,此时用 MIRO 开票需要提示报错 解决方案: 尝试通过自定义逻辑,写一个 BAdI 来满足需求。 分析步骤: 1. 以前也帮助处理过客户的一个关于开票的需求,因此我们这次需要用到的增强逻辑和之前的一样。参见这篇 Blog :在 SAP S/4HANA Cloud 中通过自定义逻辑检查预制发票的付款条件与供应商主数据中的付款条件是否一致 | SAP Blogs 首先,我们需要在 SAP S/4HANA Cloud 系统的应用 – 自定义逻辑里,新增增强实施。根据业务场景,选择下图中的业务上下文以及业务加载项描述,填写好实施描述以及实施标识。 新增增强措施 2. 在自定义逻辑里新增增强实施完成后,我们需要找到一个字段来获取采购订单的 Account Assignment Category 和 Deliv. Compl. ,我们需要在 CDS Views 里进行查找和检索。I_PURCHASEORDERITEMAPI01 这个 CDS View 里有助于检索采购订单行项目的详细信息,其中我们可以找到字段 ACCOUNTASSIGNMENTCATEGORY ,这个字段即 Account Assignment Category ,我们要判断这个字段是不是 Y 。字段 ISCOMPLETELYDELIVERD ,这个字段就代表了 MIRO 中的 Deliv. Compl. 字段。 3. 目前需要作为判断条件的字段都已经找到了,但我们还需要作一个主数据和....
The world of SAP extensibility can seem complex and challenging, especially for those new to the topic. To help break down the concepts and make them more digestible, I’ve created a fun and relatable analogy involving a coffee shop. In this article, we’ll explore the different types of SAP extensibility and provide examples of how....
Experts, before getting into the topic, let’s understand the motivation and purpose of the new modern extensibility options defined by the SAP for SAP S/4HANA Public, On-premise, and PCE editions. Motivation SAP S/4HANA extensibility strategy update comes with lots of benefits for traditional ABAPers and overall benefits for operating in a cloud-first environment. There is....
In this blog, you will learn how to use the Cloud BAdIs in sales order inbound and outbound EDI processing. Background I’m working on the SD-SLS-EDI component for SAP S/4HANA Cloud. Our most important topic is about EDI Integration Between Buyers and Suppliers. In this blog, I’d like to share some information with our community about....
In my last blog post about Custom Business Objects, I illustrated some simple cases of how to execute API operations on a Custom Business Object in S/4HANA Cloud. In this follow-up post on CBO’s, I’d like to demonstrate a slightly more complex use-case that you might need to employ if you have specific customer requirements that necessitate....
This blog intends to share our experience and understanding of SAP S/4HANA Cloud ABAP Environment (Embedded Steampunk) with the ABAP developer community. As an illustration, we have included three examples to highlight the capabilities of Embedded Steampunk. Overview of SAP S/4HANA Cloud ABAP Environment Rich and Flexible Cloud Extensibility Every ERP requires extensibility options. Business....
As you can know from the title, this is the 3rd case of our series. Before we start this blog, I’d like to suggest that you can read other blogs in our series. Case Introduction Case 1 – Enhanced Goods Receipt Process Case 2 – Customizing Sales Order App Fine, let’s start our journey! 1.....
This is a detailed step-by-step guide document to introduce a Developer Extensibility case followed by this blog. 1. Case Background: This case is about customizing the Sales Order standard App, adding a custom field called “BU Section”. However, the custom fields on Sales Order are on the last tab “Custom Fields”. People tends to forget maintaining....
This blog is going to be a short outline for solution architects, product owners who is on an implementation journey for any of the deployment options for S/4HANA – Public Cloud, Private Cloud and On-Premise Editions. There will be series of blogs which helps SAP experts to perform Fit-Gap(done during Explore phase) and define product....
This blog post describes the available extensibility options for CDS views from SAP S/4HANA Cloud, public edition and SAP S/4HANA Cloud, private edition. In addition, you can also see the related information about CDS views on SAP API Business Hub. For a walkthrough of CDS Views on SAP API Business Hub, we highly recommend you....
客户发现在业务中存在不规范的情况,有些用户对于工单并没做发料或者工序确认,就做产成品101入库。但是在实际业务中这种情况是不存在的,因为没有发料和报工,产成品不可能生产出来。因此客户想在系统中做些限制,如果没有报工或者发料,不允许做产成品的入库。 解决方案: 尝试通过自定义逻辑,写一个 BAdI 来满足需求。 分析步骤: 1. 首先,我们需要在 SAP S/4HANA Cloud 系统的应用 – 自定义逻辑里,新建增强实施。根据业务场景,选择下图中的业务上下文以及业务加载项描述,填写好实施描述以及实施标识。 新增增强措施 2. 在自定义逻辑里根据本问题涉及业务上下文以及业务加载项描述完成新建增强实施后,我们需要找到字段获取工单的状态。根据客户的需求,我们可以去前台应用 – 监控生产/计划订单里查找到未发料、未确认涉及以下几种状态: GMPS – Goods Movement Posted PCNF – Part Confirmed CNF – Confirmed 在应用“监控生产/计划订单”里查看订单状态 3. 我们尝试在 CDS View 里进行查找和检索字段来表示工单的状态。I_MfgOrderWithStatus 里存在多个字段可以表示工单的状态,其中 OrderIsPartiallyConfirmed 和 OrderIsConfirmed 可以分别表示 PCNF 和 CNF 两种涉及确认的状态。那么,我们可以写出关于确认状态的判断语句。 SELECT SINGLE FROM i_mfgorderwithstatus FIELDS OrderIsConfirmed WHERE ManufacturingOrder = @im_gr4xy_item->inbounddelivery INTO @ls_orderisconfirmed. SELECT SINGLE FROM i_mfgorderwithstatus FIELDS OrderIsPartiallyConfirmed WHERE ManufacturingOrder = @im_gr4xy_item->inbounddelivery INTO @ls_orderispartiallyconfirmed. ... if ls_orderisconfirmed <>....
本文主要收集了与集成扩展相关的常见问题(2022年07月 – 2022年09月),按照主要问询对象API,CDS View,CPI,自定义字段和逻辑以及集成相关对常见问题进行了大致的分类。每一类对象下又进行了问题性质的分类,例如:功能缺失,操作和实施以及配置相关问题等。客户可以点击下方链接查看到相关问题。 Contents API 操作和实施相关问题 CDS View 操作和实施相关问题 自定义字段和逻辑 操作和实施相关问题 API 操作和实施相关问题 问题:如何检查分析日记帐分录接口错误? 解答:请参考使用 SOAPUI 测试日记账分录 API 的 SAP blog指南并检查响应 https://blogs.sap.com/2019/09/10/guidelines-for-testing-journal-entry-api-with-soapui-and-checking-response-message/ 可以参考第 4 部分下的内容: 4 如何检查响应消息 4.1 如何检查同步 API 的响应消息 以及 4.2 如何检查异步 API 的响应消息 问题:客户基于采购申请创建了一个自定义字段,在前台创建采购申请时,可以维护这个自定义字段。但是当通过API API_PURCHASEREQ_PROCESS_SRV来创建采购申请时,字段为空。 解答:客户使用了CPI来管理这个API,发现在mapping里没有对这个自定义字段做好mapping。更新了一下WSDL文件,现在可以通过API来更新这个自定义字段了。 问题:客户想要通过 API API_PUR_QUOTA_ARRANGEMENT_SRV/A_PurchasingQuotaArrangement(’15’)来更改字段ValidityStartDate,但是报错说这个字段只读。 解答:根据描述:Updates the header details of a quota arrangement, using....
This is a Proof of Concept in customer system for embedded analytics / embedded SAC. S/4HANA Cloud Embedded SAP Analytics Cloud can enhance the analysis function of the current system and can better help customers analyze business related data. In this blog, the successful PoC of Embedded SAC Purchasing Reconciliation Dashboard will be shared to show its....
本文介绍的采购对账仪表盘是客户系统实施嵌入式分析的一次概念验证的成果,以验证财务关键指标比较在S/4HANA Cloud中自建的可行性。S/4HANA Cloud 嵌入式 SAP Analytics Cloud 可以增强当前系统的分析功能,并更好地帮助客户分析业务相关数据。本文将会在下文向读者介绍如何实施嵌入式 SAC以完成财务关键指标比较的关键步骤并展示嵌入式分析云的功能。 客户的需求 SAP S/4HANA Cloud 中已存在大量标准分析应用。但是,特定地区或有特殊用途的客户会对仪表盘/报表有特定的样式需求。对于该客户,客户想要分析采购流程的整个生命周期,包括采购申请、采购订单、收货、发票接收,以使采购员能够查看采购的履行情况。除此以外,客户还想要查看在标准应用中未提供的采购订单中税的信息。 因此,我们建议客户使用嵌入式分析云创建采购对账仪表盘。 采购对账仪表盘的内容如下: 采购申请 采购申请项目 部门或 成本中心 采购订单 采购订单项目 凭证日期 交货日期 供应商 供应商描述 产品 产品描述 短文本 基本计量单位 订单数量 我方参考 收货过账日期 物料凭证 收货数量 订单货币 PO审批状态 税率 价格单位 未税单价 未税金额 含税单价 含税金额 订单总数量 订单含税总金额 开票金额 已开票金额 实际待开票金额 解决方案 实现嵌入式SAC的主要步骤有四个:创建自定义CDS视图,创建自定义分析查询,创建story和创建应用程序。具体步骤将在下面详细描述。为了保护客户敏感数据,一些截图来自虚拟测试系统。 创建自定义CDS视图 实现采购对账仪表盘创建....
一直以来在S/4HANA Cloud系统中,我们会使用”调整UI”功能来调整基于SAP UI5技术的Fiori应用界面。那么我们如何修改经典的应用程序界面呢?好消息是,自从S/4HANA Cloud 2202版本起,我们可以使用SAP Screen Person来进行经典应用程序的屏幕调整。这里的经典应用是指S/4HANA Cloud中基于GUI HTML技术的应用程序。本文将结合对” 创建采购订单-高级”应用的屏幕调整演示,来展示Screen Persona的一些基础特性。 关于屏幕调整的业务需求可能来源于以下几点: 通过消除按键、标签和屏幕来提高用户的生产率 通过更直观的屏幕减少培训时间 通过减少用户进行数据输入错误的机会来提高数据质量 使用Screen Persona需要以下几个权限: Screen Persona的使用 Screen Persona会涉及到以下几个步骤: 创建者创建Flavor并调整屏幕 管理者创建分配类型管理Flavor,并将相关的角色给到特定的用户 业务用户使用经过修改的应用程序 创建者 以调整”创建采购订单-高级”应用为例。我们通过ME21N打开相关的应用后,我们在需要调整的界面使用“调整UI“进入Flaovr的编辑界面,在这里我们可以创建一个新的Flaovr,并开始调整界面,比如隐藏某些标签页和字段,更改字段属性等。 管理者 我们通过“管理Flaovr“应用,创建分配类型来管理已经创建好的Flavor。 创建好分配类型后,我们会创建一个包含“SAP_CORE_BC_UI_PER_USE_PC“业务目录的业务角色,并将分配类型当作限制值分配给业务角色。 业务用户 最后我们会将创建好的业务角色分配给相关的业户用,使得他可以访问调整后的页面 后续,我会进一步与大家分享Screen Persona的一些用法。同时大家还可以参考: SAP Help进一步的了解Screen Persona。 FollowLikeRSS Feed Alert Moderator
本文主要收集了与集成扩展相关的常见问题(2022年04月 – 2022年06月),按照主要问询对象API,CDS View,CPI,自定义字段和逻辑以及集成相关对常见问题进行了大致的分类。每一类对象下又进行了问题性质的分类,例如:功能缺失,操作和实施以及配置相关问题等。客户可以点击下方链接查看到相关问题。 Contents API 功能缺失相关问题 操作和实施相关问题 CDS View 功能缺失相关问题 操作和实施相关问题 自定义字段和逻辑 操作和实施相关问题 集成相关 操作和实施相关问题 API 功能缺失相关问题 问题:客户无法通过API SALES_ORDER_WITHOUT_CHARGE_SRV更改免费销售订单的审批状态,无法实现免费的销售订单的外部审批 解答:API_SALES_ORDER_WITHOUT_CHARGE_SRV 没有用于更新审批状态的字段;即销售凭证审批状态。无法使用 API_SALES_ORDER_SRV 更新此销售订单类型。客户可以提交新功能请求。 问题:API API_PRODUCTION_ORDER_2_SRV/A_ProductionOrder_2 不能用于更新基本计划类型和生产主管信息。 解答:目前提及的 2 个字段是只读字段,尚无法由 API 更新。 您可以参考 API 的在线帮助。 https://help.sap.com/docs/SAP_S4HANA_CLOUD/d35113ee62644d3abee1aaec148291d9/e76b570c36764ae9a1cc4747a3c144b7.html 由于目前缺少此功能,您可以在 Customer Influence 中提交功能申请。 问题:客户询问是否有固定资产报废接口 解答:当前只有创建和更改固定资产的API可用。尚不存在用于报废固定资产的 API 解决方案。 请使用 Customer Influence 提交新功能请求 问题:客户需要通过API....
In SAP S/4HANA Cloud, there are three fundamental possibilities available for the extensibility of the standard functionality that is available out-of-the-box. These possibilities are: In-App/Key User Extensibility Side-by-Side Extensibility Developer Extensibility/Embedded Steampunk For a high-level understanding of these different options, please refer to the following blog which offers a great overview on this topic. In this blog....
Do you want to know how to make a key user custom field visible in an SAP GUI UI by enabling the field for the respective UI via the key user custom field tool and then finetune the exact placement of the field using the Adapt UI for classic applications using Screen Personas? If your....
The Custom Analytical Queries app is a tool used for reporting and analysis that provides the fields required to design a query. You select the required fields and set filters for your query. You can add restricted measures, calculated measures, and preview the query results. Today in this blogpost we will discuss about using Custom CDS Views app to....
Partners, CIOs, CTOs, Digital transformation officers, Practice leads, Innovation directors and any managers interested in learning about clean core and how to achieve it. Introduction: In today’s fast-paced business landscape, digital transformation has become a critical component of success. To stay competitive, companies must embark on this journey, whether by starting from scratch or building....
有客户提出需求,在销售订单出库交货过账后,不允许修改销售订单的价格。因为如果交货过账后修改了订单中的价格,在开票的初始界面,金额还是更改之前的价格,只有模拟开票后才会更新,这对于财务的一些计算会带来困难。本文即对该问题展开分析,探索解决方案。 解决方案: 尝试通过自定义逻辑,写一个 BAdI 来满足需求。 分析步骤: 1. 首先,我们需要在 SAP S/4HANA Cloud 系统的应用 – 自定义逻辑里,新建增强实施。根据业务场景,选择下图中的业务上下文以及业务加载项描述,填写好实施描述以及实施标识。 新增增强措施 2. 在自定义逻辑里根据本问题涉及业务上下文完成新建增强实施后,我们需要找到字段获取销售订单的价格。此外,还需要获取销售订单的发货状态和过账状态,作为判断条件帮助我们判别一个销售订单是否已经出库交货过账。我们需要在 CDS Views 里进行查找和检索。I_SALESDOCUMENT 这个 CDS View 包含了销售订单的字段信息,查看检索字段描述,字段 TOTALNETAMOUNT 可以帮助我们获取销售订单的净值。同时在该 CDS View 里,字段 OVERALLTOTALDELIVERYSTATUS 代表总体交货状态。如图所示,该字段为 A 代表未交货,为 C 代表已全部交货。 销售订单交货状态 我们还需要获取销售订单的过账状态。当销售订单处于可过账发货状态时,字段 GOODSMOVEMENTSTATUS 即货物移动状态的值为 A 。在完成发货过账后,该字段的值变为 C 。因此,我们在 I_DELIVERYDOCUMENTITEM 这个 CDS View 里使用该字段来获取销售订单对应的过账状态。 完成过账的出库单,货物移动变更为 C 现在我们已经找到了针对该问题的 BAdI 所需要用到的字段,接下来就是要确保我们在 CDS Views 里取到对应销售订单字段的值。在 I_DELIVERYDOCUMENTITEM 里字段 REFERENCESDDOCUMENT 表示参考凭证的凭证编号,即出库单对应的销售订单号。因此,我们在调取 I_DELIVERYDOCUMENTITEM 中数据时的匹配条件即是” REFERENCESDDOCUMENT = SALESDOCUMENT-SALESDOCUMENT “,这样就能正确取到销售订单对应出库单的字段数据。 3. 根据以上分析过程,实现 BAdI ,具体代码如下。 if SALESDOCUMENT-OVERALLTOTALDELIVERYSTATUS = 'C'. select single * from I_SALESDOCUMENT with privileged....
In this blog post, I want to talk about Extensibility in 3-System Landscapes in a simplified way, so that you understand what each tenant is for and how to use it correctly for each feature. Depending on your installation, your SAP S/4HANA Cloud system is based on a 2-System Landscape or on a 3-System....
有客户提出需求,通过自定义的增强,达到采购订单收货后就不允许更改价格。本文即对该问题展开分析,探索解决方案。 解决方案: 尝试通过自定义逻辑,写一个 BAdI 来满足需求。 分析步骤: 1. 首先,我们需要在 SAP S/4HANA Cloud 系统的应用 – 自定义逻辑里,新建增强实施。根据业务场景,选择下图中的业务上下文以及业务加载项描述,填写好实施描述以及实施标识。 新增增强措施 2. 在自定义逻辑里根据本问题涉及业务上下文完成新建增强实施后,我们需要找到字段获取采购订单的价格。此外,根据问题中的需求,我们还需要获取采购订单的发货状态。 通过在 CDS Views 里的检索,没有能够找到一个字段可以帮助我们直接获取采购订单的发货状态。但是,我们可以通过 I_PURCHASEORDERHISTORYAPI01 这个 CDS View 来间接帮助我们判断一个采购订单是否已经发货。如果一张采购订单有 item 已经发货,该 CDS View 里会对该采购订单的对应的 item 生成一条记录。那么只要我们使用采购订单的单号在该 CDS View 里进行检索,如果返回的记录数不为 0 ,则代表采购订单已经有发货。那么,我们可以写出我们关于采购条件发货状态的判断语句。 select count(*) from I_PurchaseOrderHistoryAPI01 with privileged access where PURCHASEORDER = @PURCHASEORDER-PURCHASEORDER into @data(ls_PO_NUM) . if ls_PO_NUM ne '0'. ... endif. 接下来就是获取价格,以及完成数据的匹配。由于采购订单的价格存储在行项目里,而相关增强针对的业务上下文是采购凭证,因此我们需要使用 loop 语句循环读取 PURCHASEORDERITEM 表,从中获取采购订单行项目的价格,对应字段为 NETAMOUNT 。与销售订单不同的是,并没有一个字段可以表示整个采购订单的净值,我们只能获得每个 item....
You might want more fields from master data available in your sales documents, for example, to display in a sales order app or to print in the sales order confirmation. You can do this with key user extensibility. You can find detailed information about how to use key user extensibility in SAP S/4HANA Cloud Sales....
This blog post describes the Two-Tier scenario of MRP Visibility between headquarters and subsidiary which run on two different instances of SAP. Headquarters are expected to gain better visibility on the MRP results generated at Subsidiary end and vice versa. With this analytics scenario the much-required capability with Two-Tier integration to check the status of....
Good news for the SAP architect! Packt just published Architecting Solutions with SAP Business Technology Platform, an architectural guide to integrating, extending, and innovating enterprise solutions using SAP BTP (October, 2022). In this post, a brief review. === Like to get your book published too? For a road map, see SAP PRESS Authors Survival Guide |....
As an experienced ABAP developer at SAP, I am all too aware of the frustration that consumers can feel when confronted with unnecessary complexity. I wanted to illustrate just how straight-forward it can be to make use of the Key User Extensibility available in SAP S/4HANA Cloud. In my case, I am aiming to restrict....
I would hazard to say that a debugger is a developer’s best friend: we can always make due without one, but we would always prefer to have one close by. I have used the ABAP Development Tools (ADT) environment for years as a developer at SAP, so using that tool’s debugging feature is a common....
With SAP S/4HANA releases 2208 (public cloud) and 2022 (on-premise and private cloud), it is now possible to create custom fields with developer tools (ADT) for additional use cases, so that customer now have the option to create custom fields either in the Custom Fields key user app, or with developer tools (ADT). In this....
Custom Business Configuration Apps in SAP S/4HANA Cloud, On-premise, and in SAP BTP ABAP Environment
In previous blog posts (Business Configuration in SAP BTP ABAP Environment (1): Overview and BC Maintenance Apps | SAP Blogs , Business Configuration in SAP BTP ABAP Environment (2): BC Content Transport | SAP Blogs), I provided information on how to create RAP/Fiori-based custom business configuration objects in SAP BTP ABAP Environment. RAP/Fiori-based custom business configuration....
Many customers, partners and consultants have been waiting for a tool in the SAP S/4HANA Cloud to work with their data. Within the 2208 release a groundbreaking new app is available that enables key users to analyze data much faster than before – the Customer Data Browser. To get a detailed list of key features and....
SAP has provided an interesting option called ‘Adapt UI’ in SAP S/4HANA Cloud which is based on SAP Screen Personas. It enables classic applications to behave more like SAP Fiori apps. It simplifies the complex classic applications by redesigning the screen elements like hiding an icon/field, changing table properties, formatting the labels/fields, grouping the required....
The primary source of information for every Custom Analytical Query is an underlying (Custom) CDS View. This data source is very important as it provides the query with all the information it needs. Every field/ element that is added to the CDS View will also be later available in the query for selection. But it....
问题背景: 有客户提出需求,采购订单在触发审批后,如果在审批中的状态,希望采购订单不可被更改。 解决方案: 尝试通过自定义逻辑,写一个 BAdI 来满足需求。 分析步骤: 1. 首先,我们需要在 SAP S/4HANA Cloud 系统的应用 – 自定义逻辑里,新增增强实施。根据业务场景,选择下图中的业务上下文以及业务加载项描述,填写好实施描述以及实施标识。 新增增强措施 2. 在自定义逻辑里新增增强实施完成后,我们需要找到一个字段来获取采购订单的审批状态,需要在 CDS Views 里找到这样的一个字段。I_PurchaseOrderAPI01 这个 CDS View 包含了采购订单的基本信息。根据字段描述,有两个字段可以帮助我们检查采购订单的审批状态。分别是 ReleaseIsNotCompleted 和 PurchasingProcessingStatus 。 ReleaseIsNotCompleted 字段用来表示“审批尚未完全生效”,有两种情况,为空或者为“X”。但前者表示的情况包括订单未审批、审批完成,后者表示的情况包括订单审批中、审批不通过等。所以单独使用这个字段无法判断订单是否处于审批中。 PurchasingProcessingStatus 字段表示“采购凭证处理状态”,类型为 CHAR ,长度为2,通过一个两位的状态码来标识采购订单。标识码有如下几种: 02 – 未审批 03 – 审批中 05 – 审批完成 08 – 审批不通过 因此,我们可以在 BAdI 里使用 ReleaseIsNotCompleted 和 PurchasingProcessingStatus 这两个字段来共同判断采购订单的审批状态,进而实现需求。 3. 根据以上分析过程,实现 BAdI ,具体代码如下。 if purchaseorder-purchasingprocessingstatus is not initial or purchaseorder-purchasingprocessingstatus is initial. select single * from I_PurchaseOrderAPI01 with privileged access....
问题背景: 有客户提出需求,在为采购订单预制发票时,检查供应商主数据的付款条件。如果预制发票的付款条件与供应商主数据中的付款条件不一致,则发送一条错误信息;如果预制发票的付款条件与供应商主数据中的付款条件一致,预制发票可以保存成功。本文即对该问题展开分析,探索解决方案。 解决方案: 尝试通过自定义逻辑,写一个 BAdI 来满足需求。 分析步骤: 1. 首先,我们需要在 SAP S/4HANA Cloud 系统的应用 – 自定义逻辑里,新增增强实施。根据业务场景,选择下图中的业务上下文以及业务加载项描述,填写好实施描述以及实施标识。 新增增强措施 2. 在自定义逻辑里新增增强实施完成后,我们需要找到一个字段来获取供应商主数据中付款条件这个字段,我们需要在 CDS Views 里进行查找和检索。I_SupplierCompany 这个 CDS View 包含了我们可以获取供应商的一些字段信息。根据字段描述,字段 paymentterms 可以帮助我们获取供应商的付款条件。 同时我们需要将“该 CDS View 里的 supplier 字段等于预制发票数据的 invoicingparty 字段”作为查询条件,这样才能正确的取到采购订单对应的供应商主数据中的付款条件字段。另外,由于这个 BAdI 在保存发票时都会被触发,为了防止在冲销过程中也触发该 BAdI ,我们可以在判断条件里添加一条对字段 reversedocument 的判断。该字段代表冲销凭证编号,当进行发票预制时,该字段为空值。所以将其也作为一条判断条件添加到 BAdI 里。 3. 根据以上分析过程,实现 BAdI ,具体代码如下。 if headerdata-companycode is not initial or headerdata-companycode is initial. select single * from i_SupplierCompany with privileged access where....
I am happy to share with you the new ABAP extensibility guide for SAP S/4HANA in the cloud and on premise with you that was released today! Extend SAP S/4HANA in the cloud and on premise with ABAP based extensions Read the guide and find out how to create ABAP-based extension on SAP BTP ABAP....
In this blog post, I want to provide some answers for frequently asked questions on ABAP Language Versions. 1. What is an ABAP language version? An ABAP language version is a subset of the full ABAP language set. It provides: Restricted syntax: only a well-defined part of the ABAP syntax tree is allowed in a....
Background: In Gerhard’s blog post providing an overview of the innovations for maintenance management and resource scheduling in SAP S/4HANA Cloud 2208, there is reference to a new query released for Scheduling a Maintenance Plan (C_MaintPlanSchedgOvwQuery). Link to Whats New In order for Maintenance Planners to easily query this data, I would recommend exposing this CDS View/Query as....
Holla, In this blog series i would like to share how to create Custom Tile for any Custom Analytical Queries. Below is the apps involved Custom Catalog Extension View Browser PART 1: Get the Query Information 1. Go to View Browser Apps 2. Search for the Query name here we are....
The world today witnesses a massive digital transformation, impacting organizations globally through fast-evolving business models. Likewise at SAP, key products and solutions are advancing with all the more flexibility and robustness. To enable this agility within the foundations of ERP, has repositioned its flagship product offering to a new ‘digital-core’ in the form of S/4HANA.....
In this blog post I will showcase a simple example on Developer Extensibility in S/4 Cloud System along with the setup. Problem Statement I will extend the standard Manage Purchase Requisition App using released BADIs to add validations checks. In our example I will add validation to check and throw an error if the quantity....
In SAP S/4HANA Cloud asset accountants use the Asset History Sheet to show value changes to the fixed asset balances in a fiscal year for a depreciation area. Some time ago SAP provided the option to add a WBS Element instead of a Cost Center to Fixed Assets as an Account Assignment Object. This WBS....
SAP fist proposed the use of ‘Side-by-Side Extensions’ in July 2015, with the publication of its white paper on “S/4HANA Extensibility”. What is most interesting to note about discussions on the topic in those early days, is that SAP only ever mentioned the use of APIs to read data from, or to change data in....
The Attachment Service API is used to manage attachments. Technical name: API_CV_ATTACHMENT_SRV This service allows you to manage attachments and attachment URLs for business objects such as Sales Order, Purchase Order, Purchase Requisition, Supplier Invoice, Service Order, etc..,. This API allows you to perform different operations viz create, read, rename, and deletion of attachments. It....
SAP S/4HANA Cloud Key User Extensibility powered by Embedded Steampunk: How to debug Key User Extensibility extensions (e.g. Cloud BAdI’s) in the customizing tenant ( client 100 ) Before the introduction of Embedded Steampunk it was not possible within SAP S/4HANA Cloud to debug any Key User coding, e.g. Custom Logic. This has changed now with....
Do you want to know how you can enrich the key user custom fields feature set with developer extensibility means or did you ever wish to freely implement a custom fields value help based on ABAP coding? If your answer is yes, then this blog post is just for you. This blog post covers the....
Do you want to know how you can enhance the usability of a key user custom field of type “Value Help based on CDS View” by utilizing the new feature “Value Help Binding”? If your answer is yes, then this blog post is just for you. With this document, we’ll explain the following topic: How....
Background In the Asset Management Fiori Application Create Maintenance Request, you have the ability to enter in long text in order to provide some additional context when raising a Notification. In the standard system, a default template is provided which prompts the users with some questions. “Please describe the problem:” “When did the problem start?” “What did....
In this blog post I will explain the end-to-end process to setup exception monitoring for Extensibility Transport Management for SAP S/4HANA Cloud systems including the creation of Alerts via Notification Management. SAP Cloud ALM is a cloud-based innovation platform for cloud centric customers as well as for small and medium hybrid customers. From a problem management....
Interested to get SAP BTP certified? Here is a video tutorial series from the SAP HANA Academy to help you reach your goal. Get Certified – SAP BTP Extension Developer (Extension Suite) << this article Get Certified – SAP Integration Suite Get Certified – SAP HANA Cloud Administration Get Certified – SAP HANA Cloud Development Get....
In this blog post, I’ll show you how to handle with two different error messages that you can face using Custom Analytical Queries app. The Custom Analytical Queries is used for reporting and analysis. It transforms and organizes raw data delivered from business documents into a meaningful grid. It abstracts the process of writing structured....
This is a Proof of Concept in customer system for embedded analytics / embedded SAC. S/4HANA Cloud Embedded SAP Analytics Cloud can enhance the analysis function of the current system and can better help customers analyze business related data. In this blog, the successful PoC of Embedded SAC Financial Key Figures Comparison will be shared to show....
本文介绍的财务关键指标比较是客户系统实施嵌入式分析eSAC的一次概念验证的成果,以验证财务关键指标比较在S/4HANA Cloud中自建的可行性。S/4HANA Cloud 嵌入式 SAP Analytics Cloud 可以增强当前系统的分析功能,并更好地帮助客户分析业务相关数据。本文将会在下文向读者介绍如何实施嵌入式 SAC以完成财务关键指标比较的关键步骤并展示嵌入式分析云的功能。 客户的需求 SAP S/4HANA Cloud 中已存在大量标准分析应用。但是,特定地区或有特殊用途的客户会对仪表盘/报表有特定的样式需求。对于该客户,财务部门希望了解不同公司代码之间多年来的财务 KPI,使最终用户能够灵活地比较不同公司代码之间的财务绩效,并可查看KPI的改变趋势。 该报表包括基本财务 KPI,如应收账款周转率、库存周转率和销售净利润、现金比率、销售收入比率等,同时也支持多维度KPI的趋势比较。在招股说明书中,这些 KPI 需要向公众披露以展示客户的财务状况;同时对于内部监测,报表也可以展示给管理层以监控公司财务状态。 财务关键指标的内容如下: 目前,没有 CDS 查询或 Fiori 应用程序允许比较多个公司代码的 3 个会计年度中的财务 KPI。大多数 CDS 视图(例如C_FinancialStatementKPI)为一个会计年度的会计期间提供财务 KPI 信息。因此,我们建议客户使用嵌入式分析云创建财务关键指标比较。 解决方案 实现嵌入式SAC的主要步骤有四个:创建自定义CDS视图,创建自定义分析查询,创建story和创建应用程序。具体步骤将在下面详细描述。为了保护客户敏感数据,一些截图来自虚拟测试系统。 创建自定义CDS视图 实现财务关键指标比较无需创建自定义 CDS 视图,而是使用标准 CDS。 CDS 视图 I_GLACCOUNTLINEITEM 包含计算所有会计年度/期间所有公司代码的科目余额所需的所有必填字段和数据。 创建自定义分析查询 在主页中找到“自定义分析查询”应用并创建新的自定义查询。 自定义分析查询 YY1_ACCBAL3YRQRY 基于 CDS 视图 I_GLACCOUNTLINEITEM使用关键指标“AmountInCompanyCodeCurrency”,以提供所需的比较功能。 根据需要选择字段。然后根据需要添加受限度量和用户输入,例如会计年度(当前期间)和会计年度(去年)。 作为 CE2111....
Authors: Gianluigi Bagnoli, Cesare Calabria, Stuart Clarke, Dayanand Karalkar, Yatsea Li, Alice Magnani, Jacob Tan Sustainability is a real thing. No doubt sustainability is a hot topic in recent years. To have a sustainable environment for future generations, we need to take climate action for zero emission of greenhouse gas. In our economy, we....
Today I’ll show you how to delete a Custom Analytical Query when you already have an application created from it. If you have an application created you probably have catalogs assigned to it. You’ll need to delete those catalogs first, please follow the steps below: Go to Custom Catalog Extensions app Search for....
Table of Contents Motivation Getting Started Setting Up Business Roles and Catalogs Administrator Role Flavor Builder Role Business User (Consumer) Role Creating UI Adaptation for Classic Application Managing UI Adaptations for Classic Applications Understanding Assignment Categories Using Software Collections to Transport UI Adaptations Using Restrictions to Assign UI Adaptations to Business Roles Consuming UI Adaptations....
本文介绍的期间费用表是客户系统实施嵌入式分析eSAC的一次概念验证的成果,以验证期间费用表在S/4HANA Cloud中自建的可行性。S/4HANA Cloud 嵌入式 SAP Analytics Cloud 可以增强当前系统的分析功能,并更好地帮助客户分析业务相关数据。本文将会在下文向读者介绍如何实施嵌入式 SAC以完成期间费用表(跨三年比较)的关键步骤并展示嵌入式分析云的功能。 客户的需求 SAP S/4HANA Cloud 中已存在大量标准分析应用。但是,特定地区或有特殊用途的客户会对仪表盘/报表有特定的样式需求。很多中国客户财务部门想要在一个界面上查看不同公司代码中多个年度的账户余额,可以允许最终用户灵活地比较不同公司代码之间的财务绩效,并查看近三年的趋势。另外,如果客户要在当地地区进行 IPO,在招股说明书中需要向公众披露按职能范围划分的期间费用,以展示公司的财务状况。 期间费用表(跨三年比较)的内容如下: CompanyCode FunctionArea GLAccount Amount (Current Period) Portion % by Account AMT_CurrentPeriodLastYear YOYRate_Period(CurrentPeriod) Amount (Previous Period) PeriodOnPeriodRatio YTD_CurrentYear YTD_LastYear TYD_YOYRate YTD_YM2 YTD_YM3 EndBalance_YM1 EndBalance_YM2 EndBalance_YM3 目前标准应用支持比较 2 年的账户余额。当前没有可以比较多个公司代码的 3 个会计年度科目余额的 CDS ,查询或 Fiori 应用程序。因此,我们推荐客户使用嵌入式分析云创建跨3 年比较的期间费用表。实现该表使用标准数据源,不需要执行许多步骤。 ....
In S4HANA Cloud, you want to expose your custom CDS View as an OData Service but because there are mandatory parameters linked to it, it’s throwing up an error while forming your web service query. If this sounds familiar, this small little blog is going to help you find the way. There are some powerful....
In S/4 Hana Cloud side by side extension , we need to develope backend to create material document in S/4 Hana cloud . In this case we use nodejs . If we use SAP Cloud SDK , it will improve our developement efficiency greatly . Today I want to demo how to create material document....
The upgrades to 2202 will start this week. So it is time again to provide you with the latest update on the Custom CDS Views app again. [Updated February 8th with the new Value Help Scenario] [TLDR] Here is the brief summary of the most important news: Custom CDS Views can now be translated now....
Foreword. We are so used to say “Alexa play spotify” and the likes and no longer realise how much manual work it takes to set up the ubiquitous OAuth2SAML2Bearer Assertion flow with a vanilla SAP ABAP backend system. This instalment will walk you through this challenge! However, if you were looking for a more automated approach....