Saturday 29 June 2019

Modularizing CDS Annotations

You use CDS annotations to enrich your data model with metadata. In some cases, this can reduce readability and make it hard to maintain your data definitions. To improve this situation, metadata extensions have been introduced.

Friday 28 June 2019

Fiori Elements-Value help on a selection field within a value help dialog

This is about featuring the capability of Value help on a selection field within a value help dialog in Fiori Elements based List Report.

Business Scenario


Let’s consider Business scenario where Fiori Elements based List Report displays Purchase Order with Vendor as one of the selection field.

Wednesday 26 June 2019

Selection Screen Variants – Part II

In my previous blog we discussed about types of variants, protection of variants and tables storing variant values and directory.

This blog will cover the details about the variant attributes and their usage.

Monday 24 June 2019

Custom Data from FI-CA to RAR (Part II – Development Procedures)

Introduction


The purpose of this two part blog is to describe a solution that allows custom values to be populated on the provider contract and then transferred to SAP Revenue Accounting.  The custom values can be populated using both the provider contract create transaction and the standard creation BAPI.  The standard provider contract transactions are enhanced using the Business Data Toolset (BDT).  Using event 8205, the custom values are transferred to Revenue Accounting as both main and condition items.

Sunday 23 June 2019

Selection Screen Variants – Part I

What are variants?


In SAP ABAP reports have a mechanism for entering values for database selection or for performing different calculations through SELECTION SCREENS.

Friday 21 June 2019

Custom Data from FI-CA to RAR (Part I – Overview)

Introduction


The purpose of this two part blog is to describe a solution that allows custom values to be populated on the provider contract and then transferred to SAP Revenue Accounting.  The custom values can be populated using both the provider contract create transaction and the standard creation BAPI.  The standard provider contract transactions are enhanced using the Business Data Toolset (BDT).  Using event 8205, the custom values are transferred to Revenue Accounting as both main and condition items.

Wednesday 19 June 2019

ABAP CDS Consumption View Features Ultimate Test: Part 5

In first part, second part, third part and fourth of my blog I put ABAP CDS Consumption View to test and fulfilled some of most typical BW Query requirements. In fifth part of my blog I will challenge ABAP CDS Consumption View again. This time demonstrating exception aggregation using formula and count

I created CUBE views and finally created CONSUMPTION view. I will not go much into details of implementation because all that you can explore on your own. What is more important is to understand ABAP CDS views capabilities.

Monday 17 June 2019

Extraction from SAP S/4HANA and other ABAP sources into HANA SQL DW with Smart Data Integration

Have you ever tried to stage data from an ABAP source system into native SAP HANA or the SAP HANA SQL Data Warehousing solution? Have you tried leveraging BW extractors or CDS Views to do this? With the Feature Pack 1 update of SAP Web IDE for HANA, launched end of October 2018, extraction from ABAP source systems like SAP S/4HANA has become a lot easier. Flowgraphs in the SAP Web IDE now support ODP, complete with delta load support. The same goes for the Full Stack Web IDE on the SAP Cloud Platform. This blog describes how you can use these features.

Friday 14 June 2019

Presenting Percent Values in S/4 HANA Embedded Analytics Made Easy

Presenting percent values in S/4 HANA Embedded Analytics is a challenge.

On one hand decimal values without unit of measure are displayed correctly in Smart Business, but not in Query Browser

Thursday 13 June 2019

Creating Macros in ABAP programs for re-usability with Exception Handling

Introduction: Macros in ABAP are set of statements that are defined within DEFINE  and END-OF_DEFINITION within the program where we wished to use this macro. We can use the Macros after the Macro definition only in the same program in which it is defined. Macros are used for reusing same calculation in many places of same program instead of writing the same set of statements for same calculation.

Wednesday 12 June 2019

Fiori Elements List – Add and Implement Action Button

Recently, I worked on a requirement where we had to add an action button on Fiori Elements List Report. Looked at various options but nothing seems straightforward. UI5 Demo Kit suggests using UI5 Extensions which I wanted to avoid if I could. There are some annotations related to function import which looked promising but I couldn’t find any blog/help document on how to actually use them in CDS and implement in the OData service. Then I saw actions using BOPF, but this report which I was working didn’t have any business object attached to it.

Monday 10 June 2019

Embedded CDS View exposure to Fiori

1. Introduction


As we are aware that in SAP S/4HANA system, most of the DDIC tables has been converted to CDS views or DDL SQL Views. SAP is trying to mold all the technical changes/ABAP using these CDS views.

Friday 7 June 2019

Excel file (*.xlsx) Export/Import

In this Blog-post I’d like to give a few insights on how we process XLSX file by using latest ABAP, which might be quite different than in most other implementations, for example:ABAP and OLE or Excel with SAP – An Overview

By using CL_XLSX_DOCUMENT (available from 2008), it is easy to load file, workbook, sheets, rows and columns. A good example code can be found within class CL_EHFND_XLSX(available from 2014).

Thursday 6 June 2019

Using long string in function imports

Motivation


So I created a SEGW project in both the latest stack as well as in 740 (the latest SP though) to check whether I would be able to reproduce the issue.

I wasn’t able to do so but wanted to share in detail how it worked for me.

Wednesday 5 June 2019

Convert images into PDF and Merge with an existing Adobe forms

It’s very common business case where we need to add an image (jpg/bmp etc.) in an adobe form. We can use Image Field UI and bind the required image. But how we can merge an image in existing forms in Adobe? Recently, one of community members asked such kind of scenario and possibilities. Their requirement was to attach the images saved in PO and display along with PO Output Form. If there is any image files (mostly in “.jpg”) saved at Purchase Order, these should be merged with PO Output form and send it back to vendor. So I explored this with following use cases:

Tuesday 4 June 2019

Custom data selection for a Fiori list report application using DDIC Search help

In this blog you will see how a DDIC Search help can serve as a simple to use data source for a Fiori list report.

Why use a DDIC search help for a Fiori list report?


Search helps are well known and heavily used to find and select SAP objects. They are part of the DDIC development objects and select data either directly DDIC-table based or code based via an ABAP interface.

Monday 3 June 2019

Maintaining the One-to-Many (m = CN) cardinality between the Check table & Foreign Key table and using the combined key

Introduction: In this article we are going to learn how to provide the one to many ( m = CN ) cardinality between the check table and foreign key tables. one to many carnality can be selected upon our requirement while providing the foreign key relationship from key fields of foreign key table to check table key fields . One to many ( m = CN) cardinality refers there many be many matching records in the foreign key table for each record of the check table.

Saturday 1 June 2019

Dual Maintenance Management

Dual Transport Management has been, is and will continue to be an integral part of any SAP Upgrade project. Its mostly done manually and leaves everything to the manual verification of dual maintenance of transports in both the upgraded and non-upgraded system in spreadsheets. This blog will explain how we can automate this process and also be able to track and maintain the mapping of equivalent transports between two equivalent SAP systems.