Friday 29 January 2021

Use the new open SQL to get company, account, and monthly gains and losses and balances from ACDOCA.

Introduction

From SAP ERP 6.0 to SAP S / 4, the standard table structure has changed significantly.

I mainly understand it as a change to accommodate reporting.

On the other hand, I feel that there are a minority of developers who can imagine the concrete source code of CodePushdown.

This time, we will introduce a sample program that outputs a monthly increase / decrease amount and balance as a report.

This sample program is created by accessing the ACDOCA of the SAP standard table and using the Code Pushdown design method.

Wednesday 27 January 2021

ABAP RAP Covid-19 List Report

Introduction

In this blog post, I am going to show you how to create the Covid-19 app using Abap restful application programming model. I guess many of us have hard times due to the coronavirus but every cloud has a silver lining. I’m sure that we will come across better days soon after the vaccination process. There has been a remarkable increase in the number of people who are affected by the virus and increasing every minute. According to social science theory “sixth degrees of separation” we all have connected each other at most six steps. I can reach the president of any country within six steps, I know the guy who knows the guy. That means we are all connected and we can spread the virus easily.  The purpose of this block is to raise awareness and show how to use RAP for external data.

Monday 25 January 2021

Making Failure Tolerable with ABAP Unit

Right after you learn to include helpful messages in your test failures, you will immediately encounter the problem of failure messages which are incredibly long.

SAP ABAP Tutorial and Material, SAP ABAP Exam Prep, SAP ABAP Career

If only the test runner wasn’t so one-dimensional!

Friday 22 January 2021

Explained – Hard Code vs Constants vs Parameter entry

Premise:

I have been asked below questions by several programmers constantly.

Is It ok to Hard code?

Should I use a Constants in my program?

Or Do I need to maintain a parameter for a scalable solution?

Let’s take a deep dive onto this topic. At the end of this blog you will be able to decide when to use a constant when to hard code and choose from different options for maintaining global parameters.

Tuesday 19 January 2021

ABAP RAP : Enabling custom actions with a dialog for additional input fields

Prerequisites:

◉ Knowledge on ABAP Restful Application Programming

◉ Knowledge on Entity Manipulation Language (EML)

◉ [Optional] Hands on exercises in Open SAP course https://open.sap.com/courses/cp13.

Monday 18 January 2021

BRF+ Settings for purchase orders

Business Rule Framework plus (BRFplus) provides a comprehensive application programming interface (API) and user interface (UI) for defining and processing business rules. It allows you to model rules in an intuitive way and to reuse these rules in different applications.
 

USE

BRFplus is an SAP NetWeaver-based business rules framework that integrates with ABAP to make decisions based on the business rules defined within the framework. Using transaction codes BRF+ or BRFPLUS, you can add “n” number of rules and logic as reusable enhancements to the standard BRFplus framework. This step can be done via database lookups, decision trees, decision tables, Boolean logic, and formulas in a user-friendly way and with minimal effort. BRFplus then processes the defined rules and produces the derived output, which is passed to SAP ERP Central Component (SAP ECC) through a function that you create in BRFplus.

Friday 15 January 2021

Determinations in ABAP RESTful Programming Model

I would like to share my learnings so far as well as some of the best practices for implementing determinations in RAP (ABAP RESTful Programming Model) so that many of your queries are already solved before implementing determinations.

Syntax for determination:

determination DetName on modify/save { CRUD1; CRUD2; … } | { field Field1, Field2, … ; }

Example: 

Wednesday 13 January 2021

Self Service Data Visualization and Discovery with S/4HANA Analytical List Page

Analytical List Page is by far the most undervaluated and misunderstood S/4HANA Fiori Elements template. Here are the reasons why:

1. Overloaded with useless features (visual filter, KPIs, etc)

2. Used for wrong purposes (is it dashboard, list or both?)

3. Lack of user training (use of different charts, analytical path, lasso selection, etc)

Monday 11 January 2021

FI-CO Master data APIs via Abstract Factory Objects

 Background

There are not many options in the SAP ERP system for consuming FI-CO and its associated master data objects especially in a single Work Process (LUW). Other constraints below:

◉ BDC screen recordings come in the way of consumption – no options for Class based APIs for these FI-CO master data objects especially for master data maintenance (these guys are as old as the dinosaurs but they are not extinct yet!).

◉ MDG/MDM is not used by majority of the customers who use SAP ERP.

Friday 8 January 2021

ALV Tree Report – Order Combination – continued

Requirement and why I used ALV tree?

The requirement was to combine multiple orders (belonging to a single ship-to party) into a single delivery note. ALV tree seemed to be the perfect option for the hierarchy with the Ship-to Party being the Parent node and the orders with the same Ship-to Party to be the children nodes.

This post is in continuation to my previous post. If you wish to see a simple ALV tree report, you can refer to my earlier post. In this post, I have tried to show how some small code changes enhances the ALV tree report and makes it more user friendly.

Thursday 7 January 2021

Success Factors API Integration with SAP on Premise

I’ve decided to create this blog post for two main reasons. First is, like many other posts out there, I’ve struggled a lot to find a solution to a problem I was facing, and I could not find anything out there that helped me in any way, so I want to make sure that if anyone else has the same problem, there is something online that hopefully will help them. Second reason is, I am really not sure of what I am doing, and I am hoping that someone will read this post and will stop me from doing a crazy thing

I have an UI5 portal connected to an SAP Box (on Premise) and a Success Factors system. Users can navigate from UI5 portal to Success Factors using SSO, but they only get to the landing page. If an user has a TODO item in Success Factors, the only way for them to know is to log in to the UI5 portal, and then navigate to Success Factors (I’m going to say SFSF from now on). In the UI5 portal the users have an Inbox, where they can see if they have pending TODOs, but this inbox is only being fed from SAP right now.

Wednesday 6 January 2021

Analytical List Report with Abap CDS on NW7.5

Introduction

This article is about the presentation and the construction of an analytical list page (ALP) created via Abap CDS views. I wrote this article because I wasn’t able to find  much detailed documentations or examples on this subject. This is all the more true since the base system used here is a version 7.5 of NetWeaver.

So, the important goal here is to show you that you can have a flavor of SAP Hana on a good old “on premise system”… if this one is at least on version 7.5 (7.4 very first version to be precise). Of course, you will have limitations compared to the HANA CDS views.

Monday 4 January 2021

Planning for ABAP Cloud 1 – What is included in ABAP Cloud?

1. Introduction of ABAP Cloud

SAP Cloud Platform ABAP Environment, is a platform as a service offering that allow developers to create modern applications (API based, Cloud deployment, CI/CD enabled) with documented enterprise level technology. It helps us bring the enterprise quality to API based modern application with very low effort.

ABAP Cloud can help developers focus more on business logic instead of technical detail by creating technical standard independent objects and generate technical artifacts for you, as ABAP always did.

Saturday 2 January 2021

Using a super test class in unit tests

Writing abap unit tests is – just like writing production code – a matter of style. We should apply all the principles for clean coding also to our unit tests. Remember, an error can occur as well in a unit test as in your production code. Remember furthermore, your unit test coding may be read by others and you want them to understand it easily.

In order to avoid duplicate coding and enhance readability of tests, I use the approach of using abstract test classes.

The original test class uses one class and four methods. For my example, I will only refactor the “SI_” test methods – which illustrate the setter injection.

Friday 1 January 2021

How to extend transaction FAGLL03H with custom fields

This blog has been written to assist developers asked to extend the standard report of financials line item browser transaction FAGLL03H with additional custom fields.

Introduction

Usually, a business user may require additional fields in financial line items browser which, as powerful as it may be on its own with dynamic selections, is not enough to display information derived from other functional domains like material master data-related fields. In the real-world example that follows, material fashion grade code and text were required to be added in a SAP client with S/4HANA and retail industry functions activated.