Book review: SAP CRM: Technical Principles and Programming
When I first heard that Stephen Johannes was working on a technical book about CRM I thought “do we really need another technical SAP CRM book?”. After glancing the “Contents at a Glance” it was already obvious: “Yes, yes we do!”
Introduction – My SAP CRM books
The first SAP CRM book that I bought was Discover SAP CRM. To be honest I did not use it much as it is mostly a functional overview of your SAP CRM system. Do not see this is a criticism, it is just not the book for me 🙂 The second CRM book that I bought was SAP CRM Web Client Customizing and Development. After the SAP course “CRM Web UI Deep Dive” this was an excellent reference book for developing in the SAP (CRM) Web Client 2007 (CRM 6.0). Then when SAP CRM 7.00/7.01 came out it brought some cool features which were perfectly explained in the third CRM book that I bought: SAP Web Client – A Comprehensive Guide for Developers. Its contents are still very relevant and I use it frequently. This book shines when you have to create a new Web Client application from scratch.
So the fourth SAP CRM book that I acquired is SAP CRM – Technical Principles and Programming. Like I wrote: only by looking at the “Contents at a Glance” alone you will see that this book fills a gap that the other books left. Where the Web Client books focus more or less solely on the Web Client and all its facets, this book deals with a lot of other gems that are present in your CRM system (much like the SAP Press book Next Generation ABAP Development deals with many gems inside your ABAP system).
On to the content!
The first two chapters deal with the basics of CRM in general and SAP CRM specifically. For me it contained a lot of aha-erlebnisses! For instance it explains why SAP CRM is a separate system and not an addon to SAP ERP and it explains the pillars of the SAP CRM system: Business Partners, Products, One Order (Business Transactions), etc. I would go as far as stating that these first 2 chapters are a mandatory read for every developer that has to work on a SAP CRM system.
The third chapter tells you what options SAP CRM offers with regards to enhancing the CRM Data Model with techniques like the Application Enhancement Tool (AET), Easy Enhancement Workbench (EEWB), Marketing Attributes & Product Master Attribute Sets.
The fourth chapter explains the great Business Transaction Events (BTE) framework. This powerful framework allows you to ‘break in’ into the various steps of a business transaction. Next to the customizing it also explains – by means of an example – how to develop custom functions that are called by the framework. In my opinion this chapter is not only for developers but should be mandatory knowledge for functional application owners/consultants as well. Whenever BAdIs are not available it is highly likely you can solve it by using Business Transaction Events.
Chapter 5 deals with data migration using the XIF adapter and the Legacy System Migration Workbench (LSMW). Useful for everyone (developer & non-developer) that needs to migrate data from a legacy system to SAP CRM.
The Post Processing Framework (PPF) is extensively covered in chapter 6. I could have used this chapter at one of my first CRM projects. I managed to get it to work back then but it took me quite some time. Also in this chapter the steps to create output with the PPF framework is illustrated with an example.
Chapters 7,8 & 9 present common enhancement requests in the various areas of SAP CRM, best practices if you will. From implementing common BAdIs to creating custom date rules to enhancing Interactive Reporting, configuring the Transaction Launcher and much much more. All with source code samples and good tips & tricks. I love these chapters! It should help developers making a well-informed decision on where to make certain enhancements.
To be complete Chapter 10 – When All Else Fails was added. When the techniques and frameworks described in the previous chapters do not suffice, you always have the option to make implicit enhancements or even (heaven forbids) core modifications.
The book ends with Community Resources where Stephen mentions the various options you have for connecting to community resources. He covers SCN in detail and references the Paying It Forward principle as well as the SAP Mentors program. Besides that he mentions user groups and social media.
This book is your backpack with the necessary tools to develop inside your SAP CRM system other than developments in the SAP Web Client (for that I recommend SAP Web Client – A Comprehensive Guide for Developers). Some of the referenced frameworks are easily overlooked when you start developing in a fresh SAP CRM system without much knowledge. Glance the book regularly to be aware of the various options you have and apply it when necessary. This is not only useful for CRM developers but also for functional application owners/consultants. The provided source code examples should help developers get started fairly quickly and the social media examples throughout the book greatly help in grasping the use of the various frameworks.
If I may take the liberty of speaking on behalf of the SAP Community Network, specifically the CRM developers: Thank you Stephen Johannes for the blood, sweat and tears that I know you put into writing this great book which will help me and surely a lot of other developers in making the right choices when it comes to developing in SAP CRM systems!