If you know CMD_EI_API class, you are aware of its power. It's very helpful for the manipulation of customer master data, all master data including contacts. I have played with this class many times and although I got use to the structure of it, I thought one day that it would be handy to have a wrapper or framework to use it. So I've started to build it.
As a result I have now more handy (but not perfect) class to handle the creation or update of customer master data with CMD_EI_API=>MAINTAIN_BAPI method.
The whole source code is available as current version on Github, from where you can instal this class (and all supporting ones) with abapGit https://github.com/fidley/Customers.
As there is no much documentation about this class yet, I will extend this article in future with more details, for now just the basics information how to start with it.
As you can see on the image bellow, there are few methods and attributes there but the constructor is most important, when you will pass the customer number to constructor, then the class will try to read data of existing customer, if not then it will assume that you want to create new customer.
The attributes corresponds to the structure of the customer in the CMD_EI_API class, so if you're familiar with it, it will be very easy to understand the logic. Anyway even if you don't know the CMD_EI_API, the names of the attributes and methods should be easy to decode. Instal it, try to play with it and give me any feedback, here or on Github. Some samples and documentation will come soon.