sap cloud for customer document version: 2.0...

16
Best Practices Guide SAP Cloud for Customer Document Version: 2.0 2015-02-26 Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

Upload: others

Post on 20-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices Guide

SAP Cloud for Customer

Document Version: 2.0 – 2015-02-26

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

Page 2: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 2

Document History

Document Version Description

1.0 First official release of this guide

2.0 Added several details

Page 3: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 3

Table of Contents

1 Data Loads Overview .......................................................................................................... 4

2 Prepare SAP Cloud for Customer for Optimal Performance Throughput ..................... 4

2.1 Switch off Feeds ........................................................................................................... 4 2.2 Switch off Address Checks ........................................................................................... 5 2.3 Switch off Confirmation messages ............................................................................... 5 2.4 Switch off Business Task Management Notifications ................................................... 6 2.5 Notify SAP Cloud Operations ....................................................................................... 6

3 Prepare SAP on-premise system for Optimal Performance Throughput ...................... 6

3.1 Configure Collect IDocs ................................................................................................ 7 3.2 Configure Trigger by background program .................................................................. 8 3.3 Configure Batch Server Group ..................................................................................... 8

3.3.1 Usage example ................................................................................................ 9 3.4 Configure a RFC Server Group .................................................................................. 10

3.4.1 Usage example .............................................................................................. 10 3.5 Assign work processes for IDoc sending to PI ........................................................... 10 3.6 Enable Bulk Settings .................................................................................................. 11

4 Execute the initial load object by object ......................................................................... 11

4.1 Do a dry run with a few data records .......................................................................... 12 4.2 Execute Initial Load Extraction Report ....................................................................... 12 4.3 Send Extracted IDocs to Cloud for Customer ............................................................ 12

4.3.1 Special cases for SAP CRM .......................................................................... 14 4.4 Monitor the results in ERP/CRM ................................................................................. 14

4.4.1 HCI as middleware ......................................................................................... 14 4.4.2 PI as middleware ........................................................................................... 15

4.5 Monitor the message inbound in C4C ........................................................................ 15

5 Redo the initial load specific settings after the initial load is complete ...................... 15

Page 4: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 4

1 Data Loads Overview For customers already using SAP On-premise systems, implementing a cloud solution means leveraging their existing data (both master data and transaction data). This document covers aspects on how to plan for optimal performance during high volume data loads into your SAP Cloud for Customer solution from SAP on-premise systems (SAP ERP or SAP CRM). Performance optimization can be achieved by fine-tuning your SAP Cloud for Customer solution, SAP on-premise solution and your middleware (SAP NetWeaver PI or SAP HANA Cloud Integration) solution.

It is important to identify upfront the objects that need to be migrated from your on-premise system to SAP Cloud for Customer. As each object has dependencies with other objects, it is important to plan for them to avoid errors during migration.

1. For details on sequence of migration from SAP ERP, refer here, How-to Perform Initial Load from SAP ERP to SAP Cloud for Customer

2. For details on sequence of migration from SAP CRM, refer here, How-to Perform Initial Load from SAP CRM to SAP Cloud for Customer

2 Prepare SAP Cloud for Customer for Optimal Performance Throughput

The first aspect of optimizing performance for data loads is achieved by turning off certain system parameters. This is required to isolate computing resources of the application server for the initial load activity.

2.1 Switch off Feeds

Switch off Feeds in your tenant by going to Business Configuration Implementation Projects Edit Project Scope Questions Communication and Information exchange

Page 5: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 5

2.2 Switch off Address Checks

Switch off Address checks by going to Business Configuration Overview. Type in “address checks” in the Find area and click in Go. Open the Address checks activity and check the box “Allowing saving of inconsistent addresses”

The recommendation is to keep this switch OFF even after the initial load is completed.

2.3 Switch off Confirmation messages

This is only relevant if you integrate with SAP CRM, not for SAP ERP.

For some CRM objects C4C sends a confirmation message back to CRM that updates the CRM object with the C4C object id. We do this for

Business Partners

Leads

Activities

Opportunities

One can improve the initial load performance by switching off these confirmations. Only we can’t give this as a general guideline. In some situations confirmation messages are required and can’t be switched off. Here some examples for this:

You exchange opportunity attachments between CRM and C4C. Attachments are only sent out of CRM if the CRM opportunity has a C4C id. Without the opportunity confirmation messages no opportunity attachment would be sent over to C4C.

You did a BADI implementation in the CRM outbound to only send a business partner relation if both CRM business partners have a C4C id. Without the business partner confirmation message no business partner relation message would be sent from CRM to C4C.

If you are unsure we recommend to keep the confirmations switched ON.

In case you want to switch off confirmations here is how to do so.

Switch off Confirmation messages by accessing all the active Communication Arrangement options within the Administration work center. (See an example below for one such communication arrangement)

Page 6: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 6

2.4 Switch off Business Task Management Notifications

Switch off Business Task Management Notifications by accessing Business Configurations Edit Project Scope Questions Communication and Information Exchange

It is up to you if you want to switch on the E-Mail notifications again after the initial load is complete. In case you keep them switched off you need to actively monitor the system for potential errors.

2.5 Notify SAP Cloud Operations

Create an incident in your SAP Cloud for Customer tenant and work with your designated SAP point of contact before when planning for large data loads. You should specify the business objects that you plan to load (e.g. Accounts, Contacts) and volume of data load (e.g. 1 million records). Also please include the context of the initial load in the incident ticket.

3 Prepare SAP on-premise system for Optimal Performance Throughput

The integration of C4C with ERP and CRM mainly relies on the ALE (Application Link Enabling) framework and IDocs. Also the initial load is done using IDocs: For all relevant objects based on the distribution rules IDocs are created in ERP or CRM and send over to C4C.

Page 7: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 7

ALE offers one option to achieve a better throughput, this is bulk sending and bulk processing of IDocs. For the initial load the bulk sending is more relevant. Bulk sending means that you don’t send individual IDocs one by one but that you send them in bulks, e.g. 50 IDocs within one sending call. On HCI/PI the IDoc bulk is mapped to a bulk service message containing all the objects from the IDoc bulk. Bulk service messages have a much better throughput than sending and processing individual inbound messages in C4C. In our tests we saw that a bulk size of 50 is a good value that seems to work for all scenarios. We recommend to use the value 50 as a default for the bulk size unless there is a more specific recommendation. “Bulk processing” is the same thing for the ERP/CRM inbound. Inbound IDocs are not posted immediately one by one but processed in bulks. For the initial load this is only relevant if you integrate with CRM for the confirmation messages sent back to CRM. Ensure that the following settings are enabled in your SAP on-premise system before your begin data loads.

3.1 Configure Collect IDocs

During the process of extraction, the partner profile in your on-premise system needs to be set to “Collect IDocs”.

In case of PI as a middleware the “Pack. Size” should be set to 50. The “Pack. Size” field may only appear on the screen after switching to “Collect IDocs” and triggering a roundtrip.

Note down all the partner profiles you changed. You need to reset this change after the initial load is complete.

Page 8: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 8

If you use HCI as a middleware the bulk size is controlled in a different manner. The “Pack. Size” field doesn’t even occur in the outbound partner agreement for HCI ports. The bulk size for the HCI case is set later.

3.2 Configure Trigger by background program

This is only relevant in case of SAP CRM and only if C4C sends confirmation messages back to CRM.

Note down all the partner profiles you changed. You need to reset this change after the initial load is complete.

This is a sample screenshot for the inbound case, taken from SAP CRM for the business partner confirmation message. For the bulk processing you have to choose “Trigger by background program”.

3.3 Configure Batch Server Group

The initial load uses parallelization and may consume significant resources. To control the system resources it makes sense to define a batch server group and define one or several dedicated application servers to it.

Go to transaction SM61 to configure a new batch server group.

Page 9: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 9

Below a screenshot of the batch server group TEST that has one application server with 11 background workprocesses assigned.

3.3.1 Usage example

This is to give you an idea where the batch server group is used. You need to specify the batch server group when creating batch jobs related to the initial load for C4C. Here a sample screenshot from transaction SM36:

Page 10: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 10

Some of the initial load reports we provide in the ERP/CRM add-on do support parallelization and have a “Batch processing group” parameter on the input screen. Please add the batch server group you defined here as well.

3.4 Configure a RFC Server Group

This is only relevant for the initial load from ERP. Some of the initial load reports in ERP make use of RFC server groups for parallelization. Please create an RFC server group, e.g. assigning one application server with about 20 work processes. RFC server groups are defined in transaction RZ12.

3.4.1 Usage example

For example in the ERP initial load report for the material master, RBDSEMAT supports parallelization by an RFC server group:

3.5 Assign work processes for IDoc sending to PI

This is only relevant if you use PI as middleware. IDocs are sent to PI using the TRFC protocol. You define the maximal number of TRFC connections per RFC destination in transaction SMQS. In the sample screenshot maximal 10 connections are used to send IDocs to PI destination QXL_238_0LO7ESC.

Page 11: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 11

You need to align the number of maximal connections specified here with the connection resources on PI. It doesn’t make sense that e.g. ERP/CRM tries to open 20 connections in parallel if PI only offers 5 connections. PI should provide more connections than ERP/CRM is using for sending.

3.6 Enable Bulk Settings

This is only relevant if you use SAP HANA Cloud Integration (HCI) as the middleware. This is not relevant if you use SAP PI.

The transaction is WE21. Please ensure that content type setting is set to “Text/XML”.

Please keep this setting even after the initial load is complete.

4 Execute the initial load object by object We will walk you through one concrete example step by step. The sample scenario is that there are 1,000,000 material master records in ERP to be transferred to C4C. Let’s assume the material number a spread in the range from material id 2000000 to material id 600000.

Page 12: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 12

4.1 Do a dry run with a few data records

We strongly recommend to execute a dry run end-to-end before triggering the full initial load. This means you execute the next steps for a few data records to see if everything works as expected. This helps you to see if the connection from ERP/CRM to C4C is working and if the records can be successfully loaded into C4C. Please fix potential application errors in the C4C inbound first! Otherwise you may get thousands of them during the full initial load. Please try to use representative data records for this test that represent the average in data size and data quality.

4.2 Execute Initial Load Extraction Report

The initial load report for materials in ERP is RBDSEMAT. For the material sample you would execute it with these parameters:

The report will create 1,000,000 material master IDocs. It will consume processes from the RFC server group “parallel_generators”. Each work process from the group is called with up to 32767 materials ids (32767 is the maximum value one can specify here). The work process reads the material data and creates the IDocs. As the outbound partner agreement was set to “Collect IDocs” the IDocs are only created but NOT sent out. The use of the server group will reduce the runtime of the data extraction as the load is spread to several work processes in parallel. Even after the report is finished there may still some work processes active from the RFC server group creating IDocs. You may want to check in the monitoring transaction SM50 and check for active processes and wait until it is all over.

4.3 Send Extracted IDocs to Cloud for Customer

Let’s assume the 1,000,000 material IDocs have been created in the range from IDoc id 123000000 to 125000000.

The next step is to send the IDocs out. The regular report for this is RSEOUT00. RSEOUT00 has no built-in parallelization.

Therefore we create several report variants and batch jobs to run several instances of RSEOUT00 in parallel each with a slice of the IDocs.

Page 13: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 13

Let’s build slices with about 100,000 IDocs each and create a report variant for each of the slices. Here is the screenshot of the RSEOUT00 parameters for the first slice with the first 100,000 IDoc IDs.

If you use HCI as the middleware, the bulk size is controlled by the parameter “Maximum Number of IDocs”. Please set this value to 50 (or whichever bulk size you want to use).

If you use PI as the middleware, the bulk size is controlled by the package size in the outbound partner agreement which was explained above. You can keep the default value for “Maximum Number of IDocs” in this case or may be choose even a higher value:

After the report variants are created, please create the batch jobs consuming from the batch server group defined above. Here the batch job for the first slice:

Page 14: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 14

If the batch server group <TEST> has 11 batch processes assigned, 11 instances of RSEOUT00 would run in parallel sending out IDocs. In the HCI case, 11 connections are opened in parallel to HCI. In the PI case, RSEOUT00 just creates the TRFC queue entries using 11 batch processes. After all batch jobs have been created, watch the batch queue with transaction SM37 for the execution status and wait until the sending jobs are completed.

4.3.1 Special cases for SAP CRM

In some specific situations in SAP CRM one has to use the report CRMPCD_IDOC_SEND_BY_CONTENT instead or RSEOUT00. Please check the report documentation (click the i button on the parameter screen to read it) for the details.

4.4 Monitor the results in ERP/CRM

Now you should check for communication errors during sending.

4.4.1 HCI as middleware

Have a look in the IDoc monitor, e.g. transaction BD87.

IDocs with status 03 have been successfully sent to C4C. To be more precise: This means that the material service message was received by the C4C inbound queue. It still may be that an error occurred when creating the material in C4C. This has to be checked in C4C itself.

IDocs with status 30 have not been sent yet. May be there are still sending processes active.

IDocs with status 02 could not be send over to C4C. You have to drill down into these entries, analyze the error and resend them. You may need to check the HCI monitors as well for the error analysis.

Page 15: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

Best Practices for Optimal Performance of Data Loads into SAP Cloud for Customer

© 2015 SAP SE or an SAP affiliate company. All rights reserved. 15

4.4.2 PI as middleware

As mentioned above, IDocs are sent to PI using the TRFC protocol. The IDoc status mean something different here:

IDocs with status 03 have been added to TRFC outbound queue. You have to check the TRFC queue for further details.

IDocs with status 30 have not been sent yet. May be there are still sending processes active.

IDocs with status 02 should not occur at all in the PI case.

The transaction for the TRFC queue is SM58. Check the entries for the PI destination:

Entries with status “Transaction recorded” are still waiting to be sent out.

If all IDocs have status 03 and if the TRFC queue is empty, please check the PI monitors if all messages were successfully sent to C4C.

4.5 Monitor the message inbound in C4C

After all communication queues are clean, please check in the C4C web service monitor if all messages were successfully posted in the C4C inbound.

Please resolve the application errors and reprocess the messages if necessary.

5 Redo the initial load specific settings after the initial load is complete

1. Change the partner profiles back to immediate processing (changed in chapter 3.1) 2. Switch on the BTM tasks (switched off in chapter 2.4) 3. Switch on confirmation messages again (potentially switch off in chapter 2.3) 4. Switch on feeds again (switched off in chapter 2.1).

Page 16: SAP Cloud for Customer Document Version: 2.0 2015-02-26a248.g.akamai.net/n/248/420835/f3d57da97ec0581aa20... · SAP Cloud for Customer Document Version: 2.0 – 2015-02-26 ... (SAP

www.sdn.sap.com/irj/sdn/howtoguides

© 2015 SAP AG or an SAP affiliate company. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. National product specifications may vary.

These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such

products and services, if any. Nothing herein should be construed as constituting an additional warranty.

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.

Please see http://www.sap.com/corporate-en/legal/copyright/ index.epx for additional trademark information and notices.

www.sap.com/contactsap