A customer recently had a mishap with material characteristics under MM02 and as many of you will know this is a nasty little set of views nested within one another under MM02 tab characteristics. It seems too, that there isn’t a nice clean way to extract and change this data. It is likely though, that some of you who have been winshuttling for a few years now, know how to do this using a variety of scripts and methods.
There is another way now, using Winshuttle Direct with Winshuttle Transaction and this time using a Remote enabled Function Module (RFM). In a matter of hours I was able to spin up the read RFM and a changer RFM so that you can deftly change characteristics in a nice neat way. The two RFM’s are BAPI_OBJCL_GETDETAIL and BAPI_OBJCL_CHANGE. Both were exposed under Direct, I aggregated the three internal tables (text, integers, currency) associated with the RFMs to make the loops in Transaction simpler and hey presto I was able to quickly extract the characteristics for a bunch of materials.
There are two gotchas however, you have to know the material number and the class assignment ID but the rest is easy (relatively). Since I won’t know in advance how many characteristics are associated with each class, I had to assign some random number of detail lines for the loop (i set it to 10) but you of course could set it up any way you like. Something I found with using the change RFM is that when I wanted to change the values, i had to change the Value_Char and not the Value_Neutral for char characteristics With the Integer characteristics, changing the VALUE_FROM was sufficient to reassign the value for a characteristic.
Questions or comments about this article?
Tweet @uploadsap to continue the conversation!