The BAPI Material.GetList() for the business object type Material should contain additional parameters. The function module associated with this BAPI is BAPI_MATERIAL_GETLIST.

Customers should first create a sub-type YMaterial of the existing object type Material in the BOR. They will also note that method calls of the business object type YMaterial for the original object type Material are to be processed, provided that the associated method is implemented there. This process is referred to as "delegation". (For all methods that are not implemented for the subtype YMaterial, the method call is executed from the superior business object type, Material.)

Customers make the necessary changes in the source code of the function module BAPI_MATERIAL_GETLIST, or make changes to the interface by creating new, optional parameters.

Next, customers create the method GetList() for the sub-type YMaterial using the BOR/BAPI Wizard. The method is linked to the function module BAPI_MATERIAL_GETLIST, where the new parameters are included as part of the method definition.

If, on the other hand, the interface is enhanced with new, mandatory parameters, a new function module must be created and assigned to the method YMaterial.GetList(). (Customers can also copy the module BAPI_MATERIAL_GETLIST, for example, to Y_BAPI_MATERIAL_GETLIST, and then edit this copy.)

At runtime the following process takes place:

  • When the BAPI Material.GetList() is called, the BAPI YMaterial.GetList() is the one actually executed.
  • In the case of all other method calls, the methods of the superior business object type Material are executed, because these are not implemented for the sub-type YMaterial.