Show TOC Start of Content Area

Procedure documentation Configuring Mass Change Parameters in Contract Management  Locate the document in its SAP Library structure


You can define your own mass change parameters for the Mass Changes function in Contract Management. As an example for creating new mass change parameters, you can use any of the mass change parameters in the standard SAP SRM system (listed in view BBPV_CTR_MASSOP, language table BBPC_CTR_MASSOPT).

For contract mass changes, the following packages are provided:

·        /SAPSRM/PDO_AO_CTR_MASS for business logic



       1.      In Maintain Table Views (transaction SM30), enter view BBPV_CTR_MASSOP and choose Maintain.

       2.      Choose New Entries and make the following entries:



Mass Change Method

Enter a name starting with “Z_” for your new mass change method.


If you want item data to be filtered, select this indicator (available for location, product category, product, supplier/partner, product number).

Sort Order

Choose the order in which the contracts are to be processed by the system.

If the order is not important, you can choose Space.

If the mass change is not to be combined with another mass change method, choose Isolated Execution.

Group of Mass Change

Choose whether the mass changes apply to header data or item data, or choose Miscellaneous (No Display).


Choose the type of section where you want to make changes. This affects whether the system makes authorization checks for this section or not.

Mass Change

Enter a text to describe your mass change. This text appears on the UI. Make sure that it is translated into all languages that are used in your system.

       3.      Create a structure and table type in the ABAP Dictionary:


                            a.      In the ABAP Dictionary (transaction SE11), create a new structure in the customer namespace. Include the components to store the old value and new value of the field, and any other parameters that are required to control the business logic. You will use this structure in the Web Dynpro component.


In structure /SAPSRM/S_PDO_CTR_MC_PMNT_TRMS for the mass update of payment terms:

·         Component PMNT_TRMS_OLD is used to store the old payment term value

·         Component PMNT_TRMS_NEW is used to store the new payment term value

·         Component SELECT_FIELD_FROM is used to determine whether to update a specific payment term or all payment terms

                            b.      In the ABAP Dictionary (transaction SE11), create a new table type in the customer namespace. As the line type, enter the structure that you created above. You will use this table type as parameters in the Business Add-In (BAdI) implementation.


See table type /SAPSRM/T_PDO_CTR_MC_PMNT_TRMS for the mass update of payment terms.

       4.      Create a Web Dynpro component:


                            a.      Create a new Web Dynpro component in the Z or Y namespace and implement the interface /SAPSRM/WDI_CTR_MC.

                            b.      In method GET_VIEW_CONTEXT of the component controller, implement the following code, where <node_name> is the name of the context node:

ron_context = wd_context->get_child_node (name = IF_COMPONENTCONTROLLER=>wdctx_<node_name>).

                            c.      Create a view and an inbound plug in the view. Embed the view to the window.

                            d.      Create a context node in the component controller with the required attributes from the structure that you created above, and link the node to the view controller context node.

                            e.      Create an action ACTIONREJ_CHNG in the view.

Method ONACTIONACTIONREJ_CHNG is created automatically.

                              f.      Implement the following code in the method:

wd_comp_controller->fire_reject_changes_evt ( ).

                            g.      For creating the view layout, see payment term component /SAPSRM/WDC_UI_AO_CT_MC_D and view V_AO_CTRM_INCO_HEAD.

       5.      Create an implementation for the BAdI:

                            a.      In the BAdI Builder (transaction SE18), enter enhancement spot /SAPSRM/CTR_MASS_CHANGE.

The BAdI /SAPSRM/CTR_MC_BADI and interface /SAPSRM/IF_EX_CTR_MASS_BADI have been defined with the following methods:




Provides the screen information of the parameters or mass change method for the UI. The current implementation is valid only for ABAP Web Dynpro.


Distinguishes between header and item parameters.


Maps the new values with the old, and also validates them.


Provides the status of the mass change process.


Validates the screen input values.

                            b.      To create a Z implementation, go to transaction SE19.

In the Create Implementation area, enter enhancement spot /SAPSRM/CTR_MASS_CHANGE and create an implementation for the BAdI /SAPSRM/CTR_MC_BADI. The desired implementation name is Z<mass change parameter name>.

                            c.      Implement the interface methods above as per the desired logic and activate the methods and BAdI.


See the Incoterm implementation class /SAPSRM/CL_CTR_MC_HI_INCOTERM.

                            d.      Add a filter value to the enhancement implementation with filter /SAPSRM/PDO_CTR_MC_OPKEY and comparator = , for the new mass change parameter. In this case, the filter value is the name of the field specified in the Customizing table, for example, HDR_INCOTERM.

For more information, see Customizing for SAP Supplier Relationship Management under Supplier Relationship Management ® SRM Server ® Business Add-Ins (BAdIs) ® Contract Management ® Implementation of Methods for Making Mass Changes.

       6.      Check that:

       Your change method is listed in the change methods table that is displayed in step 2 of the contract mass update transaction

       The view relevant to the parameter is displayed in step 2 of the contract mass update transaction when you click your newly created change method

       The contracts are updated successfully when you choose Start Mass Changes for the newly created change method


End of Content Area