Friday 29 April 2022

Enhancement at Purchase Requisition: Status Grid

There’re some articles already explaining how to add customized fields at the customized sub-screen of ME53N:

Add Custom Field to Purchase Requisition – MEREQ001 by M.Ozgur Unal

Add a Custom Screen on Purchase Requisition Header by Gangrong Chen

What if only a few more standard fields at Purchase Requisition: Status Grid without using custom TAB/sub-screen?

Wednesday 27 April 2022

Changing i-flow name permanently in SAP CPI/HCI

Introduction:

In this blog post you will learn how to change the i-flow name permanently in CPI. I am sharing my inputs which I had gone through while I was doing this.

Let’s consider that you have an i-flow and you want to change the i-flow name. There are two ways to change the i-flow names. So, that in UT & SIT(Unit & System Integration Testing) also flow name will be changed permanently.

Monday 25 April 2022

Embracing ABAP TDD as a standard development practice

Introduction

Last October, at GrainCorp, we went live with CropConnect self-service Croptimiser. It allows our Growers to optimize their grain quality at no extra cost. You can find more details on the same here – https://grains.graincorp.com.au/croptimiser/. The project was a huge success. Our growers are happy and so we are happy.

Performance improvements is one of the key challenges that we faced to achieve this project. The code has to perform all the Croptimiser calculations within a few seconds and also should be able to bear the load. We had to make code changes multiple times to achieve this performance and at the same time should not break the business logic.

Friday 22 April 2022

Mass Deletion of MRP controller in APO

I recently just first touched on the APO system and surprisingly find out that APO even doesn’t have the MARA/MARC table and Transaction code MM01 not to mention the function module like ‘BAPI_MATERIAL_SAVEDATA’!

Here list of the basic approach to mass deletes MRP controllers in APO. It’s for the beginning level of APO development only :

1. Get the structure of the planning objects by ‘/SAPAPO/TS_PLOB_LIST_GET’

◉ Input parameter IV_BAS_PLOBID is mandatory, which will define&provide by functions

◉ Input parameter table it_group_by will be lists of object names that will contain fields like material/plant/MRP controller etc. In my case, it’s totally customized fields like Z_MATNR.

Wednesday 20 April 2022

Mass activation and mass deletion a la carte using ADT

The problem

Today I had to delete 1385 repository objects that had been created as part of a customer workshop.

The problem was that all these objects have been created in 70 packages.

On the other hand I had to perform a mass activation for the objects that are part of the SFLIGHT sample project and which live in the /DMO/ namespace, but unfortunately I had played around with the generation of RAP objects in the Z-namespace and my transport request did not only contain the objects of the /DMO/-SFLIGHT objects but lots of other (partly inconsistent) stuff.

Monday 18 April 2022

How to use the latest SAPUI5 library for the Fiori Elements preview in ADT?

When using the RAP Generator it is necessary to use the latest version of the SAPUI5 libraries.

Please note:

If you don’t have the latest version of the SAPUI5 libraries installed you will get no dialogue asking you for the name of the root entity and for the name of the package when pressing the New Project button in the RAP Generator.

While this is automatically ensured when using a SAP ABAP BTP Environement system (aka Steampunk) in on premise systems the classes that are called when using the Fiori Elements preview will use the locally installed SAPUI5 version instead. Since I am testing my RAP Generator in various test systems where the latest SAPUI5 version was not deployed I thought about a workaround.

Friday 15 April 2022

SELECT * EXCEPT col1, col2, … in ABAP

A syntax

SELECT * EXCEPT col1, col2, ...

to select all columns but those listed behind EXCEPT is not supported in most SQL variants, see e.g. discussions in stackoverflow.

Alas, it is not supported in ABAP SQL either.

But instead of working wit GTTs and ALTER TABLE as proposed in variuos discussions, we have another way, namely our dynamic tokens. Let’s look at an example.

Assume we want to select all columns from good old demonstration table SCARR except two of them.

Wednesday 13 April 2022

CDS Analytical Projection Views – the new Analytical Query Model

CDS analytical projection views are a new type of CDS projection view, available since SAP BTP ABAP Environment 2111. They are designed for modelling analytical queries within a CDS data model and they improve on the previous version of CDS Analytical Queries. Read this blog post to learn about the advantages and usage of CDS analytical projection views.

Motivation and Advantages

CDS analytical projection views improve development efficiency when designing analytical queries within a CDS data model. They offer several advantages over the previous version of CDS Analytical Queries:

Monday 11 April 2022

Easy way to write data via a deep entity in OData

Introduction

I have seen many tutorials based on OData but I really found them complex for beginners.

So, I am writing this blog post for quick easy reference. This is the 2nd blog post in the series.

For the first post please check the Easy way to read data via a deep entity in OData.

Friday 8 April 2022

Exploring web app development with ABAP & htmx (in comparison with ABAP RAP)

1. Introduction

1.1 Motivation

The world is shifting towards SAP web development using SAPUI5 and ABAP RAP model on a platform like BTP, and it feels like all the years and efforts spent on developing pure ABAP applications and accumulating the know-how are starting to be forgotten.

The blog introduces a web app development using htmx to control the frontend and ABAP on the backend. To put this in the modern SAPUI5 MVC architecture, “view” is managed by htmx, “controller” is managed by ABAP, and “Model” is not needed because ABAP can directly access the database.

Wednesday 6 April 2022

Easy way to read data via a deep entity in OData

Introduction

I have seen many tutorials based on OData but I really found them complex for beginners.

So, I am writing this blog post for quick easy reference.

Solution

Please follow the steps:

Monday 4 April 2022

Extending GOS with Create Multiple Attachment

Overview

Intent of this blog post is provide a working prototype for additional GOS service to upload multiple attachment together in one go.

Business Requirement

Some time it is difficult for users to upload 7-8 documents in GOS using the option ‘Create Attachment’, as the same steps needs to be repeated several times. So users require a new option ‘To upload multiple attachments from GOS’ to avoid repetitive steps.

Friday 1 April 2022

Advanced String Manipulations with ABAP CDS Views

ABAP CDS views provide a set of string functions and also support regular expressions from release 7.55. But sometimes your string manipulation requirements go beyond aforesaid capabilities. In this case my blog is for you.

Below is a perfect example, when CDPOS values which are saved as a plain text need to be properly formatted.

SAP ABAP CDS Views, SAP ABAP Exam Prep, SAP ABAP Career, SAP ABAP Skills, SAP ABAP Jobs, SAP ABAP