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!
Thanks for the honest and kind words in your review. I'm slightly biased as of course I'm going to like positive reviews of my work, but I think your review captures my original intent when I proposed the book concept. I am also glad you noticed the Pay it Forward and communities section in the book. It was an important part for me as I realized that in some fashion I have been working on again and off again since 2005 on a basic reference for CRM development knowledge via forums, wiki and now finally the book.
That being said I have purposely not pushed a blog about the book in the community, just because I didn't want people to feel I was "using the community" to sell the book. I'm glad you blogged about it so that people get to see an opinion from someone besides the author!
Thanks for posting your review. Also read your review on SAP PRESS. I am sure this book will be really helpful for CRM consultants to understand CRM technical programming and do their work quickly.
And Thank you Stephen Johannes for your valuable time and effort for writing this book. Also read your blog There is no glamour in the journey unless you are flying 1st class ,Good read, well said!!
Well....what can I say..totally agree!
I can only subscribe for every word you said! Sometime back when the book has not been finished yet Stephen Johannes said that it would be probably a little of interest for me because the book would cover "basic things". But I'm glad to say he was wrong. Currently I can observe that many things in SAP CRM are done by developers using flexible WebUI techniques right now. I'm talking about defaulting values, triggering some additional actions, steps and checks and so on. And core principles are most likely forgotten or at least not well considered. As mentioned in the book UI can change very often and we can see this. But core principles remain the same. Doing things correctly or choosing the right approach is the first prerequisites to have a successfull project. This book will definetely help in this. As Roel said there are already two very good books on the market which cover WebUI and related development. But there was no such a BOOK yet. Personally it was the very interesting reading for me. And I got very useful information. It will take a space on my desk within day-to-day work as soon as I get a hard copy. E-book version already is on my every device 🙂
Thank you Stephen Johannes for such a great book and thank you Roel van den Berge for such a great review!
My warning really should have been not to expect "deep dive" for experienced developers, because my target was providing the foundation for someone new, rather than going off into the dark deep technical corners of SAP CRM.
Your point about separation of business logic from the user interface is extremely important. It's the reason why all the those ugly screens exist in SAP ERP and SAP resorted to tricks such as ITS, Portal, Netweaver Business Client, Personas, Gateway, and Fiori, to get around a fundamentally bad design in the first place.
I had business logic in the PCUI and when I moved to the Web Client, I vowed never to purposely put true business logic(rules) in the UI. If I ever get the time I have a few ideas on how to redo all my examples in the book through BRF+.
It'll be very interesting to see these BRF+ examples.
I have just decided to move from ABAP to CRM-ABAP competency and some colleagues of mine suggested this book. Just recently downloaded and started with it. I have to say it has slowly help me understand SAP CRM’s technical landscape and improve my knowledge of SAP CRM architecture. Started learning some data modeling techniques and marketing attributes and configurations for the same.
I've just ordered this book online yesterday and have already finished reading 1/4th of it. I again realized that despite having years of experience, we always miss the finer things in high pressure project implementations.
This book is certainly recommended for anybody who wants to move from classic ABAP to CRM ABAP.
There are so many examples and scenarios in the book which we can implement to make it a better implementation next time. Recommendation of best practices and procedures is very helpful even to experienced programmers.
Kudos to Stephen for bringing such a book in the market which will helpful many aspirants who want to make a move to CRM programming and also provide guidelines to experienced CRM developers.
Thanks Roel for such a detailed and excellent review. I don't have any excuse whatsoever anymore to not buy this book 🙂 .
I'll act accordingly.
And Stephen, thanks for writing this book, that apparently adds a lot to the already existing literature.
I am planning to get this one for my team . 🙂
Very nice review. I think this book is just what I have been searching for. I am certainly getting this.
Good work from a very knowledgeable person who has been around for a while. Nicely done Stephen!
Very nice review. Thanks for that! I think you have convinced me to pick up a copy although I have readSAP CRM - Technical Principles and Programming.
Nice review about the book. I will try to get one copy also.