Skip to Content

Enhancing CRM Datasource through FM CRM_BADI_GET_XIF using enhancement spot framework


This tutorial explains step by step procedure to enhance CRM Datasource using FM CRM_BADI_GET_XIF and BADI CRM_BWA_MFLOW based on new enhancement framework (enhancement spot).


Function module CRM_ORDER_READ is very memory intensive as it has to read complete set of data and hence increase performance overhead drastically. Reading complete set of data means reading and outputting all CRM related transactions like lead, opportunity, quotations, activity etc.

Using this FM may lead to long run times or timeouts because buffers are not cleared properly. Hence SAP suggests reading the data directly from the buffers. And this is achieved by using Function Module CRM_BADI_GET_XIF. Output of this FM contains complex deep structure holding transaction specific data, which would also have been available via CRM_ORDER_READ.

In order to use FM CRM_BADI_GET_XIF, it’s required to search the name of XIF structure which suits the requirement. The structure name starts with CRMXIF_BT_* and can be searched through Tcode SE11. Below are some of the XIF structures.

CRMXIF_BT_ACTIVITY – XIF Business Transaction Activity

CRMXIF_BT_LEAD                  – XIF Business Transaction Lead

CRMXIF_BT_OPPORTUNITY – XIF Business Transaction Opportunity

CRMXIF_BT_SALES                 – XIF Business Transaction Sales

Author:       Praveen Kumar

Company:   IBM

Created on: 07 Aug 2014


  • SAP CRM 7.0 or higher
  • Basic knowledge of ABAP development

Business Scenario

We are going to enhance CRM Datasource 0CRM_OPPT_H (CRM Opportunity Header) by three extra fields Object Status, Status Profile & Partner Number. These 3 news fields would be populated by reading FM CRM_BADI_GET_XIF.

Please find attached document with screen shots for Step-by-Step process.

You must be Logged on to comment or reply to a post.