Wednesday 30 March 2022

How to add custom generic fields for Ariba SLP to SAP MDG integration with CIG

This article explain how to add custom fields in Ariba SLP integration using CIG. We have came across the requirement to add few localizations fields in Ariba network as part of Ariba implementation. Those will be available in integration payload with name ‘GenericCustomFieldname’. But those are not available in standard interface ‘BusinessPartnerSUITEBulkReplicateRequest_In’ in our MDG S4 system. This will help you out how to enable ‘GenericCustomFieldname’ in Ariba SLP standard interface.

SAP Ariba Cloud Integration Gateway, add-on to be installed on SAP ERP and it enables SAP to communicate with Ariba Network and SAP Ariba solutions through SAP Ariba Cloud Integration Gateway. SAP cloud integration using SAP Ariba Cloud integration Gateway is more popular and efficient for both master data and transaction data integration

Friday 25 March 2022

About EDI conversion of External tax rate and tax code

The transaction OBCD is a standard transaction to maintain EDI conversion of External tax rate and tax code and its corresponding Maintenance table is T076M. It’ll impact the tax code if the FI accounting document is created through EDI (which is IDOC normally). Now, what if the tax code is not been assigned correctly as expected on the posted document created by IDOC?

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

How to check the source of the tax code?


In my case, the account document was triggered by intercompany billing with standard output type RD04.

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

The account document is generated through inbound IDOC using message type ‘INVOIC’ with the basic type ‘INVOIC01’. The process code ‘INVF’ uses the standard function ‘IDOC_INPUT_INVOIC_FI’ for inbound processing. Global search ‘BSEG-MWSKZ’ at this FM will find out its source comes from E1EDP04-MWSKZ.

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

The standard approach to fetch tax code


Normally the routine ‘READ_T076M’ been used to get the tax code from the T076M table which is exactly the maintenance against transaction OBCD:

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

Enhancement may impact the tax code


But attention here is one BADI called ‘INVOIC_FI_INBOUND’ been checked using METHOD: IF_EX_INVOIC_FI_INBOUND~DETERMINE_TAX_CODE ahead of ‘READ_T076M’.

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

Besides IDOC inbound processing for document generation, the IDOC generated by function module ‘IDOC_OUTPUT_INVOIC_IV_MM’, global search ‘e1edp04’ will find the fill routine ‘fill_e1edp04′ and its user exit inside ‘customer_function’ could have impacts for this value as well.

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

For this case, e1edp04–mwskz comes from ikomv–mwsk1 which mapping to table KONV-MWSK1 with KONV-KSCHL equal to MWST.

How to debug this Idoc generation


1. As the IDOC type ‘INVOIC’ can be re-triggered, just modify output at one invoice and set dispatch date/time with option ‘1’ which is Send with a periodically scheduled job.

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

2. Set breakpoint accordingly at FM: IDOC_OUTPUT_INVOIC_IV_MM, it’ll be triggered using standard program RSNAST00 with parameters like below:

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

3. After Idoc has been generated will get the below message. After that, it’ll be processed as an inbound IDoc.

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

How to debug this Idoc inbound processing


To test the inbound process FM: ‘IDOC_INPUT_INVOIC_FI’, just use SE19 with Inbound FM and check the box of ‘Call in debugging mode.

SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Career, SAP ABAP Jobs, SAP ABAP Skills, SAP ABAP PDF

Source: sap.com

Wednesday 23 March 2022

Display Material Picture in Material Master Screens MM01/MM02/MM03

Introduction:

This blog post will guide you to create a custom sub screen in the basic data tab of the material master transactions.which displays the picture of the corresponding material stored in the DMS.

Requirement:

The requirement is to create a sub screen in the basic data tab of the material master transactions.The custom screen is used to display its corresponding image from DMS.

With the help of custom function group and SPRO configuration to the screens,we will be able to achieve this.

Monday 21 March 2022

SAP GCTS – Getting Started

SAP GCTS or git enabled CTS is important as we move into S4HANA and in the blog series which I plan to write should provide the basics and to the path to SAP Dev ops using Jenkins.

What is SAP GCTS

The figure below gives an idea of what GCTS means

SAP GCTS, SAP ABAP, SAP ABAP Exam, SAP ABAP Exam Prep, SAP ABAP Preparation, SAP ABAP Tutorial and Material, SAP ABAP Learning, SAP ABAP Exam Preparation

Friday 18 March 2022

Prefill UI2 Cache for better performance @ initial call of FLP

Case Description

I noticed that when Fiori Launchpad (FLP) is starting, it’s calling /UI2/PAGE_BUILDER_PERS OData service via the URL like below:

/sap/opu/odata/UI2/PAGE_BUILDER_PERS/PageSets(‘%2FUI2%2FFiori2LaunchpadHome’)?$expand=Pages/PageChipInstances/Chip/ChipBags/ChipProperties,Pages/PageChipInstances/RemoteCatalog,Pages/PageChipInstances/ChipInstanceBags/ChipInstanceProperties,AssignedPages,DefaultPage&sap-cache-id=6C0B84AA82291EDCA8F56801507C3C1B

This call is needed to get the needed information for your personal FLP configuration, including tiles, groups etc.

The result of this call is cached in your Internet Browser, however during the first login into FLP such call may take a very long time. It depends on the complexity of your FLP configuration.

Wednesday 16 March 2022

ABAP Restful Application Programming – Unmanaged Draft for non-guid key based Legacy objects.

Introduction:

In this blog post, we will see one of the common problems and possible solutions in the Unmanaged Draft scenario in ABAP RAP. As we know, the keys are automatically drawn for draft records. Imagine as a case, we have a legacy data model (EKKO, VBAK) whose keys are not GUID based.

Problem statement:

If we develop a RAP application based on it. Application will not let any user create another draft in the whole system. If it is based on GUID Keys, then we could have marked the key as a numbering field to draw automatic keys. In this case, the application already consumed default keys ( ‘     ‘ for CHAR, ’00..0’ for NUMC ) and returned the error below.

Sunday 13 March 2022

Basic Overview and Trouble shooting of SAP FQEVENTS

Background of FQEVENTS:

SAP created events to apply custom related solutions for FICA which its gives us an easy navigation and on the point spots to enhance the process. These events include a wide range of process (ex: posting, reversals, dunning, encashments etc.) which is very helpful when it comes to supporting business processes by applying custom solutions.

Transaction FQEVENTS is meant to maintain FI-CA events and some specific events which are used by the mass activities. There are many enhancement techniques used in SAP ABAP.

Monday 7 March 2022

Easy way to disable creation, modification & deletion of sales order item text ids in VA02

Introduction

In certain cases, you need to disable text ids of the Sales order item in VA02 under the Texts tab to restrict the user from deleting, changing, or creating texts.

SAP ABAP Certification, SAP ABAP Tutorial and Material, SAP ABAP Career, SAP ABAP Job, SAP ABAP Skills, SAP ABAP Preparation

This can be complex based on your approach. So, for the easy solution, I am writing this blog post.

This solution is to convert the type( V -> A ) of the transaction in the include: MV45AF0C_CUA_SETZEN by doing an explicit enhancement.

Friday 4 March 2022

Enforcing Global ABAP Quality Standards with ABAP Test Cockpit (ATC)

When you are adopting agile and DevOps methodologies in SAP development, part of the process is shifting left. That means giving the developers more ownership of code quality, by integrating quality checks into their workflows. It’s a more satisfying way to work, and it cuts cycle time by reducing rework between developers and QA.

At the same time, many organizations find it difficult to achieve consistent code quality across all of their development systems and team members. A company might have multiple developers working on the same code base, or might, for example, have separate code bases for different systems like ECC, BW and CRM.

SAP’s ABAP Test Cockpit (ATC) provides a solution. It enables you to run the same code quality checks across all of your systems and can empower developers to check and manage code quality much earlier in their development workflow. ATC is integrated into ABAP Workbench, so it’s easy for developers and QA experts to use.

Wednesday 2 March 2022

Benefit From Content Assist and Code Element Information When Developing Data Models

This blog describes how to benefit from content assist and code element information when creating or editing data definitions using ABAP Development Tools (ADT) a.k.a. ABAP in Eclipse.

Content assist describes the Eclipse features that make your daily work easier. Code completion is one of these features. It proposes existing elements, keywords, or identifiers which might fit best at the current cursor position in your source code.

What Can I Insert Using Content Assist?

Code completion provides you a list with proposals which you can insert at the current cursor position. This can be, for example the following identifiers …