Friday 31 December 2021

Flexible Delivery Document Numbering in S/4HANA 2020

Requirement: Number Range for Delivery number must be determined based on following parameters.

Delivery Type

Shipping Point

Creation Year

Solution: In S/4HANA, new solution using CPF is available for determining number range for Delivery document numbering.

System will generate a CPF decision table with parameters as columns. We have to maintain different combinations of values and corresponding number range interval.

Thursday 30 December 2021

Adding a Value Help for Custom Business Object fields

The Custom CDS View app can be used to create customized value helps for custom business object fields of type Association to Business Object.

The value help view needs to have the associated custom business object as primary data source. 

Prerequisites

◉ You have checkmarked Can Be Associated in the custom business object you want to associate.

◉ You have used the associated custom business object view as Primary Data Source in the Custom CDS Views app.

Wednesday 29 December 2021

How to Process Multiple Files from Application Server via ABAP Program

In this Blog Post we will understand how to process multiple files of certain File Masks from Application Server (AL11) via ABAP Program.

Lets try to understand it via following steps :

Input to our Executable Program will be following 3 parameters:

◉ File Mask for processing Files from Server (e.g. ABC* , files starting with ABC*)

◉ Directory path from Application Server where File are stored.

◉ Process Chain to execute that consists of steps for Processing this Files.

Tuesday 28 December 2021

Validate Application Interface Framework (AIF) Value Mappings by Domain

Introduction

In a customer project we defined quite some AIF Value Mappings and noticed that Users can insert any Data into the Value Mapping Table. We wanted to limit the possible entries to the fixed Vales or Values in the Value Table of the Domain of the Data Element used in the Value Mapping Definition.

Example

Let´s say we have

“BUKRS” and Internal Field “XFELD”:

Monday 27 December 2021

Employee Master Data Replication in S/4 HANA from Workday

Background:

The client is using Workday as the HR solution, there was a need to set up HR mini-master in S/4 HANA and consume data from Workday and other 3rd party systems to replicate the Organization, Position and Worker data into the respective infotypes in the S/4 HANA system. HRMM was set up to support/fulfil requirements of SAP modules: Asset management, Finance and Material management

Requirement Summary:

Asset Management: To perform planning, scheduling and execution of maintenance work, workforce data is required.

Friday 24 December 2021

Measure your Application’s Performance and Resource Consumption: Evaluate Statistics Records with Transaction STATS

In this blog post I explain how you obtain statistics records with high quality and how you analyze them with transaction STATS. In the best case, such an analysis proves that your app combines excellent single user performance with low resource consumption and is scalable. In all other situations, the analysis will indicate the bottleneck where optimizations shall apply.

As owner and developer of transaction STATS I am more than happy to share tips and tricks that will help you to efficiently work with the tool and to obtain insights into your application’s performance.

You can use STATS since SAP NetWeaver 7.40. I am continuously improving it and this blog post presents the tool’s state for SAP NetWeaver 7.57 as of late December 2021.

Thursday 23 December 2021

Standard Table Addition in MDC

Master Data consolidation and Mass Process Enhancement with standard table.

Consolidation and Mass processing are two major applications of SAP MDG system. It’s an out-of-the-box solution. While implementing these application if one follows standard configuration guide it can be smoothly implemented.

This blog is written for audience who needs to enhance MDC with standard table and are new to these application.

Wednesday 22 December 2021

Working with Hierarchies in ABAP SQL

This blog summarizes the possibilities, ABAP SQL offers together with ABAP CDS for working with hierarchical data that are stored in database tables. Hierarchical data in database tables means, that lines of one or more database tables are connected by parent-child relationships. There are many use cases, where hierarchical data play a role and where accessing information about the hierarchical relationship is important. For example, a common task can be to find out the descendants or ancestors of a given hierarchy node or to aggregate values of subtrees.

Overview

In former times you had to load the hierarchical data from the database into internal tables and program it all by yourself (if you did not find an appropriate API). In between, meshes offered some features for working with hierarchies, as shown in this example, but have not found wide distribution.

Monday 20 December 2021

New Window Functions in ABAP SQL

Function that is specified in front of the definition of a window in an ABAP SQL window expression and evaluates the rows of the window, is known as window function. Such a function performs analytic operations over a set of input table rows that are somehow related to the current row and help us to solve complex query challenges in easy ways. Window functions are aimed for writing a single query which shows grouped information AND individual information in a query. You might say, it is also possible to use the GROUP BY clause to show grouped information. But the GROUP BY query has its limitation, in that it won’t show you individual data as well.

The addition OVER designates a function as a window function. If you’d like to narrow the window from the entire dataset to individual groups within the dataset, you can use PARTITION BY to do so. You can use the ORDER BY clause as well in defining a window function. It simply orders by the designated column(s) the same way the ORDER BY clause would, except that it treats every partition as separate. The ORDER and PARTITION define what is referred to as the “window”, the ordered subset of data over which calculations are made. Detailed explanation on the windowing syntax and related additions can be found in this blog about Window Expressions in ABAP SQL.

Saturday 18 December 2021

SAP BTP ABAP Environment – Setup Data Replication with SLT

Overview

One of the main scenarios of the SAP BTP ABAP Environment (“Steampunk”) is to build side-by-side extensions to ERP core applications. This side-by-side approach requires data from the core application. In order to read and write this data you can use external APIs. Sometimes, if the data is more frequently required, data replication might also be a valid option. Data replication of on-premise custom tables (ERP core application) to Steampunk is recommend via SLT using SLT SDK and custom-defined Steampunk Inbound RFC.

This approach is supported with the current Steampunk release and can be used immediately.

Friday 17 December 2021

Find when and how the objects been moved between systems

When there’s any sync issue between Development/Quality/Production Systems, it’ll be very convenient to investigate if could find out which transport contains specific objects. The easiest way is by version management through Menu->Utilities->Versions->Version management.

SAP ABAP Development, SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Tutorial and Material, SAP ABAP Guides, SAP ABAP Career, SAP ABAP

Wednesday 15 December 2021

A Practical Guide to DevOps for SAP ERP

We’ve been applying DevOps for SAP to our product development and couldn’t be happier with the results. Below is a high-level overview of how we implemented DevOps for our team, and I hope it helps move the practice forward and gain adoption within SAP.

1. Run SAP ECC in a Docker container and allow each developer to run an isolated system.

2. Use abapGit to save ABAP code with a code repo such as GitHub.

3. Leverage ABAP Unit to execute unit tests and measure coverage.

Monday 13 December 2021

Window Expressions in ABAP SQL

In ABAP SQL, A window expression uses a window function to determine an individual value from the rows of a window of the result set of a query. The term window describes the set of rows on which the function operates. In other words, a window function uses values from the rows in a window to calculate the returned values.

A window expression can be specified as an SQL expression or as an argument of any SQL expressions, except for aggregate and defining a column of the result set in the SELECT list of a query. In each row of the result set, the result of the calculation is placed in the column defined in this way.

Friday 10 December 2021

Industry 4.0 – Intelligent Automation of Manufacturing with SAP-MII

Introduction

The purpose of this blog is to leverage SAP’s Digital manufacturing and SAP-MII capabilities to Integrate diversified manufacturing processes, machines, and systems together to bring smart manufactring concepts (Industry 4.0 ) into reality. 80% of the data is generated on the shop floor, If we would able to capture all those data using a comprehensive integration framework and contextualize with business acumen, then this would potentially solve all manufacturing related issues and help archiving.

◉ High yield.

◉ Low no-confirmities.

◉ High OEE(overall equipment effectiveness).

◉ Predict potential disruption and downstream impacts.

Wednesday 8 December 2021

Tips about material classfication mass upload

Function module ‘BAPI_OBJCL_CREATE’ can be used to upload new material classification data, and the function module ‘BAPI_OBJCL_CHANGE’ can be used to change existing material classification data. Before doing the upload data, it’s better to verify the material classification already existed or not by function module ‘BAPI_OBJCL_GETDETAIL’.

Be careful regards classification data as existing or not by checking the return message type from ‘BAPI_OBJCL_GETDETAIL’.

Monday 6 December 2021

Posting the data to BW4HANA ADSO using BW APIs and RFC connection

Problem introduction

As a developer, you would like to expose a service that enables third-party APIs to post the data directly into SAP BW ADSO.

For that reason, you would like to use an RFC enabled BW function module that allows the external source like CPI to read BW parameters, request the data from an outside source through REST, harmonize it and post the data to BW ADSO in a columnar format.

Saturday 4 December 2021

Hassle-free way to frequently change long string data in database without file upload

Problem Statement:

You do not have a user interface or an application ready to save the data in ABAP dictionary object, and you need to upload the data into a database table.

The above does not seem to be a problem because you can generate Table Maintenance Generator.

Wait wait wait! The problem is yet to come.

The table has a string field and TMG creation gives this error “Data type STRING is not supported in field”.

Friday 3 December 2021

Extract Document details using Document Information Extraction service with ABAP

In this blog I want to show the posibility to extract information from a document using AI and OCR implemented by the BTP service Document Information Extraction calling the API offered from an ABAP program.

The objective of this blog is not to show how the API works as there are good blogs showing it (Developer Mission) but to show how you can automate the API calls with only ABAP program. I say only abap as there are already another integration scenarios in CPI ( Document Information Extraction Integration with Email Server ) or with iRPA but here we will see a simple solution.

Here the architecture:

Thursday 2 December 2021

Tips about material classification mass upload

Function module ‘BAPI_OBJCL_CREATE’ can be used to upload new material classification data, and the function module ‘BAPI_OBJCL_CHANGE’ can be used to change existing material classification data. Before doing the upload data, it’s better to verify the material classification already existed or not by function module ‘BAPI_OBJCL_GETDETAIL’.

Be careful regards classification data as existing or not by checking the return message type from ‘BAPI_OBJCL_GETDETAIL’.

Wednesday 1 December 2021

Customized Fields at Dispute case creation screen for FBL5N

It’s quite an understandable requirement that additional fields and questionnaires need to be shown at added sub-screen while creating dispute cases through FBL5N.

SAP ABAP, SAP ABAP Exam Prep, SAP ABAP Exam, SAP ABAP Tutorial and Materials, SAP ABAP Career, SAP ABAP Certification, SAP ABAP Preparation, SAP ABAP Jobs

◉ Customized fields will save to dispute case attribute table UDMCASEATTR00, and answers to the questionnaire will be saved to a new Z customized table (cause various versions may happen so can’t save to UDMCASEATTR00);