Friday 26 February 2021

Adding Languages to SAP ABAP Platform 1909, Developer Edition for Multilingual Development

Intro

If you want to do multilingual development on a SAP ABAP Platform system, i.e. you want to have texts like the labels for a data element to be translated to various languages, those languages need to be available in the system. Otherwise neither the translated texts can be stored nor can you access the system (via SAP GUI or via web access) in this languages as you will be redirected to the default language (just as a side note: if you use a Fiori front-end server (FES) to access the system, the languages need to be available in the FES, too; otherwise your request will fallback to the default language of the FES).

Wednesday 24 February 2021

Replication of Cost Centers to Employee Central with assignment to additional Generic Objects

Introduction

Program ODTF_REPL_CC is used for replication of Cost Centers from SAP ERP Controlling to Employee Central. It replicates the fixed set of fields: the Long Code prepended with the Controlling Area, the Short Code (aka External Cost Center ID), Start Date, Status, Name, Description, Legal Entity (aka Company Code) and Cost Center Manager.

The program uses IDoc ODTF_CCTR, which is built on basic type ODTF_CCTR01.

Monday 22 February 2021

Get latest version of ABAP trial using BTP

ABAP trial powered by BTP (Business Technology Platform) is a free version, constantly updated to the latest capabilities and available to coding in ABAP for HANA. This SaaS (Software-as-a-Service) is managed and updated only by SAP and involves all cloud characteristics as multitenancy. SAP has the disposition to end or change the trial period, restricting some authorizations to the users and share ABAP artifacts simultaneously with multiple users.

This article is about to get in a very easy and detailed manner to the first option: the ABAP trial powered by BTP and use it to create (as an example) some basic artifacts: package, transport request, and one class. Perhaps you want to access that from your own machine through ADT, and get it all in a fast way.

Saturday 20 February 2021

RFC Gateway security, part 2 – reginfo ACL

With this blogpost series i try to give a comprehensive explanation of the RFC Gateway Security:

Part 1: General questions about the RFC Gateway and RFC Gateway security.

reginfo ACL

Please make sure you have read at least part 1 of this series to be familiar with the basics of the RFC Gateway and the terms i use to describe things.

What exactly is defined in the rules in the reginfo ACL?

The reginfo ACL contains rules related to ‘Registered external RFC Servers’.

Friday 19 February 2021

Pass by value or pass by reference?

When calling a method of an ABAP class, data can be passed from actual parameters to formal parameters either by value or by reference. In this blog post I’ll discuss the difference and highlight some important scenarios.

Definitions

Pass by value

The ABAP Keyword Documentation provides the following definition of pass by value:

[…] In pass by value, a local data object is created as a copy of the actual parameter. Output parameters and return values are initialized when the procedure is called. Input parameters and input/output parameters are given the value of the actual parameter when they are called. Modified formal parameters are only passed to actual parameters if the procedure was concluded without errors, that is once the last statement is reached or if there is an exit using RETURN (or EXIT or CHECK).

Wednesday 17 February 2021

Simple way to generate a pdf of adobe form and save it in local pc in Webdynpro on clicking hyperlink.

Introduction:

I came across a situation where on clicking the hyperlink in a webdynpro application a pdf of an adobe form to be generated and downloaded in the local system.

So I found the simplest way to make my work done using Webdynpro element(LinkToAction) and simple block of code for pdf generation.

Monday 15 February 2021

Ten concepts of interface and integration in SAP-from evolution point of view

The journey began with the classical programming model. I enjoyed the freestyle programming. But as time passed, the business trends started changing and the market began to evolve with cloud and mobile applications significantly in the digital infrastructure. And now when the best-recognized practice for programming is the ABAP Programming Model for SAP Fiori, I look back and see a journey of evolution in several areas in SAP. And it is going to continue as the future programming model is already ready called the ABAP RESTful programming model. From an SAP traveler’s point of view, many tools arrived, several techniques were developed and new concepts emerged in the context of the interface, infrastructure, and integration in SAP. There are several blogs on each of these topics but they all are segregated and written from a purely technical point of view. The idea of this blog-post is to provide an insight from an SAP traveler’s point of view so that it becomes easy to understand even for beginners. Hence without giving much technical info let me share a glimpse of concepts in sequence.

Friday 12 February 2021

RFC Gateway security, part 1 – basic understanding

Basic understanding

In the following i will do the question and answer game to develop a basic understanding of the RFC Gateway, the RFC Gateway security and its related terms.

What is the RFC Gateway?

The RFC Gateway can be seen as a communication middleware. The RFC Gateway act as an RFC Server which enables RFC function modules to be used by RFC clients. It also enables communication between work or server processes of SAP NetWeaver AS and external programs.

From a technical perspective the RFC Gateway is a SAP kernel process running on OS level as user <SAPSID>adm.

Wednesday 10 February 2021

Complete process to create Change Document in ABAP and SAPUI5

Requirement:

To show the record of changes in ‘city’ and ‘name’ defined as fields in customer-specific table using SAP Fiori app.

Solution:

Create Change Document Object for the respective table.

Implementation:

Step by step procedure to implement the solution.

Monday 8 February 2021

Printing Slowness

Have you come across complaints from business users that the outputs take a long time for printing?

We had this issue of printing slowness.

Issue

When a customer came into the shop, bought some product, and made the payment, the employee would run our custom transaction which would trigger a smartform and a Payment receipt would be generated.

There were many such shops. Some of the shops reported that there were times when the customer had to wait for about 1-2 minutes before the receipt was printed. There were times when the receipt was generated within 10-15 seconds.

Saturday 6 February 2021

My experience during a SAP technical upgrade (Pre-implementation & Post-Implementation)

A typical SAP upgrade project would require technical as well as functional adjustments/modifications, which any implementation team would need to follow. The following blog discusses mainly on few technical aspects, a technical consultant (Mainly an ABAP consultant) would need to follow, which are based on experience on multiple system upgrades that I was involved in.

This blog covers from the pre-implementation phase, to the post-implementation phase, where it also contains information with regards to the SPDD/SPAU corrections and modifications.

Friday 5 February 2021

PPM Financial Planning – Update FIN_PLAN Values using API: How-to guide

SAP ABAP Certification, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Tutorial and Material

My project had a requirement to add up actual values(actual and actual-manual) and copy to forecast values in the Financial Planning of the PPM Module. Even though this sounds very simple, anyone who knows PPM tables knows that it is more than what meets the eye.

Wednesday 3 February 2021

Printing to ABAP Console

Introduction to the ABAP Console

Perhaps you may be unfamiliar with this, but newer ABAP versions (7.52+) have the interface if_oo_adt_classrun, which allows printing to a console. This is an alternative to using WRITE statements or the cl_demo_output class. And this alternative is, IMO, a very welcome thing since pretty much all non-ABAP developers are using console printing one way or another.

Implementing this interface does more than that. It turns a class into an executable state by forcing you to implement a main method – as you would do in Java, for example. And, thanks to this, it completely bypasses the need for starting an SAP GUI everytime you want to run something – which is another great thing. To execute, you press F9 and the class starts running through its main method.

Monday 1 February 2021

Simple isn’t easy – ABAP composition (Chunk it up)

Do your write code only for machines, or also for your fellow developers and curious functional consultants?

There are many ways to make the ABAP code clean, readable, maintainable and awesome, and it’s not a 1-fit-for-all. Two of the concepts to use is object composition and modular programming. Although they are basically two different things, they overlap in this context and I will mix them together here a bit. I tried to be brief, but this is the shortest I managed to get it now…