Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
Showing results for 
Search instead for 
Did you mean: 

To change the classification data for a material using BDC

Former Member
0 Kudos

I have to update clssification data for material in MM02 using BDC so when i record the transaction MM02 using SHDB i am not able to see the value assignment window which i a able to see when i am changing using MM02 transaction directly. So can anyone have an idea regarding this ?

I have even tried updating classification data using a BAPI BAPI_OBJCL_CHANGE but i am not getting desired results....can anyone suggest me what are the parameters need to be passed to the BAPI. Thanks in advance for your help....


Former Member
0 Kudos


Obligatory Parameters :

OBJECTKEY (Object Key, Concatenated)

OBJECTTABLE (Object Table)

CLASSNUM (Class Number)

CLASSTYPE (Class Type)

all other parameters are optional.



Former Member
0 Kudos

Hi Nagarjuna,

<b>BAPI_OBJCL_CHANGE</b> : This BAPI changes an existing classification, or creates the classification if it does not yet exist. The classification is defined by the required entry fields for the object key (ObjectKey), object table (ObjectTable), class name (AllocDetail-Class_Num), and class type (AllocDetail-Class_Type). The default value for the optional date field (KeyDate) is the system date, on which all classifications become valid. The new characteristics and/or values are transferred to different tables according to data type. Numeric, time, and date characteristics are transferred to table AllocValuesNumNew, character and boolean characteristics are transferred to table AllocValuesCharNew, and currency characteristics are transferred to AllocValuesCurrNew.

The object key (OBJECTKEY) must be transferred in internal format. This means before conversion exits. For example, a material number must be transferred with leading zeros.

If the BAPI runs without errors, table Return contains no messages of type "E".

Assignment created: message CL735

Assignment changed: message CL737

Assignment not changed: message CL738

This BAPI only changes the parameters of an existing assignment (or creates a whole new assignment), but it does not delete the assignment to a class and replace it with an assignment to another class. If you want to reassign an object, the old assignments must be read with BAPI_OBJCL_GETCLASSES and deleted with BAPI_OBJCL_DELETE, then the new assignments must be created with BAPI_OBJCL_CREATE.

The information transferred by this BAPI replaces all old information. An empty field means "delete entry!", not "no change".

This BAPI does not change the database. To change the database, call BAPI BapiService.TransactionCommit afterwards.

You can only use this BAPI for objects that are not classes!

This BAPI only processes assigned values for classification - not for configuration.

Reward points if helpful.