Wednesday, 29 September 2021

Building Dropdown list using Value help in CDS views with validations – ABAP Restful Application Programming Model

Introduction:

Dropdown lists are very helpful when you want the user to select from a set of predefined values. The values can be either static or dynamic based on whether the database table used to implement the dropdown is updated or remains fixed.

Problem Statement:

Suppose that you have a Fiori list report template application for bus booking. You have used Restful Application Programming Model to implement your backend. In your bus booking application, the user can create new bookings. You want that when the user clicks the create action button, he is shown a create new booking page where he needs to enter passenger details which includes a dropdown list for selecting Gender.

Monday, 27 September 2021

Editable ALV with F4 Help support Multiple Selection

It’s a small requirement that asks to provide multiple selections for one customized field at editable ALV grid of one customized screen:

◉ All selected entries of the popup list from F4 should be concatenated into one string separated by a comma. For example, if the user ticks the checkbox for 01&03, then the value should be 01,03.

SAP ABAP Exam Prep, SAP ABAP Tutorial and Material, SAP ABAP Certifications, SAP ABAP Career, SAP ABAP Learning, SAP ABAP Study Materials

Friday, 24 September 2021

ABAP Unit Tests for ODATA requests

Introduction

As an SAP developer coming from the Java world, I always focus on Object Oriented ABAP and believe in the high value of unit testing. So the question came once, how should I test ODATA service?

In the past I tried to build mocking classes, so that I could call the ZCL*DPC_EXT methods, but it was too difficult and had little value when compared to development efforts. Then I left the topic and decided to keep example requests in SAP Gateway Client through transaction /IWFND/GW_CLIENT. That was ok for documenting purposes, but it was not a unit test unfortunatelly.

Wednesday, 22 September 2021

Create a simple Daemon in ABAP

What is a Daemon in ABAP Language?

A daemon is a utility program that runs continuously by itself and without the control of an interactive user on a multi-tasking operating system in the background to monitor and take care of certain subsystems or show immediate reaction to events. Daemons perform explicit actions at predefined times or in response to certain events.

ABAP daemons abilities which provided by the ABAP Daemon Framework (ADF), are more alike to its counterparts in linux or windows. They are being used to handle events in a reliable way by running in sessions with unlimited lifetime. ABAP programs can communicate with the daemons by sending messages to them using ABAP Messaging Channels and message type Push Channel Protocol (PCP) which is a communications format like a simple HTTP message.

Monday, 20 September 2021

‘TAB_DUPLICATE_KEY’ issue during Delivery Due for STO

Program RVV50R10C (Deliver Documents Due for Delivery) usually been set up as a background job to generate delivery documents every day. It runs perfectly until one Monday, the user finds fewer delivery orders have been created than before and especially no delivery anymore for STO(stock transfer orders).  There’s a dump error of ‘TAB_DUPLICATE_KEY’ for every background job with RVV50R10C like below:

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

Friday, 17 September 2021

Example of Integration between SAP and Salesforce with BOOMI

In this article, just offer a quick overview&example of how material master data has been transferred from SAP to Salesforce through BOOMI, also trace the process flow which could help to do issue analysis.

SAP Salesforce, SAP ABAP Exam Prep, SAP ABAP Tutorial and Materials, SAP ABAP Certification, SAP ABAP Career, SAP ABAP Learning, SAP ABAP Guides

Wednesday, 15 September 2021

RAP Unmanaged BO – Late Numbering

In this blog post, I would like to talk about `late numbering` and how it can be implemented.

Objective

I will use an example to demonstrate:

◉ How to define late numbering

◉ How to handle created instances during Interaction Phase [Create and Create By Association (CBA) methods for now]

◉ At what point in Save sequence actual number is generated

◉ How this number is mapped back to temporary numbers used during Interaction Phase

◉ An Entity Manipulation Language (EML) statement to test this

Monday, 13 September 2021

Accessing SuccessFactors OData APIs using OAuth 2.0 Client APIs

This article describes the process on how one can access SuccessFactors OData APIs from an ABAP program using the OAuth 2.0 Client API. The OAuth 2.0 client enables one to access protected services and resources that are offered by any external service providers. The communication between OAuth 2.0 client and server is secured by an HTTPS connection.

With the sunset (planned retirement) of HTTP Basic Authentication for API Calls (SFAPI and OData), one of the recommended alternative approaches is to use OAuth2 SAML Bearer Assertion.OAuth 2.0 client handles the storing of OAuth 2.0 tokens and client secrets in the secure store.During the authentication, OAuth 2.0 client passes the OAuth 2.0 scopes to the service provider which contains references to all the allowed resources. The objective of this article is to share a working sample of OAuth 2.0 with OData API calls required for custom development integrations involving SAP ERP system with SuccessFactors Employee Central.