Skip to Content

Introduction to BDT:

The BDT (Business Data Toolset) is a central control tool for maintaining master data and simple transaction data. In addition to dialog maintenance, it also supports maintenance with direct input and/or function modules.

The BDT also provides generic services for consistently recurring requirements such as occur in change document lists, field groupings and the deletion program. It takes control over these objects as well as generic parts and calls the applications using predefined interfaces (control tables and events). The applications themselves introduce application-specific enhancements, such as writing and reading application tables

BDT settings:

Step 1: Create Module Pool Program – SAPLZFG_FSCM with screen 9001.

(Function Group: ZFG_FSCM)

Step 2: Create New Application for screen

BUPT->Business Partner->Control->Applications / t-code (BUS1)

Step 3: Create New Dataset for the application:

BUPT->Business Partner->Control->Data Sets / t-code (BUS23)

Step 4: Create field groups as required:

BUPT->Business Partner->Control->Screen Layout->Field Groups / t-code (BUS2)

Assign the fields to the field group

Step 5: Create view:

BUPT->Business Partner->Control->Screen Layout->Views / t-code (BUS3)

Assign the field groups to the views:

Step 6: Create section

Go to BUPT->Business Partner->Control->Screen Layout->Section/ t-code (BUS4)

Assign View to the section:

Step 7: Create Screen:

Go to BUPT->Business Partner->Control->Screen Layout->Screens (BUS5)

Assign the section to the screen

Step 8: Create the screen sequence:

Go to BUPT->Business Partner->Control->Screen Sequences (BUS6)

Select the screen sequence and click on Screen Sequence->Screens to assign the Screen.

Create a screen sequence category:

Selecting the Screen Sequence category, assign the screen sequence to it.

Step 9:

Add your screen with the standard screen sequence so that it would appear with the standard TABS.

Select the BUP001 Screen Sequence and add your screen with the required Item number.

Item Number will depict where the tab will come.

**************Most Important Step******************

Step 10: Create Divisibility:

BUPT->Business Partner->Control->Divisibility->BP Views (BUSD)

Add Data Set ZFSCM to standard BP View UKM000


Add the custom application to standard BP view UKM000


Output: Execute t-code “UKM_BP” and enter partner number.

Incorporating a logic flow for the validations etc. of those custom fields

To incorporate the logic for the validations of the custom fields, the PAI and the PBO of the custom program that is attached to the View can be used.

Here we attached the custom FM “ZZAPP_BUPA_PBO_ZAPP9001” to the view ZFSCM.

Updating the underlying database tables for the custom fields when the BP transaction is saved

We will need to create FMs and configure the FMs to trigger under specific SAP events.

The list of the events can be found from the transaction BUPT using the path:

SAP Menu -> Business Partner -> Control Data -> Events -> Business Data Toolset (BUS7)

In the e.g. described above, 2 FMs were created under the Function Group ‘ZGM_FSCM’.

These FMs were:


The custom FM was attached to the event the event ‘XCHNG’ (which is triggered to check whether Data Has Been changed). The application name used was ‘ZAPP’.


The custom FM was attached to the event ‘DSAVE’ (which is triggered to Save Data in Database (from Local Memory)). The application name used was ‘ZAPP’.

To report this post you need to login first.


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

  1. Former Member

    Glad to find this document that help me a lot.

    Dear Expert, can u tell me how to write the function modules: ZZAPP_BUPA_PBO_ZAPP9001,



    Thanks in advanced .

    1. Gangadhar Ragula Post author

      Hi Chigon,

      Below are the steps.

      • Create function group for these function modules in SE37.
      • Create the function modules with below parameters


      Export parameter – E_XCHNG    TYPE    BOOLE_D

      This FM is used to check if the screen data has been changed

      After checking the validation based on the screen data, if data has been changed then mark the exporting flag i.e, E_XCHNG = ‘X’.


      This FM will be used to save the data from screen to respective DB tables and doesn’t have any parameters.


      This FM will be used to move the initial data from DB tables to the screen. No interface is required.

      Similarly we can create PAI function module to validate the screen data after user inputs and do perform any specific validations.

      Hope it clears and please let me know if you require any other information.



      1. Former Member


        How to get the data form screen and update into DB tables using this ZZAPP_BUPA_EVNT_DSAVE FM in DSAVE event. Can you please explain more about this logic.

  2. Former Member

    Hi  Gangadhar,

    Can u explain how to get the data like partner,partner name and company..etc like standard data in to those FM’s or PBO, PAI of customized tab.

    Thanks in Advance.

    1. Gangadhar Ragula Post author

      Hi Karthik,

      You can use the FM “BUP_BUPA_BUT000_GET” to get partner number of screen. It will import all the details of partner.



        1. Former Member

          Hi Gangadhar,

          I Created those FM’s and assigned under particular events.

          But, those FM’s are not triggering and not updating my Z-table when Saving the BP(wrote the code to update DB in FM’s).

          When Saving the BP after entering the data on Custom tab, It is showing “No Changes were made”.

          Please do favour to solve the issues.

          Thanks in advance.

      1. Former Member

        Hi Gangadhar,

        Please, explain me how to make it work those FM’s.

        My Save FM not at all triggering, but XCHNG FM is triggering .

        Not able to get the value what i have entered as a input into XCHNG FM.

  3. Turgay Piyadeoğlu

    Hi Gangadhar,

    I have made all customizing. Everything looks fine. I can see and update field value in BP screen. I have problem about showing one field in two different roles. I have created 2 different app, dataset, field group, screen, view etc.


    When i delete the field from one of the field group, I can see field in BP screen for the other one and it’s same for both of them.

    Do you have any advice for me?





  4. Former Member

    Hi Gangadhar,


    I have enhanced the BUT000 table with custom fields.  I am facing the issue during saving the data. Screen data for custom fields are not filling in database tables. After seeing this post i understood that DSAVE and XCHNG  event Function module must be created.  MY doubt is  i have ZFIELDS1 ZFIELDS2 ZFIELD3 . In SCREEN PAI i have called FMBUS_PAI and In pBO i have called FM BUS_PBO .  Please tell me  if i created Function module for DSAVE event what is the logic i have to write ?

  5. Former Member


    I am also facing same kind of Issue. Added new field in the BP tab and that field will be included in BUT000.

    But How to handle the Logic in DSAVE and DCHCK events.. Can we use update BAPI any update process in Events FM.

    Can you any once suggest me how to write the logic in Events to store the screen data in DB tables.



    Sandeep K


  6. Former Member

    Hi Gangadhar,

    I am trying the similar steps for another BP roles like FLVN01, FLCU00 etc. But it seems it’s not working.
    Am I missing any steps here ?
    Kindly guide me on this matter.
    Best Regards,
      1. Former Member

        Hi Nilesh,


        Can you share the steps on what you did to solve the issue? I’m having the same scenario and wasn’t able to figure out the correct way to trigger it.




Leave a Reply