SAP CPI E2E Outbound
SAP CPI E2E Outbound is a test that will search for the message in SAP CPI middleware platform based on conditions specified in the Variables of Automation Object. It can trigger message by itself via output control or check the outbound message triggered by other test case or manual action.
Top of the screen with Automation Object (AO) ID, description and test type.
Basic Information
Parameter name | Description | Example |
Integration flow | SAP CPI integration flow ID | PurchaseOrder_Out |
---|
Parameters
Parameter name | Description | Example |
Test Case Creation |
|
|
CPI: Block in iFlow to get output payload | ID of the block in iFlow that can be used to get payload after processing from iFlow trace. | EndEvent_2 |
CPI: Attachment Name to get output payload | Attachment Name from which output payload can be fetched | Target_Attachment |
CPI: Store ID used to persist message | The name of the store used to persistence the payload. Recommended approach is to use Block IDs instead of Store | BeforeMapping |
Child Test Case Automation Object | Automation Object(s) used to link and create child test cases. This parameter allows for automatic creation of linked outbound test cases during save. Following Automation Object types can be used as child: 5 PI E2E Outbound |
|
CPI: Read CPI Headers | Tells the Int4 Suite to read additional technical CPI headers for the request. Default value is ' ' (false). | X |
Test Case Execution |
|
|
Trigger the output from message control (NAST) |
| |
CPI: Search using parent application ID | Search outbound message using parent application ID - parent needs to be a CPI Inbound test case that is connected via ProcessDirect or JMS with iFlow under CPI Outbound test |
|
CPI: Search using parent correlation ID | Search outbound message using parent correlation ID |
|
Show XML in the original order (unsorted) | This flag determines if the lines of the file in the XML Comparison Report should be displayed in the original order or should be sorted alphabetically for a specific nodes. | Checked or 'X' - payload will not be sorted on the report Unchecked or '' - payload will be sorted alphabetically (default value) |
Flat Files Compare with payload validations applied | If this checkbox is checked, Payload Validation rules are applied before files comparison and the match content is replaced by the placeholders. This can in some cases result in better flat file comparison results, especially in case of many missing lines. |
|
Flat File Line Separator | The character used for end-of-line determination in Flat File messages: for example, CLRF - Unix. The parameter is used to display the comparison report better and display the reference and new message line by line. "Carriage Return and New line" character should be stored as CRLF "Line Feed" should be stored as LF (Unix based files) Separator can be also specified using hexadecimal representation of Numeric Character Reference (NCR). There is no default value, so the parameter is obligatory for CSV files Use || to enter multiple alternative separators e.g. CLRF||' | CLRF
NCR Example: |
Line Separator Escape Character | Escape character for line separator. Used to avoid line breaks in case separator is used in the file content. Source: Split: |
|
CPI: Externalized Parameter | Int4 Suite can change value of the externalized parameter before triggering a test case and revert the change back after test case execution. For example you can change your regular PROCESSSDIRECT outbound connection to dummy one and prevent sending message to the receiver. Many parameter can be provided for single automation object in form of <ParameterName>=<ParamterValue> Changing externalized parameter requires deployment of the iflow so the execution time is longer comparing to regular execution | Receiver1=IFTT_Default_Out |
Backend Systems
Parameter name | Description | Example |
Backend system line for current doc. | This parameter points out the system where the reference backend document is stored. The value should be a system line described in the landscape configuration. Note: If Backend system line for the current doc. has the same value as the Backend system line for the reference doc. (for instance, both are S4/HANA) then the RFC connection between the systems will be maintained both in: a) the original environment of the reference document (for instance, production system) b) the environment where the current test case execution takes place (for instance, development system) If Backend system line for the current doc. is different than the Backend system line for the reference doc. then, the RFC connection will be maintained only in the environment of the current execution (for instance, development system), but for both system lines (like ECC and S4HANA) | ECC SAP_ERP
|
---|---|---|
Backend system line for reference doc. | This parameter points out the system line where Int4 Suite should create test documents during test case execution. In most cases, reference documents and documents created during current test execution are stored in the same system line. However, suppose Int4 Suite is used in a migration scenario (for example, migration from ECC to S4/HANA). In that case, the documents might be created in the new system and then compared with the references from the old system. The value should be a system line described in the landscape configuration. Note: If Backend system line for the current doc. has the same value as the Backend system line for the reference doc. (for instance, both are S4/HANA) then the RFC connection between the systems will be maintained both in: a) the original environment of the reference document (for instance, production system) b) the environment where the current test case execution takes place (for instance, development system) If Backend system line for the current doc. is different than the Backend system line for the reference doc. then, the RFC connection will be maintained only in the environment of the current execution (for instance, development system), but for both system lines (like ECC and S4HANA) | S4HANA |
Variables
Variables are the container for values that can be used during testing. Each variable contains two values, the one that is calculated based on the reference message/document and the one that is calculated ad-hoc during test case execution.
Variables & Variable processing
Create button allows variable creation.
Parameter name | Description | Example |
Name | Variable technical name | VARIABLE_1 |
---|---|---|
Description | Free text for variable description | Variable One |
Type | Type of variable processing | Read & Replace Find message Custom |
Scope | Scope determines the processing of procedures that generate unique values like, e.g., GUID or NUM_RANGE.
| Test Case Test Run |
Payload Validations
Output payloads after processing by SAP PI/PO are validated against previously stored references. This configuration enables adding rules with exceptions that will allow for differences.
File Type | Processing |
XML | |
JSON | |
Flat Files, X12, EDIFACT | Int4 Flat File Syntax or REGEX |
Parameter name | Description | Example |
Description | Free text for the exception rule | Field1 |
---|---|---|
Expression Type | Expression type. Available options:
This field is optional for all interfaces where there is a single type of output. However, for interfaces that output might be both XML and flat file, it is mandatory to specify the expression type. | XPath |
Expression | Path pointing to the field/node where the exception should be applied. | //ORDER/DATE/text() (XPATH expression) or START_TAG(BGM+220+)&&END_TAG(+)&& (Flat file expression) or $.order.date (JSONPath expression) REGEX(BGM\+220\+(.*)\+) (REGEX expression) |
Rule | Rule to be applied to the field. |
|
| Marks the compared fields with yellow color as a "warning". |
|
| In case compared values are different Int4 Suite compares them with specified variable. If reference/current value pair from comparison matches variable values result is marked as "warning". Variable name used for checking the values has to be specified in the Processing Parameter column. |
|
| In case compared values are different Int4 Suite compares them with specified values in the Mapping Object. If reference/current value pair from comparison matches mapping values result is marked as "warning". Mapping Object name used for checking the values has to be specified in the Processing Parameter column. |
|
| Even if it is different in the content, it is not highlighted. |
|
Parameter | Used in correlation with Warning Rules. |
|
Payload Matching
In scenarios with multiple outputs for the same receiver, there is a need to compare them based on the same order as reference documents used for test case creation.
Integration Platforms don’t guarantee that outputs will always be sent in the same order control; therefore, the solution is to sort the messages before comparison.
Parameter name | Description | Example |
Rule | Free text for rule name | Rule1 |
---|---|---|
Expression Type | Expression type. Available options:
This field is optional for all interfaces where there is a single type of output. However, for interfaces that output might be both XML and flat file, it is mandatory to specify the expression type. | XPath |
Expression | Path pointing to the field/node where the exception should be applied. | //ORDER/DATE/text() (XPATH expression) or START_TAG(BGM+220+)&&END_TAG(+)&& (Flat file expression) or $.order.date (JSONPath expression) REGEX(BGM\+220\+(.*)\+) (REGEX expression) |
Rule Type | Rule type. Available options:
|
|
Parameter | Depending on Rule type:
or
|
|
Group | Free text grouping field. All rules with from the same group have to be fulfilled to match payloads. At least one group has to be fulfilled to match payloads.
Rules within group are linked with AND operator. Groups are linked with OR operator. |
|
Execution Settings
Parameter name | Description | Example |
Debug Log | Int4 Suite will provide additional, more technical information in Test Execution Report during the running of the test cases if this parameter is set. Therefore, it is recommended to set this option initially and deactivate it when object definition is confirmed after executing the first test cases |
|
---|---|---|
Display wait popup before validation | Wait Flag indicating if Int4 Suite should stop test case execution after sending test case message to middleware. Int4 Suite will show the confirmation box, and the user will decide to continue. This setting can execute manual follow-up actions before running the next test case or checking the validations. This setup works only with Execute via SAP GUI option of execution |
|
Delay between execution and validation
Parameter name | Description | Example |
For each test case | Delay (in seconds) between test case execution ( sending message) and checking the results. | 10 |
---|---|---|
Once per test run | Delay (in seconds) between test run execution ( sending messages) and checking the results. | 60 |
Data Scrambling
A scramble list is a part of an automation object. For compliance purposes, for example, GDPR purposes, it's required to hide some of the test case fields. Thanks to the anonymizer feature, it's possible to select fields that hold sensitive values and decide what action should be taken to prevent them from being compromised.
Parameter name | Description | Example |
Rule Type | Rule type. Available options:
| Test Case Creation |
---|---|---|
Rule | Specify scrambling rule name for identification. | NAME |
Method | Choose a scrambling method from a list. Available methods:
| HASH |
Expression Type | Expression type. Available options:
This field is optional for all interfaces where there is a single type of output. However, for interfaces that output might be both XML and flat file, it is mandatory to specify the expression type. | XPath |
Expression | Path pointing to the field/node where the exception should be applied. | //ORDER/DATE/text() (XPATH expression) or START_TAG(BGM+220+)&&END_TAG(+)&& (Flat file expression) or $.order.date (JSONPath expression) REGEX(BGM\+220\+(.*)\+) (REGEX expression) |
Parameter | Specify Processing Parameter suitable for a chosen scrambling method. | X (for Mask method), SHA1 (for HASH Method) |
XSLT Transformations
XSLT Transformation can be applied on both Input and Output payloads and it is stored in a reference test case of type XSLT Transformation. To call XSLT Transformation during Test Case execution, Test Case number that is of type XSLT Transformation needs to be provided as an input to one of the below parameters.
Parameter name | Description |
Execute XSLT on ref. output payload | Run XSLT Transformation on output reference message (output stored in Test Case as reference) |
Execute XSLT on cur. output payload | Run XSLT Transformation on current output message (output generated during Test Case execution) |
Example usage of XSLT transformations can be found here XSLT transformation examples | Different order of XML nodes in a new solution.
© 2017 - 2022 Int4 AG All rights reserved