Optimizing SAP CRM and SAP ERP Integration: Q&A on Improving Data Transfer, User Experience, and Customer Service

February 08, 2017

Many customer engagement and commerce integration projects that involve CRM middleware for SAP CRM Sales, SAP CRM Service Manager, and SAP Hybris Billing solutions face a number of challenges including variations in the SAP CRM and SAP ERP data models. Every integration project needs to ensure that the data being replicated is always in sync and comprehensible, and does not negatively impact performance or compromise user experience. But how can this be accomplished?

There are many critical decisions and enhancements required to overcome restrictions and ensure optimal system performance in your projects for data replication between SAP CRM and SAP ERP. Incorporating specific time-tested techniques and strategies provides a powerful way to identify and exploit key integration points to ensure seamless integration of SAP CRM and SAP ERP. When properly applied, these proven techniques help drive enhanced user experience that encompasses comprehensive visibility into the data they interact with, as well as seamless transference of data between systems, allowing for sales and services processes to flow uninterrupted.

Customer Engagement & Commerce 2017 speaker Allen Roholt answered questions on the best practices and methodology needed to optimize your integration processes between SAP CRM and SAP ERP in order to improve user experience and meet your customer service objectives.

Meet the panelist: 

Allen RoholtAllen Roholt, ECENTA America, Inc.
SAP Consultant who specializes in SAP CRM, Middleware, and Security. He has worked for ECENTA America, Inc. for over 6 years and has serviced clients in multiple industries ranging from manufacturing to software and hi-tech.

Live Blog Optimizing SAP CRM and SAP ERP Integration

Mr. E. Emery: Welcome to today’s live Q&A. Today’s topic is optimizing integration projects while improving data transfer, user experience, and customer service. I’m very pleased to have Customer Engagement & Commerce 2017 speaker Allen Roholt from ECENTA joining us! He’ll be here to answer your questions on improving integration processes between SAP CRM and SAP ERP while overcoming specific challenges in data transfer and management.

Allen Roholt is an SAP Consultant at ECENTA who specializes in SAP CRM, middleware, and security. We’re delighted to be seeing him in Orlando next month! Allen, thanks for being here today!

Comment From Guest: What is SAP doing to harmonize the naming conventions between R/3 and C4C (for example, for unit of measure for materials or other fields that are getting replicated from R/3)? In R/3, it is possible to set deletion indicators or different types of blocks for materials and customers. By when will we be able to replicate the status of these master data to C4C?

Allen Roholt: Hi, this session focuses on SAP CRM on-premise integration via the CRM middleware. I will try to answer your question to the best of my knowledge. You should be able to map the information you mentioned via either HCI or PI, depending on the infrastructure, provided there is something in C4C to map it to. As for naming conventions, and having things be identical in SAP ERP and SAP C4C, I cannot comment on what SAP is going to do going forward. What I can tell you is that there was not really an exact match in names between ERP and CRM. For example, ERP has materials and CRM has products. ERP has customers and CRM has business partners. ERP has BOMs and CRM has structured products. What I have found is that knowing the objects in one system, and their relationship to their counterpart in another system, and being able to explain the relationship and differences, has allowed me to show value to my customers. I hope this helps you, too.

Comment From Sreekanth: What should be the optimal number for inbound queues when we replicate customers master data from ECC to CRM? I have read somewhere that the QRFC scheduler would not work fine if the total number of queues crosses more than 10,000 records. We have several inbound and outbound queues every minute in our day-to-day activity. I am trying to find out what the optimal size for the inbound queues for customer master data should be.

Allen Roholt: Hi Sreekanth! Your question has multiple parts so I’ll address each one individually. You first asked what the optimal number of inbound queues should be for customer master replication. Typically, I see one or two queues come into CRM when one customer is changed in ERP: an R3AD* queue and a CSABUPA* queue. If you are updating customers constantly in a production environment, then seeing a constant flow of data would be expected. If you are concerned that each queue has a large number of entries, you may want to check the block size that is set on the adaptor object (either CUSTOMER_MAIN or BUPA_MAIN depending on your scenario). This is set to 100 in standard. If it is lower, then the middleware will create more blocks with a smaller size. If it is higher, then it will create fewer blocks. My current project showed a significant improvement in the download times of condition records with an adjustment to a higher block size.

Comment From Sreekanth: Could you explain most common mistakes that everyone does on middleware and also explain best practices for middleware monitoring?

Allen Roholt: Hi Sreekanth! I’ve found that the biggest challenge for the middleware setup is just having a lack of communication between teams. I’m actually going to talk about that during my presentation in Orlando. When it comes to middleware monitoring, my preference is to have resources dedicated to this, and those resources should be familiar with not just the middleware setup in that system, but also the business processes. I have found that resources who understand why the system is replicating that data is a big plus in troubleshooting and monitoring.

Comment From Sreekanth: Is there a way we can trigger an email or notification to a person when a QRFC is blocked or stopped due to a bad record?

Allen Roholt: Yes, there is! There is an IMG activity where this is maintained. IMG > CRM > CRM Middleware and Related Components > Message Flow Setup > Assign Error Actions to Messages

Comment From Praveen: Is there a limit to table enhancement in CRM WebUI?

Allen Roholt: Hi Praveen. I'm afraid I do not fully understand your question. Could you be more specific, or provide details on your scenario? This session is focused on the CRM middleware, but I'll do my best to answer your WebUI question.

Comment From Surya: With Hybris Cloud Suite, Hybris Marketing, and Hybris Commerce with ERP as a back end for order-to-cash cycle fulfilling the majority of the requirements, on-premise solutions are becoming a rarity among projects unless they are an ISU or a telecom industry. Do you still see a challenge for future projects investing on on-premise solutions?

Allen Roholt: Hi Surya. With SAP's acquisition of Hybris, the future of CRM on premise has been a question I come across frequently. My understanding is that CRM on premise is going to be around for quite some time. Within our company, ECENTA, I can tell you that we have a team of consultants all engaged in current CRM on-premise projects, as well as in scoping and blueprint sessions for other CRM on-premise projects that are about to start or recently started.

Comment From Sergio: Hello, in your opinion, what is the best approach to integrating SAP CRM with an existing SD module to provide a front end for some types of sales? What is the greatest gain of going through all the data integration between CRM and SD? Are there any known pain points? Also, if we currently have a Grantor Management solution on CRM, what do I need to integrate on the ECC side for the whole standard design?

Allen Roholt: Hi Sergio. If you are integrating with an established ERP system, then the good news is half of the work is done for you. It has been my experience that implementing ERP and CRM at the same time can be a bit more challenging than if you are implementing CRM after ERP is live. I’m glad you asked about pain points. I’ll be discussing the differences in the data models in CRM and ERP during my presentation. The biggest pain point for this integration, in my personal experience, has been complicated pricing routines that already exist in ERP. This is because in CRM, they need to be rewritten in Java for the IPC. But that is just my personal experience, and not necessarily that of my colleagues. It just depends on your scenario and what the requirements are. As for the Grantor Management solution, I have not done this myself, but my understanding is you’ll be looking at integration points such as business partners and transactions. So it is not that different from typical integration, if it is different at all.

Comment From Sergio: We are about to move into SAP suite on HANA — is there any integration between CRM and ERP known for that change? Any known pain points or best practices that you would recommend prior to the move?

Allen Roholt: Hi Sergio. I recently completed a project that involved S/4HANA systems, and the middleware setup was the same as ECC 6 running on an Oracle database. So I am not aware of any challenges that you'd face with S/4HANA since I did not in my project. If you come across any, I'd be interested in hearing about them

Comment From Ross: What queue names have you seen — controlling the number of queues by how much of the business partner to include — say one character for only ten queues, or all ten characters for one queue per business partner?

Allen Roholt: Hi Ross. You can influence queue names using ERP table CRMQNAMES. There are some SAP notes that address this and you'll find them by doing a search for CRMQNAMES at

Comment From Nik: In which scenarios would you prefer web services for data exchange between SAP-to-SAP and SAP-to-non-SAP systems over CRM middleware?

Allen Roholt: Hi Nik, I actually will talk about this during my presentation in Orlando. The CRM middleware is capable of sending data to multiple SAP systems using BDocs, and if there is ever a need to use IDocs, such as for data exchange with a non-SAP system, it is possible to convert a BDoc to an IDoc.

Comment From Amit: Whenever we add any custom fields in SAP CRM, we want to send field values through BDocs. What necessary steps do we need to perform to replicate custom field data through BDoc to ECC? Do we need to configure anything on the ECC end?

Allen Roholt: Hi Amit. It really depends on what object you have in the custom field. This is a bit different for a custom field on a material versus a customer. In either case, you'll have to extend the BDoc to include this information, and map it to the corresponding field in CRM. The same goes if you are going to make a change in CRM and you expect this to replicate back to ERP.

Comment From Sreekanth: Hi Allen, thank you for your reply on number of inbound queues. Actually my question is not about the block size on the R3AC1 (for example, 100). In general, when a customer is changed in ECC, it would come to CRM immediately. It would create an inbound queue in CRM. Let’s say the queue name is R3AD_CUSTOM001. Similarly, if we change customers in MASS in ECC, it will generate some unique queue names in CRM based on the configuration of queue name and the number of queues in CRM.

Allen Roholt: Hi Sreekanth. Ah, you are using MASS. In this case, I would expect one or two queues for each customer you are updating with MASS, and I'd find that to be normal. If you are doing multiple MASS updates every single day, I might take a step back and evaluate the process that is causing constant MASS updates.

Comment From Sreekanth: When updates come into CRM and when each update creates one unique queue, it will create several entries in QRFC. Now my question is what are the max recommended inbound queues we can have at any time? If we let it create one unique entry per customer, it would create several QRFC queues with unique names and I think that would be a concern.

Allen Roholt: Hi Sreekanth. I would be more concerned with data replication times rather than number of queues. If you find that there is a delay in data replication, then I'd start looking at possibly reducing queue times. Again, I would also look at why so many MASS updates are being performed on a consistent basis.

Comment From Ryan M: Are there any special middleware considerations or actions we should take for a Service Parts Management (SPM) setup?

Allen Roholt: Hi Ryan. Yes! I’ve never had the pleasure of implementing CRM for that scenario, but I’m familiar with it. My understanding is that when you do this, the integration of Sales Orders changes. Typically, in regular CRM to ERP integration, a CRM Sales Order replicates to ERP as an ERP Sales Order. In Service Parts Management, the order itself does not directly replicate. Rather, there will be the creation of unchecked deliveries and planned purchase orders. This variance from the norm is something you should be prepared for.

Comment From Ryan M: Is there a way to adjust the inbound queue names from an ERP system? We would like to parallelize our billing queues when transferring billing documents from CRM to ERP for accounting.

Allen Roholt: Hi Ryan. Queue names are influenced using ERP Table CRMQNAMES.

Comment From Guest: What is SAP's recommendation for integrating SAP Hybris Commerce or billing directly with SAP ECC? In other words, what integration mechanism or tools are needed to accomplish this if Hybris and ECC are both on premise?

Allen Roholt: Hi. This session is focused on SAP CRM on-premise integration using the CRM middleware. I'd ask that you direct your question to a session focused on Hybris integration.

Comment From Amit: Hi Allen. In S/4HANA, all modules are in single box. Is middleware required for the integration between CRM and ERP?

Allen Roholt: Hi Amit — it depends. I was on a project where we had ERP on S/4HANA, and CRM on HANA. They were separate systems. I've heard that there is the possibility that SAP will deliver CRM and ERP in the same SID. When this is the case, my understanding is that you still use the CRM middleware, but the RFC destination used is basically "MYSELF." Hope that makes sense.

Comment From Ryan Mendoza: What is the frequency of credit checks and data flows to FIN-FSCM-CR (separate system) when sales orders and billing documents are created only in CRM, and receivables are created in ECC? Is it real time? I am talking about three systems integration: CRM, FSCM and ECC.

Allen Roholt: Hi Ryan. You can certainly have credit checks in CRM and use either FI-AR or FSCM for those credit checks. The return of the credit check is real time (a second or less). As for the frequency of the credit checks, that depends on the process that you have established and the underlying customization. With service transactions, it is possible to have CRM do an automatic credit check when the transaction is released. If the credit check is not OK, then the transaction cannot be released until either there is a credit release on the line items or another credit check is performed and it comes back OK. One thing I have seen some consultants miss is the setting up of the subscription for credit exposure so that CRM sends that information out and it is stored in the appropriate system (FSCM or FI-AR). Hope this helps.

Comment From Emily: Is there a back button short-cut key for the WebUI? CTRL + Left Arrow + Backspace doesn't work for us.

Allen Roholt: Hi Emily. Your question seems focused on the WebUI. This session is focused on the CRM middleware, but I will try to help. In the CRM WebUI, it is important that you do not use the browser back button. Rather, there is a back button within the WebUI itself. It is typically located in the upper right hand corner, underneath "Log Off" and the "Saved Searches" area. If that is the back button you are referring to, and it is not functioning, I'd encourage you to look into the business role customization, if you are using a custom business role. I’ve never had any issues with that back button, as it is a standard navigation button. It is quite possible you’d need to create an OSS incident.

Comment From Marna: Hi Allen. We currently run both CRM and ERP on premise and communication between the two is IDocs through PI. Is there a better way to do this using newer technology?

Allen Roholt: Hi Marna. That's an interesting setup. The CRM middleware has been around for some time, and is SAP's standard way of integrating CRM on premise with ERP. I'd be interested in learning about why you've got PI involved as opposed to the CRM middleware. Hope to see you in Orlando.

Comment From Ross: Hi Allen. According to SAP Note 356228 "QRFC occupies all work processes on the R/3 back end or the CRM system" — Sreekanth might find it useful. Rather than making one queue per business partner, you can make a total of say 100 queues by using just the last two characters of the business partner key in the queue name. Thanks for the CRMQNAMES keyword.

Allen Roholt: Thank you, Ross, for posting that note! It's hard for me to look up information when trying to get through all of these questions.

Mr. E. Emery: Thank you to everyone who participated in today’s Q&A! Allen is finishing some of his answers now.

Comment From Ryan M: Is there a best practice or way to handle error BDocs or queues so that other updates don’t stack up behind the errors and impact our business?

Allen Roholt: Hi Ryan. Whenever there is an error in one queue, then the subsequent LUWs of that queue will not be processed. For example, if you change a customer in ERP, and for some reason that change fails to replicate to CRM and you have a queue in SMQ2 with status SYSFAIL, any subsequent changes to that customer will be put into the same queue (because CRMQNAMES is going to have the same queue name get generated each time for that customer). So until you delete the failed LUW, or you resolve the issue in CRM that prevented the LUW from processing successfully, the other LUWs just sit there. The bad news is BDocs have an expiration date — typically seven days. So if you aren’t checking on data replication consistently, then you can dig yourself into a deeper hole. The good news is that you can always consider using a synchronization request to get data back in sync if it ever falls out of sync.

Comment From Emily: Hi Allen, sorry for being unclear and thank you for helping answer the question about the WebUI, even though this is not the correct forum. The back button works correctly in the WebUI. I was wondering if there was a short cut key, "pf key," that our business could use instead of the back button to make navigation easier.

Allen Roholt: Hi Emily. Great questions, and one that I've never been asked. Typically, the business users I interact with want to click on things, not use shortcut keys. I'm not aware of a keyboard shortcut for the WebUI back key. If you find one, please let me know! :-)

Mr. E. Emery: As we come to the end of today’s Q&A, I’d like to thank you all for joining us. Thank you, Allen Roholt, for all your insightful answers and thank you to everyone who participated.

You can review the Q&A chat replay at any time, and we will alert you by email when the transcript of today’s discussion is posted. I hope to see you at our upcoming Customer Engagement & Commerce 2017 conference next month in Orlando, Florida!

An email has been sent to: