Monday, 29 April 2024

Creating ABAP Dataframes for SAP PAL

Machine learning algorithms often need large datasets for training. E.g. the MNIST dataset consists of 100.000 records. Each record represents a little greyscale image of size 28x28 pixels of a handwritten number and the respective number as integer value ,  i.e. 28x28 =  784 integer values in the range interval [0,255] and one integer value for the number value.

Assume you want to train a neural network in PAL using AMDP (ABAP managed database procedures) in order to predict the number. For this task you could e.g. use the PAL algorithm "Multilayer Perceptron", which is a neural network. In order to supply the input neurons with data a dataframe is needed, i.e. an ABAP-DDIC structure containing the following fields:

Friday, 26 April 2024

SAP BTP, ABAP in the Cloud Custom Code Transformation using abapGit and gCTS

abapGit and gCTS (Git-enabled Change and Transport System)

◉ The basic idea behind abapGit is to exchange source code between any ABAP systems using a Gitbased repository.

SAP BTP, ABAP in the Cloud Custom Code Transformation using abapGit and gCTS

Wednesday, 24 April 2024

How to improve the ADT Class Runner with additional Features

What is a Class Runner?


A class runner is a great tool to test code snippets and run code directly from ADT. You can even write a simple log to the console in Eclipse.

What can be improved?


When using multiple systems and complex projects I got annoyed at some point in time, that I don't know from which system the last log was, when it was written by which runner and if the last execution has finished or failed maybe.

Wednesday, 17 April 2024

Upload Excel using SAP RAP Only

Develop an SAP RAP based App to upload excel (CSV) file just like you used to develop SE38 classical report.

We often get this requirement of developing a utility to create/update mass data for a BO such as Purchase Orders, Materials, Sales Orders etc. In S/4 HANA, the customer prefers to use SAP Fiori applications, rather than using the old classical reports. But can we develop a Fiori application to upload a file without involving using SAP UI5? Yes, we can.

Monday, 15 April 2024

Dynamic Derivations using BADI in SAP MDG

Business rules are one of the important feature in Master Data Governance Process. Deriving the value for particular field of an entity can be done either by BRF Plus or BADI. This Blog Post explains you about creating complex or dynamic derivation rules which can be achieved through BADI.

In this post, I am taking the example of deriving Cost Centre value from Cost Centre Entity of Finance Data Model. Its a kind of Mandatory and derivation rule and the naming convention should be followed.

Friday, 12 April 2024

Unable to log in to SAP BusinessObjects CMC

We were recently performing regular maintenance, including an OS patching of the SAP BO development server for one of the SoftwareONE customers.

During the patching, some issues were encountered leading to a failure. It was decided to restore the operationability of the application by reverting to the previously backed-up state of the VM back to the patching event, and the Basis team was tasked to bring the application up and do the sanity tests.

The application was able to start but the login to the CMC was denied.

Wednesday, 10 April 2024

How to develop Customer creation Application in SAP Build Apps with OData service

Objective: -


Implementing SAP OData URI to SAP Build and Creating Customers in SAP BUILD which can replicate to SAP System

Business Scenario: -


How to create Customers using SAP Build Apps and OData Service.

Prerequisites: -


-> You Have an SAP BTP account or trial account.

-> Inside the BTP account, go to Instances and Subscriptions and create an instance of SAP Build Apps

-> Now go to Security -> Users Tab and assign Role to the user for SAP BUILD Apps

Monday, 8 April 2024

Declaring Dynamic UI5 Fields in SAP Build Process Automation

While automating SAP Fiori applications, one might come across some dynamic UI5 elements such as mentioned in the snapshot below.

Declaring Dynamic UI5 Fields in SAP Build Process Automation

In most cases, recorder may not be able to uniquely identify the elements, thus terminating the automation where it may not find the suitable elements.

Friday, 5 April 2024

Analytical Query CDS View creation and consumption in RSRT along with publishing OData Services

Introduction


In this blog you will learn about the creation of Query CDS Views for Analytical purpose and their consumption in RSRT tool, along with the required steps that needs to be followed to achieve it. Once after the Analytical query creation, I have tried replicating one of my project scenarios to have better understanding on defining key figures/ measures in CDS views. In the end blog explains about the process needs to be followed to expose the given Query CDS view into OData service links. The Query CDS Views are created specifically for Analytical reporting purposes within SAP systems. They can be optimized for certain reporting scenarios, analytical queries, aggregations and further can be integrated with SAP FIORI tool providing much better visual reporting experience.

Creation of query CDS view:


For the creation of query CDS view we must follow 3 basic steps as mentioned below:

Wednesday, 3 April 2024

How to collect hardcoded values, ABAP routines & OLAP variable values used in DTP filters

Introduction


This blog talks about how to collect selections or filter details used in a DTP by using some standard tables in both BW on Hana & BW4HANA systems.

Especially In migration projects (SAP BW on Hana to BW4HANA), it’s very hard to collect hardcoded values or ABAP routines or OLAP variable details used in DTPs manually for ‘n’ number of DTPs. So, to overcome from this issue, below steps will help us to collect DTP filter details by using the tables RSBKREQUEST, RSSELDTP, RSBKSELECT.

1. DTP filters in BW on Hana


As we know, in a DTP filter we can maintain hardcoded values, ABAP routines & OLAP variables to restrict data while loading into Target objects. Below steps will help us to get the selection details used in a DTP for n number of DTPs.