The runtime behavior of the BPE can be controlled using various parameters.
• Delivery mode
is a runtime component that supplies messages to integration processes ready to receive messages or that starts new instances of integration processes if necessary.
You can now choose between two settings for delivery mode:
– Classic setting (default): Inbound processing with buffering – Inbound processing without buffering
• Prioritization
You can configure the qRFC queue that is assigned to a certain process type individually. For example, you can specify on which server the qRFC queue of a particular process type is to be processed. This allows you execute the qRFC queue of a particularly time-critical process type on a particular server.
• Transactional behavior
You can use the definition of an integration process in the process editor to influence the transactional behavior at runtime. This enables you to attain performance improvements.
A transaction is a sequence of processing steps that is either executed completely or not at all. If a transaction cannot be executed completely, the system undoes all processing steps within the transaction. This means that the condition before the start of the transaction is restored.
• Message Packaging
The message packaging in BPE improves performance by delivering several messages to BPE process instances within one transaction.
• Start and stop BPE
To determine whether the BPE is started, or to start or stop it in a controlled way, use transaction SWF_XI_ADM_BPE.
Hint: To display the status of the BPE, you need the role SAP_XI_BPE_MONITOR_ABAP.
To display the status of the BPE, you need the role SAP_XI_BPE_ADMINISTRATOR_ABAP.
Hint: For detailed information, see also Unit 4, lesson BPE Performance Management
Deletion of Runtime Versions
When you delete a runtime version, the corresponding workflow task is also deleted.
Even in a test system, only delete a runtime version if no process instances exist at the time.
Runtime cache
You can display and analyze the runtime version of an integration process in the runtime cache. This can be useful in an error situation, for example, when an integration process could not be started.
In the user menu, choose Process Integration→ Configuration → SXI Cache → Integration Directory Cache (or use transaction code SXI_CACHE).
If the content of the cache is currently being updated (yellow status traffic light), wait until the cache update is complete. If you do not, you may accidentally lock a business process.
The system creates the runtime version from the definition of the integration process in the Integration Repository, and creates the entries for the service and party in the Integration Directory. This happens as soon as you activate the change list in the Integration Directory. If the runtime version was created without errors, it is processed by the Business Process Engine.
Figure 62: Creating a Runtime Version in the SAP XI Cache
The Runtime Cache screen shows all the workflows that have been generated. You can see the actual WS number that is assigned to the new workflow.
Figure 63: Runtime Cache: Details
To display the process definition, select the runtime version and click the icon with the quick info Display Active Version. The process definition is displayed in the Process Builder.
The Process Builder has a similar structure to the SAP Business Workflow Workflow Builder. It is specially designed for displaying integration processes. You cannot make any changes to the process definition in the Process Builder.
The screen area on the right displays the following information for each runtime version:
• Partner and service from the Integration Directory.
• XML representation of the runtime version of the integration process. To display the XML representation in a clearer, more structured way, double-click a line.
• Workflow task
During processing by the Business Process Engine, the runtime version of the integration process is represented by a workflow task. You do not normally need to know the number of the task; however, you can use the number to search for a task, for example.
• SAP Web AS release that was being used when the cache was updated.
• Date and time of last update.
• Return code for the creation of the runtime version.
The return code 0 of an integration process means the runtime version of the integration process was created without errors. If it does not equal 0, then errors occurred. You can update the runtime version and then analyze the error messages. When you do so, the system displays detailed messages about the problems that occurred.
Figure 64: Error Handling in the Cache
You can also save the XML output as a file, which you can then pass on to SAP Support for further analysis.
If a return code other than 0 is displayed in the runtime cache for a runtime version, update the cache. To do so, click the icon with the quick info Repeat Activation. When you do so, the system displays detailed messages about the problems that occurred.
Figure 65: Error Message: Repeat Activation
Once the change is fixed in the Integration Repository and the changes are activated, the workflow should no longer have syntax errors and transaction code SXI_CACHE should no longer have a bad return code.
Whenever you have a bad return code, you can do a syntax check on the generated workflow. In the workflow definition, there is a Syntax check icon. You can also check the syntax by choosing Workflow→ Check Syntax from transaction code SWDD.
After the syntax check you will receive any existing errors.
Caution: You cannot make changes to workflows that are generated from Integration Builder activities.
If an error code is displayed in the runtime cache, check the integration process in the Enterprise Service Repository for the following possible causes:
• Conditions
Are the defined conditions valid? At present, the condition editor cannot ensure that a condition does not contain invalid comparisons, such as comparisons between different data types, for example, xsd:date and xsd:time, or comparisons between single and multiple expressions.
• Correlations
Is every activated correlation actually used?
• Customizing
Incomplete customizing check with transaction SWF_XI_CUSTOMIZING.
Every customizing item must have status green.