PI GUID webMethods E2E Inbound is a test that will inject the message to the SAP PI or SAP PO webMethods middleware platform. It can also perform validation of the middleware platform outbound message as well as validate database entries created by the message processing in the backend ABAP based system.
Top of the screen with Automation Object (AO) ID, description and test type.
...
Basic Information
...
Info |
---|
Read more about Import Basic Information from SAP PI/PO Directory |
...
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 theParameter name | DescriptionExample | |
Interface | SAP PI/PO webMethods interface name. In SAP PO, the best information to see interface service name is an ICO definition. | SI_O_PurchaseOrder - SAP PO interface name |
---|---|---|
Namespace | Namespace from ICO. The name and namespace will allow to automatically build test cases just based on providing message GUID/number from middleware. Based on content, the interface name/namespace will be checked, and automatically configuration object proposed. | http://webshop.com |
Backend Systems
...
Info |
---|
Actual naming convention of the interfaces is dependent on customer specific webMethods interoperation layer implementation. |
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 |
Database Validations
...
Parameter name | Description | Example |
Database validation ruleset | Reference database validation ruleset object name. Database validation ruleset specify how related backend validation should be performed. Specify tables, fields and join conditions for the backend validation. Buttons allow navigation to the chosen database validation ruleset and creation of a new database validation ruleset | GENERIC_SO |
---|
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.
...
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.
...
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) |
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 |
Number Ranges
...
The number ranges allow generating new values for variables. Those values are used to substitute original document numbers or other values in reference messages.
...
Parameter name | Description | Example |
Number range | Provide a name for the number range. This name would be passed as a parameter in variable processing for actions that will generate values from it. | NUM_RAN |
---|---|---|
Prefix | The alphanumeric characters to be appended at the beginning of the document number to separate original documents from source systems and the one created during Int4 Suite testing (optional). | INT4_ |
Low value | The first number of our range. | 1 |
High value | The last number of our range. | 999999 |
Current value | When the number range is used during testing, it would increment per each use. | 23 |
Suffix | The alphanumeric characters to be appended at the end of the document number to separate original documents from source systems and the one created during Int4 Suite testing (optional). | _TEST |
Add zeros | If this box is checked, zeros will be automatically appended to the beginning of the document number, such as 000500. | |
Incr. per Test Run | If this indicator is selected, the number range is incrementing once per test run. If multiple test cases with the same Automation Object exist in the test run, they will receive the same value. |
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) |
Test Case Creation
...
Parameter name
...
Description
...
Example
...
PI: Ignore parent message during TC creation
...
This flag is used for scenarios with multiple receivers. If you create a test case based on the message that is part of the bigger scenario, then engine will search for the initial message that SAP PI/PO received.
This requires at least logging the BI processing step (as SAP does not recommend staging).
If you would like to create the test case for a single receiver or the BI logging is not available, then you need to check this checkbox
...
Message version before processing
...
A version of the message to be fetched from the SAP PI/PO persistence. Here we specify the version which contains the original message - before being processed by SAP PI/PO. If empty, Global Parameter is used.
...
Depending on the SAP PI version can be either:
numeric: 0
caption: EDI
...
Message version after processing
...
A version of the message to be fetched from the SAP PI/PO persistence. Here we specify the version which contains after mapping version of the message - already processed by SAP PI/PO. If empty, Global Parameter is used.
...
Depending on the SAP PI version can be either:
numeric: -1
caption: AM
...
PI: Allows Receiver interface be same as Sender interface
...
For pass-through interfaces
In particular scenarios, sender and receiver interfaces may be the same, for instance, in the EDIFACT scenario. If this parameter is not provided and the sender is the same as the receiver interface, no test case would be created for such messages, or during execution, an error may occur.
...
X
ABAP Stack SAP PI Integration
...
Parameter name
...
Description
...
Example
...
PI: Landscape where interface exists on the ABAP stack
...
Name of the PI ABAP Landscape. It is required to access the ABAP stack PI messages.
...
PI: ABAP stack: Read input message from Java persistence
...
This flag needs to be checked in the case when the ABAP stack PI read a message from the JAVA adapter
...
PI: ABAP stack: Read output message from Java persistence
...
This flag needs to be checked in the case when the ABAP stack PI sends a message to the JAVA adapter
Test Case Execution
...
Parameter name
...
Description
...
Example
...
Inject using PIT
...
This flag will use SAP PIT WS as a message injector (SAP PO > 7.5 SP14) for this automation object.
This flag can be set up also globally for whole environment.
...
HTTP RFC Destination
...
Alternative RFC Connection where the REST message should be sent. If this parameter is populated, then the message will be sent there alternative RFC.
...
SAPSYS1_RFC
...
PI: Asynchronous: Direct HTTP operation
...
If the Direct HTTP URL is provided, here you can specify the HTTP operation (for asynchronous REST testing).
...
POST
...
PI: Asynchronous: Direct HTTP URL
...
Direct endpoint to tested interface (asynchronous). Fulfillment of this parameter is a mandatory condition for testing asynchronous REST/JSON interfaces.
...
/RESTAdapter/webshop/material_async
...
PI: Reference Sender Channel Name
...
Name of the sender channel to be used as a reference.
...
CC_SOAP_SENDER
...
PI: Reference Sender Channel BC
...
Business Component of the sender channel to be used as a reference.
...
BC_SENDER
...
PI: Reference Sender Channel Party
...
Party of the sender channel to be used as a reference.
...
SENDER_PARTY
...
Flag for Flat File interfaces
...
Used to mark interface input as Flat File
...
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)
There is no default value, so the parameter is obligatory for CSV files
...
CLRF
...
Stop Receiver Processing
...
Stops Receiver Processing when using PIT as a message injector.
Test Case Validation
...
Parameter name
...
Description
...
Example
...
Validate message output
...
This flag allows activating output payload validation for SAP PI/PO
The validation is performed before the final backend validation, and the results are combined.
It is the same validation as used by default by PI Unit Test type.
...
PI: Validate message status
...
SAP PI/PO message processing status will be taken as a part of the test case result. By default, the processing status is not part of the test as such, for example, the communication channel may be deactivated not to send test messages.
This option is helpful when performing validation of receiver communication channels. It would not validate the results of processing in the channel but at least collect SAP PO status.
...
PI: Validate message attachments
...
This flag allow to check SAP PI/PO message attachments as a part of the test.
Message Selector
Parameter name
Description
Example
PI: Message Search - Interface Name
Used to specify the Interface Name within which the Message Selector should search for the version of the message. This parameter is only to be entered if Interface Name visible in the Message Monitor main screen differs from the Interface Name used to create the object definition.
If we only have receiver interfaces visible in the message monitor, then use the receiver name specified in the ICO of the sender interface specified in the automation object used.
PI: Message Search - Namespace
Used to specify the Interface Namespace within which the Message Selector should search for the version of the message. This parameter is only to be entered if Interface Namespace visible in the Message Monitor main screen differs from the Interface Namespace we have used to create the object definition.