1. IRT 2406 release notes
-
[
Common
] Enhanced IDE to trigger Open AIs API to help with development. -
[
Common
,PRO
] Enhanced agent connection tests with API availability when Cloud connector is used (BTP installation). -
[
Change Management
,CPI
,Integration Suite
] Implemented storage and browsing of information about the Figaf user who performed creation/update of Partner Directory parameters. -
[
Testing Tool
] Improved default ordering of messages and test run results. -
[
Testing Tool
,CPI
,Integration Suite
] Removed Subsequent IFlows approach and replaced it with IFlow Chain approach. -
[
DevOps
,CPI
,Integration Suite
] Implemented DevOps of Partner Directory types: string parameter and binary parameter. -
[
PI→CPI Migration
] ImplementedPipeline Inbound Conversion
profile and extendedPipeline All
profile to generate Inbound Conversion IFlow that has CSV to XML conversion and custom modules replacement steps (go to migration profiles for more details). -
[
PI→CPI Migration
] Implemented Test Case migration for IFlows migrated withPipeline All
profile. -
[
PI→CPI Migration
] Implemented filtering by tags on Migration Overview page. -
[
FIX
,Common
] Fixed upload of naming convention rules. -
[
FIX
,Testing Tool
,CPI
,Integration Suite
] Fixed an issue whenUse only finishing run steps
option didn’t work correctly for IFlows with subprocesses connected with a receiver. -
[
FIX
,PI→CPI Migration
] Fixed an issue occurred withPipeline All
profile whenSender
name was built incorrectly if Party was not empty.
Notes for upgrade from 2405 to 2406
-
As it was noted in previous releases, since 2406 Figaf Tool requires Java 17. If you have standalone installation (just running jar file), please upgrade Java before running 2406 and update bootstrap parameters.
-
It’s required to process forcible synchronization (options
Synchronize objects forcibly
andRebuild links for the latest versions forcibly
) for all registries of CPI, Integration Suite agents from CTT page to link CPI IFlows and Partner Directory objects. -
It’s required to update each CPI composite landscape to attach technical tags to Partner Directory objects and if it’s needed, configure parameter mapping rule for
Partner Directory pid
for each CPI composite landscape. -
It’s required to configure Role collection mapping
PI_Integration_Developer
with the attributeGroups
and the valueDeveloper
for IS agents with custom IdP and if you are using cpi-plugin for the agent.
Patches
2406.1
-
[
FIX
,Testing Tool
,PRO
] Fixed an issue when specific XI scenario and channel were used during testing of scenario having modification modules in sender channel and ICO Logging approach configured. -
[
FIX
,DevOps
,PI→CPI Migration
,CPI
] Fixed an internal error occurred during fetching data from Oracle database (could affect Migration overview preparation and CPI Package import).
2406.2
-
[
Testing Tool
,PRO
] Improved polling to support messages withapplicationError
status. -
[
FIX
,Testing Tool
,PRO
] Fixed polling of async 1→1 scenario with Outbound XML Validation (VO) staging enabled.
2. Versioning concept
Since 2101 release the following versioning concept is applied:
<global version number>.<patch version number>
Where
-
<global version number>
- is a release date, hasYYMM
format whereYY
is year andMM
is month. -
<patch version number>
- includes bugfix or minor updates ofglobal version number
.
3. Requirements
Figaf Tool can be run on a local machine or a real server. Required setup is viewed in the following table:
Local machine | Real server | |
---|---|---|
OS |
Linux, Windows 8.1/10 |
|
Java version |
Java 8/17. Java 8 is deprecated. |
|
Server configs |
RAM: minimum 2GB free memory |
RAM: minimum 8GB (recommended 16GB). CPUs depend on the number of tests and frequency to be performed. |
Database |
PostgreSQL, Oracle, MSSQL or H2. |
PostgreSQL, Oracle, MSSQL or H2. If you run Figaf Tool in a Hyperscaler (AWS, Google, Azure), it is recommended to use the managed PostgreSQL database services. |
SSL |
- |
Certificate can be installed on the server to encrypt communication. |
Figaf Tool works with the following agent components:
-
SAP PI/PRO 7.31, 7.4, and 7.5.
-
SAP CPI.
-
API Management.
4. Installation
You can also learn how to install and configure Figaf Tool by watching videos in the course or read Installation on Windows or Linux. |
Here you can look for articles with explained configurations and use cases. |
If you have some question, please contact us by this email: [email protected]. |
Application components:
You can download application component from the following page: https://irt.figaf.com/download
-
irt-<version>.jar
- Figaf Tool web application. -
irt-agent-<version>.sca
- (optional, only for PRO systems) this is the Agent Module. Install it on all SAP PI/PO systems where you are going to useFigaf Agent Module
integration type. It’s not required because you can chooseICO Logging
orSAP Log Module
integration types.
To get the latest update about new functionality be sure to sign up to https://figaf.com/irt.
4.1. Agent component deployment and configuration (optional, only for PRO systems)
-
Deploy Agent component on your development system. It can be done with NetWeaver Developer Studio or your favorite deployment tool. For the first integration it is easier just to test on one system, you can always add more systems later.
-
Create new user:
-
Open
UMEAdminApp(/useradmin)
and import users (your user should have Administrator role in the UME). -
Then select
Overwrite Existing Data
checkbox. -
Put the configuration below into the text area and click
upload
button (this step should be done on both (Agent and Test) systems). The configuration depends on the Figaf Tool tools you are going to work with:-
Testing Tool needs user to have
SAP_XI_API_DEVELOP_J2EE
(to have read/write permissions in the integration directory),SAP_XI_MONITOR_J2EE
(to use AdapterMessageMonitoring WS API for fetching payloads that required forSAP Log Module
integration),IRTAgent
(it is created during deployment of agent component), and custom role (to send messages through created XI channel) with the following action:Custom role example:
[role] rid=SOAP_XI_SENDER action=ACTN.AUTH_DS.un:L$sap.com/com.sap.aii.adapter.soap.app$xi_adapter_soap_message
Example of user to work with Testing Tool:
[User] uid=IRTAGENTUser last_name=IRTAGENTUser accessibility=0 role=SAP_XI_API_DEVELOP_J2EE;SAP_XI_MONITOR_J2EE;SOAP_XI_SENDER;IRTAgent;
-
Operations needs user to have
SAP_XI_ALERT_CONSUMER
(used bySupport Tool
) andIRTAgent
(it is created during deployment of agent component):[User] uid=IRTAGENTUser last_name=IRTAGENTUser accessibility=0 role=SAP_XI_ALERT_CONSUMER;IRTAgent;
-
DevOps needs user to have
SAP_XI_ADMINISTRATOR_JEE
(required for transports) andIRTAgent
(it is created during deployment of agent component):[User] uid=IRTAGENTUser last_name=IRTAGENTUser accessibility=0 role=SAP_XI_ADMINISTRATOR_JEE;IRTAgent;
If you want to work with Testing Tool, Operations, and DevOps Figaf Tool tools, create user with
SAP_XI_API_DEVELOP_J2EE
,SAP_XI_ADMINISTRATOR_J2EE
,SAP_XI_ALERT_CONSUMER
, andIRTAgent
(it is created during deployment of agent component) roles:[User] uid=IRTAGENTUser last_name=IRTAGENTUser accessibility=0 role=SAP_XI_API_DEVELOP_J2EE;SAP_XI_ADMINISTRATOR_J2EE;SAP_XI_ALERT_CONSUMER;IRTAgent;
-
-
-
Change security policy to the “Technical user” and configure passwords for created user.
-
Open
NetWeaver Administrator (/nwa)
, then tabsSOA → Application and Scenario Communication → Single Service Administration
Type "irt" in the search field and click "Go". Enable authentication by User ID/Password for each Figaf Tool web service (see the screenshot below):
4.2. SAP PRO system user roles configuration (integration without Agent component)
You can configure connection with SAP systems by entering your user credentials (or some another available user). Be sure that the user has roles depending on the Figaf Tool tools you are going to work with:
-
Testing Tool:
SAP_XI_API_DEVELOP_J2EE
(to have read/write permissions in the integration directory),SAP_XI_MONITOR_J2EE
(to use AdapterMessageMonitoring WS API for fetching payloads that required forSAP Log Module
integration), and custom role (to send messages through created XI channel) with the following action:Custom role example:
[role] rid=SOAP_XI_SENDER action=ACTN.AUTH_DS.un:L$sap.com/com.sap.aii.adapter.soap.app$xi_adapter_soap_message
-
Operations:
SAP_XI_ALERT_CONSUMER
(used bySupport Tool
). -
DevOps:
SAP_XI_ADMINISTRATOR_JEE
(required for transports).
If you want to work with Testing Tool, Operations, and DevOps Figaf Tool tools, user should have SAP_XI_API_DEVELOP_J2EE
, SAP_XI_ADMINISTRATOR_J2EE
, and SAP_XI_ALERT_CONSUMER
roles.
If UME authorization is enabled, you should also add a |
4.3. Figaf Tool Application running
-
Prepare database for Figaf Tool application. By default, H2 database will be used (database dir:
<user_home_dir>/FigafIRT/irt-db
), skip that step if you are not going to use another database system.It isn’t recommended to use H2 database.
For now, you are able to use 4 database systems: H2, Oracle, PostgreSQL, MS SQL. You should configure databases, schemas and user which will be used by Figaf Tool:
-
For Oracle configure database with schema:
IRT
. -
For PostgreSQL, MS SQL Server configure database with schema
irt
.Database table names must be case-insensitive in the queries. Be sure that collation
parameter is configured properly.
-
-
Download the Jar file.
-
To start the server open a command prompt (
Win + R
→ typecmd
→ Press enter). -
In the command prompt navigate to the folder where you have saved the Figaf Tool application (
cd <path>
). -
Run the application with
java <proxySettings> <trustStoreType VM option> <libs path property> <Figaf Tool VM parameters> -jar <irt jar name>.jar <application properties>
(see examples). Where:-
<proxySettings>
is a VM parameters that define proxies, e.g.-Dhttp.proxyHost=<host>
,-Dhttp.proxyPort=<port>
,-Dhttps.proxyHost=<host>
,-Dhttps.proxyPort=<port>
. You can find more parameters here. -
<trustStoreType VM option>
is a VM parameter-Djavax.net.ssl.trustStoreType=Windows-ROOT
- it must be set if you are going to use HTTPS protocol to communicate with SAP system, -
<libs path property>
is a VM parameter-Dloader.path=<path to libs folder>
. It must be set:-
if you use PostgreSQL, Oracle or MS SQL Server database, you should put corresponding JDBC driver in
libs
folder. -
if you use PRO Agents and want to work with DevOps, additional SAP PRO client libraries
com.sap.aii.utilxi.core.jar
,com.sap.xpi.ib.core.jar
,com.sap.xpi.ibdir.core.jar
, andsap.com~tc~bl~guidgenerator~impl.jar
(see requierements) must be available in runtime classpath and put inlibs
folder. -
if you use dual stack PRO Agents, you should put additional libraries
sapjco3.dll
andsapjco3.jar
(can be downloaded here) tolibs
folder.
-
-
<Figaf Tool VM parameters>
is a VM parameter-Dirt.vmconf.devops.transport.use-scenario-mapping-by-default=<true/false>
that configures whether scenario mapping should be used by default in transport configuration or not. Default value istrue
. -
<application properties>
is a list of additional settings. Syntax:--<property name>=<value>
. Available properties:-
server.port
- Figaf Tool application port, by default8089
-
irt.db.type
- database type which will be used by application. Possible values:h2
(default),postgresql
,oracle
,mssql
. -
irt.db.host
- database host name, required for PostgreSQL, Oracle and MS SQL Server -
irt.db.port
- database port, required for PostgreSQL, Oracle and MS SQL Server -
irt.db.name
- database name, required for PostgreSQL, Oracle and MS SQL Server -
irt.db.username
- database user, required for PostgreSQL, Oracle and MS SQL Server -
irt.db.password
- database password, required for PostgreSQL, Oracle and MS SQL Server -
irt.url
- host url, by defaulthttp://localhost:8089
. -
irt.testing-tool.xi-sender.ignored-modules
- modules that will not be moved to Specific infrastructure scenario during testing with sender modules (see Decide to test with/without sender modules automatically option on Integration Object Details page for more details). Modules should be divided by,
, for example:--irt.testing-tool.xi-sender.ignored-modules=module_name1,module_name2
. -
irt.cloud-connector.url
- the URL from the CPI to Figaf Tool. Usage:--irt.cloud-connector.url=http://<HOSTFROMCPI>:<PORT>/api/cpi-testing-mock-data/step/
. This property is used during testing with mock data on CPI systems. -
irt.cloud-connector.locationId
- the location of the cloud connector. Usage:--irt.cloud-connector.locationId=<YOURLOCATION>
. This property is used during testing with mock data on CPI systems. -
irt.config.pi-adapter-metadata-files
- path to external folder with adapter metadata files to show parameter description with context GUI information on channel transport configuration page. The files should be downloaded from PI system. -
irt.config.ticket-id-prefix
- prefix of generated ticket id, by default ISSUE. -
irt.config.transport-id-prefix
- prefix of generated transport id, by default TRANSPORT. -
irt.config.exclude-package-prefixes
- prefixes of packages which will be ignored during synchronization. Use package IDs separated by,
. Example--irt.config.exclude-package-prefixes=ZFigaf,Zqa
. -
irt.config.session-timeout.access-token.max-validity-period
is a time period in seconds in which token is valid. Default value is86400
. -
irt.config.session-timeout.access-token.max-inactivity-period
is inactivity time period in seconds after which user needs to log in. Default value is86400
. -
irt.config.enable-single-instance-mode
enables single instance mode. Default value istrue
. It should be set to false whencluster.configuration.*
parameters are configured. -
irt.config.soap-client.remove-soap-action-header-from-requests-to-pi-system
enables SOAPAction header removing during processing SOAP requests to PI system. Default value isfalse
. -
irt.config.instance-monitoring.enabled
enables proxy to Glowroot instance. Default value isfalse
for on-premise instance andtrue
for Docker distributions: standard and BTP. Access to that proxy is allowed only for users withIRTAdmin
.There is a limitation for Non-BTP deployment: Glowroot UI will work only when user accesses it by root url: <instance url>/instance-monitoring
. Direct url like<instance url>/instance-monitoring/transaction/average?transaction-type=Background
won’t work. -
irt.testing.start-polling-messages-automatically
- whether polling is started automatically after all messages have been sent to CPI system or not. Default value istrue
. -
irt.testing.pro.disable-correlation-id-lookup
- an option to skip lookup by correlation id in the message monitoring client. Use this option if request with a defined correlation id filter on system fails with timeout in a few minutes. Default value isfalse
. -
irt.testing.pro.delay-after-updating-special-testing-scenarios
defines timeout (in milliseconds) to wait after test case running if at least one special testing scenario was updated. This option helps you to avoid SENT_WITH_ERROR issue when XI integration object is not available yet after the update during test case running. Default value is0
. -
irt.testing.pro.polling.max-concurrent-messages-polling
defines max root messages count polled simultaneously. Default value is5
. -
irt.testing.pro.polling.async-with-splitter-scenario.use-old-approach
enables old polling approach for async scenarios with splitter. Default value isfalse
. -
irt.testing.pro.polling.async-without-splitter-scenario.use-old-approach
enables old polling approach for async scenarios without splitter. Default value isfalse
. -
irt.testing.pro.polling.sync-scenario.use-old-approach
enables old polling approach for sync scenarios. Default value isfalse
. -
irt.testing.pro.polling.async-sync-bridge-scenario.use-old-approach
enables old polling approach for async-sync bridges. Default value isfalse
. -
irt.monitoring.monitored-messages-polling-period
defines initial upload period in days for EDI message monitoring. Default value is3
. -
irt.ctt.preferred-swc-ids
defines a list of swcIds (separated by,
) which then is used for duplicity resolution during synchronization. -
irt.ctt.skip-synchronization-of-pro-transports
disables PRO transports synchronization. Default value isfalse
. -
irt.ctt.max-pro-objects-lookup-period-in-months
defines a period in months to lookup PRO objects. If value is positive, then it will be applied during objects metadata lookup to define a restricted left bound. Calculated left bound can’t be less if it’s restricted by the option. For example, if you configure 12 months, then you will never get objects metadata that has last change date older thannow - 12 months
. The only exception is a recurrent lookup of dependent SAP object - here the filter is not applied. The option is not applied to transport types, they have different settings. In the case of negative or zero value, it has no effect. Also, the option is not applied for non-transport type when the count of already synchronized objects is0
(to do a full initial synchronization). Default value is-1
. -
irt.ctt.max-pro-transports-lookup-period-in-months
defines a restricted left bound during transports metadata lookup. It’s applied during transport objects metadata lookup (ID_FILE_TRANSPORT
,ID_CTS_CHILD_TRANSPORT
,ESR_FILE_TRANSPORT
,ESR_CTS_CHILD_TRANSPORT
). Calculated left bound can’t be less if it’s restricted by the option. Default value is3
. -
irt.ctt.require-valid-bpmn-iflow-model-during-synchronization
- whether IFlows with broken (from XML perspective) BPMN model will not be registered in CTT and the corresponding error will be thrown if it’strue
. Otherwise, such IFlows will be registered in CTT and errors will not be thrown. Default value istrue
. -
irt.devops.scheduled-transports-execution-time-max-delay
configures delay (in hours) of retry for schedule import process execution. For example, if transport A has been scheduled for 1 a.m but wasn’t executed by scheduler (for some reason, for example - instance was unavailable), then, havingirt.devops.scheduled-transports-execution-time-max-delay = 1
, it will be a period[1 a.m, 2 a.m)
where it can be picked up by scheduled process again. Later it will be skipped as out of date. Default value is1
. -
irt.saml-base-url
configures saml base url. Default value equals toreport.url
application property. -
irt.demo-logon
enables auto logon for default root administrator (username:superUser
, password:default
) if there is only one user and its password hasn’t been changed. Default value isfalse
, enabled only ifirt.logon-mode
parameter is equal toLOCAL_USERS
orMIXED_MODE
. -
irt.logon-mode
defines allowed type(s) of login. Available values are:-
LOCAL_USERS
(default) - login for users registered in Figaf Tool application. -
SSO_USERS
- login only with SSO account. Authentication and authorization are handled by Identity Server Provider. See this example with SSO configuration. -
MIXED_MODE
- login for both types of users: SSO and default root administrator (username:superUser
, password:default
). Authentication is handled by Identity Server Provider and authorization is handled by Figaf Tool.IRTUser
role is assigned to user during the first login with SSO account. See this example with SSO configuration.
-
-
irt.sso.logout.url
is a url where user will be redirected from logout page, when Figaf Tool logout completes successfully. For Microsoft installation it’shttps://login.microsoftonline.com/common/oauth2/v2.0/logout
. -
irt.sso.logout.callback-url-param-name
is a parameter that sets name of callback url that will be passed to Identities provider logout url. For case when Microsoft is used as Identity Service Provider value should bepost_logout_redirect_uri
. -
irt.sso.logout.callback-url
is a url address of local Figaf Tool installation. -
irt.sso.claims-mapping
contains rules for mapping fields received from Identity Server Provider. It configures which parameter from received claims will be used for finding out user information, roles information, etc. In the example, propertypreferred_username
will be used as a source of username information.Sometimes
displayName
property is a concatenation for several properties, so for the display name it’s possible to specify a several properties separated by,
, and Figaf Tool will concatenate fields, received from Identity Server Provider. -
irt.sso.custom-properties
- properties set as key values pair that will be added as query parameters to the authentication request to auth server. In the example, request to authorization server will contain following data http://auth-server/tokens…<main_sso_params_here>&customParam1Name=customParam1Value -
cluster.configuration.discovery-type
- discovery type for clusterization configuration, possible values:TCP_IP
andMULTICAST
. By defaultTCP_IP
. If parameter is defined but has wrong value,MULTICAST
type will be applied. -
cluster.configuration.members
- list of domain names or IP addresses divided by semicolon which will be used in the lookup and form a cluster for Figaf Tool application, by defaultlocalhost
. Used only ifTCP_IP
discovery type is applied. -
cluster.configuration.port
- hazelcast initial port in the range, by default 5701. -
cluster.configuration.port-count
- hazelcast port range for current cluster, by default 20. This means, that${cluster.configuration.port-count}
ports starting from${cluster.configuration.port}
will be checked in the lookup during determination of cluster nodes. -
server.ssl.keyStoreType
- required for HTTPS configuration, key store type, e.g.,PKCS12
. -
server.ssl.key-store
- required for HTTPS configuration, key store file path, e.g.,keystore.p12
. -
server.ssl.key-store-password
- required for HTTPS configuration, key store password, e.g.,123456
. -
server.ssl.keyAlias
- required for HTTPS configuration, key alias, e.g.,IRT
. -
report.url
- url to the application root which is passed to the excel reports, by defaulthttp://localhost:${server.port}
.
-
If an application property has some special characters, you need to wrap its value by quotes.
-
-
After it boots up you can access the application using
http://localhost:8089
: -
To login use default root administrator credentials (username:
superUser
, password:default
). Enter these values and clickLog In
.The root administrator has full access to application because it has both roles
IRTSuperUser
andIRTAdmin
. You can learn more about user management and permissions here. -
After login you will see home page:
Examples
If you use Java 17, run Figaf Tool with additional jvm args: --add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED |
-
Run application on H2 database, keep all settings by default:
java --add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -jar irt-<version>.jar
-
Run application on H2 database, on port 8092:
java --add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -jar irt-<version>.jar --server.port=8092 --irt.url=http://localhost:8092
-
Run application on H2 database, with SSL connection support, with defining custom trust store for secured Agents connection (actual for PRO), on port 8443 and with access through domain name:
java -Djavax.net.ssl.trustStoreType=Windows-ROOT --add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -jar irt-<version>.jar --server.port=8443 --server.ssl.key-store=keystore.p12 --server.ssl.key-store-password=123456 --server.ssl.keyStoreType=PKCS12 --server.ssl.keyAlias=IRT --irt.url=https://irt.internal.company.com:8443
-
Run application on Oracle database having minimum configuration:
java -Dloader.path=<path to libs folder with ojdbc<version>.jar> --add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -jar irt-<version>.jar --irt.db.type=oracle --irt.db.host=localhost --irt.db.port=1521 --irt.db.name=XE --irt.db.username=IRT --irt.db.password=HereYourPassword123
-
Run application on PostgreSQL database having minimum configuration:
java -Dloader.path=<path to libs folder with postgresql-<version>.jar> --add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -jar irt-<version>.jar --irt.db.type=postgresql --irt.db.host=localhost --irt.db.port=5543 --irt.db.name=irt --irt.db.username=irt --irt.db.password=HereYourPassword123
-
Run application on MS SQL Server database having minimum configuration:
java -Dloader.path=<path to libs folder with mssql-jdbc-<version>.jar> --add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -jar irt-<version>.jar --irt.db.type=mssql --irt.db.host=localhost --irt.db.port=1433 --irt.db.name=irt --irt.db.username=irt --irt.db.password=HereYourPassword123
-
Run application with SSO configuration:
-
Prepare
<IRTPath>/config/application.yml
file (<IRTPath> is the folder where you have saved the Figaf Tool application):server: ssl: key-store: file:config/keystore.p12 key-store-password: password key-store-type: PKCS12 key-alias: testCert spring: security: oauth2: client: registration: oidc-provider: client-id: <client_id_here> client-secret: <client_secret_here> authorization-grant-type: authorization_code redirectUri: "https://localhost:8089/login/oauth2/code/oidc-provider" scope: - openid - profile provider: oidc-provider: authorization-uri: <authorization endpoint> token-uri: <token endpoint> user-info-uri: <user info endpoint> jwk-set-uri: <jwk set endpoint> user-name-attribute: sub #in most cases, otherwise define your irt: logon-mode: SSO_USERS sso: sso-login-page-url: "/oauth2/authorization/oidc-provider" logout: url: <logout endpoint from oidc provider> callback-url-param-name: "post_logout_redirect_uri" callback-url: "https://localhost:8089/#/login" claims-mapping: username: email display-name: firstName, lastName # for example roles: roles custom-properties: customParam1Name: customParam1Value
In the file you can configure other application properties.
-
Run Figaf Tool application
java --add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -jar irt-<version>.jar
-
4.4. Java update from 8 to 17 since 2403
Since of 2403 Figaf Tool supports Java 17.
2403 release supports both environments: Java 8 and Java 17. Java 8 environment support is deprecated in the Figaf Tool and will be available until the 2406. Since of 2406 further releases will require Java 17. |
If you configure new instance, just start with Java 17 and enjoy. To migrate on-premise standalone instance, do the following steps:
-
Download OpenJDK 17.
-
Run the tool with additional jvm args, put them before
-jar
(see examples):--add-modules=java.se --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED
4.5. H2 DB update since 2403
In release 2403 H2 database version was upgraded from 1.4.200
to 2.1.214
and database path was changed from <user_home_dir>/FigafIRT/irt-db
to <user_home_dir>/FigafTool/db
. If you have the on-premise standalone instance on H2 database and want to continue working with the data on it (we recommend to use H2 only for temporary evaluation and testing, PostgreSQL is more preferable), it’s required to migrate database files from 1.* to 2.*. Otherwise, skip that step if you want to start from scratch.
Steps to migrate H2 database:
-
Download drivers for h2-1.4.200 and h2-2.1.214
-
Backup database to SQL script:
java -cp h2-1.4.200.jar org.h2.tools.Script -url jdbc:h2:<user_home_dir>/FigafIRT/irt-db -user sa -script <script-name>.sql
-
Create new database:
java -cp h2-2.1.214.jar org.h2.tools.Shell -url jdbc:h2:<user_home_dir>/FigafTool/db -user sa
-
Restore data:
java -cp h2-2.1.214.jar org.h2.tools.RunScript -url jdbc:h2:<user_home_dir>/FigafTool/db -user sa -script <script-name>.sql -options FROM_1X
4.6. License installation
-
Signup on
https://figaf.com/irt
to get the license key via email for trial access or contact[email protected]
to purchase the real license. -
Open the
License
tab on theConfiguration
page. -
Enter your license key in the form below:
See License synchronizations problems if you have connection issues. -
Configure object licenses (to work with Testing Tool and DevOps):
Object licenses can be configured automatically:
-
During message record or test case creation for unlicensed object you get the following error:
-
During attaching unlicensed object to development ticket you get the following error:
-
During attaching unlicensed object to migration ticket you get the following error:
Click on
Request missing licenses
to update object licenses.-
Add Object Licenses clicking on
Add Object Licenses
button. It opens 'Add new object licenses' dialog box where you can select an Agent, click onAdd Object Licenses
button, select objects, and submit the dialog box:To delete unnecessary objects select them and click on
.
The following license types can be configured:
-
Testing
- message record, test case creation. -
DevOps
- development ticket creation, attaching object to development ticket. -
Migration
- migration ticket creation, attaching object to migration ticket.
-
-
Modify Object Licenses clicking on
Modify Object Licenses
button. It opens 'Add new object licenses' dialog box where you can select new license type(s) for licensed objects.You can’t unselect previously selected license type(s).
-
4.7. Agents integration configuration
-
See Agents integration configuration (PRO platform) to create PRO agent.
-
See Agents integration configuration (CPI platform) to create CPI agent.
-
See Agents integration configuration (Api Management platform) to create Api Management agent.
-
See Agents integration configuration (API_HUB platform) to create API_HUB agent.
4.7.1. Agents integration configuration (PRO platform)
-
Go to the
Agents
tab onConfiguration
page and add your agent system throughCreate Agent
button: -
Configure the following properties:
-
System ID
- the system identifier of SAP system. -
Platform
- select the type of your agent system - PRO. -
Version
- the version of Process Orchestration system. It’s used to create correct XI 3.0 sender channel. -
Username
,Password
,Protocol
,Host
,Port
- common connection settings. -
Virtual
- set this flag if you are not going to use that agent for messages recording (e.g., after transferring test data from one system to another). Virtual agents can’t be synchronized, JMS connection will not be established for virtual agents while application bootstrap and you also can’t test their configuration. -
Production system
disables testing on current agent. -
Don’t resolve as default test system
- when enabled, the agent won’t be resolved as default test system during test case creation from recording request and manual test case creation. -
Has confidential data
- when enabled, all messages, recorded on that system will be marked as confidential. Only users with the roleIRTSensitivePayloadViewer
will be able to see the real payloads and testing results of confidential messages. Other users will have only encoded versions. Example. -
Secured test system
- set this flag if you are going to use the current agent for running test cases with confidential data. It can be configured only for not production systems (Production system
is false)with Messages logging approach equals to `Figaf Agent Module`.Only administrators with
IRTSensitivePayloadViewer
role can enableHas confidential data
andSecured test system
properties. -
Decentral Adapter Engine
configures decentral adapter engine (a separate PI/PO system that is used for message processing in order to distribute the load).Type
Decentral Adapter Engine Label
(is used in the communication channels) and selectParent Agent
(is a link to the main system with central adapter engine, required field).Decentral Adapter Engine configuration example: if you have PRO system with the central adapter engine (e.g.
DPC
) and 2 PRO systems with the decentral adapter engine (e.g.DPD1
andDPD2
), you need to create the following agents:-
Agent
DPC
with emptyDecentral Adapter Engine
property because it is the central adapter engine. -
Agents
DPD1
andDPD2
with enabledDecentral Adapter Engine
property and the following configuration:-
Decentral Adapter Engine Label
is label in<AdapterEngineName>
tag in a channel payload: -
Parent Agent
is previously createdDPC
agent.
-
-
-
Timezone
- SAP instance timezone, must be defined in GMT format (e.g.,GMT+1
,GMT-4
). Since 2.15.2 release Figaf Tool tries to fetch timezone from the server. If it can’t be fetched, you’ll see an error and have to define this value manually. Also the actual timezone are fetched and updated in the agent model during the synchronization startup. -
P4 Host
- internal hostname of the SAP instance, it is used for connecting to P4 port (JMS integration, EJB client integration). By default, the mainHost
value will be used. You must configure that field separately if theHost
value is a hostname of your HTTP load balancer. That hostname can’t be used for connecting to P4 port. -
P4 Port
- P4 port value, defined in the SAP instance. -
Use the most appropriate messages logging approach by default per scenario
(enabled by default) - when enabled, existing setting forMessages logging approach
doesn’t have effect. In that case, messages logging approach is detected by Figaf Tool for each integration object: by default,ICO Logging
, but if scenario has channel(s) with custom modules (non-adapter modules, non SAP log modules, non Figaf Tool modules) -Sap Log Module
is enabled. It can be overridden on Integration Object page. -
Messages logging approach
- type of integration with current agent, the way of fetching messages from PRO system:-
Figaf Agent Module
requires installation of Agent component. The main part of Agent component is the Agent Module. Agent component also includes some secured web services which are used by web application for synchronous communication and JMS queue which provides asynchronous integration. Agent Module is a EJB stateless component which implementscom.sap.aii.af.lib.mp.module.Module
interface. Agent Module (Figaf Tool/SaveModule
) is automatically added to the communication channel’s modules chain at specific positions. The main purpose of that module is to intercept exact message, send it to local JMS queue (if JMS integration is enabled and zipped size of the message is smaller than 5 Mb) or save it to SAP database (if JMS integration is disabled or zipped message size is greater or equal to 5 Mb). The existent message payload or dynamic properties are not modified by Agent Module, except the only one situation: forregression
test case it has specific option to replace synchronous service response on the test scenario by related recorded expected message from the test case. If you want such behavior for your synchronous scenario, you need to enable that option manually on integration object’sTest Configuration
page.Figaf Agent Module
integration type has the following configuration:The main benefit of Agent Module - its performance. Receiving messages through JMS is asynchronous and it’s much faster than polling approach. It especially makes great sense if the size of payloads is not large. For large messages there is no way to use JMS, Agent component has a web service for that purpose. Messages are saved in the local SAP system database and then they are polled by the web application through the web service. This approach is used for smaller messages automatically if JMS integration is disabled. You can configure scheduled polling for current integration type (for other types too) by enabling it and entering a value for
Polling Cron Expression
.Allow only manual modules and logging configuration update
prevents automatic modules update for whole Agent, so no communication channels will be touched. Figaf Tool will only manage its own XI scenarios, created by the tool for sending messages through the system. You can configure ignored channels for ICOs on Integration Object page. -
SAP Log Module
- noninvasive integration type. It uses standardSAP Log Module
(localejbs/AF_Modules/MessageLoggerBean
) to log exact message state. This module is automatically added to the communication channel’s modules chain at the same positions as Agent Module.SAP Log Module
integration type has the following configuration:The only one way to retrieve a message is the messages polling functionality. You can make it scheduled by enabling it and defining a cron job expression. In order to receive message payloads from SAP systems, Figaf Tool looks for new root AdapterFrameworkData (AFD) entries using
AdapterMessageMonitoringVi#getMessageList
web service (by applying special filters), determines relationships of AFD entries and builds a tree of them (for complicated cases). Then if the optionMsg payload download approach
is set asUse web service (for newer system)
, it looks for a message payload usingAdapterMessageMonitoringVi#getLoggedMessageBytes
web service, otherwise, if the option is set asUse web page scraping
, it parses AFD page and downloads payloads through provided links on the page. If your system hasAdapterMessageMonitoringVi#getLoggedMessageBytes
web service (was introduced in some patch in Oct. 2017), useUse web service (for newer system)
option. It’s a bit faster than web page scraping.SAP Log Module
integration type is slower thanFigaf Agent Module
, but the main benefit is that you don’t need to deploy any third party components on your production system. You can mixSAP Log Module
integration type withFigaf Agent Module
without any problems. For example, your agent system can be integrated throughSAP Log Module
, and test system is integrated throughFigaf Agent Module
.Allow only manual modules and logging configuration update
prevents automatic modules update for whole Agent, so no communication channels will be touched. Figaf Tool will only manage its own XI scenarios, created by the tool for sending messages through the system. You can configure ignored channels for ICOs on Integration Object page. -
ICO Logging
- "the most" noninvasive integration type. If you enable that type, application won’t add any modules to the communication channel’s modules chain. You just need to be sure that all needed scenarios have logging options enabled for stagesBI
andAM
. The cons of that approach - you need to maintain these logging options manually and the state of logged messages sometimes is different to the state obtained through previous integration type. We can’t control, whenBI
andAM
stages will be logged, for some cases we even don’t have the final logs at all (e.x. message splitting case, it doesn’t log payloads after the splitting, only before). That behavior leads to problems when you want to mixICO Logging
approach withSAP Log Module
orFigaf Agent Module
. For example, you can configure your agent system usingICO Logging
integration type and test system usingSAP Log Module
integration type. It will work until you get scenario with custom modules or scenario with message splitter. In the first case the different state of the same message will be received, in the second case the messages received throughSAP Log Module
will have outbound state after splitting, the messages received throughICO Logging
will have outbound state before splitting. So, amount of outbound messages will be different.ICO Logging
integration type has the same configuration asSAP Log Module
:Similar to
SAP Message Log approach
it uses polling to retrieve messages from SAP PRO system. The polling options are the same. Only one difference, it looks for message entries by combination of labelsBI
andAM
(instead ofirtLogStage<1..4>
labels forSAP Log Module
), so, these stages must be logged.
-
-
Search global configuration automatically
(enabled by default) - enables automatic search for global configuration (follow article to get more details).The Figaf tool user should have access to http://sapserver:port/webdynpro/resources/sap.com/tc~lm\~itsam~ui\~mainframe\~wd/FloorPlanApp?applicationID=com.sap.itsam.cfg.java.systemproperties&applicationViewID=systemproperties# page. Usually, it’s enough to assign a role NWA_READONLY
for the user. If it’s not possible to find it automatically, the warning will be shown where you canIgnore and save
, then the agent will be automatically created with the property disabled. Otherwise, disable the property and define values manual (follow article). -
Enable Monitored Messages Polling
enables configuration of cron expression (Monitored Messages Polling Cron Expression
setting) to poll messages in EDI Message Monitoring automatically. -
Monitored Messages Persistence Period
is a persistence period in days for messages in EDI Message Monitoring. Default value is30
.If you want to have monitored messages deleted, configure
MonitoredMessagesCleaner
job onConfiguration → Application
page. If the job isn’t configured, the messages won’t be deleted. -
Enable automatic synchronization
enables automatic synchronization. If it’s true, you need to configureSynchronization Cron Expression
and if you want to synchronize objects forcibly, enableSynchronize forcibly
setting. -
Synchronize used sap repository objects on demand
enables synchronization of used sap repository objects. If it isfalse
, all sap repository objects will be synchronized. -
Enable dual stack recording
enables dual stack recording (since of 2.12) and has the following configuration:JCO Destination properties
should be copied from*.jcoDestination
file.JCo library must be added to the external libraries folder which is defined by
-Dloader.path=<path to libs folder>
VM parameter (go to Figaf Tool Application running for more details). You can download it here.User, configured in
Username
andPassword
fields, should have permissions to ping dual stack system and poll messages from it.LOGGING
andLOGGING_SYNC
parameters should be configured on your system: -
Partial test case running
- enable it if you want to restrict number of messages sent from Figaf Tool to remote system in unit of time.Actual number of messages sent from Figaf Tool can vary depending on count of inbound messages in one group. All messages from one group are sent together.
-
Open messages via dispatcher
enables possibility to open polled message entries via dispatcher. -
Reset synchronization query
- use that function to remove cached values of last change dates for each tracked object types. These dates are used in synchronization algorithm to minimize amount of objects to check (checking only changed objects).
-
-
Test configuration for created agent. Select it and click on
Test configuration
button.Test connection settings
dialog box will be opened:If
Enable dual stack recording
is true for selected agent,Test connection settings
dialog box contains two additional settingsPinging dual stack through JCo
andPolling messages from dual stack through JCo
.If
Receiving test message through JMS
setting is loading, wait for a while and click onRefresh
button. If it doesn’t help, openEdit Agent
dialog box (click on it’sbutton) and click on
Save
. Test configuration for the agent again.
4.7.2. Agents integration configuration (CPI platform)
If you have SSO for your SAP CPI tenants please look at the article to read the configuration.
In the article you can read how to configure CPI agents.
If you want to create CPI agent with standard configuration follow the steps:
-
Go to the
Agents
tab onConfiguration
page and add your agent system throughCreate CPI Agent
button. -
In the dialog configure:
-
System Id
- the system identifier of CPI system. -
Integration Suite or CPI URL
- your CPI system URL. This is how you would normally access your SAP Cloud Integration like https://xxx-tmn.hci.eu1.hana.ondemand.com/itspaces or https://xxxx.integrationsuite.cfapps.eu10-003.hana.ondemand.com/shell/design. -
Go to
Next
stage. -
Configure Public API access.
API Key mode
orS-User mode
are available. -
Go to
Next
stage. -
Configure IFlow Messages API access.
-
Go to
Next
stage. -
Configure Web API access.
Custom IdP mode
orS-User mode
are available. Learn more about custom IdP configuration here. -
Go to
Next
stage. -
Optionally create sample composite landscape to check DevOps features as well. If you agree to create it, you will be able to configure up to 3 packages to be synchronized. If you configure them and follow further, you will be redirected to Tracked Objects page where you can synchronize the agent.
If CPI system is Cloud Foundry you have to assign role to the user (reed article to know how to do it).
-
If you want to create CPI agent with custom configuration follow the steps:
-
Go to the
Agents
tab onConfiguration
page and add your agent system throughCreate Agent
button: -
Configure the following properties:
-
System ID
- the system identifier of SAP system. -
Platform
- select the type of your agent system - CPI. -
Username
,Password
,Protocol
,Host
,Port
- common connection settings.If you are configuring an agent for integration suite system, define Host
as host of needed integration suite system. -
Virtual
- set this flag if you are not going to use that agent for messages recording (e.g., after transferring test data from one system to another). Virtual agents can’t be synchronized. -
Production system
disables testing on current agent. -
Don’t resolve as default test system
- when enabled, the agent won’t be resolved as default test system during test case creation from recording request and manual test case creation. -
Has confidential data
- when enabled, all messages, recorded on that system will be marked as confidential. Only users with the roleIRTSensitivePayloadViewer
will be able to see the real payloads and testing results of confidential messages. Other users will have only encoded versions. Example. -
Secured test system
- set this flag if you are going to use the current agent for running test cases with confidential data. It can be configured only for not production systems (Production system
is false).Only administrators with
IRTSensitivePayloadViewer
role can enableHas confidential data
andSecured test system
properties. -
Enable Monitored Messages Polling
enables configuration of cron expression (Monitored Messages Polling Cron Expression
setting) to poll messages in EDI Message Monitoring automatically. -
Monitored Messages Persistence Period
is a persistence period in days for messages in EDI Message Monitoring. Default value is30
.If you want to have monitored messages deleted, configure
MonitoredMessagesCleaner
job onConfiguration → Application
page. If the job isn’t configured, the messages won’t be deleted. -
IFLMap Host
- host name which is used as an endpoint path part for some adapters in CPI system. It’s used by Figaf Tool for regression testing of integration flows. For example:m0403-iflmap.hcisbp.eu1.hana.ondemand.com
, wherem0403
is a CPI system id. -
CPI Platform Type
- select the type of your CPI system (NEO
orCLOUD_FOUNDRY
). If it’sCLOUD_FOUNDRY
, then the following settings are shown:-
IFlow Client Id
andIFlow Client Secret
.You can provide the same
Username
andPassword
here, but you have to assign role to the user (reed article to know how to do it). -
Use oauth url for testing
configures whether OAuth token should be used during making calls to CPI Cloud Foundry system or not. If it’s enabled,OAuth token url
can be configured (value should be a full url). -
Use custom IdP
enables a possibility to sign on to SAP CPI CF using SAML2, learn more about related configuration here. -
Login Url
configures login URL. The tool will try to resolve it automatically if it is empty. -
SSO Url
configures SSO URL. Default value is value ofirt.sso-url
application property. -
Authentication Type
configures whetherBASIC
orOAUTH
authentication type should be used. IfOAUTH
is selected,Public API Client Id
,Public API Client Secret
, andOAuth token url
should be configured. -
Public API Url
configures CPI Url for integration suite system. If it’s not empty, the connection properties of the agent will be overridden by the value. So this value will be used for both public and web API.
-
-
Enable Monitoring
enables CPI System Monitoring page and Metric Consumers in Support tool. -
Enable Git Integration
enables git integration, learn more about related configuration here. -
Enable message processing logs statistics
enables CPI Statistics Overview. -
Enable automatic synchronization
enables automatic synchronization. If it’s true, you need to configureSynchronization Cron Expression
and if you want to synchronize objects forcibly, enableSynchronize forcibly
setting. -
Partial test case running
- enable it if you want to restrict number of messages sent from Figaf Tool to remote system in unit of time.Actual number of messages sent from Figaf Tool can vary depending on count of inbound messages in one group. All messages from one group are sent together.
-
Keep iflow in trace mode for active recording/testing
- enable it if you want to keep the iflow in trace mode until all required number of message is received. -
Enable IDE to run and upload scripts
- enables it if you want to work with Groovy and/or XSLT EDI (learn more about related configuration here). -
Reset synchronization query
- use that function to remove cached values of last change dates for each tracked object types. These dates are used in synchronization algorithm to minimize amount of objects to check (checking only changed objects). -
Reset http client forcibly
- use that function to remove cached authentication data. -
Reset Entity Descriptor
- use this function to reset SSO certificate for agent withUse custom IdP
setting.
-
-
Test configuration for created agent. Select it and click on
Test configuration
button.Test connection settings
dialog box will be opened:
4.7.3. Agents integration configuration (Api Management platform)
-
Go to the
Agents
tab onConfiguration
page and add your agent system throughCreate Agent
button: -
Configure the following properties:
-
System ID
- the system identifier of SAP system. -
Platform
- select the type of your agent system - Api Management. -
Username
,Password
,Protocol
,Host
,Port
- common connection settings.Username
andPassword
are required only whenAuthentication Type
is BASIC. -
Virtual
- set this flag if you are not going to use that agent for messages recording (e.g., after transferring test data from one system to another). Virtual agents can’t be synchronized. -
Production system
disables testing on current agent. -
CPI Platform Type
- select the type of your Api Management system (NEO
orCLOUD_FOUNDRY
).-
Authentication Type
configures whetherBASIC
orOAUTH
authentication type should be used. IfOAUTH
is selected,Public API Url
,Public API Client Id
,Public API Client Secret
, andOAuth token url
should be configured.
-
-
Enable Monitoring
enables CPI System Monitoring page and Metric Consumers in Support tool. -
Enable Git Integration
enables git integration, learn more about related configuration here. -
Enable automatic synchronization
enables automatic synchronization. If it’s true, you need to configureSynchronization Cron Expression
and if you want to synchronize objects forcibly, enableSynchronize forcibly
setting. -
Reset synchronization query
- use that function to remove cached values of last change dates for each tracked object types. These dates are used in synchronization algorithm to minimize amount of objects to check (checking only changed objects). -
Reset http client forcibly
- use that function to remove cached authentication data.
-
-
Test configuration for created agent. Select it and click on
Test configuration
button.Test connection settings
dialog box will be opened:
4.7.4. Agents integration configuration (API_HUB platform)
See this blog post for more details.
-
Go to the
Agents
tab onConfiguration
page and add your agent system throughCreate Agent
button: -
Configure the following properties:
-
System ID
- the system identifier of SAP system. -
Platform
- select the type of your agent system - API_HUB. -
Username
andPassword
. -
Enable automatic synchronization
enables automatic synchronization. If it’s true, you need to configureSynchronization Cron Expression
and if you want to synchronize objects forcibly, enableSynchronize forcibly
setting.
-
-
Test configuration for created agent. Select it and click on
Test configuration
button.Test connection settings
dialog box will be opened:
4.8. Troubleshooting
4.8.1. License synchronizations problems
If some connection issues occur during license synchronization, you will see the following dialog:
![handle connection issues dialog](images/installation/troubleshooting/handle-connection-issues-dialog.png)
To finish the process do the following:
-
Copy JSON clicking on
Copy request
button. -
Paste copied request to
Request json
field. -
Click on
Upload
button. -
Copy response clicking on
Copy response
button. -
Go back to Figaf Tool.
-
Paste copied response to
Response from the License Server
field. -
Click on
Save
.
Next time when you will need to add some objects to the license it will ask you to do the same thing.
5. Change Tracking Tool
5.1. Change Tracking Tool overview
5.1.1. What is Change Tracking Tool
Change Tracking Tool
(CTT) is the core part of the Integration Regression Tool, CTT provides functionality to fetch, browse and store the state of large set of objects on PRO and CPI systems. CTT has a complex synchronization algorithm which checks whether some object is created, changed or deleted. On UI you can view the differences between object versions, relationships between different objects and download an object payload if it needs.
5.1.2. Supported business objects
CTT
is tracking changes of the following list of object types:
Object Type | Registry | System |
---|---|---|
Communication Party |
Integration Directory |
PRO |
Business Component |
Integration Directory |
PRO |
Business System |
Integration Directory |
PRO |
Communication Channel |
Integration Directory |
PRO |
Integrated Configuration |
Integration Directory |
PRO |
Sender Agreement |
Integration Directory |
PRO |
Receiver Agreement |
Integration Directory |
PRO |
Integration Flow |
Integration Directory |
PRO |
Configuration Scenario |
Integration Directory |
PRO |
Receiver Determination |
Integration Directory |
PRO |
Interface Determination |
Integration Directory |
PRO |
ID File Transport |
Integration Directory |
PRO |
ID CTS Child Transport |
Integration Directory |
PRO |
Context Objects |
Enterprise Service Repository |
PRO |
Data Type |
Enterprise Service Repository |
PRO |
Data Type Enhancement |
Enterprise Service Repository |
PRO |
External Definition |
Enterprise Service Repository |
PRO |
External Message |
Enterprise Service Repository |
PRO |
Folder |
Enterprise Service Repository |
PRO |
Function Library |
Enterprise Service Repository |
PRO |
Function Module |
Enterprise Service Repository |
PRO |
IDoc |
Enterprise Service Repository |
PRO |
Imported Archive |
Enterprise Service Repository |
PRO |
Mapping Template |
Enterprise Service Repository |
PRO |
Message Mapping |
Enterprise Service Repository |
PRO |
Message Type |
Enterprise Service Repository |
PRO |
Operation |
Enterprise Service Repository |
PRO |
Operation Mapping |
Enterprise Service Repository |
PRO |
RFC Message |
Enterprise Service Repository |
PRO |
Service Interface |
Enterprise Service Repository |
PRO |
ESR File Transport |
Enterprise Service Repository |
PRO |
ESR CTS Child Transport |
Enterprise Service Repository |
PRO |
Package |
Cloud Integration |
CPI |
Integration Flow |
Cloud Integration |
CPI |
Archive |
Cloud Integration |
CPI |
Integration Flow External Configuration |
Cloud Integration |
CPI |
Schema |
Cloud Integration |
CPI |
Script |
Cloud Integration |
CPI |
Mapping |
Cloud Integration |
CPI |
Value Mapping |
Cloud Integration |
CPI |
Documents (File and URL) |
Cloud Integration |
CPI |
CPI Message Mapping |
Cloud Integration |
CPI |
Script Collection |
Cloud Integration |
CPI |
Function Libraries |
Cloud Integration |
CPI |
Company Profile |
Cloud TPM |
Integration Suite |
Trading Partner |
Cloud TPM |
Integration Suite |
Agreement Template |
Cloud TPM |
Integration Suite |
Agreement |
Cloud TPM |
Integration Suite |
Message Implementation Guideline |
Cloud TPM |
Integration Suite |
String Parameter |
Partner Directory |
CPI, Integration Suite |
Binary Parameter |
Partner Directory |
CPI, Integration Suite |
Api Proxy |
Api Management |
API Management |
Api Proxy Endpoint |
Api Management |
API Management |
Api Resource |
Api Management |
API Management |
Api Target Endpoint |
Api Management |
API Management |
Api Documentation |
Api Management |
API Management |
Api File Resource |
Api Management |
API Management |
Api Policy |
Api Management |
API Management |
Key Value Map |
Api Management |
API Management |
Encrypted Key Value Map |
Api Management |
API Management |
5.2. Tutorials and Samples
5.2.1. Synchronization with Agent system
Check that you’ve configured an Agent entry and tested integration with it. See that section to learn how to do it.
You can run synchronization from 2 pages on UI: |
Synchronization with Agent system step-by-step
-
Click on
Change Tracking Tool
on the side menu or click on the tile on the home page. It opensTracked Objects
page. -
Select needed agent system and click on
Synchronize
button to run synchronization. It will synchronize all object types for current SAP system type listed in the Supported business objects section.For
PRO
,CPI
andApi Management
Agent systems you can configure synchronization settings:-
for
PRO
Agent system you are able to configure the following settings:Check metadata of all existent objects (lookup without last change date filter)
runs synchronization without last change date filter forCTT
object types.It is possible to clear this filter manually (see field Reset synchronization query on Edit Agent Dialog).
Rebuild links for the latest versions forcibly
is required when you mix different synchronization settings. For example, first time you synchronize objects onIntegration Objects
page (that synchronization includes onlyIntegration Directory
types), then you synchronize them onTracked Objects
page to browse ESR objects inCTT
. It’s related to the fact that all objects have only one-way links in the received metadata. AnIntegrated configuration
object has links toOperation Mapping
object, butOperation Mapping
object doesn’t contain any links toIntegrated configuration
. So, if an Integrated Configuration object has been already synchronized, it won’t be possible to link it with currently synchronized Operation Mapping object having only Operation Mapping differences information. If the flag is enabled, synchronization algorithm will check all latest versions for chosen object types and build links between them properly.Forcibly process payload dependent initializations for not updated objects
makes synchronization process payload dependent operations (payload, in that case, can be loaded either from DB e.g. forICO
,CHANNEL
, or from agent e.g. forID_FILE_TRANSPORT
,ID_CTS_CHILD_TRANSPORT
,ESR_FILE_TRANSPORT
,ESR_CTS_CHILD_TRANSPORT
. Skipping that option makes Directory objects and transports synchronization faster. Use it for recovery purposes in case of some potential inconsistency.Forcibly process child types for not updated compound ESR object types: External Definition, Service Interface, Function Module, Imported Archive
enables checks of inner child objects for all objects of the listed types. Use it for recovery purposes in case of some potential inconsistency with related types.Skip synchronization of ESR/File transports
disables synchronization of transport object types. If enabled, then synchronization of transport object types will be completely skipped.Skip synchronization of Data Types
disables synchronization of data types. If enabled, then synchronization of data types will be completely skipped.Synchronize used sap repository objects
runs synchronization for used sap repository objects. If it isfalse
, all sap repository objects will be synchronized.Synchronize all dependent sap objects recursively
runs synchronization for child sap objects even if the object hasn’t been changed/created/deleted. If it isfalse
, child sap objects will be synchronized only if the object on the current level has been changed/created/deleted.Synchronize used sap repository objects
andSynchronize all dependent sap objects recursively
settings are available only if Synchronize used sap repository objects on demand setting is enabled on Edit Agent Dialog.ApplicationException: Duplicate tracked object identified. Recording already exists but has another groupId.
error might occur during synchronization if Synchronize used sap repository objects on demand setting is enabled.Synchronize only Integration Directory objects
runs synchronization of Integration Directory objects. -
for
CPI
Agent system you are able to configure the following settings:Synchronize objects forcibly
- use that function to remove cached values of last change dates for each tracked object types. These dates are used in synchronization algorithm to minimize amount of objects to check (checking only changed objects).Rebuild links for the latest versions forcibly
- if true, links will be rebuilt for the latest versions.Synchronize all packages
- if true, all packages will be synchronized. If false, you can select packages to be synchronized. -
for
Api Management
Agent system you are able to configure the following settings:Synchronize objects forcibly
- use that function to remove cached values of last change dates for each tracked object types. These dates are used in synchronization algorithm to minimize amount of objects to check (checking only changed objects).
-
-
Once synchronization is started, you can see the dialog with progress information:
The dialog information is updated automatically time-to-time. Synchronization is finished when the
Synchronization Stage
field is equal toSynchronization finished
.
5.2.2. Git Integration (CPI, API Mgmt). Repository initialization and getting changes from SAP Agent
-
Enable and configure Git integration on Agent.
-
Go back to Agents page and click
button. It starts synchronization on chosen Agent. Once it’s done, check the folder with cloned Git repository, specified in
Local Path To Repo
:Folders at root level are related to packages (CPI agents) or API Proxies (API Management agents). Some files are added automatically to repository during initialization:
.gitignore-irt
,build-irt.gradle
,settings-irt.gradle
,gradle-irt.properties
. These files contains configuration modular structure and Figaf Gradle plugins. If you want to use them in your development workflow, removeirt
suffix and save them as.gitignore
,build.gradle
,settings.gradle
,gradle.properties
. Or copy required configuration to existent files. -
Now let’s make some changes in target object, for example CPI IFlow. We’ve added a Content Modifier from SAP UI. Then we need to process synchronization in Figaf Tool for chosen Agent. It can be done manually or by scheduled job if you have configured it. Once synchronization is finished, you can see a new commit with related changes:
5.2.3. IDE
Since of 2306 Figaf Tool supports possibility to edit and run Groovy code.
Follow steps to work in Groovy IDE:
-
Enable
Enable IDE to run and upload scripts
option on related agent dialog. -
Configure
OpenAI API Key
,OpenAI Default Model
andOpenAI Default Temperature
settings on Application configuration page to enableFigaf Bot
. -
Go to tracked object page of Groovy script or XSLT mapping.
-
Click on
icon to open IDE:
-
Then you can:
-
Groovy script only. Select
Function
from script. If it’s needed to refresh functions, click on.
Figaf tool supports functions used in message mapping and groovy script step:
-
If function is used in message mapping, it is possible to add test cases with defined
Arguments
,Headers
,Properties
After running a function, it’s possible to save a test case. -
If it’s a groovy script step, configure
Input
message,Headers
,Properties
.You can select Test Case
andMessage
, then input data will be filled automatically.
-
-
Modify
Script
.You can get some help from Figaf Bot
that triggers Open AIs API. -
XSLT mapping only. Configure
XSLT processing mode
:-
Figaf Tool
works fast and uses code in the application. This approach doesn’t support java functions and cpi extensions (like java:new() or cpi:setHeader). -
XSLT Executor IFlow
updates and deploysXSLT_Executor
IFlow and XSLT is executed in this IFlow. It usually takes around 10 seconds but it provides full XSLT processing support.
-
-
Run script click on
Run
button.
Result will be shown in right side:
Output
message,Headers
andProperties
. -
-
If you want to save modified script, click on
Upload
button. It will update only a particular script (via public API) of related IFlow.
5.2.4. Use IFlow as a configurable template to create many IFlows (CPI)
If you have multiple organizations, like a sales division for Denmark, Germany, Sweden, and some flows may need to run for all organizations, you can develop the flow once and then configure it for multiple organizations using distribution configuration.
-
Open the IFlow details you want to use as a configurable template to create many IFlows.
-
Click on
Create distribution configuration
button. It creates distribution configuration that is used for configuring external configuration for target IFlows created from the selected IFlow. -
Click on
Add target IFlow
to add target IFlows to the distribution configuration. It opens 'Add iFlows to distribution configuration' dialog box where you can configure target IFlows technical and displayed names: -
If you want to change external configuration of target IFlows, deselect
Inherit (source)
for parameter, define values, andSave
configuration: -
You can
Upload all IFlows
orUpdate target IFlow
(inof target IFlow).
If you want to deploy target IFlows, click on
, enable
Deploy uploaded objects
, and click on.
If you want to update target IFlows after source IFlow changes, click on
, enable
Update target objects automatically
, and click on. After that if source IFlow is updated (the changes are handled during synchronization), target IFlows will be updated automatically.
-
If you want to delete the distribution configuration, click on
Delete
button. It marks distribution configuration as deleted. If you want to delete distribution configuration that marked as deleted from CTT, click onDelete from CTT
button.
IFlow can be linked only with one distribution configuration.
5.2.5. Browse and compare versions from different landscape items
Since of 2105 Figaf Tool supports possibility to browse and compare objects versions from different landscape items.
Requirements:
-
All required Agent Systems have been configured (see that section to learn how to do that).
-
Synchronization of all required Agent Systems has been done (see Synchronization with Agent system section).
-
All required Landscapes have been configured (see that section to learn how to do that).
-
Go to Change Tracking Tool.
-
Open a tracked object page clicking on object name.
-
Go to
Tracked Object Change Log
page clicking onVersions
button. -
Enable
Show versions across landscape
and select a landscape. Objects from different landscape items will be shown and you can browse and download payloads or compare the versions.Objects from different landscape items are determined by the following rules:
-
For CPI and Api Management platforms objects are searched with the equal names.
-
For PRO platform the following strategies are used to determine objects names from other systems:
-
transport configuration (the highest priority).
-
scenario mapping (if transport configuration doesn’t exist).
-
the same name (if neither transport configuration nor scenario mapping exist).
-
-
5.2.6. Restore last CPI object version after its deletion
Since of 2.14 Figaf Tool supports a possibility to restore last CPI object version of deleted IFlow and Value Mapping.
Requirements:
-
All required Agent Systems have been configured (see that section to learn how to do that).
-
Synchronization of all required Agent Systems has been done (see Synchronization with Agent system section).
-
IFlows which you want to restore were deleted after the first synchronization in Figaf Tool. So it’s important to have these IFlows and Value Mappings synchronized earlier.
-
Go to Change Tracking Tool.
-
Select CPI Agent.
-
Switch
Browse deleted objects
in order to view deleted objects. -
Select IFlow(s) or(and) Value Mapping(s).
-
Click on
Restore artifacts
. -
Check objects that will be restored.
-
Enable
Deploy restored objects
if you want this objects to be triggered for deployment. -
Click on
Upload
.
5.2.7. Transform REST API/SOAP API objects to IFlows
Since of 2305 Figaf Tool supports a feature to transform REST API and SOAP API objects to IFlows. Follow the steps to transform objects:
-
Go to Change Tracking Tool.
-
Select CPI Agent.
-
Click on
and then click on
Transform REST/SOAP API objects
. It opensTransform REST/SOAP API objects
page with list of objects: -
Select objects you are going to transform.
-
Click on
Transform to IFlow
button. It opens confirmation dialog: -
Choose required options:
-
Only create IFlows
creates IFlows and doesn’t delete source object. -
Create IFlows and delete/undeploy selected objects
creates IFlows and undeploys snd deletes source objects.
-
Once the operation is completed, created IFlows will be synchronized automatically. After this transformation you can use the IFlows the same way as any IFlow.
5.2.8. Add groovy script or XSLT mapping to IFlow
Since of 2403 Figaf Tool supports creation of new groovy script or XSLT mapping. The feature works only for the latest versions.
Requirements:
-
Agent System has been configured (see that section to learn how to do that).
-
Synchronization of required Agent System has been done (see Synchronization with Agent system section).
To open the dialog follow steps:
-
Go to Change Tracking Tool.
-
Select CPI Agent.
-
Go to IFlow tracked object page.
-
Click on
and then click on
Add new script
. It opensAdd new script
dialog where you should configure:-
Script Type
defines type of script that will be created: eitherGroovy
orXSLT
. -
Only for Groovy script type
Function Type
defines type of groovy script: eitherGroovy Script Step
orUse in Message Mapping
. -
Script name
defines name of script.
Once configuration is submitted, Groovy IDE dialog will be opened.
-
5.2.9. Rename resources of IFlow
Since of 2403 Figaf Tool supports renaming of scripts and mapping objects (both XSLT and Message Mapping). The feature works only for the latest versions and only for IFlow children.
Requirements:
-
Agent System has been configured (see that section to learn how to do that).
-
Synchronization of required Agent System has been done (see Synchronization with Agent system section).
To open the dialog follow steps:
-
Go to Change Tracking Tool.
-
Select CPI Agent.
-
Go to script or mapping tracked object page.
-
Click on
and then click on
Rename resource
. It opens the dialog where new name should be defined.
5.2.10. Browse linking between IFlows and Cloud Agreements based on the endpoints
Since of 2312 Figaf Tool supports linking between IFlows and Cloud Agreements based on the ProcessDirect
/JMS
endpoints. The feature works only for the latest versions.
Requirements:
-
Agent System has been configured (see that section to learn how to do that).
-
Synchronization of required Agent System has been done (see Synchronization with Agent system section).
To open the dialog follow steps:
-
Go to Change Tracking Tool.
-
Select CPI Agent.
-
Go to IFlow or Cloud Agreement tracked object page.
-
Click on
and then click on
Open CPI Endpoints
.
Then endpoints dialog will be opened. There are source and target objects listed in the dialog.
An IFlow has a reference to itself if it has subprocesses using ProcessDirect /JMS for internal communication.
|
5.2.11. Select all Segments and Fields of MIG object
Since of 2401 Figaf Tool supports a feature to select all Segments and Fields of Message Implementation Guideline. To enable follow the steps:
-
Go to Change Tracking Tool.
-
Select Integration Suite Agent.
-
Go to MIG tracked object page.
-
Click on
and then click on
Select all Segments and Fields
. Once you confirm the action, Draft version of MIG with enabled segments and fields will be created if the latest version was Activated or Draft version will be updated if the latest version was Draft.
5.2.12. Management of Partner Directory parameters
Since of 2405 Figaf Tool supports management of Partner Directory parameters. To work with the feature go to Change Tracking Tool, select CPI or Integration Suite Agent and go to Partner Directory parameters
tab:
![partner directory parameters page](images/ctt/partner-directory-parameters/partner-directory-parameters-page.png)
On this page you can:
-
Retrieve SAP TPM Pid parameters
switch to hide and show SAP TPM Pid parameters. -
Synchronize
partner directory parameters. -
Configure new partner
clicking on related button.Configure new partner
It opens
Create and configure partner
dialog where:-
Select
From Pid
object. -
Define
New Pid
. -
Set
Copy not defined binary parameters from chosen partner
value. If true and related parameter value isn’t defined, parameter value from source Pid will be used. If false and related parameter value isn’t defined, empty value will be used. -
Select parameters which should be copied.
-
Define parameter values by clicking on
and then
and defining new configuration.
-
Once everything is configured, save. Then new partner with all selected parameters will be created and automatically synchronized.
-
-
Create
new parameterCreate parameter
To create new parameter follow the steps:
-
Go to Change Tracking Tool.
-
Select CPI or Integration Suite Agent.
-
Go to
Partner Directory parameters
tab. -
Click on
Create
button. It opensCreate partner directory parameter
dialog where should be configured:-
Pid
existing or new Pid. -
Type
isString
,Binary
,Interface Determination
,Receiver Determination
.String
parameter will be saved as string parameter,Binary
,Interface Determination
andReceiver Determination
will be saved as binary parameter. -
Parameter Id
should be new value. Not modifiable forInterface Determination
andReceiver Determination
. -
for binary parameters
Content Type
defines content type. Not modifiable forInterface Determination
andReceiver Determination
. -
for xsl content type
Open IDE
opens IDE. -
for binary parameters
Import file
provides a possibility to load selected file. -
for binary parameters
Base64 format
encodes or decodes to or from Base64 format. Not modifiable forzip
,gz
,zlib
,crt
content types. -
Value
is parameter value.
-
-
Once everything is configured, save. Then new parameter will be created and automatically synchronized.
-
-
Delete selected parameters.
-
Edit parameter.
Edit partner
To edit existing parameter follow the steps:
-
Go to Change Tracking Tool.
-
Select CPI or Integration Suite Agent.
-
Go to
Partner Directory parameters
tab. -
Click on
and then
button. It opens
Edit partner directory parameter
dialog where new configuration should be configured. -
Once everything is configured, save. Then parameter will be updated and automatically synchronized.
-
-
Go to tracked object of the parameter.
5.2.13. Tag tracked objects
Since of 2112 Figaf Tool supports tagging of tracked objects. This feature helps to find tracked objects easier. You can create, edit and delete tags.
Requirements:
-
All required Agent Systems have been configured (see that section to learn how to do that).
-
Synchronization of all required Agent Systems has been done (see Synchronization with Agent system section).
To create a tag follow steps:
-
Go to
Tags
page. -
Click on
Create Tag
button. -
Enter
Name
.Name
must be unique. -
Enter
Description
. It’s not required. -
Save tag.
-
Configure required tags.
-
Go to Change Tracking Tool.
-
Select objects for which you are going to add tags.
If you select all objects, you can either attach tags to objects on all pages or to objects on current page.
-
Click on
Attach Tags
button. -
Select tags in the dialog.
-
Apply selection.
It’s possible to attach tags to object from the tracked object page. -
Once it’s done, you can filter tracked objects by
Tags
column in order to find required objects easier.Once you attach object with tags to ticket, the same tags will be shown on the ticket page, so you will be able to filer tickets by Tags
.
If you need to detach tags from tracked objects, do the same steps as during attaching tags to tracked objects but click on Detach Tags
button.
5.2.14. Tagging Rules page
Since of 2402 Figaf Tool supports enhanced quering of tracked objects. The feature provides a possibility to define tagging rules that apply a condition (xpath/regex) to specified scope of objects to assign a technical tag, created together with the rule, to objects that match condition. You can create, update, import, export, delete tagging rules and process tagging.
Create tagging rule
To create new tagging rule follow steps:
-
Go to
Tagging Rules
page. -
Click on
. It opens
Add tagging rule
dialog: -
Enter the fields:
-
Tag name
defines technical tag name. This tag will be created during the tagging rule creation and attached to objects that match condition during tagging process.Tag name
must be unique. -
Displayed name
defines displayed name of tagging rule. -
Complexity rate
defines numeric representation of estimate in some units (for example story points or days). -
Platform
defines platform. -
Agents
defines a list of agents. -
Object type
defines object types.Script Collection
andCpi Function Libraries
types aren’t supported. -
Name pattern
defines regex that check if matches the tracked object name. -
Direction
defines direction (Sender or Receiver) ofCommunication Channel
. -
Adapter type
defines adapter type forCommunication Channel
. If there is no required type in the list, type the value manually. -
Condition type
defines condition type: either XPath or Regex. -
Condition
defines any valid XPath or Regex. It is possible to test the condition clicking onTest
button. It will open the dialog where you can selectObject to test
and test yourExpression
.Examples of supported XPath expressions:
-
/ns2:CommunicationChannel/MasterLanguage/text()
-
/ns2:CommunicationChannel/AdministrativeData/ResponsibleUserAccountID/text()
-
/ns2:CommunicationChannel/AdapterSpecificAttribute[Namespace]/Name/text()
-
/ns2:CommunicationChannel/AdapterSpecificAttribute[Namespace]/Name
-
/CommunicationChannel/AdapterSpecificAttribute[Namespace]/Name
-
/CommunicationChannel/MasterLanguage
-
count(/ns2:CommunicationChannel/AdapterSpecificAttribute)
-
substring(/ns2:CommunicationChannel/Description/text(), 1, 10)
-
/ns2:CommunicationChannel/AdapterSpecificAttribute[contains(Name, 'source')]/Value/text()
-
sum(/ns2:CommunicationChannel/AdapterSpecificAttribute[Name='file.pollInterval']/Value)
-
//brick[@path='/ADRMAS03/IDOC/E1ADRMAS/E1BPAD1VL/STREET']
-
//FolderPathID[text()="/my-folder/test/"]
-
//FolderPathID[.="/my-folder/test/"]
-
//ns2:CommunicationChannel[starts-with(AdministrativeData/LastChangeUserAccountID, 'user')]
-
//ns2:CommunicationChannel[ends-with(AdministrativeData/LastChangeUserAccountID, 'user')]
-
//ns2:CommunicationChannel[contains(AdministrativeData/LastChangeUserAccountID, 'user')]
-
//ns2:CommunicationChannel[matches(AdministrativeData/LastChangeUserAccountID, 'user')]
-
-
Apply condition to internal payload
enables possibility to define condition to internal payload forFunction Library
,Message Mapping
andMapping Template
types. -
Description
defines description.
-
-
Save the data.
Once tagging rule is created, related technical tag will created automatically.
Import tagging rules
It is possible to import prepared JSON file with tagging rules configuration, e.g.
[{
"tagName" : "Tag 1",
"displayedName" : "Tagging Rule 1",
"objectType" : "PACKAGE",
"platform" : "CPI",
"evaluatorType" : "REGEX",
"condition": ".*",
"description" : "Test Description",
"agentSystemIds" : [ "cpi1", "cpi2" ]
}, {
"tagName" : "Tag 2",
"displayedName" : "Tagging Rule 2",
"objectType" : "PACKAGE",
"platform" : "CPI",
"evaluatorType" : "REGEX",
"condition": ".*",
"description" : "Test Description",
"objectScopeCriteria" : {
"type" : "default-filter",
"namePattern" : ".*"
},
"agentSystemIds" : [ "cpi1" ]
}, {
"tagName" : "Tag 3",
"displayedName" : "Tagging Rule 3",
"objectType" : "CHANNEL",
"platform" : "PRO",
"evaluatorType" : "XPATH",
"condition" : "//ns2:CommunicationChannel[starts-with(AdministrativeData/LastChangeUserAccountID, 'user')]",
"objectScopeCriteria" : {
"type" : "communication-channel-filter",
"namePattern" : "test",
"direction" : "RECEIVER",
"adapterType" : "JMS"
},
"agentSystemIds" : [ "pro-1", "pro-2", "pro-3" ]
}, {
"tagName" : "Tag 4",
"displayedName" : "Tagging Rule 4",
"complexityRate" : "44",
"objectType" : "MESSAGE_MAPPING",
"platform" : "PRO",
"evaluatorType" : "XPATH",
"condition" : "//generic/textInfo",
"applyConditionToInternalPayload" : true,
"agentSystemIds" : [ "T75", "D75" ]
}]
To import tagging rules follow steps:
-
Prepare JSON file with tagging rules configuration.
-
Go to
Tagging Rules
page. -
Click on
Import
and select the prepared file. -
Select agents for each platform in
Please select agents
dialog and submit changes.
Then tagging rules and technical tags will be created.
Process tagging
To process tagging select tagging rules and click on Process tagging
button. Then related technical tags will be attached to objects that match the condition and belong to defined scope (platform, agents, object type, name pattern, direction, adapter type).
5.2.15. Landscape Overview page
All objects in scope of CPI and Api Management composite landscapes can be browsed on Landscape Overview
page.
-
Go to
Change Tracking Tool → Landscape Overview
page -
Select CPI or Api Management composite landscape. Table with objects through the composite landscape will be shown:
is an object marked as deleted in CTT.
-
The following features are available:
-
(Only for CPI)
Parameters report
generates configuration parameters report for all IFlows or selected IFlows. -
Export to CSV
generates CSV report with the table data. -
Compare versions clicking on
. Then select objects for comparison and compare objects.
-
Show difference from target system - if true, only the iflows that have different version with target object are shown.
-
Go to tracked object page clicking on the object link.
-
Go to corresponding transport configuration page for objects with transport configuration clicking on the object link and selecting related option.
-
5.3. Git integration
Since of 2.10 Figaf Tool supports integration with Git for CPI and API Management Agent systems. It includes:
-
Synchronization of all IFlows(for CPI)/API Proxies(for API Management) with configured Git repository. All found changes will be saved in the repository during CTT synchronization. It’s also possible to initialize/reinitialize repository by pushing all objects through manual operation. See this section to learn more about configuration options.
-
IRT Gradle plugin for running Figaf Tool test suites remotely through Gradle task. It helps to build flexible development workflow with unit and integration tests. See this section to learn more.
It’s needed to run the command git config --system core.longpaths true
as an admin in command prompt if you use OS Windows in order to prevent a problem with long file names.
5.3.1. Git integration configuration
Open Configuration
→ Agents
page, click Edit
on needed Agent. If you don’t have Agent configured read this section at first. Enable checkbox Enable Git Integration
. Then you will see the following fields:
![agent git integration config](images/ctt/git-integration/agent-git-integration-config.png)
-
Skip Synchronization Of IFlows In Git
(CPI) orSkip Synchronization Of API Proxies In Git
(Api Management) - if true, IFlows or API Proxies won’t be added to git repository (only folders will be initialized). -
Update build.gradle automatically
- if true,build.gradle
will be updated automatically after synchronization. Enable this option if you don’t need to changebuild.gradle
manually. If this option is disabled, you have to updatebuild.gradle
file when version of gradle plugin is upgraded. -
Update settings.gradle automatically
- if true,settings.gradle
will be updated automatically after synchronization. Enable this option if you don’t need to changesettings.gradle
manually. If this option is disabled, you have to updatesettings.gradle
file when objects, stored in Git, are changed on remote system. -
Update .gitignore automatically
- if true,.gitignore
will be updated automatically after synchronization. Enable this option if you don’t need to change.gitignore
manually. -
Add scenario documentation
(only for CPI) - if true, scenario documentation (without the PNG) is generated and added to local folder (documentation isn’t added to repository). The option is enabled only ifSkip Synchronization Of IFlows In Git
isn’t enabled. -
Integrate with Git Pipelines
(only for CPI) - if true, then Figaf Tool enables integration with git pipeline to validate updated IFlows. The option is enabled only ifSkip Synchronization Of IFlows In Git
isn’t enabled. See Integration with Git Pipelines for more details. -
Git Remote Url
- url to remote repository. -
Local Path To Repo
(only for on-premise version) - local folder, where repository will be cloned. If it’s not defined, it will use/<origin repository name>
as a local path relatively toirt.jar
. You can define either absolute or relative paths here, a relative path will be calculated from the same folder where Figaf Tool is executed. -
Branch Name
- branch used by Figaf Tool. If it doesn’t exist, it will be created automatically. We recommend to define a special branch for Figaf Tool and then merge it with your working branch when it needs. Changes are committed to this branch during synchronization operation. But you can also initialize/reinitialize a full state of all objects at one time manually. -
Git Username
- username for accessing remote Git repository. Figaf Tool will make commits on behalf specified user, but with its own name in commits. -
Git Password
- password related to specified Git user. -
Ignore Files
- paths used when you are downloading/uploading IFlow/ApiProxy through cpi-plugin or api-management-plugin. All matched files and folders won’t be added to bundled archive. Define only relative paths, the root is IFlow/ApiProxy bundled folder. By default it ignoressrc/test
,build.gradle
,settings.gradle
,gradle.properties
. The main reason to have some project files excluded is that they are not a part of bundled model. But some of them (likesrc/test
, where you can keep your unit tests for groovy scripts) makes CPI IFlow non-operational, i.e. upload will be successful, but IFlow won’t work in runtime.
The following packages on CPI won’t be added to the repository during synchronization:
|
If you want to add lib files of some iflow to the index, put the following line into
|
5.3.2. Integration with Git Pipelines
Git Pipelines work only for repositories in GitHub.
The following configuration should be done to get the integration working:
-
Set up a workflow yourself in Git repository:
-
Configure
figaf-validation.yml
file:figaf-validation.yml
name: Figaf Pipeline on: push: branches: - '**' jobs: figaf-validations: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 with: fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} - name: Set up Java 11 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '11' - name: Download and extract CPI Lint run: | curl -L -o cpilint.zip https://github.com/mwittrock/cpilint/releases/download/v1.0.4/cpilint-1.0.4.zip unzip -o cpilint.zip rm cpilint.zip chmod +x cpilint-1.0.4/bin/cpilint - name: Setup Gradle uses: gradle/gradle-build-action@v2 with: gradle-version: 7.4 - name: Get changed IFlow directories run: | changedIflowDirs=$(git diff --name-only --diff-filter=d HEAD^ | grep -E '.*/IntegrationFlow/[^/]+' | awk -F/ '{print $1"/"$2"/"$3}' | sort | uniq) echo "Changed IFlow Directories: $changedIflowDirs" EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) echo "changedIflowDirs<<$EOF" >> ${GITHUB_ENV} echo "${changedIflowDirs}" >> ${GITHUB_ENV} echo "$EOF" >> ${GITHUB_ENV} - name: CPI Lint validation run: | if [ -z "${{ env.changedIflowDirs }}" ]; then echo "No IFlow changes detected, skipping CPI Lint validation" exit 0 fi readarray -t changedIflowDirs <<< "${{ env.changedIflowDirs }}" for integrationFlowDir in "${changedIflowDirs[@]}" do echo "integrationFlowDir: $integrationFlowDir" iflowName="$(basename "$integrationFlowDir")" packageName="$(basename "$(dirname "$(dirname "$integrationFlowDir")")")" (cd "$integrationFlowDir" && zip -r "../$iflowName.zip" .) cpilintCommand="${{ github.workspace }}/cpilint-1.0.4/bin/cpilint -rules=${{ github.workspace }}/.github/workflows/cpilint.xml -files=\"../$iflowName.zip\"" echo "Executing cpilint: $cpilintCommand" cpilintStatus=0 output=$(cd "$integrationFlowDir" && eval $cpilintCommand 2>&1) || cpilintStatus=$? if [ -z "$cpilintStatus" ]; then cpilintStatus=0 fi echo "CPI Lint output: $output" echo "CPI Lint exit code: $cpilintStatus" echo "Validation name: CPI Lint" > "$integrationFlowDir/pipeline-validation.txt" echo "Execution time: $(date +'%Y-%m-%d %H:%M:%S')" >> "$integrationFlowDir/pipeline-validation.txt" echo "Exit code: $cpilintStatus" >> "$integrationFlowDir/pipeline-validation.txt" echo -e "Output: $output\n" >> "$integrationFlowDir/pipeline-validation.txt" rm -f "$integrationFlowDir.zip" done - name: Run unit tests run: | if [ -z "${{ env.changedIflowDirs }}" ]; then echo "No IFlow changes detected, skipping Unit tests validation" exit 0 fi readarray -t changedIflowDirs <<< "${{ env.changedIflowDirs }}" for integrationFlowDir in "${changedIflowDirs[@]}" do iflowName="$(basename "$integrationFlowDir")" packageName="$(basename "$(dirname "$(dirname "$integrationFlowDir")")")" runTestsCommand="gradle :$packageName:iflow-$iflowName:test" echo "Executing runTestsCommand: $runTestsCommand" runTestsStatus=0 output=$(eval $runTestsCommand 2>&1) || runTestsStatus=$? if [ -z "$runTestsStatus" ]; then runTestsStatus=0 fi echo "Unit tests output: $output" echo "Unit tests exit code: $runTestsStatus" echo "Validation name: Unit tests" >> "$integrationFlowDir/pipeline-validation.txt" echo "Execution time: $(date +'%Y-%m-%d %H:%M:%S')" >> "$integrationFlowDir/pipeline-validation.txt" echo "Exit code: $runTestsStatus" >> "$integrationFlowDir/pipeline-validation.txt" echo -e "Output: $output\n" >> "$integrationFlowDir/pipeline-validation.txt" done - name: Commit and push changes run: | if [[ $(git status --porcelain) ]]; then git config --local user.email "[email protected]" git config --local user.name "Figaf" git add . git commit -m "Update pipeline-validation.txt" git push else echo "No changes to commit" fi
-
Configure
cpilint.xml
:cpilint.xml
<?xml version="1.0"?> <cpilint> <rules> <iflow-description-required/> <disallowed-scripting-languages> <disallow>javascript</disallow> </disallowed-scripting-languages> </rules> </cpilint>
Push the files to remote repository. -
-
Go to agent for which you want to configure integration with Git Pipeline and enable
Integrate with Git Pipelines
. -
Init/Reinit Git repository for the agent.
Now each updated IFlow will be validated automatically and the result will be saved into pipeline-validation.txt
file in the IFlow folder in the repository.
Then you can check Git Pipeline Validation Status
on Tracked object page and this validation will be integrated into validation of transports.
Gradle version used locally and in Git pipeline should be the same. In our example version 7.4 is used.
|
5.3.3. Groovy scripts unit testing
Figaf Tool provides a possibility to generate unit tests for groovy scripts using the state of the recorded messages in CPI test cases.
To use that feature you should open a Messages tab on the Test Case page. It has a button Generate groovy scripts test data
.
There are two options:
-
Add to git repository. If git integration is configured and enabled, Figaf Tool will build test data files and commit them to repository.
-
Download archive. All needed files will be archived and downloaded to your computer.
There are several files which are generated for testing:
-
Files in
common
folder. These files are the basis for unit testing of groovy scripts.
GroovyTestData
andMessageTestData
are a model.
MessageImpl
is a simple implementation of SAP Message interface.
AbstractGroovyTest
is an abstract class which does all the testing and has several methods which can be extended. -
Files in
<iflow_package_name>/<iflow_name>
folder.
GroovyScriptsTest.groovy
is a test which is ready to be run. It has all the needed links and methods.
Files inresources
folder are the test data forGroovyScriptsTest.groovy
. Each file has input and expected output data. Each file contains an integer in the end of the name. If you selectDownload archive
these numbers just start from 1. If you selectAdd to git repository
Figaf Tool will not overwrite the existing test files. Instead of it Figaf Tool will find the maximum number among the existing files and increment this number.
You need to manually download CPI client jars and put them to the
|
You can extend testing and write custom tests using AbstractGroovyTest.groovy
. It’s not recommended to edit GroovyScriptsTest.groovy
because it can be overwritten next time by Figaf Tool. It’s better to write custom tests in a separate class which should extend AbstractGroovyTest
. The following methods can be overridden:
-
processMessageData(String groovyScriptPath, String testDataFilePath, String methodName)
- it callsmethodName
of the groovy script for test data and returnsmessageDataExpected
andmessageDataActual
. -
assertMessages(MessageTestData messageDataExpected, MessageTestData messageDataActual, List<String> ignoredKeysPrefixes, List<String> ignoredKeys)
- assertmessageDataExpected
andmessageDataActual
excluding the keys presented inignoredKeysPrefixes
andignoredKeys
. -
basicGroovyScriptTest(String groovyScriptPath, String testDataFilePath, String methodName, List<String> ignoredKeysPrefixes, List<String> ignoredKeys)
- aggregate two previous methods. -
getIgnoredKeysPrefixes()
- if a key starts from this list’s value, this key will be excluded from assertion inassertMessages
method. -
getIgnoredKeys()
- if a key is presented in this list, this key will be excluded from assertion inassertMessages
method.
For example if you want to use processMessageData
but have your own assertions you can easily do it.
import org.junit.jupiter.api.Test
import static org.assertj.core.api.Assertions.assertThat
import static org.mockito.BDDMockito.then
class SampleTest extends AbstractGroovyTest {
@Test
void customTest() {
// given
initMessageLogFactoryMocks()
String groovyScriptPath = "src/main/resources/script/script1.groovy"
String testDataFilePath = "src/test/resources/test-data-files/script1/processData/test-data-1.json"
// when
def (MessageTestData messageDataExpected, MessageTestData messageDataActual) = processMessageData(groovyScriptPath, testDataFilePath, "processData")
// then
// assert custom messageLog interaction
then(messageLog).should().addAttachmentAsString("error.xml", messageDataExpected.getBody() as String, "application/xml")
then(messageLog).should().addAttachmentAsString("responseError", "daniel test attachment", "text/plain")
// assert properties/headers/body
def propertyKey = "newError3"
String actualPropertyValue = messageDataActual.getProperties().get(propertyKey)
assertThat(actualPropertyValue).
overridingErrorMessage("Property with key '%s' must be not null", propertyKey).
isNotNull()
assertThat(actualPropertyValue).
overridingErrorMessage("Property with key '%s' must end with 'Test3', but actual value was '%s'", propertyKey, actualPropertyValue).
endsWith("Test3")
}
}
5.4. Troubleshooting
5.4.1. Tracked object doesn’t have some links (PRO systems)
-
Try to process synchronization with forcible linking.
Rebuild links for the latest versions forcibly
is required when you mix different synchronization settings. For example, first time you synchronize objects onIntegration Objects
page (that synchronization includes onlyIntegration Directory
types), then you synchronize them onTracked Objects
page to browse ESR objects inCTT
. It’s related to the fact that all objects have only one-way links in the received metadata. AnIntegrated configuration
object has links toOperation Mapping
object, butOperation Mapping
object doesn’t contain any links toIntegrated configuration
. So, if an Integrated Configuration object has been already synchronized, it won’t be possible to link it with currently synchronized Operation Mapping object having only Operation Mapping differences information. If the flag is enabled, synchronization algorithm will check all latest versions for chosen object types and build links between them properly. -
If the first step doesn’t help, try to clear cached last change dates (
Reset synchronization query
button on theAgent settings page
). By default, CTT will check only new/changed/deleted objects, each time when it synchronized concrete object type, CTT saves a last change date for each object type. Next time it doesn’t check objects older than cached date. Once cached dates are cleared, process synchronization with forcible linking.
5.4.2. CTT doesn’t see changes of some objects
Try to clear cached last change dates (Reset synchronization query
button on the Agent settings page
). By default, CTT will check only new/changed/deleted objects, each time when it synchronized concrete object type, CTT saves a last change date for each object type. Next time it doesn’t check objects older than cached date. Once cached dates are cleared, process synchronization with forcible linking.
6. Testing Tool
6.1. Testing Tool overview
6.1.1. What is Testing Tool
Integration Scenario Testing Tool
- the oldest part of the Figaf Tool, provides functionality for regression
and baseline
testing of integration scenarios on PRO or CPI systems. It provides a flexible way to configure test cases
and supports different ways to communicate with source SAP system. Once you run a test case, Figaf Tool sends an inbound message to SAP system and then fetches results using chosen integration type. Results are compared and finally you can browse the differences on UI or in the test case’s excel report. Test cases
can be aggregated as a test suite
and run as single unit of testing. Test suite
has it’s own excel report and can be scheduled. Scheduled testing and our REST API gives you a real opportunity to automate your testing flow or integrate Figaf Tool to existent processes.
|
6.1.2. How Testing Tool works
In this section we skip test cases preparation part as well as many features related to Testing Tool and show only the core testing process in action.
|
Regression testing on PRO systems
The idea of regression testing is to check response of an integration scenario having identical request. PRO system has a lot of different sender side adapters and most of them can’t be easily triggered by Figaf Tool. Fortunately, it has a way to send a message through the system using a XI 3.0 Sender
channel and a specific request. Figaf Tool requires special infrastructure scenarios to be able to send requests to PRO system. There are 2 types of infrastructure scenarios:
-
Common infrastructure scenario. Only one per system.
-
Specific infrastructure scenario. Such scenario is created per
Agent Object
/Test object
pair only when it requires to add something to the sender channel.For example if you’ve chosen testing with Agent Sender Channel custom modules or testing with NumberRange module.
All infrastructure scenarios have the same sender/receiver business component |TEST_MigrationHelper
and receiver channel TEST_MigrationHelperReceiverStub
which is never called.
Figaf Tool creates these infrastructure scenarios and checks their state automatically, so, you don’t need to do anything yourself. Just be sure that user defined in the Agent
configuration has needed access.
When you run a test case Figaf Tool takes each inbound message, prepares a special request which includes information about target Test Object, inbound message payload and its Dynamic Properties (we filter adapter-specific properties), then sends it to XI 3.0 Sender Channel
of infrastructure scenario on the Test System
. Then the message is processed by XI 3.0 Sender Channel
and forwarded directly to target Test Object
ignoring its sender channel. That’s why it requires to create scenario-specific infrastructure scenarios when some custom modules should be used on the sender side. The first running of test cases takes a bit more time because it creates infrastructure scenario.
![testing flow diagram](images/testing-tool/overview/testing_flow_diagram.png)
When messages are processed on PRO system, outbound messages can be received by Figaf Tool. It’s processed manually or automatically depending on your Agent configuration. Once outbound messages are received, Figaf Tool processes comparison of outbound message payloads and metadata.
![test run details](images/testing-tool/overview/test_run_details.png)
![diff viewer](images/testing-tool/overview/diff-viewer.png)
Finally it builds an excel report for current test run.
Regression testing on CPI systems
The concept is the same as described above. CPI also supports many types of adapters but it doesn’t have any unified mechanism (at least for now) for sending messages directly to integration flows. For all adapters except HTTPS and SOAP, Figaf Tool uses CPI API to copy integration flow structure and replace sender adapter by HTTPS adapter in the copied version. Then it saves the new integration flow in the package FigafIRT <original package name>
and deploys it. For integration flows with HTTPS or SOAP senders Figaf Tool sends messages directly to them. Similar to infrastructure scenarios update described in the previous section, Figaf Tool checks and updates copies of integration flows during test case running.
Baseline testing
The idea of baseline testing is to check both request and response of an integration scenario. Figaf Tool doesn’t use any additional infrastructure objects for that type of testing.
When you run a baseline test case, Figaf Tool creates a new recording request linked with current test run. Once messages are triggered and available on target system, they can be received by Figaf Tool. It’s processed manually or automatically depending on your Agent configuration. Once inbound outbound messages are received, Figaf Tool distributes them to testing results, processes comparison of message payloads and metadata. Finally it also builds an excel report for current test run.
6.1.3. When do you need Testing Tool
Some end-to-end use cases:
-
Test when you are doing a SAP PI Upgrade/Patch in this case you want to make sure that nothing vital has changed on the SAP PI system. Figaf Tool allows you to run the test fast and validated all documentation.
-
Test when you have done any development or modification of an SAP Interface. Figaf Tool allows you to fast run the test again.
-
Test once you have done a migration from a dual stack to a single stack or from an other integration platform. You can then upload the in- and outbound messages and process them on the PI system.
-
Test that your Seeburger Migration works and have not have any impact on your existing integrations.
-
Extend the test cases from other testing applications like UFT or ALM with validation of the SAP PI/CPI interfaces. This will give you an extended validation of that the messages is created correctly. In this case you need to use the baseline option of Figaf Tool Testing Tool.
6.2. Get started with Testing Tool
Requirements:
-
All required Agent Systems have been configured (see that section to learn how to do that).
-
Synchronization of all required Agent Systems has been done (see Synchronization with Agent system section).
-
PRO only. Since of 2310 Figaf Tool enables AM/BI logging during creating a recording request or running a test case if
ICO Logging
messages logging approach is used for the related PRO agent or integration objects. So if you would like to test PRO scenarios withICO Logging
and the scenario relates to one of the following cases:-
scenario has single receiver interface for one receiver with non-empty condition - condition is lost during update through public web service, so, it’s required to recover it.
-
adapter engine name for wildcard sender ICOs (when it’s not empty, i.e., decentral adapter engine is configured) - WS model doesn’t have that parameter at all so that it’s required to update it after upload.
then additional SAP PRO client libraries must be available in runtime classpath. They are not included into the build, so they should be added to a folder (you can create
libs
folder in the folder with jdbc driver) and then the path to thatlibs
folder should be passed through-Dloader.path
parameter in the bootstrap command (see that section). If any of these libraries are missing, you will see the following error during transport creation or checking imported objects:Required libraries:
-
com.sap.aii.utilxi.core.jar
- can be downloaded from<PRO system root url>/dir/directory/com.sap.aii.utilxi.core.jar
-
com.sap.xpi.ib.core.jar
- can be downloaded from<PRO system root url>/dir/directory/com.sap.xpi.ib.core.jar
-
com.sap.xpi.ibdir.core.jar
- can be donwloaded from<PRO system root url>/dir/directory/com.sap.xpi.ibdir.core.jar
-
sap.com~tc~bl~guidgenerator~impl.jar
- can be downloaded from<PRO system root url>/dir/directory/sap.com~tc~bl~guidgenerator~impl.jar
If some of additional libraries aren’t in the classpath, the corresponding changelist will be rejected.
AM/BI logging settings aren’t automatically updated for receiver wildcard ICOs. You have to enable the settings manually.
-
-
CPI only. If you would like to test IFlow with nested splitters and/or multicasts, it’s required to manually add/update special header
FigafMulticastIndex
after each multicast (for each branch) andFigafSplitIndex
after each splitter. At first time that headers should be just initialized with the value ofCamelMulticastIndex
andCamelSplitIndex
accordingly. For nested splitters/multicasts it should append a new context value:<multicast index from the top level multicast>_<multicast index from the nested multicast>
. For example:FigafMulticastIndex
:2_3_4
- that value means that message passed 2nd branch of the 1st multicast, then 3rd branch of the 2ns nested multicast then 4th branch of the 3rd nested multicast.
6.2.1. E2e testing of scenario (common use case)
In this section we describe the standard use case with e2e testing of scenario.
-
Go to the
Integration Objects
tab on theTesting Tool
page. -
Select required
Agent
and run synchronization (see Synchronization with Agent system section). -
Choose the integration objects that you want to create
test cases
for. -
Click on
Record messages
. It opensCreate recording requests
dialog box. -
Enter
Title
of createdTest Suite
(e.g.Test Suite 1
) and click onSave
. If chosen objects haven’t been licensed yet, you will see the following error:Click on
Request missing licenses
to update object licenses.After confirming the dialog box,
Test Suite: Test Suite 1
page is opened. -
Send the messages to the scenario or wait for messages if the scenario is scheduled.
-
Select all recordings and click on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.It opens
Polling results
dialog box. -
-
When
Status
of all recordings isCOMPLETED
, close the dialog box. -
Select all recordings and click on
. It opens
Test Case Creation
dialog box, where you can configure:-
Test Objects
for new test case. -
Test Case Type
-REGRESSION
orBASELINE
.Regression testing
is an approach when you test that integration scenario produces expected outbound response for the same inbound data.Baseline testing
is a bit different - it compares the whole set of messages, so it checks that integration scenario consumes expected inbound request and produces expected outbound response. -
Landscape
- binary landscape used to identify development object. So if it’s empty,Agent Object
must be licensed for testing. IfLandscape
is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI. -
Msg Groups Count
that will be used in new test case.
-
-
Once you finish, click on
Create Test Case(s)
.Test Objects are resolved automatically by the following rules:
-
For CPI agents objects with the same Technical Name will be used.
-
For PRO agents:
-
Scenario mappings is used (if it’s configured).
-
If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.
-
-
-
Go to the
LINKED TEST CASES
tab. -
To run created
test suite
(it runs all linkedtest cases
) click on.
-
Go to the
LAST RESULT
tab. -
Click on
Poll remote results
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.When polling is finished, close the dialog box clicking on
Close
.If data in the table is not refreshed, click on
.
-
-
You can see last test suite run results in the table.
-
To check details of exact test run result click on its
button and then click on
View results
. It opens Test Run Details page. -
To open diff viewer and check differences between expected and actual messages, click on the inspected item’s
button and then click on
Diffs
. It opensDifferences
dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.Add items and message properties to ignore list once.
-
When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to
Test Suite: Test Suite 1
page clicking on.
-
Run
test suite
again clicking on.
-
Poll remote messages again clicking on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
To view all
test suite
run results go to theRESULTS HISTORY
tab.
6.2.2. E2e testing of scenario (fetch chosen message groups, PRO scenarios except RDs)
In this section we describe e2e testing of scenario using fetch chosen message groups recording policy (since of 2209 Figaf Tool supports this feature). The feature is available for PRO scenarios except RDs when PRO Agent has Messages logging approach
equals to SAP Log Module
or ICO Logging
.
-
Go to the
Integration Objects
tab on theTesting Tool
page. -
Select required
Agent
and run synchronization (see Synchronization with Agent system section). -
Choose the integration objects that you want to create
test cases
for. -
Click on
Record messages
. It opensCreate recording requests
dialog box. -
Enter
Title
of createdTest Suite
(e.g.Test Suite 1
), choose 'Fetch chosen message groups'. Once it’s chosen,Chosen root messages
can be configured by clicking onbutton. It opens search message groups dialog where you can select message groups:
Once the data is saved, configure message groups dialog is opened:
You can configure root message groups by adding them manually, searching for them and deleting. Once the configuration is saved, you will be returned to
Create recording requests
dialog. Click onSave
to create recordings. If chosen objects haven’t been licensed yet, you will see the following error:Click on
Request missing licenses
to update object licenses.After confirming the dialog box,
Polling results
dialog box is opened. -
When
Status
of all recordings isCOMPLETED
, close the dialog box. -
Select all recordings and click on
. It opens
Test Case Creation
dialog box, where you can configure:-
Test Objects
for new test case. -
Test Case Type
-REGRESSION
orBASELINE
.Regression testing
is an approach when you test that integration scenario produces expected outbound response for the same inbound data.Baseline testing
is a bit different - it compares the whole set of messages, so it checks that integration scenario consumes expected inbound request and produces expected outbound response. -
Landscape
- binary landscape used to identify development object. So if it’s empty,Agent Object
must be licensed for testing. IfLandscape
is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI. -
Msg Groups Count
that will be used in new test case.
-
-
Once you finish, click on
Create Test Case(s)
.Test Objects are resolved automatically by the following rules:
-
For CPI agents objects with the same Technical Name will be used.
-
For PRO agents:
-
Scenario mappings is used (if it’s configured).
-
If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.
-
-
-
Go to the
LINKED TEST CASES
tab. -
To run created
test suite
(it runs all linkedtest cases
) click on.
-
Go to the
LAST RESULT
tab. -
Click on
Poll remote results
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.When polling is finished, close the dialog box clicking on
Close
.If data in the table is not refreshed, click on
.
-
-
You can see last test suite run results in the table.
-
To check details of exact test run result click on its
button and then click on
View results
. It opens Test Run Details page. -
To open diff viewer and check differences between expected and actual messages, click on the inspected item’s
button and then click on
Diffs
. It opensDifferences
dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.Add items and message properties to ignore list once.
-
When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to
Test Suite: Test Suite 1
page clicking on.
-
Run
test suite
again clicking on.
-
Poll remote messages again clicking on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
To view all
test suite
run results go to theRESULTS HISTORY
tab.
6.2.3. E2e testing of receiver determination (PRO, dual stack system)
In this section we describe a use case with e2e testing of receiver determination (since of 2.12 Figaf Tool supports this feature).
Agent System should be configured with enabled dual stack recording (property Enable dual stack recording
on Agent dialog).
-
Go to the
Integration Objects
tab on theTesting Tool
page. -
Select required
Agent
and run synchronization (see Synchronization with Agent system section). -
Choose the integration objects that you want to create
test cases
for. -
Click on
Record messages
. It opensCreate recording requests
dialog box. -
Enter
Title
of createdTest Suite
(e.g.Test Suite 1
), choose 'RD historic lookup period' (the left bound is calculated as current time minus specified lookup period. E.g., if 'X hours' lookup period is selected, then ALL messages which satisfy interface filter and have been sent during last X hours will be polled), and click onSave
. If chosen objects haven’t been licensed yet, you will see the following error:Click on
Request missing licenses
to update object licenses.After confirming the dialog box,
Test Suite: Test Suite 1
page is opened. -
Trigger agent scenario.
-
Select all recordings and click on
Poll remote messages
. It opensPolling results
dialog box. -
When
Status
of all recordings isCOMPLETED
, close the dialog box. -
Select all recordings and click on
. It opens
Test Case Creation
dialog box, where you can configure:-
Test Objects
for new test case. -
Test Case Type
-REGRESSION
orBASELINE
.Regression testing
is an approach when you test that integration scenario produces expected outbound response for the same inbound data.Baseline testing
is a bit different - it compares the whole set of messages, so it checks that integration scenario consumes expected inbound request and produces expected outbound response. -
Landscape
- binary landscape used to identify development object. So if it’s empty,Agent Object
must be licensed for testing. IfLandscape
is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI. -
Msg Groups Count
that will be used in new test case.
-
-
Once you finish, click on
Create Test Case(s)
.Test Objects are resolved automatically by the following rules:
-
For CPI agents objects with the same Technical Name will be used.
-
For PRO agents:
-
Scenario mappings is used (if it’s configured).
-
If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.
-
-
-
Go to the
LINKED TEST CASES
tab. -
To run created
test suite
(it runs all linkedtest cases
) click on.
-
Go to the
LAST RESULT
tab. -
Wait for messages to be polled (refresh the page from time to time).
If data in the table is not refreshed, click on
.
-
You can see last test suite run results in the table.
-
To check details of exact test run result click on its
button and then click on
View results
. It opens Test Run Details page. -
To open diff viewer and check differences between expected and actual messages, click on the inspected item’s
button and then click on
Diffs
. It opensDifferences
dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.Add items and message properties to ignore list once.
-
When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to
Test Suite: Test Suite 1
page clicking on.
-
Run
test suite
again clicking on.
-
Wait for messages to be polled (refresh the page from time to time).
-
To view all
test suite
run results go to theRESULTS HISTORY
tab.
6.2.4. E2e secured testing of scenario with sensitive data (common use case)
Secured testing with sensitive data limits the access granted to developers, to ensure they will not see confidential data. Such testing can be used when your test data is confidential and it isn’t advisable to share this information with people that have not been cleared for it.
Below we describe the standard use case with e2e secured testing of scenario with sensitive data (since of 2.12 Figaf Tool supports this feature).
Agent System should be configured with confidential data (property Has confidential data
on Agent dialog).
Testing with sensitive data is run on secured test systems, so you need to configure Agent (it can be the same Agent or another) as secured (property Secured test system
on Agent dialog).
The following actions have to be done on the PRO system configured as secured to prevent browsing of sensitive payloads sent from Figaf Tool:
-
Add the rules in SAPWebDispatcher file (e.g.,
<path_to_PRO_system>\SYS\global\security\data\icm_filter_rules.txt
):if %{REMOTE_ADDR} !stricmp 127.0.0.1 [AND] if %{REMOTE_ADDR} !stricmp ::1 [AND] if %{REQUEST_METHOD} stricmp "GET" [AND] if %{FORMFIELD:afwmsgkey} !stricmp "" RegIRedirectUrl ^/webdynpro/dispatcher/sap.com/tc~lm~itsam~ui~mainframe~wd/FloorPlanApp.*$ /webdynpro/resources/figaf.com/irt-message-filter/MessagePageServlet [QSA] if %{REMOTE_ADDR} !stricmp 127.0.0.1 [AND] if %{REMOTE_ADDR} !stricmp ::1 [AND] if %{REQUEST_METHOD} stricmp "GET" [AND] if %{FORMFIELD:afwmsgkey} !stricmp "" RegIRedirectUrl ^/webdynpro/resources/sap.com/tc~lm~itsam~ui~mainframe~wd/FloorPlanApp.*$ /webdynpro/resources/figaf.com/irt-message-filter/MessagePageServlet [QSA] if %{REMOTE_ADDR} !stricmp 127.0.0.1 [AND] if %{REMOTE_ADDR} !stricmp ::1 [AND] if %{REQUEST_METHOD} stricmp "GET" RegIRedirectUrl ^/webdynpro/resources/sap.com/tc~lm~itsam~co~ui~xi~msg~wd/Components/com.sap.tc.lm.itsam.co.ui.xi.msg.ximessagedetailed.XIMessageDetailed(.*)$ /webdynpro/resources/figaf.com/irt-message-filter/MessageContentPartsServlet$1 [QSA] if %{REMOTE_ADDR} !stricmp 127.0.0.1 [AND] if %{REMOTE_ADDR} !stricmp ::1 [AND] if %{REQUEST_METHOD} stricmp "GET" RegIRedirectUrl ^/mdt/messagecontent$ /webdynpro/resources/figaf.com/irt-message-filter/DownloadMessageContentServlet [QSA]
-
Restart the system.
-
Deploy
IRT-MESSAGE-FILTER-1.0.sca
component.
-
Go to the
Integration Objects
tab on theTesting Tool
page. -
Select required
Agent
and run synchronization (see Synchronization with Agent system section). -
Choose the integration objects that you want to create
test cases
for. -
Click on
Record messages
. It opensCreate recording requests
dialog box. -
Enter
Title
of createdTest Suite
(e.g.Test Suite 1
) and click onSave
. If chosen objects haven’t been licensed yet, you will see the following error:Click on
Request missing licenses
to update object licenses.After confirming the dialog box,
Test Suite: Test Suite 1
page is opened. -
Send the messages to the scenario or wait for messages if the scenario is scheduled.
-
Select all recordings and click on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.It opens
Polling results
dialog box. -
-
When
Status
of all recordings isCOMPLETED
, close the dialog box. -
Select all recordings and click on
. It opens
Test Case Creation
dialog box, where you can configure:-
Test Objects
for new test case. -
Test Case Type
-REGRESSION
orBASELINE
.Regression testing
is an approach when you test that integration scenario produces expected outbound response for the same inbound data.Baseline testing
is a bit different - it compares the whole set of messages, so it checks that integration scenario consumes expected inbound request and produces expected outbound response. -
Landscape
- binary landscape used to identify development object. So if it’s empty,Agent Object
must be licensed for testing. IfLandscape
is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI. -
Msg Groups Count
that will be used in new test case.
-
-
Once you finish, click on
Create Test Case(s)
.Test Objects are resolved automatically by the following rules:
-
For CPI agents objects with the same Technical Name will be used.
-
For PRO agents:
-
Scenario mappings is used (if it’s configured).
-
If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.
-
Test Objects only from secured Agents can be selected.
-
-
Go to the
LINKED TEST CASES
tab. -
To run created
test suite
(it runs all linkedtest cases
) click on.
-
Go to the
LAST RESULT
tab. -
Click on
Poll remote results
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.When polling is finished, close the dialog box clicking on
Close
.If data in the table is not refreshed, click on
.
-
-
You can see last test suite run results in the table.
-
To check details of exact test run result click on its
button and then click on
View results
. It opens Test Run Details page. -
To open diff viewer and check differences between expected and actual messages, click on the inspected item’s
button and then click on
Diffs
. It opensDifferences
dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.Add items and message properties to ignore list once.
If current user doesn’t have role
IRTSensitivePayloadViewer
, he/she will view encoded payloads, e.g.:Users with role
IRTSensitivePayloadViewer
are allowed to view encoded and original version of payloads, e.g.:To encode
XML
andJSON
documents they are parsed and only element values and attributes (for XML) are replaced in the following way:-
Uppercased letter
→X
-
Lowcased letter
→x
-
Number
→9
-
Space character
→ no changes -
Symbol character
→#
-
Strings with length greater than
20
are truncated,…
is added to the end of string.Encoded view is supported only for XML and JSON documents. For other types payloads won’t be viewed for users without
IRTSensitivePayloadViewer
role.
-
-
When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to
Test Suite: Test Suite 1
page clicking on.
-
Run
test suite
again clicking on.
-
Poll remote messages again clicking on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
To view all
test suite
run results go to theRESULTS HISTORY
tab.
6.2.5. IFlow chain testing
In this section we describe configuration and flow of IFlow chain testing.
-
Go to the
Integration Objects
tab on theTesting Tool
page. -
Select required
Agent
and run synchronization (see Synchronization with Agent system section). -
Create IFlow Chain following the steps:
IFlow Chain is automatically created during PI→CPI Migration with
Pipeline All
profile.It’s possible to delete IFlow Chains clicking on
button and then on
Delete IFlow Chains
button.-
Click on
button and then on
Create IFlow Chain
button. -
Fill
Name
of IFlow Chain object. -
Select
Sender IFlow
- sender IFlow in the chain.Only inbound message is recorded for Sender IFlow
. If it’s needed to record outbound messages as well, add the IFlow toChained IFlows
list. -
Select
Chained IFlows
- IFlows followingSender IFlow
in the chain.All Chained IFlows
must be licensed for testing. -
Save the data.
-
-
Go back to the
Integration Objects
tab on theTesting Tool
page. -
Choose the created IFlow Chain object.
-
Click on
Record messages
. It opensCreate recording requests
dialog box. -
Enter
Title
of createdTest Suite
(e.g.Test Suite 1
) and click onSave
. If chosen objects haven’t been licensed yet, you will see the following error:Click on
Request missing licenses
to update object licenses.After confirming the dialog box,
Test Suite: Test Suite 1
page is opened. -
Send the messages to the scenario or wait for messages if the scenario is scheduled.
-
Select all recordings and click on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.It opens
Polling results
dialog box. -
-
When
Status
of all recordings isCOMPLETED
, close the dialog box. -
Select all recordings and click on
. It opens
Test Case Creation
dialog box, where you can configure:-
Test Objects
for new test case. -
Test Case Type
-REGRESSION
orBASELINE
.Regression testing
is an approach when you test that integration scenario produces expected outbound response for the same inbound data.Baseline testing
is a bit different - it compares the whole set of messages, so it checks that integration scenario consumes expected inbound request and produces expected outbound response. -
Landscape
- binary landscape used to identify development object. So if it’s empty,Agent Object
must be licensed for testing. IfLandscape
is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI. -
Msg Groups Count
that will be used in new test case.
-
-
Once you finish, click on
Create Test Case(s)
.Test Objects are resolved automatically by the following rules:
-
For CPI agents objects with the same Technical Name will be used.
-
For PRO agents:
-
Scenario mappings is used (if it’s configured).
-
If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.
-
-
-
Go to the
LINKED TEST CASES
tab. -
To run created
test suite
(it runs all linkedtest cases
) click on.
-
Go to the
LAST RESULT
tab. -
Click on
Poll remote results
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.When polling is finished, close the dialog box clicking on
Close
.If data in the table is not refreshed, click on
.
-
-
You can see last test suite run results in the table.
-
To check details of exact test run result click on its
button and then click on
View results
. It opens Test Run Details page. -
To open diff viewer and check differences between expected and actual messages, click on the inspected item’s
button and then click on
Diffs
. It opensDifferences
dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.Add items and message properties to ignore list once.
-
When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to
Test Suite: Test Suite 1
page clicking on.
-
Run
test suite
again clicking on.
-
Poll remote messages again clicking on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
To view all
test suite
run results go to theRESULTS HISTORY
tab.
6.2.6. Manual test case creation (PRO)
Sometimes automatic message recording isn’t appropriate (e.g. hundreds of them are used). So it is possible to manually create test cases from prepared messages:
-
Go to the
Integration Objects
tab on theTesting Tool
page. -
Select required
Agent
(PRO) and run synchronization (see Synchronization with Agent system section). -
Choose the integration object for which you want to create
test case
. -
Click on
Create Test Case
button. It opensTest case creation
page: -
Configure test case:
-
Test Suite
- new or existent one. -
Agent Object
for new test case. -
Test Objects
for new test case. -
Landscape
- binary landscape used to identify development object. So if it’s empty,Agent Object
must be licensed for testing. IfLandscape
is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI. -
Test case Type
-REGRESSION
orBASELINE
.Regression testing
is an approach when you test that integration scenario produces expected outbound response for the same inbound data.Baseline testing
is a bit different - it compares the whole set of messages, so it checks that integration scenario consumes expected inbound request and produces expected outbound response. -
Title
of new test case. -
Message
. -
Partner
. -
Upload messages from
:-
Archive
: load archive from your local environment. -
Table
: configure inbound and outbound messages and their properties, load payloads. -
Archive from server
: define the path to archive from server.You can enable
Forcibly calculate order numbers using expressions from recording configuration
whenUpload messages from
isArchive
orArchive from server
. If it’s enabled, order numbers will be recalculated during test case upload. SettingsOrder expressions
andUse alphanumeric order number
(configured on Recording Configuration tab of Integration Object page) will be used during recalculation.Archive has to contain all inbound and outbound messages and
package-info.json
file, that you can create fromTest case creation
page:-
Select
Archive
type of message uploading. -
Click on
Build package-info.json
button. It opensCreate package-info.json for manual upload
page: -
Configure all properties carefully.
For example, we have 3 inbound messages and 1 outbound message per inbound message and we don’t use DC filename template. We have prepared the following payloads:
Then our configuration will be:
It is almost done. Only configuration of From and To components is left.
If you change
Outbound messages count per one inbound
, click onBuild JSON
button. -
Once you finish with configuration click on
Build JSON
button andDownload package-info.json
.Also, you can view built json clicking on
.
-
Move downloaded
package-info.json
file to the folder with payloads and create an archive.
-
-
-
-
Once you finish with configuration, click on
Create Test Case
button. It creates test suite and test case and links them. As the resultTest Case Details
page will be opened: -
To run created test case go to
Testing Results
tab and click onbutton. You will see results in the table.
-
Select unfinished results and click on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
Inspect result clicking on its
button and then clicking on
View results
. It opens Test Run Details page. -
To open diff viewer and check differences between expected and actual messages, click on the inspected item’s
button and then click on
Diffs
. It opensDifferences
dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.Add items and message properties to ignore list once.
-
When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to
Test Case Details
page clicking on.
-
Run
test case
again clicking on.
-
Poll remote messages again clicking on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
6.2.7. Manual test case creation (CPI)
Sometimes automatic message recording isn’t appropriate (e.g. hundreds of them are used). So it is possible to manually create test cases from prepared messages:
-
Go to the
Integration Objects
tab on theTesting Tool
page. -
Select required
Agent
(CPI) and run synchronization (see Synchronization with Agent system section). -
Choose the integration object for which you want to create
test case
. -
Click on
Create Test Case
button. It opensTest case creation
page: -
Configure test case:
-
Test Suite
- new or existent one. -
Agent Object
for new test case. -
Test Objects
for new test case. -
Landscape
- binary landscape used to identify development object. So if it’s empty,Agent Object
must be licensed for testing. IfLandscape
is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI. -
Test case Type
-REGRESSION
orBASELINE
.Regression testing
is an approach when you test that integration scenario produces expected outbound response for the same inbound data.Baseline testing
is a bit different - it compares the whole set of messages, so it checks that integration scenario consumes expected inbound request and produces expected outbound response. -
Title
of new test case. -
Message
. -
Partner
. -
Upload messages from
:-
Table
: configure inbound and outbound messages and their configuration, load payloads. Example of message properties file:[ { "name": "header1", "value": "value", "propertyType": "TRACE_MESSAGE_HEADER", "_comment" : "supported property types: TRACE_MESSAGE_HEADER, TRACE_MESSAGE_EXCHANGE, RUN_STEP_PROPERTY" }, { "name": "header2", "value": null, "propertyType": "TRACE_MESSAGE_EXCHANGE" } ]
-
-
-
Once you finish with configuration, click on
Create Test Case
button. It creates test suite and test case and links them. As the resultTest Case Details
page will be opened: -
To run created test case go to
Testing Results
tab and click onbutton. You will see results in the table.
-
Select unfinished results and click on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
Inspect result clicking on its
button and then clicking on
View results
. It opens Test Run Details page. -
To open diff viewer and check differences between expected and actual messages, click on the inspected item’s
button and then click on
Diffs
. It opensDifferences
dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.Add items and message properties to ignore list once.
-
When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to
Test Case Details
page clicking on.
-
Run
test case
again clicking on.
-
Poll remote messages again clicking on
Poll remote messages
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
6.2.8. Migrate test cases from PI to CPI
PI test case has been created (see E2e testing of scenario (common use case)).
At least one CPI agent is configured.
-
Go to Integration Objects page.
-
Select PI agent.
-
Click on required object
Interface Name
. It opens Integration Object Details page. -
Go to
Agent Test Cases
tab. -
Select previously created test case.
-
Click on
and then on
Migrate to CPI IFlow
button. It opensMigrate Test Cases
dialog:Where you can configure test suite (new or existent one) and
CPI IFlow
orIFlow Chain
created manually or created during PI to CPI migration withPipeline All
profile. If you want to open Test Suite: Test Suite Title page, enableOpen Test Suite’s page after test cases migration
option.If selected IFlow was migrated from PI agent using PI to CPI migration feature, you are able to configure mapping between platforms. Since 2208.1 it’s possible to configure IFlow element ids in BPMN Model with viewer dialog clicking on
button.
Once you configure all fields, click on
Save
. It opens confirmation:As the result, new test case will be created and attached to the test suite.
During the copying of the messages, interface related parameters (stepId, activity, branchId) of the last stage are initialized by value
${determineDuringFirstRun}
. For other stages for bridges and BE scenario value${shouldBeMappedManually}
is used. Original stage number is temporary saved in the step number, then it will be replaced by real value - it needs for BE and bridges to distinguish different original stages. -
Run created test case (either run test suite (e.g. from Test Suites page) or test case separately (e.g. from Test Cases page)).
-
Open Test Run Details page (e.g. view Test Case Details page, go to
Testing Results
tab, click on result’sand click on
View results
).During the first run of the migrated test case, interface metadata of the last stage (4th for BE or bridges, 2nd for other) is automatically updated. For BE/bridges, 2nd stage entries will have
UNFINISHED
state. You can chose, whichUNEXPECTED
message should match this result: click on message’sand click on
Map interface metadata
.Once unexpected testing result matched with the unfinished result, missing data is copied to
UNFINISHED
result,UNEXPECTED
results are deleted, and if it needs, the message are sent to the comparison.
6.3. Test with Testing Tool
This section includes detailed description of all pages and dialog boxes in Testing Tool
.
6.3.1. Integration Objects page
Integration Objects
page looks:
![integration objects](images/testing-tool/testing/integration-objects.png)
On this page you can:
-
synchronize integration objects of the required
Agents
(see Synchronization with Agent system section); -
view last synchronization result (to do it click on
Last Sync Result
button);Last Sync Result
button is available after synchronization and until page is refreshed. -
view the integration objects of the selected
Agent
; -
view deleted objects (to do it click on
Browse deleted objects
switcher) - it shows the objects that have been deleted on remote system after previous synchronization; -
remove deleted objects (to do it select the object(s) and click on
) - it deletes all related objects in scope of
Testing Tool
(e.g. recordings, test cases), and it doesn’t delete the object(s) from Change Tracking Tool;You should switch view for deleted objects to be able to delete them.
-
delete test IFlows for CPI systems (to do it click on
and choose the action);
-
add, remove modules for PRO systems (to do it click on
and choose the action):
-
Add modules
addsFigaf Agent Module
orSAP Log Module
(depending on chosen value ofMessages logging approach
option on Agent dialog box) to communication channel’s modules chain; -
Remove modules
is opposite toAdd modules
; -
Remove ALL modules
triggers removing from all objects. It is used while uninstallation;Add modules
andRemove modules
can be used only for primary objects (sender agreements for wildcard sender ICOs, wildcard receiver ICOs for receiver agreements, sender scenario in the bridges). -
Modules management report
downloads modules management history report with historical changes for communication channels made by Figaf Tool; -
PI agent report
downloads report with channels, operation mappings and function libraries configurations.
-
-
record messages to start configuring testing (to do it select the object(s) and click on
Record messages
button) - it opensCreate recording requests
dialog box; -
create
test case
(to do it select the object and clickCreate Testcase
) - it opens Test case creation page;Record messages
andCreate Testcase
can be used only for primary objects (sender agreements for wildcard sender ICOs, wildcard receiver ICOs for receiver agreements, sender scenario in the bridges).Selected objects should be licensed for Testing (see Configure Object Licenses for details).
-
open details of integration objects (to do it click on
or
buttons) - it opens
Integration Object Details
page (see Integration Object Details page).
Integration Object Details page
Integration Object Details
page includes several tabs with various information about integration object:
-
Common Information
tab shows the object metadata. It looks a little bit different for PRO and CPI objects:-
For PRO objects:
Here you can open
Tracked Object Details
clicking onTracked Object
, and configure the following parameters:-
Scenario type
configures scenario type for the integration object. EnableOverride scenario type
to be able to configure the parameter. In most cases Figaf Tool initializes this parameter appropriately but in some cases this parameter should be defined manually. Be careful with updates it may lead to unexpected behavior. -
Messages Logging Approach
configures messages logging approach for the integration object. OnlySAP Log Module
orICO Logging
can be configured. EnableOverride Messages Logging Approach
to be able to configure the parameter. The option is visible whenUse the most appropriate messages logging approach by default per scenario
is enabled for the agent. -
Scenario validation
contains the following validations:-
Is it ok to test without modules or not:
warning
- ifICO Logging
is used for the object having custom modules,information
- forSAP Log Module
/Agent Module
. -
Undetermined scenario type. Default value for ICO is
UNDEFINED
. If processing type isUNDEFINED
the following operations are blocked for the ICO: modules addition (deletion should work), recording creation, test case running, polling. -
Undetermined default adapter modules (that affects modules addition):
error
forSAP Log Module
/Agent Module
,warning
forICO Logging
. -
Detect if ICO logging is configured properly for current scenario. If setting are not found at all, then there is a message to check if BI/AM logging is enabled (they are global or scenario is not 7.5):
-
When logging settings are not found:
information
whenSap Log Module
enabled. -
When logging settings are found:
information
- if BI and AM not found andSap Log Module
enabled,warning
- if BI and AM not found andICO Logging
enabled.
-
-
-
Communication channels
with information about modules. It’s possible toAdd Modules
andRemove Modules
on this page. -
Channel selection strategy
configures strategy applied to channels listed inChannels filter for modules update
(EXCLUDE_CHANNELS
(default) orINCLUDE_CHANNELS
). -
Channels filter for modules update
- is a list of communication channels which shouldn’t be updated (ifChannel selection strategy
isEXCLUDE_CHANNELS
) or which should be updated (ifChannel selection strategy
isINCLUDE_CHANNELS
). Start typing the communication channel name and select it to add it to the list.Channel selection strategy
andChannels filter for modules update
options must be configured for each ICO/SA/RA separately. -
Message interfaces which should be polled
- is a list of message interfaces to be polled. -
Update channels with passwords
. If false, it prevents updating of communication channels if they have password parameters in the modules chain. -
Has external sender
. This option should be set manually if separate splitter scenario is used for triggering current scenario or when external correlation id is sent with the message andSAP Log Module
orICO Logging
integration types are configured onAgent
. Regarding the second case, it is required because we searchAdapter Framework Data
entries (entries in theSAP Message Monitoring
) and determine root entries where root entry is calculated by default as an entry with matching interface info and without parent id and correlation id. EnablingHas external sender
option disables some checks for root entry determination and makes it possible to have root entry with the link to external parent. But such configuration will cause issues when non-root messages with the same interface and with the link to real parent entry are fetched fromSAP Message Monitoring
. -
Add LogVersion status to the messages lookup during the polling
- enable it if you want to add LogVersion status to the messages lookup during the polling. -
Test separately from parent scenario
enables possibility to test the ICO in Async/Sync bridge separately. The option is available on Async/Sync bridges child objects pages. The option is relevant only forSAP log module
/ICO Logging
integrations.You also need to enable
Record synchronous service response if exists
setting on recording configuration page. -
Enable old polling approach
enables old polling approach for scenario. That option has effect if old polling approach is not enabled globally by default (in bootstrap properties:irt.testing.pro.polling.async-with-splitter-scenario.use-old-approach
,irt.testing.pro.polling.async-without-splitter-scenario.use-old-approach
,irt.testing.pro.polling.sync-scenario.use-old-approach
,irt.testing.pro.polling.async-sync-bridge-scenario.use-old-approach
). When the option is enabled the following settings are shown:-
Enable automatic messages lookup optimization during the polling
. Default value istrue
. Disable this option if you poll messages for scenario with the 1 receiver interface and 1 receiver channel but with the message split or scenario with the interfaces/receiver/message split without BI staging enabled and your agent usesSAP Log module
orICO Logging
. If it’sfalse
, the following options can be configured:-
Forcibly lookup successors during the polling
enables successors lookup using message id. -
Forcibly lookup parent during the polling
enables parent lookup by msgId using refId/parentId. -
Forcibly lookup by Reference ID/Correlation ID during the polling
enables lookup by refId/correlationId using message id.
-
-
-
-
For CPI objects:
-
For IFlow Chain objects
Sender IFlow
configures sender IFlow in the chain,Chained IFlows
configures IFlows followingSender IFlow
in the chain.
-
-
-
Recording Configuration
tab shows current recording configuration and provides functionality to change the configuration. The following settings are configured:-
For PRO objects:
-
Messages Count
defines how many messages will be recorded. -
per unique message/partner combination
sets up a recording strategy per message/partner, so that expected message groups count meansn messages per message/partner
. It also requires a timeout is hours to define an expected period of recording. -
Message Expression
defines some specific text, e.g. 'demo2019'. -
Partner Expression
defines XPath expression, e.g. '//Seller'. This means that once it is processing this data it will then go into it. -
Order expressions
means when you are receiving messages if there are some correlation or some id that you need to use for ordering these. You need it if you have a message that being split, otherwise it is pretty difficult to see which of the messages you need to compare. -
Message Filter
andPartner Filter
define interfaces to be recorded. -
Use alphanumeric order number
enables calculation of order number as a string instead of a number. -
Don’t calculate order number for a single entry
- if true, order number is set to1
(if there are 1 inbound and 1 outbound messages). -
Record synchronous service response if exists
is used when you have sync call. We test it the following way:-
You have a message that being processed.
-
The first part is the sender adapter.
-
Then we go to the receiver adapter.
-
We log it before it’s been sent to the SOAP channel for instance.
-
We log it in the response coming back from the SOAP channel.
-
We log it just before it’s delivered to livery segment system.
-
If
Record synchronous service response if exists
is true, we log response coming back and use that to set up testing.Enable it if you record messages for child ICO in Async/Sync bridge.
-
-
Record payloads logged by the adapter if possible
is used to record JSON payloads logged by the Rest adapter or CSV payloads logged by the File adapter. Supported only forSAP Log Module
andICO Logging
message retrieving ways.
-
-
For CPI objects:
-
Messages Count
defines how many messages will be recorded. -
Message Expression
defines some specific text, e.g. 'demo2019'. -
Partner Expression
defines XPath expression, e.g. '//Seller'. This means that once it is processing this data it will then go into it. -
Order expressions
means when you are receiving messages if there are some correlation or some id that you need to use for ordering these. You need it if you have a message that being split, otherwise it is pretty difficult to see which of the messages you need to compare. -
Use alphanumeric order number
enables calculation of order number as a string instead of a number. -
Don’t calculate order number for a single entry
- if true, order number is set to1
(if there are 1 inbound and 1 outbound messages). -
Download additional payloads
- if true, additional payloads (e.g. MPL attachments, datastore entries) are recorded. -
Use only finishing run steps
enables functionality when only the last messages in a test case will be compared. If true,Run steps selection strategy
andRun steps filter
can’t be set. -
Run steps selection strategy
andRun steps filter
configure steps which should be recorded. Since 2209 it’s possible to configure run steps filter in BPMN Model with viewer dialog clicking onbutton.
If it’s IFlow Chain object, it’s possible to configure Run steps filter
for each IFlow used in IFlow Chain separately.
-
-
-
Test Configuration
tab shows test configurations of the integration object. There are the following properties can be configured here:-
Comparison Type
defines used comparison strategy. Most of the timeAUTO
is fine. -
EDI functional group correlation key path
defines path to data element or component element which can be used as a group identifier during comparison. Define a value if there are several functional groups in EDI outbound messages. The path format is described below. -
EDI message correlation key path
defines path to data element or component element which can be used as a message identifier during comparison. Define a value if there are several messages in EDI outbound messages. Don’t define a value if there are several groups with 1 message in each group.EDI functional group correlation key path
andEDI message correlation key path
must be configured in the special format:<segment prefix><data element index and options><component element index (optional)>
where:
-
<segment prefix>
- shouldn’t contain[
or]
, for example,UNE
,DTM+137
. -
<data element index and options>
:[<standalone index>]
or[<standalone index>|<option>]
. -
<component element index>
: for example,1
.-
<standalone index>
: for example,1
-
Available option:
-
substring
- the option defines a substring rule for group/message correlation id path in EDI comparison. The option has the following syntax:substring(<characterIndex>|<characterIndex>)
, wherecharacterIndex
is index of the first or last character of substring that should be used as an identifier, could have positive or negative value:-
substring(-2|)
,substring(-2)
, andsubstring(-2|0)
uses 2 last characters, e.g.somestriNG
. -
substring(-5|-1)
uses 4 characters starting from the fifth character from the end, e.g.somesTRINg
. -
substring(1|-1)
uses all characters starting from the second and ending with penultimate, e.g.sOMESTRINg
. -
substring(-1|1)
uses the first and the last characters, e.g.SomestrinG
.
-
-
-
Examples:
-
Only segment prefix:
UNE
,DTM+137
. -
Segment prefix with data element index:
UNH[0]
,IMD[1]
. -
Segment prefix with data element index and option:
UNE[1|substring(-2|)]
. -
Segment prefix with data element index and component element index:
UNB[2][4]
.
-
-
Item Ignore
defines XPath expressions (divided by semicolon) to ignore, e.g. '/Invoice/Date'.For EDI type you can configure items in the special format
<segment prefix><data element indexes and options><component element indexes (optional)>+<data element indexes and options><component element indexes (optional)>+<data element indexes and options><component element indexes (optional)>+...
where:
-
<segment prefix>
- shouldn’t contain[
or]
, for example,UNE
,DTM+137
. -
<data element indexes and options>
:[<standalone/ranged index>, …, <standalone/ranged index>|<option1>, <option2>]
-
<component element indexes>
:[<standalone/ranged index>, …, <standalone/ranged index>]
-
<standalone index>
: for example,1
-
<ranged index>
: for example,0-4
-
Available options:
-
empty-missing
-
java formatting which matches regex
%[\\d.]*([dfeg]{1})$
, for example:%.3f
,%.6e
.
-
-
Examples:
-
Only segment prefix:
UNE
,DTM+137
. -
Segment prefix with data element indexes:
UNH[0]
,IMD[0-2]
,IMD[0,2]
. -
Segment prefix with data element indexes and options and component element indexes:
UNB[0]+[1|empty-missing][0]+[2-5,7-8,9-10][4,5]
.
For XML type you can configure items in the special format
<XPath><options>
where:
-
<XPath>
- standard XPath expression, for example,//targetElem
. -
<options>
:{{<option1>,<option2>}}
-
Available options:
-
empty-missing
-
java formatting which matches regex
%[\\d.]*([dfeg]{1})$
, for example:%.3f
,%.6e
.
-
-
Examples:
-
Only XPath expression:
//targetElem
. -
XPath expression with additional ignoring options:
/targetElem{empty-missing,%.3f}
.
-
-
Message Properties Ignore
defines dynamic properties (divided by semicolon) to ignore, e.g. 'X-Vcap-Request-Id'. If you have a lot of dynamic properties with the same prefix (e.g.DynamicProperty1
andDynamicProperty2
), you can define just common prefix (DynamicProperty
) to ignore all dynamic properties with this prefix during comparison.gItem Ignore
andMessage Properties Ignore
properties can be configured during result comparison in Differences dialog that can be opened from Test Run Details page. -
Order Expressions
defines how to order messages. -
Collection Item Identification Expressions
(only for XML type) defines rules to compare a collection with the different order of elements in the expected and actual messages. This setting should be configured in the following format:<path to the collection>-><relative path to the identification element>
If path to your collection is
/example/collection
and path to element identified collection idexample/collection/object/id
, thenCollection Item Identification Expressions
is/example/collection->object/id
. -
Result Notification Delay (in minutes)
. When current test object is used in some test suite, value of this option is used in the calculation of the min amount of time between the time when test suite run report is generated and its sending through email.Result Notification Delay
for test suite is calculated as the max ofResult Notification Delay
values configured for each test object used by this test suite. Configure delay properly when testing of current scenario takes a lot of time. -
Use alphanumeric order number
enables calculation of order number as a string instead of a number. -
Don’t calculate order number for a single entry
- if true, order number is set to1
(if there are 1 inbound and 1 outbound messages). -
Use expected message encoding during comparison
. Enable if you want to forcibly use encoding from expected message instead of dynamically determined encoding from actual result. Have effect only for the following message types: EDIFACT, X12, TEXT. -
Ignore XML attributes
configures XML attributes ignoring during comparison. -
Trim whitespaces before XML comparison
enables ignoring whitespaces during comparison of XML payloads. By default, option is enabled. -
For PRO objects you can configure additional settings for testing:
-
Don’t use original receiver communication (mock endpoints)
(for BE scenarios) enables testing with mock data. It uses the replacement of original receiver channel links in the test scenario by our REST channel links. For each original receiver channel, Figaf Tool creates and keeps actual the REST channel with the prefixFigafIRT_
. That channel calls endpoint which just receives code 200 without the body. All custom modules from the original channel are copied to that REST channel. So requests to the original receiver are avoided. -
Use splitter
- if true, B2B splitter is used. If you have B2B messages and you want to send them in with the B2B splitter, you can specify which scenario to set them up and to send them in with this specific splitter.There is also global splitter setting that you can use (see Agents integration configuration, field
Default splitter
on Agent dialog box). -
Decide to test with/without sender modules automatically
- true by default. When sender communication channel has custom modules, the standard way of testing for PRO scenarios in Figaf Tool (through common infrastructure scenario) will not work correctly because these custom modules will not be triggered. Figaf Tool determines such case automatically ifDecide to test with/without sender modules automatically
is true, as a result, special infrastructure scenario will be created for making correct test. Otherwise you can decide to apply or not such behavior for current test object.After disabling
Decide to test with/without sender modules automatically
new optionRun migration tests with modules on sender side
is available. You have to decide by yourself should it be selected or not. -
Generate new numbers for each message
- it adds theNumberRange Module
to the test channel, so you can use theB2B NRO
to maintain a list of numbers. -
Don’t send message after testing
- it can be applied only to standard EO/EOIO scenarios and only whenFigaf Agent Module
integration type is configured onAgent
. Agent Module throws specific exception after processing of 2nd stage message (after sender mapping). Then Figaf Tool triggers cancellation of such message. As a result, the message is not sent to real receiver but tested in Figaf Tool. It causes critical limitation for BE scenarios because only sender mapping is tested. -
Test 3rd stage messages in baseline test cases
- if true, it creates test run result for 3rd stage message (sync service response) so comparison between expected and actual results is processed. -
Validate receiver integration
- if true, AFD status will be compared with the expected valuesuccess
. If they are not equal, it will be shown onDifferences
dialog as a dynamic configuration propertyhttp://figaf.com/testing/virtual-property|MessageStatus
. The feature works only forSAP Log module
andICO Logging
. -
Don’t skip adapter-specific properties by default during message sending
- if true, message properties that start with one of prefixesDEFAULT_IGNORED_PROPERTY_PREFIXES
or equal to one ofDEFAULT_IGNORED_PROPERTIES
aren’t skipped during message sending. -
Define additional dynamic properties to send with the test message
enables configuration of additional dynamic properties.
-
-
For CPI objects you can configure:
-
Don’t use original receiver communication (mock endpoints)
enables testing with mock data. Linked test cases are run with replacing real receivers responses by previously recorded responses (from corresponding receivers) on Agent Object. Figaf Tool clones original test object (IFlow) with replacing sender and receiver channels to HTTPS where receiver channel endpoints are special Figaf Tool API. To use this mocking service you need to have configured Figaf Tool to use the cloud connector (see cloud connector properties configured in run command). -
Use a separate IFlow to send messages
enables testing by calling another IFlow. If true,Sender IFlow
can be selected.Use a separate IFlow to send messages
andDon’t use original receiver communication (mock endpoints)
can’t be used simultaneously.Please note that if shared configuration is configured for the IFlow with enabled
Use a separate IFlow to send messages
,Test with mock data
should be disabled in the shared configuration.If
Sender IFlow
has multiple entry points, the first one will be selected for running.If
Sender IFlow
has a not standard sender channel, a copy IFlow (with replaced sender) will be created. But a target IFlow will never be changed if we use aSender IFlow
. -
Use only finishing run steps
enables functionality when only the last messages in a test case will be compared. If true,Run steps selection strategy
andRun steps filter
can’t be set. -
Run steps selection strategy
andRun steps filter
configure steps which should be tested. Since 2209 it’s possible to configure run steps filter in BPMN Model with viewer dialog clicking onbutton.
If it’s IFlow Chain object, it’s possible to configure Run steps filter
for each IFlow used in IFlow Chain separately.
-
-
-
Recording Requests
tab looks:Several actions can be done on this tab:
-
View related
test suites
clicking onTest Suite Title
. It opens Test Suite: Test Suite Title page page. -
View recording details clicking on
. It opens 'Recording Request Details' page.
-
Copy recording clicking on
icon and then on
Copy
button. It opens 'Copy Recording Requests' dialog box.-
Fetch policy
switches the way how messages will be fetched from the message monitoring. There are several possible values:-
Fetch historic messages
- takes messages from message monitoring in order of their creation depending on specified period inHistoric lookup period
property (the left bound is calculated as current time minus specified lookup period). When you useFetch historic messages
option, be sure that historic messages have enough metadata to record them. ForSAP Log Module
integration type messages should have logged state withirtLogStage<x>
labels, where x=1…4, forICO Logging
integration type messages should have logged state withBI
andAM
labels.Fetch historic messages
is used for all CPI agents and when PRO Agent hasMessages logging approach
equals toSAP Log Module
orICO Logging
(see Agents integration configuration). -
Fetch future messages
- only messages sent after recording creation will be recorded. -
Fetch chosen message groups
enables message groups configuration. Once it’s selected,Chosen root messages
can be configured by clicking onbutton. It opens search dialog where you can select root message groups for recording.
Fetch chosen message groups
is used only when PRO Agent hasMessages logging approach
equals toSAP Log Module
orICO Logging
(see Agents integration configuration) and scenarios used in recordings aren’t RDs.
-
-
RD historic lookup period (only for PRO agents)
is shown for agents with enabled dual stack recording (see propertyEnable dual stack recording
on Agents integration configuration) and similar toHistoric lookup period (only for PRO Agents)
. -
Update channels with password
(PRO Agents). -
You can configure more properties clicking on
:
-
For PRO objects:
-
Messages Count
defines how many messages will be recorded. -
per unique message/partner combination
sets up a recording strategy per message/partner, so that expected message groups count meansn messages per message/partner
. It also requires a timeout is hours to define an expected period of recording. -
Message Expression
defines some specific text, e.g. 'demo2019'. -
Partner Expression
defines XPath expression, e.g. '//Seller'. This means that once it is processing this data it will then go into it. -
Order expressions
means when you are receiving messages if there are some correlation or some id that you need to use for ordering these. You need it if you have a message that being split, otherwise it is pretty difficult to see which of the messages you need to compare. -
Message Filter
andPartner Filter
define interfaces to be recorded. -
Use alphanumeric order number
enables calculation of order number as a string instead of a number. -
Don’t calculate order number for a single entry
- if true, order number is set to1
(if there are 1 inbound and 1 outbound messages). -
Record synchronous service response if exists
is used when you have sync call. We test it the following way:-
You have a message that being processed.
-
The first part is the sender adapter.
-
Then we go to the receiver adapter.
-
We log it before it’s been sent to the SOAP channel for instance.
-
We log it in the response coming back from the SOAP channel.
-
We log it just before it’s delivered to livery segment system.
-
If
Record synchronous service response if exists
is true, we log response coming back and use that to set up testing.Enable it if you record messages for child ICO in Async/Sync bridge.
-
-
-
For CPI objects:
-
Messages Count
defines how many messages will be recorded. -
Message Expression
defines some specific text, e.g. 'demo2019'. -
Partner Expression
defines XPath expression, e.g. '//Seller'. This means that once it is processing this data it will then go into it. -
Order expressions
means when you are receiving messages if there are some correlation or some id that you need to use for ordering these. You need it if you have a message that being split, otherwise it is pretty difficult to see which of the messages you need to compare. -
Use alphanumeric order number
enables calculation of order number as a string instead of a number. -
Don’t calculate order number for a single entry
- if true, order number is set to1
(if there are 1 inbound and 1 outbound messages). -
Download additional payloads
- if true, additional payloads (e.g. MPL attachments, datastore entries) are recorded. -
Use only finishing run steps
enables functionality when only the last messages in a test case will be compared. If true,Run steps selection strategy
andRun steps filter
can’t be set. -
Run steps selection strategy
andRun steps filter
configure steps which should be recorded. Since 2209 it’s possible to configure run steps filter in BPMN Model with viewer dialog clicking onbutton.
If it’s IFlow Chain object, it’s possible to configure Run steps filter
for each IFlow used in IFlow Chain separately.
As a result of recording coping, new recording will be created.
-
-
-
-
Delete selected recording requests clicking on
button.
In current version of Figaf Tool recordings are not stopped, they are deleted. -
Create
Test Cases
clicking onbutton. It opens 'Test Case creation' dialog box. After
test case
is created the source recording should be removed from recordings table.-
You should create
test cases
for recordings having recorded inbound/outbound messages, otherwise you will get the error. -
You can create
test cases
for recordings having not enough (less than configuredMessages Count
) recorded inbound/outbound messages, thentest case
with available messages will be created, and recording will stay in Recordings table (having less messages count).
-
-
Poll remote messages clicking on
Poll remote messages
button. Before polling remote messages you should send the messages to the scenario or wait for messages if the scenario is scheduled, otherwise, you won’t get any messages.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
Open last polling result clicking on
Open Last Polling Result
button.Open Last Polling Result
button is available after polling remote data and until page is refreshed. -
Record messages clicking on
Record messages
button. It opensCreate recording requests
dialog box.
-
-
Agent Test Cases
tab showstest cases
which have current Integration Object as Agent Object. This tab looks:On this tab you can:
-
View
test case
details clicking on. It opens Test Case Details page.
-
Select the test case(s) and do actions:
-
Run the test case(s) clicking on
or
buttons:
-
Run
uses static links to test objects defined in the test case. -
Run on
resolves these links dynamically at the moment of test run. It is possible to see how these links are resolved throughCurrent Mapping Configuration
button - it opens 'Mapping Configuration' dialog box:There are Agent Objects (parent nodes) and Test Objects (child nodes) in opened dialog box.
-
-
-
Click on table’s
button and choose:
-
Create Test Case
(PRO) opens Test case creation page. -
Merge Test Cases
merges two selected test cases' messages. It removes previous test cases run results.You should select two test cases with the same Agent Object, Message and Partner. -
Add to test suite
adds selected test case(s) to new or existing test suite. It opens 'Create Test Suite' dialog box:You can choose to create new test suite or to use existing one. If you enable
Open Test Suite’s page after creation
option, Test Suite: Test Suite Title page will be opened after saving. -
Trim tests
removes messages from selected test case(s). It keeps number of inbound messages equals to the value ofHow many messages to keep in the test case?
property of 'Trim Test Cases' dialog box: -
Migrate to CPI IFlow
(PRO) migrates PI test cases to CPI (see Migrate test cases from PI to CPI scenario). It opensMigrate Test Cases
dialog:Where you can configure test suite (new or existent one) and
CPI IFlow
orIFlow Chain
created manually or created during PI to CPI migration withPipeline All
profile. If you want to open Test Suite: Test Suite Title page, enableOpen Test Suite’s page after test cases migration
option.If selected IFlow was migrated from PI agent using PI to CPI migration feature, you are able to configure mapping between platforms. Since 2208.1 it’s possible to configure IFlow element ids in BPMN Model with viewer dialog clicking on
button.
Once you configure all fields, click on
Save
. It opens confirmation:As the result, new test case will be created and attached to the test suite.
During the copying of the messages, interface related parameters (stepId, activity, branchId) of the last stage are initialized by value
${determineDuringFirstRun}
. For other stages for bridges and BE scenario value${shouldBeMappedManually}
is used. Original stage number is temporary saved in the step number, then it will be replaced by real value - it needs for BE and bridges to distinguish different original stages. -
Delete
removes selected test case(s). -
Clean
removes all test run results and reports of selected test case(s).
-
-
-
Linked Test Cases
tab showstest cases
which have current Integration Object as test object. This tab looks:On this tab you can:
-
View
test case
details clicking on. It opens Test Case Details page.
-
Select the test case(s) and do actions:
-
Run the test case(s) clicking on
or
buttons:
-
Run
uses static links to test objects defined in the test case. -
Run on
resolves these links dynamically at the moment of test run. It is possible to see how these links are resolved throughCurrent Mapping Configuration
button - it opens 'Mapping Configuration' dialog box:There are Agent Objects (parent nodes) and Test Objects (child nodes) in opened dialog box.
-
-
Detach link between current Integration Object and selected
test case
clicking onDetach
button.
-
-
6.3.2. Test Suites page
Test Suites
page shows all existing test suites. The page looks:
![test suites](images/testing-tool/testing/test-suites/test-suites.png)
On this page you can:
-
view test suites unrelated or related to tickets (to see test suites related to tickets click on
Hide Ticket related Test Suites
switcher); -
reset message interfaces to
${determineDuringFirstRun}
for chosen test suites to be able to reinitialize them in runtime; -
delete selected test suite(s) clicking on
Delete
; -
delete selected test suite(s) run results clicking on
Clean
; -
run selected test suite(s) clicking on
;
-
view test suite details clicking on
button. It opens 'Test Suite: Test Suite Title' page (see Test Suite: Test Suite Title page).
Test Suite: Test Suite Title page
Test Suite: Test Suite Title
page includes several tabs with various data related to the test suite:
On each tab you are able to edit the test suite data (to start editing click on button):
-
Test Suite Title
.Test Suite Title
must be unique. -
Scheduled
- if true,TestSuiteRunner
task runs this test suite according to configured cron expression (configureTestSuiteRunner
property onConfiguration → Application
page).Agent Objects used for testing should be licensed, otherwise, scheduled test suites won’t be run. -
Send report by email
- if true,TestSuiteResultNotifier
task sends test suite excel report to email configured onConfiguration → Application
page (configureTestSuiteResultNotifier
,SMTP host
,SMTP port
,SMTP username
,SMTP password
,Email Protocol
,Email From
,Email To
properties onConfiguration → Application
page). -
Use default test systems for running
enablesRun on
behavior for scheduled test suite running - test suite will be run on all Agents licensed as test systems excluding marked as production systems.You can check licensed Agents on License page. Production systems can be checked on Agent dialog box.
To save changes click on button, to reset -
.
To run the test suite click on or
buttons:
-
Run
uses static links to test objects defined in the test case. -
Run on
resolves these links dynamically at the moment of test run. It is possible to see how these links are resolved throughCurrent Mapping Configuration
button - it opens 'Mapping Configuration' dialog box:There are Agent Objects (parent nodes) and Test Objects (child nodes) in opened dialog box.
You can’t run test suite without linked test cases. |
To create recordings click on Record messages
button. It opens the dialog where you can select an integration object then Create recording requests
dialog box will be opened.
-
RECORDINGS
tab looks:Here you can:
-
View Agent Object clicking on
Agent Object Title
(it opens Integration Object Details page). -
Delete recordings (see corresponding actions here).
-
View recording configuration clicking on
icon and then on
Config
button (see settings here). -
Copy recording clicking on
icon and then on
Copy
button (see settings here). -
Poll remote messages for selected recordings.
-
Create test cases for selected recordings clicking on
.
-
-
LINKED TEST CASES
tab shows test cases linked to current test suite and looks:Here you can:
-
View Agent Object clicking on
Agent Object Title
(it opens Integration Object Details page). -
Add test cases clicking on
button. It opens 'Add Test Cases to the test suite' dialog box:
Just select the
Agent
, the object and required test cases and click on 'OK'. -
Select test case(s) and do actions:
-
Detach test case(s) from test suite clicking on
button. It deletes the link between current test suite and selected test case(s).
-
-
View test case details clicking on
button. It opens Test Case Details page.
-
-
LAST RESULT
tab shows last test suite run result and looks:On this tab you can:
-
View Agent and Test Objects clicking on
Agent Object Title
orTest Object Title
. It opens Integration Object Details page. -
Poll remote results clicking on
Poll remote results
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
View last polling result clicking on
Open Last Polling Result
.Open Last Polling Result
button is available after polling remote data and until page is refreshed. -
Export as a test case to PIT (only for PRO) clicking on
Export as a Test Case to PIT
.Export as a Test Case to PIT
is available only for licensed version after the test suite running. -
Compare testing results and build reports clicking on
button.
The option reprocesses comparison and report generation asynchronously. It makes sense to execute the option once you have configured a new "ignore rule". -
Do the following actions clicking on
and choosing corresponding option:
-
Rerun
reruns required test case. -
View testcase
opens 'Test Case Details' page. -
Download report
.Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
View results
opens Test Run Details page.
-
-
-
RESULTS HISTORY
tab shows results of all test suite runs and looks:-
Configure
Running Date filter
to hide some test suite run results. -
Select the result and do actions:
-
Compare testing results and build reports clicking on
button.
The option reprocesses comparison and report generation asynchronously. It makes sense to execute the option once you have configured a new "ignore rule". -
Poll remote results for unfinished runs clicking on
Poll remote results
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
View last polling result clicking on
Open Last Polling Result
.Open Last Polling Result
button is available after polling remote data and until page is refreshed. -
Export as a test case to PIT (only for PRO) clicking on
Export as a Test Case to PIT
. -
Delete testing results clicking on
button.
-
-
Download report of the test suite run result clicking on
button in the table row.
Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
View Test Suite Run details clicking on
. It opens Test Suite Run page.
-
6.3.3. Test Suite Runs page
Test Suite Runs
page shows the test suites that were run in period defined in Running Date filter
and looks:
![ts runs](images/testing-tool/testing/test-suites/ts-runs.png)
The following actions are available on this page:
-
Viewing test suite details: click on
Test Suite
and it opens Test Suite: Test Suite Title page. -
Testing results comparison and reports building clicking on
button.
The option reprocesses comparison and report generation asynchronously. It makes sense to execute the option once you have configured a new "ignore rule". -
Remote results polling. Select unfinished test suite run(s) and click on
Poll remote results
button.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
Downloading consolidated diff report for test suite runs. Select test suite run(s) and click on
Diff report
button. It will take diff info from all related test runs/test run results with ERROR status and build CSV file (semicolon as a separator) with the following information:Combination of fields
Message
,Partner
,Diff State
,Old Value
,New Value
organize a unique key,Affected Test Suites
andAffected Messages count
are aggregated.Affected Messages count
- is count of failed test run results (outbound messages) which contain the error determined by the key. Obviously, if some error occurred in one message several times, that message will be counted only once.Correlation between old and new value for now properly added only for EDI types (EDIFACT and X12).
-
Export as a test case to PIT.
-
Deleting selected testing results.
-
Downloading report.
Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
Viewing Test Suite Run details clicking on
. It opens Test Suite Run page.
Test Suite Run page
Test Suite Run
page opens a historical test suite run and browse related test runs:
![ts run page](images/testing-tool/testing/test-suites/ts-run-page.png)
On this page you can:
-
View linked test suite. It opens Test Suite: Test Suite Title page.
-
Work with test runs:
-
View Agent and Test Objects clicking on
Agent Object Title
orTest Object Title
. It opens Integration Object Details page. -
Poll remote results clicking on
Poll remote results
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
View last polling result clicking on
Open Last Polling Result
.Open Last Polling Result
button is available after polling remote data and until page is refreshed. -
Do the following actions clicking on
and choosing corresponding option:
-
Rerun
reruns required test case. -
View testcase
opens 'Test Case Details' page. -
Download report
.Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
View results
opens Test Run Details page.
-
-
-
Menu options:
-
Compare results
for selected test runs. -
Open Used Mapping Configuration
opens used mapping configuration. -
Test suite run report
downloads test suite run report.Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
Export to CSV
downloads test runs CSV report. -
Extract related source data as a test case
copies message groups related to filtered (not successful or not compared) test run results from all test runs to the new test case. -
Rerun
reruns selected test runs.
-
6.3.4. Test Cases page
Test Cases
page shows all existing test cases and looks:
![test cases](images/testing-tool/testing/test-cases/test-cases.png)
On this page you can:
-
View Agent Object clicking on
Agent object
. It opens Integration Object Details page. -
View Test Objects clicking on corresponding
button and selecting the object. It opens Integration Object Details page.
-
View Test Suites clicking on corresponding
button and selecting the test suite. It opens Test Suite: Test Suite Title page.
-
Run selected test case(s) clicking on
or
buttons:
-
Run
uses static links to test objects defined in the test case. -
Run on
resolves these links dynamically at the moment of test run. It is possible to see how these links are resolved throughCurrent Mapping Configuration
button - it opens 'Mapping Configuration' dialog box:There are Agent Objects (parent nodes) and Test Objects (child nodes) in opened dialog box.
-
-
Click on table’s
button and choose:
-
Create Test Case
opens Test case creation page. -
Merge Test Cases
merges two selected test cases' messages. It removes previous test cases run results.You should select two test cases with the same Agent Object, Message and Partner. -
Add to test suite
adds selected test case(s) to new or existing test suite. It opens 'Create Test Suite' dialog box:You can choose to create new test suite or to use existing one. If you enable
Open Test Suite’s page after creation
option, Test Suite: Test Suite Title page will be opened after saving. -
Trim tests
removes messages from selected test case(s). It keeps number of inbound messages equals to the value ofHow many messages to keep in the test case?
property of 'Trim Test Cases' dialog box: -
Delete
removes selected test case(s). -
Clean
removes all test run results and reports of selected test case(s).
-
-
View Details of the test case clicking on it’s
button. It opens Test Case Details page.
Test Case Details page
Test Case Details
page includes several tabs with various data related to the test suite:
-
Test Case Information
tab shows general information about the test case, linked test objects and test suites. This tab looks:On this tab you can:
-
Edit the test case title, message or partner (to start editing click on
button). To save changes click on
button, to reset -
.
-
View Agent Object clicking on
Agent Object Title
. It opens Integration Object Details page. -
View Test Objects clicking on required Test Object Title. It opens Integration Object Details page.
-
View Test Suites that the test case is linked to clicking on required Test Suite Title. It opens Test Suite: Test Suite Title page.
-
Add or remove Test Object(s) clicking on
or
buttons respectively.
Test Objects are only from the same platform as Agent Object can be added. -
Add the test case to new or existing Test Suite or remove the test case from Test Suite(s) clicking on
or
buttons respectively.
-
-
Messages
tab shows inbound/outbound messages in the test case and looks differently for PRO and CPI Agent Objects:-
For PRO Agent Objects:
The following actions can be executed for both PRO and CPI Agent Objects:
-
Calculate ordering numbers
calculates ordering numbers based on configuration on Recording Configuration tab of related integration object or suitable Shared Configuration. -
Calculate file type and encoding
calculates messages file types and encoding based on Encoding Determination configuration if encoding determination rules exist or standard algorithm if they don’t exist. -
Options available in the message’s
button:
-
View/Edit message
opens 'Message Details' page. -
Delete message group
removes all messages with the same 'Inb. Group' as the one that the option selected for. It’s possible to delete only message or delete messages and related test run results (reports will be rebuilt in this case). -
Copy message group
copies all messages (with the same 'Inb. Group' as the one that the option selected for) to selected test case(s). -
Change interface metadata
opens 'Change message interface metadata' dialog box:You can configure required changes here.
Change messages globally
applies changes to all messages with 'Source Message Interface Metadata'. -
Download
downloads message xml file for PRO and file without extension for CPI.
-
-
-
For CPI Agent Objects:
The following actions can be executed for CPI Agent Objects:
-
Generate groovy scripts test data
generates groovy scripts (see Groovy scripts unit testing). -
Options available in the message’s
button:
-
Build groovy script
generates groovy script (see Groovy scripts unit testing). -
Generate test data for current message
generates json.
-
-
-
-
Messages Anonymization
tab helps to configure anonymized test case based on current test case and looks:It works only for XML messages. On this tab you can:
-
Add message mappings selecting
Message group id
and clicking twice on the element you want to anonymize:You also can add message mappings clicking on button in
Applied mappings
table. In such case you have to defineElement path
by yourself.It opens 'Create mapping' dialog box:
Select desired function:
-
Multiply by random value from range
multiplies source values by a random number from the range defined by values ofFrom
andto
properties. If you want to get integers, setCount of number after a decimal point
property value as 0, otherwise, define desired value. Example with filled properties:To test function enter
Test value
and click onTest function
. -
Generate value from template
generates values fromTemplate
property value. You can define template using special characters ('#' for number, '?' for uppercased character, '*' for lowcased character, e.g.###
- template for 3 random numbers) or anonymization variables defined in Anonymization variables, e.g.$Figaf ${lastname}
. Example with filled properties:To test function click on
Test function
.
-
-
Edit message mapping clicking on
button in
Applied mappings
table. -
Delete message mapping clicking on
button in
Applied mappings
table. -
Create new test case with anonymized data clicking on
Clone anonymized test case
button. It opens 'Clone anonymized test case' dialog box:After submitting the dialog new test case will be created.
-
-
Testing Results
tab shows the test case run results and looks:On this tab you can:
-
View Test Object clicking on 'Test Object'. It opens Integration Object Details page.
-
Run the test case clicking on
or
buttons:
-
Run
uses static links to test objects defined in the test case. -
Run on
resolves these links dynamically at the moment of test run. It is possible to see how these links are resolved throughCurrent Mapping Configuration
button - it opens 'Mapping Configuration' dialog box:There are Agent Objects (parent nodes) and Test Objects (child nodes) in opened dialog box.
-
-
Select test case run result(s) and:
-
Poll remote messages
andOpen Last Polling Result
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.Open Last Polling Result
button is available after polling remote data and until page is refreshed. -
-
Compare results clicking on
.
The option reprocesses comparison and report generation asynchronously. It makes sense to execute the option once you have configured a new "ignore rule". -
Delete the result(s) clicking on
.
-
-
The options available in result’s
button:
-
Download report
.Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
View results
opens Test Run Details page. -
Mark as Test Case
creates new test case from chosen groups of testing results. Testing results become expected messages in the new test case. -
Update Test Case using Test Run Results. It replaces corresponding messages in the current test case by messages of testing result. There are 2 strategies available:
-
Drop all old messages
- all old messages will be deleted from the test case and messages of testing result will be copied. -
Replace only messages from the test run
- only corresponding messages in the current test case will be replaced by messages of testing result. So if the test case has some messages which aren’t used during comparison, these messages will not be deleted.
-
-
-
6.3.5. Test Case Runs page
Test Case Runs
page shows the test cases that were run in period defined in Running Date filter
and looks:
![test case runs](images/testing-tool/testing/test-cases/test-case-runs.png)
On this page you can:
-
Poll remote messages.
Open Last Polling Result
button is available after polling remote data and until page is refreshed. -
Compare results clicking on
.
The option reprocesses comparison and report generation asynchronously. It makes sense to execute the option once you have configured a new "ignore rule". -
View Agent Object clicking on 'Agent Object'. It opens Integration Object Details page.
-
View Test Object clicking on 'Test Object'. It opens Integration Object Details page.
-
The options available in run’s
button:
-
Download report
.Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
View results
opens Test Run Details page.
-
Test Run Details page
Test Run Details
page looks:
![test run details page](images/testing-tool/get-started/test-run-details-page.png)
On this page you can:
-
Select data
Perspective
for the table:-
Tree Table
is default value for all regression test cases except aggregation ones (for baseline and aggregation test casesTree Table
mode is disabled). This table has a merged functionality of Message runs tab and Results tab.Tree Table
represents 2 tables: old Test Run Results table (i.e.Flat Table
in the new terms) and Message Runs table on the other tab.It has full pagination, filtering and sorting. Sorting is a bit tricky because of pagination: if you sort by column belonging to a Message Run, it should work naturally, just like in all other tables. But if you sort by Test Run Result columns, Test Run Results will be sorted in scope of each Message Run.
-
Flat Table
is the old Test Run Results table:
-
-
Poll remote messages.
Open Last Polling Result
button is available after polling remote data and until page is refreshed. -
Rerun test case if it’s run in scope of test suite run.
-
Compare results clicking on
.
The option reprocesses comparison and report generation asynchronously. It makes sense to execute the option once you have configured a new "ignore rule". If comparison fails for a particular test run result, you can view error details clicking on .
-
Open related test case. It opens Test Case Details page.
-
Open related test suite run. It opens Test Suite Run page. The link is shown only if you run test suite linked with related test case.
-
Open Agent and Test Objects.
-
View ignore lists (
Applied items ignore expressions
andApplied Message properties ignore expressions
). IT shows ignore lists configured on Test Configuration tab of Integration Object page. -
Open actual test configuration. It opens Test Configuration tab of Integration Object page.
-
View used comparison configurations. It opens Comparison Configuration dialog.
-
Execute actions available in run’s
button:
-
Download report.
Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
Mark selected message group as Test Case. It creates new test case from chosen groups of testing results. Testing results become expected messages in the new test case.
-
Update Test Case using Test Run Results. It replaces corresponding messages in the current test case by chosen messages of testing result. There are 2 strategies available:
-
Drop all old messages
- all old messages will be deleted from the test case and chosen messages of testing result will be copied. -
Replace only selected messages
- only corresponding messages in the current test case will be replaced by chosen messages of testing result.
-
-
-
Execute actions available in message’s
button:
-
View result. It opens
Test Run Result
page. -
Download inbound message, expected result, actual result.
-
Build groovy script (see Groovy scripts unit testing).
-
Diffs opens
Differences
dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.Add items and message properties to ignore list once.
-
Binary diffs opens
Differences
dialog box (see above) with binary comparison. Current configurations are used for this comparison type. -
Diff2Html diffs opens Diff2Html comparison dialog. Current configurations are used for this comparison type.
-
Ignore step (CPI) adds current step to ignore list.
-
Browse related messages (PRO) is runtime viewer for related message monitoring entries. It looks for message monitoring entries on the PI system by the currently persisted PI message id (used in id and refId filters). For not received entries we know only the id of the sent message, then once the message is received it’s overwritten by a related AFD message id.
From the Related messages dialog it’s possible to open PI message page on SAP system and browse message log in the separate dialog:
Use these options to analyze the root cause of the UNFINISHED state of the result to check what’s going on on PI system.
-
Open message monitor (PRO).
-
Open message monitor via dispatcher (PRO).
-
-
Check messages statuses (whether messages have been sent successfully or some error occurred):
6.3.6. Shared Configuration page
Shared Configuration page contains shared configurations and looks:
![comparison configuration](images/testing-tool/testing/comparison-configuration/comparison-configuration.png)
On this page you can:
-
Create shared configuration clicking on
button. It opens
Create shared configuration
:-
Title
of shared configuration. Should be unique. -
Platform
for which shared configuration should be configured. -
Use
is the way which should be used during shared configuration determination:Messages/Partners
orTest Cases
.-
Messages
is messages list. for which the shared configuration is applied. -
Partners
is partners list. for which the shared configuration. -
Test Cases
is test cases list. This configuration can be used if you want to run different test cases with different configurations.
-
-
Integration Objects
is integration objects list. All integration objects are from the same agent.Shared configuration is applied to any combinations of Messages
,Partners
,Test Cases
, andIntegration Objects
values during comparison. -
Comparison Type
defines used comparison strategy. Most of the timeAUTO
is fine. -
EDI functional group correlation key path
defines path to data element or component element which can be used as a group identifier during comparison. Define a value if there are several functional groups in EDI outbound messages. The path format is described below. -
EDI message correlation key path
defines path to data element or component element which can be used as a message identifier during comparison. Define a value if there are several messages in EDI outbound messages. Don’t define a value if there are several groups with 1 message in each group.EDI functional group correlation key path
andEDI message correlation key path
must be configured in the special format:<segment prefix><data element index and options><component element index (optional)>
where:
-
<segment prefix>
- shouldn’t contain[
or]
, for example,UNE
,DTM+137
. -
<data element index and options>
:[<standalone index>]
or[<standalone index>|<option>]
. -
<component element index>
: for example,1
.-
<standalone index>
: for example,1
-
Available option:
-
substring
- the option defines a substring rule for group/message correlation id path in EDI comparison. The option has the following syntax:substring(<characterIndex>|<characterIndex>)
, wherecharacterIndex
is index of the first or last character of substring that should be used as an identifier, could have positive or negative value:-
substring(-2|)
,substring(-2)
, andsubstring(-2|0)
uses 2 last characters, e.g.somestriNG
. -
substring(-5|-1)
uses 4 characters starting from the fifth character from the end, e.g.somesTRINg
. -
substring(1|-1)
uses all characters starting from the second and ending with penultimate, e.g.sOMESTRINg
. -
substring(-1|1)
uses the first and the last characters, e.g.SomestrinG
.
-
-
-
Examples:
-
Only segment prefix:
UNE
,DTM+137
. -
Segment prefix with data element index:
UNH[0]
,IMD[1]
. -
Segment prefix with data element index and option:
UNE[1|substring(-2|)]
. -
Segment prefix with data element index and component element index:
UNB[2][4]
.
-
-
Item Ignore
defines XPath expressions (divided by semicolon) to ignore, e.g. '/Invoice/Date'.For EDI type you can configure items in the special format
<segment prefix><data element indexes and options><component element indexes (optional)>+<data element indexes and options><component element indexes (optional)>+<data element indexes and options><component element indexes (optional)>+...
where:
-
<segment prefix>
- shouldn’t contain[
or]
, for example,UNE
,DTM+137
. -
<data element indexes and options>
:[<standalone/ranged index>, …, <standalone/ranged index>|<option1>, <option2>]
-
<component element indexes>
:[<standalone/ranged index>, …, <standalone/ranged index>]
-
<standalone index>
: for example,1
-
<ranged index>
: for example,0-4
-
Available options:
-
empty-missing
-
java formatting which matches regex
%[\\d.]*([dfeg]{1})$
, for example:%.3f
,%.6e
.
-
-
Examples:
-
Only segment prefix:
UNE
,DTM+137
. -
Segment prefix with data element indexes:
UNH[0]
,IMD[0-2]
,IMD[0,2]
. -
Segment prefix with data element indexes and options and component element indexes:
UNB[0]+[1|empty-missing][0]+[2-5,7-8,9-10][4,5]
.
For XML type you can configure items in the special format
<XPath><options>
where:
-
<XPath>
- standard XPath expression, for example,//targetElem
. -
<options>
:{{<option1>,<option2>}}
-
Available options:
-
empty-missing
-
java formatting which matches regex
%[\\d.]*([dfeg]{1})$
, for example:%.3f
,%.6e
.
-
-
Examples:
-
Only XPath expression:
//targetElem
. -
XPath expression with additional ignoring options:
/targetElem{empty-missing,%.3f}
.
-
-
Message Properties Ignore
defines dynamic properties (divided by semicolon) to ignore, e.g. 'X-Vcap-Request-Id'. If you have a lot of dynamic properties with the same prefix (e.g.DynamicProperty1
andDynamicProperty2
), you can define just common prefix (DynamicProperty
) to ignore all dynamic properties with this prefix during comparison.gItem Ignore
andMessage Properties Ignore
properties can be configured during result comparison in Differences dialog that can be opened from Test Run Details page. -
Order Expressions
defines how to order messages. -
Collection Item Identification Expressions
(only for XML type) defines rules to compare a collection with the different order of elements in the expected and actual messages. This setting should be configured in the following format:<path to the collection>-><relative path to the identification element>
If path to your collection is
/example/collection
and path to element identified collection idexample/collection/object/id
, thenCollection Item Identification Expressions
is/example/collection->object/id
. -
Use alphanumeric order number
enables calculation of order number as a string instead of a number. -
Don’t calculate order number for a single entry
- if true, order number is set to1
(if there are 1 inbound and 1 outbound messages). -
Use expected message encoding during comparison
. Enable if you want to forcibly use encoding from expected message instead of dynamically determined encoding from actual result. Have effect only for the following message types: EDIFACT, X12, TEXT. -
Ignore XML attributes
configures XML attributes ignoring during comparison. -
Trim whitespaces before XML comparison
enables ignoring whitespaces during comparison of XML payloads. By default, option is enabled. -
Validate receiver integration
(PRO only) - if true, AFD status will be compared with the expected valuesuccess
. If they are not equal, it will be shown onDifferences
dialog as a dynamic configuration propertyhttp://figaf.com/testing/virtual-property|MessageStatus
. The feature works only forSAP Log module
andICO Logging
. -
Define additional dynamic properties to send with the test message
(PRO only) enables configuration of additional dynamic properties. -
Test with mock data
(CPI only) enables testing with mock data. Linked test cases are run with replacing real receivers responses by previously recorded responses (from corresponding receivers) on Agent Object. Figaf Tool clones original test object (IFlow) with replacing sender and receiver channels to HTTPS where receiver channel endpoints are special Figaf Tool API. To use this mocking service you need to have configured Figaf Tool to use the cloud connector (see cloud connector properties configured in run command). -
Use only finishing run steps
(CPI only) enables functionality when only the last messages in a test case will be compared. If true,Run steps selection strategy
andRun steps filter
can’t be set. -
Run steps selection strategy
(CPI only) andRun steps filter
(CPI only) configure steps which should be tested. Since 2208.1 it’s possible to configure the steps in BPMN Model with viewer dialog clicking onbutton.
If it’s IFlow Chain object, it’s possible to configure Run steps filter
for each IFlow used in IFlow Chain separately.
-
-
Edit/View shared configuration clicking on its
or
button.
-
Delete selected shared configurations.
-
View messages, partners, test cases, and integration objects lists clicking on corresponding
button.
7. Operations
7.1. Get started with Operations
7.1.1. Receiving alerts from PRO system
At least 1 PRO Agent System should be configured. See that section to learn how to do that.
You should have enough systems licensed for monitoring (Number Of Systems For Monitoring
property on License Configuration
page) and Monitoring License End Date
should be valid, otherwise it won’t be possible to create a consumer.
Figaf Tool uses consumers
defined in alert rules
on PRO System as a data source for retrieving Message Monitoring alerts. It’s important to note that it’s possible to fetch an alert from the specific consumer only one time, that’s why you need to create a specific consumer for Figaf Tool application and declare it only once in one Figaf Tool application. Otherwise, messages won’t be received properly.
To configure receiving alert process from PRO system do the following:
-
Create new
consumer
on your PRO system:-
Use Integration Directory builder to manage
alert rules
and theirconsumers
. -
Chose an existent alert rule or create a new one, configure it, and then add a new consumer, e.g.,
IRT_PRIMARY_CONSUMER
.
-
-
Open
Support Tool
page in Figaf Tool. -
Click on
Manage Consumers
. It opensManage Consumers
dialog box: -
Select your PRO Agent system, click on
Create Consumer
, type the name of PRO consumer you have created before (in our exampleIRT_PRIMARY_CONSUMER
), and save a new consumer.You will be asked about enabling alerts handling and reprocessing jobs, approve that action if you want to have handle new alerts automatically. You can disable them or change scheduling settings later on
Application Configuration
page. Consumer is created with a new default Figaf Tool rule, we will explain rules in further sections. It just needs to be noticed that default Figaf Tool rule doesn’t add anything to your filter configured on PRO alert rule. -
Now you can open
Alerts
tab and click onPoll Alerts
to trigger lookup manually, or wait for a scheduled job if it’s enabled.
7.1.2. Receiving alerts from CPI system
At least 1 CPI Agent System should be configured. See that section to learn how to do that.
You should have enough systems licensed for monitoring (Number Of Systems For Monitoring
property on License Configuration
page) and Monitoring License End Date
should be valid, otherwise it won’t be possible to create a consumer.
To configure receiving alert process from CPI system do the following:
-
Open
Support Tool
page in Figaf Tool. -
Click on
Manage Consumers
. It opensManage Consumers
dialog box: -
Select your CPI Agent system, click on
Create Consumer
, type the name, and save the consumer.You will be asked about enabling alerts handling and reprocessing jobs, approve that action if you want to have handle new alerts automatically. You can disable them or change scheduling settings later on
Application Configuration
page. Consumer is created with a new default Figaf Tool rule. It just needs to be noticed that default Figaf Tool rule doesn’t add anything to your filter configured on Figaf Tool consumer for CPI Agent. -
Now you can open
Alerts
tab and click onPoll Alerts
to trigger lookup manually, or wait for a scheduled job if it’s enabled.
7.1.3. Receiving alerts from Api Management system
At least 1 Api Management Agent System should be configured. See that section to learn how to do that.
You should have enough systems licensed for monitoring (Number Of Systems For Monitoring
property on License Configuration
page) and Monitoring License End Date
should be valid, otherwise it won’t be possible to create a consumer.
Figaf Tool processes alerts only for Api Proxy objects with configured Figaf error handling policies. It’s important to note that it’s possible to fetch one entry only once, so you should configure Figaf Tool consumers without intersections, otherwise some consumers won’t receive alerts.
To configure receiving alert process from Api Management system do the following:
-
Open
Change Tracking Tool
in Figaf Tool. -
View object details page for required Api Proxy. Click on
Add/Reset Figaf error handling policies
button to enable alert processing for the object. It creates new object version. Repeat this step for all Api Proxy objects. -
Open
Support Tool
page in Figaf Tool. -
Click on
Manage Consumers
. It opensManage Consumers
dialog box: -
Select your Api Management Agent system, click on
Create Consumer
, type the name, and save the consumer.You will be asked about enabling alerts handling and reprocessing jobs, approve that action if you want to have handle new alerts automatically. You can disable them or change scheduling settings later on
Application Configuration
page. Consumer is created with a new default Figaf Tool rule. It just needs to be noticed that default Figaf Tool rule doesn’t add anything to your filter configured on Figaf Tool consumer for CPI Agent. -
Now you can open
Alerts
tab and click onPoll Alerts
to trigger lookup manually, or wait for a scheduled job if it’s enabled.
7.2. Work with Support Tool
7.2.1. Manage consumers
Consumer aggregates information about the receiving alerts process.
At least 1 Agent System should be configured. See that section to learn how to do that.
You should have enough systems licensed for monitoring (Number Of Systems For Monitoring
property on License Configuration
page) and Monitoring License End Date
should be valid, otherwise it won’t be possible to create a consumer.
-
Go to
Support Tool
subsection ofOperations
section. -
Click
Manage Consumers
button. It opensManage Consumers
dialog box: -
Select an Agent.
-
Click on
Create Consumer
button. It opensConsumer
dialog box where you can configure the following fields:-
Name
of new consumer.If you create consumer for PRO Agent, you need to create consumer on your PRO system. And
Name
must be the same as the name of consumer created on PRO system (see Receiving alerts from PRO system for more details).For CPI Agent
Name
can be random. -
Type
of consumer (only for CPI) is one of the following:-
Polling Consumer
- datasource isMessage Processing Logs API
, all message log entries which satisfy theCondition
will be registered as alerts in Figaf Tool.Condition
must be valid in context ofMessage Processing Logs API
, e.g.,Status eq 'FAILED'
. It’s also possible to validate the syntax of condition throughTest Condition
function. -
Metric Consumer
- datasource isCPI System Monitoring Module
in Figaf Tool (metrics), metrics are analyzed and alerts are registered according to configuredThreshold Rules
.To add new
Threshold Rule
click on, select
Metric Spec
andOperation
, typeValue
, and selectStrategy
(Alert per metric
orAlert per Support Tool interval
).To delete the threshold rule click on its
button.
To use Metric Consumer you should enable CPI system monitoring on chosen CPI Agent ( Enable Monitoring
property).
-
When you are ready with configuration, save the consumer. If you haven’t enabled support tool jobs on
Application Configuration
page, you will be asked about enabling alerts handling and reprocessing jobs:Approve that action if you want to have handle new alerts automatically. You can disable them or change scheduling settings later on
Application Configuration
page. -
-
Now you have created consumer. If you want to add more consumers, just repeat the steps above. If you need to edit or delete a consumer, click on its
or
buttons correspondingly.
Type
of consumer on CPI Agent can’t be changed. -
When you finish with consumer management, close the
Manage Consumers
dialog box.
7.2.2. Rules
At least one consumer should be created. See this section to learn how to do it.
Initially you have Default Rule
created during consumer creation.
Rule
is an approach to classify received alerts.
To manage rules do the following:
-
Select a consumer.
-
Go to
Rules
tab. -
Open
Rule
page with new rule (click onAdd Rule
) or with existent rule (click on its).
It is also possible to create rule from Alert Details page. In this case
Expression
andTest Payload
settings will be filled with values from source alert.Rule
page will be opened, e.g., with new rule: -
If you want to disable current rule, switch
Enabled
off. If you want to enable the rule, switchEnabled
on. -
If you want to delete existent rule, click on
Delete
. -
Configure the following settings and once you finish, click on
Save
:- Common settings
-
-
Title
of new rule, required. -
Step Number
defines priority of rule. The lessStep Number
, the higher priority. Default rule hasStep Number
equaled to 1000. Hence, it doesn’t make sense to define this setting more than 1000. This setting is required. -
Expression
- XPath expression which is used to determine whether alert should be caught by current rule, required. XPath is applied to alert metadata XML. Using the selectionTest XML Payload Type
below you can check the structure of different alert types.Since of 2307 Figaf Tool supports XML MPL attachments for CPI agents. Expression for XML attachments should have the following structure:
${attachments['<attachmentName>']}<real XPath related to the attachment>
(e.g.${attachments['OriginalPayload']}//hello
). -
Namespace
(only for PRO) - namespace information. -
Labels
- list of tokens which can be assigned to each rule, then this list will be assigned to all alerts linked with this rule. Use it to simplify search of alerts. -
Initial Status
of alert when it is handled by Figaf Tool. -
Action
- operation which will be executed once alert is handled. Possible values:-
Nothing
(default) - no action. -
Reprocess
(only for PRO) - related AFD (Adapter Framework Data) entry on PRO system will be reprocessed. -
Canceled
(only for PRO) - related AFD (Adapter Framework Data) entry on PRO system will be canceled.
-
-
Lookup inbound message
(only for PRO) - when it is enabled, Figaf Tool will try to find inbound message payload related to failed message (AFD). To get that payload downloaded successfully enable BI logging on related ICO object: -
Criticality
of alert. -
Test XML Payload Type
- type of test payload. Possible values:-
CUSTOM
- your custom value, doesn’t use any template. -
PRO_SCENARIO_ALERT
(only for PRO) - sample payload of scenario alert. -
PRO_MESSAGE_ALERT
(only for PRO) - sample payload of message alert. -
CPI_SCENARIO_ALERT
(only for CPI) - sample payload of scenario alert. -
CPI_MESSAGE_ALERT
(only for CPI) - sample payload of message alert. -
CPI_METRIC_ALERT
(only for CPI) - sample payload of metric alert.
-
-
Test Payload
- sample alert payload which is used to check integrations (see below).
-
- Integrations
-
-
Don’t send similar notifications for (min)
- if several similar alerts have been polled during the period defined in this setting, you will receive only one notification. Default value is60
. -
Don’t send notifications automatically
- if it’strue
and the rule has some external integrations, notifications won’t be sent automatically, corresponding alerts will have Notification Status equals toREQUIRES_MANUAL_NOTIFICATION
and it will be possible to complete these notifications only manually fromAlerts
page.If you configure Don’t send notifications automatically
andDon’t send similar notifications for (min)
simultaneously, all alerts received during configured period inDon’t send similar notifications for (min)
will haveNOTIFICATIONS_SHOULD_NOT_BE_SENT
notification status except the earliest one (it will haveREQUIRES_MANUAL_NOTIFICATION
notification status). -
Attachments which should be sent
defines the alert attachments names that will be added to notifications. PressEnter
key after each attachment name. -
Email body template
is a template of email. You can define dynamic data in the template using'${/xpath/expression}'
(e.g.,'${/alert/agentSystemId}'
). You can check the template clicking on correspondingTest
button. -
Email Integrations
defines the emails to which notifications will be sent. PressEnter
after each email.You have to configure connection to SMTP server. Go to
Configuration → Application
and configureSMTP host
,SMTP port
,SMTP username
,SMTP password
,Email Protocol
, andEmail From
settings.You can check configured email integrations clicking on corresponding
Test
button. -
HTTP(S) Integrations
defines a list of integrations to trigger. -
HTTP(S) Attachment Type
-
7.2.3. Alerts
At least one consumer should be created. See this section to learn how to do it.
Alerts receiving
-
Select a consumer.
-
Go to
Alerts
tab. -
Set
From
andTo
dates. -
Click on
Poll Alerts
to trigger lookup manually or wait for a scheduled job if it’s enabled (settingSupportToolAlertsHandler
onConfiguration → Application
page). Alerts will be received and shown in the table (maybe it will be needed to refresh the table clicking on):
For any alert you can:
-
View the rule details clicking on
Rule
. It opens Rule details page. -
View the message on source system clicking on
Message ID
. -
View integration object details (if it is defined). It opens Integration Object Details page.
-
View the alert details clicking on its
button. It opens Alert details page.
-
Alert details page
Alert
details page for PRO system looks
![pro alert details page 1](images/operations/support-tool/pro_alert_details_page_1.png)
![pro alert details page 2](images/operations/support-tool/pro_alert_details_page_2.png)
![pro alert details page 3](images/operations/support-tool/pro_alert_details_page_3.png)
The following actions can be done on this page:
-
Resend Message
-
Cancel Message
-
Create Ticket
- it opensAttach object to ticket
dialog, where you can configure properties of new ticket or select existent one:You can attach to ticket with 2 ways:
-
Create new ticket
- the following settings can be configured:-
Title
of the ticket. The same title can be used for several tickets. -
Release
defines release, to which created ticket will be attached. See Release 'Title' page for details about release. -
Assignee
defines the user, to whom the ticket will be assigned. -
Type
defines type of new ticket. Since 2.11 release the following ticket types are available:-
Development
is used with development within one landscape. -
Migration
is used when it is needed to migrate objects from one landscape to another.
-
-
Landscape
defines a landscape for development ticket. See Landscapes page for details about landscapes. -
Source Landscape
,Target Landscape
, andMigration Landscape
define landscapes for migration ticket. Defined landscapes have to satisfy the following:-
Source Landscape
andTarget Landscape
have the same count of Agents (Landscape items) and do not have shared Agents. -
Migration Landscape
must consist of two items: the 1st items fromSource Landscape
andTarget Landscape
correspondingly.
-
-
External ticket id
identifies an external ticket (e.g. in Jira). -
External ticket link
defines a link on the external ticket. If you define the value, you can navigate directly to the external ticket from Figaf Tool. -
Description
defines additional information. -
Create a test case with failed inbound message automatically
-
Inbound message
-
-
Attach to existing Ticket
-
-
Add Rule
- it opens Rule page with predefined values for several settings. -
Update
7.3. Work with CPI Message Monitoring
7.3.1. Configure CPI message monitor filters
Do the following to configure message monitor filters:
-
Choose required CPI Agent.
-
Enable edit mode switching on
.
-
Click on
Create filter
to create new message monitor filter or click on the message monitor filter to update existent message monitor filter. It opensCreate message monitoring filter
dialog box: -
Configure the fields:
-
Name
of new message monitor, required.The name must be unique for the agent. -
Metadata access role
is role created for current message monitor filter that provides access to its metadata. The role should be set to users having access to corresponding data. See User management for details. -
Full access role
is role created for current message monitor filter that provides full access to it. The role should be set to users having access to corresponding data. See User management for details. -
Statuses
of messages to be filtered. If the field is empty, messages with all supported statuses will be filtered.Supported statuses are
FAILED
,COMPLETED
,RETRY
,PROCESSING
,ESCALATED
,CANCELLED
,DISCARDED
, andABANDONED
. -
Period
for which you want to get messages. -
Sender (optional)
-
Receiver (optional)
-
Artifact filter strategy
sets the artifact strategyApply filter to all artifacts
orApply filter to chosen artifacts
(you can define these artifacts inArtifacts
field). -
Filtering condition
shows filters condition using current values in the dialog. To recalculate condition click onbutton.
-
-
If you want to delete a message monitor filter, click on
of the message monitor filter.
-
Once you finish with required message monitor filters configuration, disable edit mode.
7.3.2. Browse messages
When you configure required message monitor filters, you can browse messages clicking on the message monitor filter:
![message monitor filter icon](images/operations/message-monitor/message-monitor-filter-icon.png)
It opens Message Browser for filter
page:
![message browser for filter](images/operations/message-monitor/message-browser-for-filter.png)
You can configure filters (Time
, Integration Flows
, Custom Header Name
, Custom Header Value
, Statuses
, Correlation Id
, Sender
, Receiver
, Message Id
, Application Message Id
, Application Message Type
) and inspect message details clicking on the message in the table. You can navigate to CTT object page and create a recording for messages with log equals TRACE
and less than 1 hour old.
Once you click on button end date will be set to current time.
You can download CSV report clicking on Export to CSV
button. The report contains table data and custom headers (in separate column).
7.4. Work with CPI Statistics Overview
CPI Statistics Overview gives an overview of how many messages has been process at any given hour/day/month per IFlow.
You need to enable Enable message processing logs statistics setting on Agents integration configuration (CPI platform) to have the statistics working.
|
Select agent and timestamps, then the statistic will be loaded:
![statistics overview data](images/operations/statistics-overview/statistics-overview-data.png)
Then it’s possible to Export to CSV
or browse related message in CPI Message Monitoring clicking on IFlow name or messages count. It will redirect you to monitoring page with configured filters for From
, To
, Integration Flows
, Sender
and Receiver
. If corresponding message monitor filter doesn’t exist, you will be asked to create it.
7.5. Work with CPI System Monitoring
Enable Monitoring
setting (see Agents integration configuration) must be enabled for the chosen CPI Agent.
SAP System Monitoring processes the following metrics:
You can configure Time Period for all metrics if it is needed.
|
-
CPU Usage (%)
-
IFlow Latency (ms)
-
Memory Usage (%)
-
Monitoring Status Latency (ms)
-
Processed Messages (count)
-
Long Running Messages (count)
7.6. Work with EDI Message Monitoring
Since Figaf Tool 2103 EDI message monitoring is supported (it’s a prototype version and issues could occur). Here you can configure integration object monitors for PRO objects, add Figaf Tool modules, poll messages, retry payload downloading, browse polled messages metadata:
![edi message monitoring example](images/operations/edi-message-monitoring/edi-message-monitoring-example.png)
7.6.1. Configure integration object monitor
-
Go to
EDI Message Monitoring
page. -
Choose required agent.
-
Click on
Create Integration Object Monitor
button. -
Select integration object for which you want to configure monitor.
-
Configure persistence period for messages. If
Use Persistence Period from Agent
is enabled, the value ofMonitored Messages Persistence Period
from corresponding Agent Configuration is used. -
CPI only. Configure whether attachments should be downloaded or not (
Download Attachments
option). -
CPI only. Configure whether persisted messages should be downloaded or not (
Download Persisted Messages
option). -
CPI only. Configure whether message processing logs should be downloaded or not (
Download Message Processing Logs
option). -
CPI only. Configure whether data store entries should be downloaded or not (
Download Data Store Entries
option). -
CPI only. Configure whether custom headers should be downloaded or not (
Download Custom Headers
option).If you want to have monitored messages deleted, configure
MonitoredMessagesCleaner
job onConfiguration → Application
page. If the job isn’t configured, the messages won’t be deleted. -
To be able to browse irtLogStages payloads, select integration object monitors and click on
Add modules
button.For now only irtLogStage1 and irtLogStage2 are polled.
-
To poll messages select integration object monitors and click on
Poll messages
button or enableEnable Monitored Messages Polling
setting on corresponding agent (see PRO agent configuration).If some messages downloading isn’t finished (post processing status is
REQUIRES_PAYLOAD_DOWNLOADING
), retry payloads downloading clicking onRetry payload downloading
.CPI only. IF you don’t want some messages to be polled, set
Custom Status
equal toNOLOGGING
.
7.6.2. Browse polled messages
-
Switch to
Monitored Messages
tab. -
Configure date range.
-
Click on
and browse metadata.
-
CPI only. Go to
CPI Monitored Message Run Steps
page clicking onMessage Id
:
8. DevOps
Requirements:
-
All required Agent Systems have been configured (see that section to learn how to do that).
-
Synchronization of all required Agent Systems has been done (see Synchronization with Agent system section).
-
You should have enough licensed tracked object versions in CTT (i.e. DevOps licensing plan), otherwise, once new version is registered, the oldest will be deleted if the limit is reached. It causes loss of transport items if deleted tracked object version was used in the transports.
-
If you use PRO Agents, additional SAP PRO client libraries must be available in runtime classpath. They are not included into the build, so they should be added to a folder (you can create
libs
folder in the folder with jdbc driver) and then the path to thatlibs
folder should be passed through-Dloader.path
parameter in the bootstrap command (see that section). If any of these libraries are missing, you will see the following error during transport creation or checking imported objects:Required libraries:
-
com.sap.aii.utilxi.core.jar
- can be downloaded from<PRO system root url>/dir/directory/com.sap.aii.utilxi.core.jar
-
com.sap.xpi.ib.core.jar
- can be downloaded from<PRO system root url>/dir/directory/com.sap.xpi.ib.core.jar
-
com.sap.xpi.ibdir.core.jar
- can be donwloaded from<PRO system root url>/dir/directory/com.sap.xpi.ibdir.core.jar
-
sap.com~tc~bl~guidgenerator~impl.jar
- can be downloaded from<PRO system root url>/dir/directory/sap.com~tc~bl~guidgenerator~impl.jar
-
8.1. Get started with DevOps
8.1.1. E2e development flow (PRO)
In this section we describe e2e development flow for PRO systems.
At the moment external receiver rules aren’t supported at all, as a result we can’t remove/add a routing rule to receiver rule defined externally. As a consequence, at the moment any use case that requires any modification of external receiver rule won’t work. Recommended workaround is to process transport without changelist activation, takeover changelist and manually add receiver rule to the same changelist and update it there (also manually). |
-
Go to
Configuration → Landscapes
page. -
Create a landscape. Configure
Name
,Platform
, andLandscape items
, e.g.: -
Synchronize source system (in our example it’s D75 - dev) in Change Tracking Tool.
-
Go to
DevOps → Tickets
page. -
Create new development ticket with created landscape. It creates new ticket and opens its page.
-
Go to
Tracked Objects
tab. -
Click on
Attach Tracked Objects
and select Integrated Directory and/or Repository objects. -
Select attached objects and click on
Attach all dependent objects
. -
Click on
Start transport
button: -
Go to
Transports
tab. -
Go to transport page clicking on
.
-
You can configure transport configuration (not for any object) clicking on
button (see Transport Configuration page for details).
-
Import transports. When all transports linked with the ticket are imported, you can
Resolve
the ticket.
8.1.2. E2e development flow (CPI)
In this section we describe e2e development flow for CPI systems.
-
Go to
Configuration → Landscapes
page. -
Create a landscape. Configure
Name
,Platform
, andLandscape items
, e.g.: -
Synchronize source system (in our example it’s p0201 - dev) in Change Tracking Tool.
-
Go to
DevOps → Tickets
page. -
Create new development ticket with created landscape. It creates new ticket and opens its page.
-
Go to
Tracked Objects
tab. -
Click on
Attach Tracked Objects
and select Iflows, Value Mappings, Script Collections, Message Mappings, Packages. -
Select attached objects and click on
Attach all dependent objects
. -
Click on
Start transport
button: -
Go to
Transports
tab. -
Go to transport page clicking on
.
-
You can configure transport configuration (not for any object) clicking on
button (see Transport Configuration page for details).
-
Import transports. When all transports linked with the ticket are imported, you can
Resolve
the ticket.
8.1.3. E2e development flow (Api Management)
In this section we describe e2e development flow for Api Management systems.
-
Go to
Configuration → Landscapes
page. -
Create a landscape. Configure
Name
,Platform
, andLandscape items
, e.g.: -
Synchronize source system (in our example it’s api-portal-dev - dev) in Change Tracking Tool.
-
Go to
DevOps → Tickets
page. -
Create new development ticket with created landscape. It creates new ticket and opens its page.
-
Go to
Tracked Objects
tab. -
Click on
Attach Tracked Objects
and select Api Proxies, Key Value Maps, Encrypted Key Values Maps. -
Select attached objects and click on
Attach all dependent objects
. -
Click on
Start transport
button: -
Go to
Transports
tab. -
Go to transport page clicking on
.
-
You can configure transport configuration (not for any object) clicking on
button (see Transport Configuration page for details).
-
Import transports. When all transports linked with the ticket are imported, you can
Resolve
the ticket.
8.1.4. Batch parameters update
Since of 2308 Figaf Tool supports a possibility to perform a mass update of transport configuration parameters (only for binary landscapes). The feature is supported for the following types and parameters:
System | Object Type | Supported parameters |
---|---|---|
PRO |
Communication Channel |
object parameters (description, adapter engine name), adapter specific attributes, module parameters. Name mapping parameters are not supported |
CPI |
Integration Flow |
all from transport configuration |
API Management |
API Proxy and Key Value Map |
all from transport configuration |
To perform batch parameters update:
-
Add all objects that should be configured in batch way to one ticket and prepare transport.
-
On transport page click button
Parameters report
to download transport configuration parameters report. -
Open downloaded
csv
in Excel or another tool to work with such type of document efficiently. -
Modify items for the following columns in the report to take effect during mass update (update of other columns won’t be checked):
-
inherit from source
-
inherit from target (note that
API Proxy
type doesn’t support it, but it’s in the report with constantNo
) -
new target value
Update of these columns should be consistent:
-
It’s not possible to configure both
inherit from source
andinherit from target
together. -
It’s not possible to enable
inherit from target
when target object doesn’t exist.
-
-
-
Once parameters in
csv
report are updated, go back to transport page and click onBatch parameters update
button. Upload an updatedcsv
file and click onValidate
button. It will perform a parsing of uploaded result and validation on different levels (CSV file consistency and parameters consistency). Response of that operation has a list of detected changes that will be applied to transport configuration. Check list of changes to self-review at that moment of time. If result doesn’t have any fatal errors, it’s possible to perform a final update by clickingSubmit
button. Result can have warnings that don’t blockSubmit
operation, but they inform about non-fatal issues.Mass parameters update has the following input parameters at the background:
landscape identifier
anduploaded csv report
. No information about current transport. Identification of objects which transport configuration will be updated is done bylandscape
andsource object name
. It means mass update operation doesn’t have any relation to a particular transport, it will always update actual transport configuration for objects incsv
report.It’s not possible to add new parameter or remove existing using the mass parameters update feature (it’s also not possible to do that from transport configuration page). Only parameters in CSV report will be processed during update, other parameters won’t be touched. It means, it doesn’t require to have absolutely all parameters in report.
8.1.5. Schedule import
Since of 2405 Figaf Tool supports a possibility to schedule import process execution.
To perform schedule import:
-
Schedule
transports which are ready for import and linked with binary landscape either on transport page for each transport or Transports page for several transports. -
Configure
Scheduled transports execution time
on related Landscape configuration page and irt.devops.scheduled-transports-execution-time-max-delay application property if default value isn’t suitable.
There are some notes and limitations:
-
Only independent transports (i.e. without shared objects) should be scheduled for import.
-
Scheduled import is executed on behalf user who scheduled it.
-
Batch import isn’t supported.
-
Split import isn’t supported.
8.1.6. E2e development flow (PRO, CTS+ transports)
-
If you work with a CTS+ Transport with Integration Directory objects, opened (not active) change list related to this transport must exist. Change lists should not be activated either automatically by PI engine or manually.
To avoid automated activation a flag
com.sap.aii.ibdir.core.ctstransport.autoActivation.default
must be set tofalse
: -
Entries which have been deleted from CTS+ transport request won’t be deleted from root CTS+ Transport entry in Figaf Tool. As Figaf Tool uses only information from PRO system (Integration Directory and Enterprise Service Repository EJB clients), it doesn’t have any information about whether a CTS transport request item is deleted or not. It’s possible to delete child CTS transport manually from Figaf Tool, but it will be created again during the next update, because PRO system still has this information in the transports registry.
Since the 2.8 release, Figaf Tool provides management functionality for File/CTS+ transports. It doesn’t process transport itself, but it helps with documentation, change tracking and configuration of transported objects. The following example in current section should show this feature in action. Further explanation of behavior, configuration and use cases can be found in the next sections.
In the example let’s have 2 systems in the landscape (configure Name
, Platform
, Lookup transport automatically during synchronization
, and Landscape items
):
-
DI3 - source system (dev)
-
DPO - target system (qa)
Some objects on DI3 should be transported to DPO. A CTS+ transport request DI3K90001S
has been created and required objects have been added to it. Transport request has 2 items, one of them related to Integration Directory, another one to Enterprise Service Repository. Transport entries (export direction) can be browsed from Integration Directory builder and ESR builder on DI3:
![cts transport example int dir export di3](images/devops/transport/cts-transport-example-int-dir-export-di3.png)
![cts transport example esr export di3](images/devops/transport/cts-transport-example-esr-export-di3.png)
Now let’s create a ticket in Figaf Tool. The purpose of that ticket for now is just to aggregate all needed information and objects related to transport. The ticket is called FIposting scenario update
. Initially the ticket is not linked with any objects. Go to Tracked Objects
tab and click on Attach Tracked Objects
. Select DI3K90001S|Export
CTS+ transport and attach it to the ticket. Select added CTS transport and click on Attach all dependent objects
.
All DI3 object versions related to transport (and supported in CTT) were attached to the ticket:
![tracked objects added to ticket after transport synchronization](images/devops/transport/tracked-objects-added-to-ticket-after-transport-synchronization.png)
Then transport request has been imported on DPO. Automated changelist activation is disabled, so all imported object versions are kept in the changelist. The next step is to synchronize imported objects on DPO.
Transport request contains some communication channels. Some channel parameters a non-transportable, new objects in the import changelist doesn’t have them at that moment. Figaf Tool provides a possibility to configure imported objects (for no only communication channels configuration is supported) once they are synchronized in the Transport object. Transport configuration by default is disabled and won’t be applied during synchronization of imported objects. There are 3 possible cases for transport configuration parameters:
-
Parameter value should be taken from source object version and set on the target object. Default behavior for all non-password parameters.
-
Parameter value should be kept from target object version, so, it won’t be updated. Default behavior for all password parameters.
-
Parameter value should be configured manually for chosen target system.
For communication channels it’s possible to configure adapter specific attributes and module parameters.
![transport configuration example part1](images/devops/transport/transport-configuration-example-part1.png)
![transport configuration example part2](images/devops/transport/transport-configuration-example-part2.png)
Now let’s open each child transport object in Figaf Tool and process Check import
. Once it’s done, changelist is activated, channels which have enabled transport configuration are enriched with new parameter values depending on chosen strategy, imported object versions are linked with transport object and added to the ticket.
![cts child transport item after import int dir](images/devops/transport/cts-child-transport-item-after-import-int-dir.png)
Changes between source and target objects can be browsed from Ticket’s Tracked Objects tab:
![channel changes after applying transport configuration](images/devops/transport/channel-changes-after-applying-transport-configuration.png)
Actually applied transport configuration has also been added to the ticket:
![transport configuration tracked object in the ticket](images/devops/transport/transport-configuration-tracked-object-in-the-ticket.png)
The payload of transport configuration tracked object has full information about applied parameters:
![transport configuration tracked object in the ticket payload part](images/devops/transport/transport-configuration-tracked-object-in-the-ticket-payload-part.png)
Finally, processed transport is documented in the ticket report:
![ticket report transports](images/devops/transport/ticket-report-transports.png)
To summarize, it needs to be said that current example just shows an isolated case with transport. In more complicated scenario ticket can be linked with integration objects and test cases which should be processed after transport. In CTS+ it’s possible to have multiple imports of the same transport request, and there is also a workaround for keeping transport request mutable during these imports. All these aspects automatically generate various use cases. Transports support in Figaf Tool has been designed to theoretically cover almost all of them, but it would be difficult to provide full set of examples. Especially because each company has its own workflow. In the further sections we are trying to explain the behavior of this feature, it should provide some information about how it fits your requirements. If you would like to have some additional cases supported, contact us by this email: [email protected].
8.1.7. E2e development flow (PRO, external transport management)
In this section we describe e2e development flow for PRO systems (external transport management is used).
You should prepare and import transport(s) on your systems.
-
Go to
Configuration → Landscapes
page. -
Create a landscape. Configure
Name
,Platform
,Lookup transport automatically during synchronization
, andLandscape items
, e.g.: -
Synchronize source system (in our example it’s D75 - dev) in Change Tracking Tool.
-
Go to
DevOps → Tickets
page. -
Create new development ticket with created landscape. It creates new ticket and opens its page.
-
Go to
Tracked Objects
tab. -
Click on
Attach Tracked Objects
and select transport(s) prepared on your systems. -
Select attached objects and click on
Attach all dependent objects
. -
Click on
Start transport
button: -
Go to
Transports
tab. -
Synchronize target system (in our example it’s T75 - qa). You can do it from
Tracked Objects
tab (Synchronize
button) or from Change Tracking Tool.When synchronization is finished, Figaf Tool will automatically check import for created transports. Once it’s done, transports statuses will be
IMPORTED
and you will be allowed toResolve
the ticket.
8.2. Develop with DevOps
This section includes detailed description of all pages and dialog boxes in DevOps
.
8.2.1. Tickets page
At least one landscape has to be created. See this page to learn how to create landscape.
Tickets
page shows all existing tickets and looks:
![tickets](images/devops/develop/tickets.png)
Ticket ID is generated automatically based on the prefix and corresponding incremented number. Prefix can be configured through irt.config.ticket-id-prefix
parameter (see Figaf Tool application running for more details).
On this page you can:
-
Create new ticket clicking on
Create Ticket
button. It opens 'Create new ticket' dialog box, where the following options can be set:-
Title
of the ticket. The same title can be used for several tickets. -
Release
defines release, to which created ticket will be attached. See Release 'Title' page for details about release. -
Assignee
defines the user, to whom the ticket will be assigned. -
Type
defines type of new ticket. Since 2.11 release the following ticket types are available:-
Development
is used with development within one landscape. -
Migration
is used when it is needed to migrate objects from one landscape to another.
-
-
Landscape
defines a landscape for development ticket. See Landscapes page for details about landscapes. -
Source Landscape
,Target Landscape
, andMigration Landscape
define landscapes for migration ticket. Defined landscapes have to satisfy the following:-
Source Landscape
andTarget Landscape
have the same count of Agents (Landscape items) and do not have shared Agents. -
Migration Landscape
must consist of two items: the 1st items fromSource Landscape
andTarget Landscape
correspondingly.
-
-
External ticket id
identifies an external ticket (e.g. in Jira). -
External ticket link
defines a link on the external ticket. If you define the value, you can navigate directly to the external ticket from Figaf Tool. -
Description
defines additional information.
Related test suite Test Suite: Test cases for ticket <Ticket ID>
is created and linked with new ticket. -
-
Select existing ticket(s) and delete it(them) clicking on
button.
Tickets attached to any release can’t be deleted. If you want to delete such tickets, you have to detach the tickets from the release and after that delete them.
-
View a ticket details clicking on its
button. It opens Ticket: Ticket ID page.
-
View linked release details clicking on <Release Title>. It opens Release 'Title' page.
Ticket: Ticket ID page
Ticket: Ticket ID
page shows the ticket details and provides functionality for ticket management. It looks:
![ticket details](images/devops/develop/ticket-details.png)
There are the following tabs on this page:
On each tab you are able to:
-
Open another ticket details clicking on
button and selecting a ticket.
-
View linked release details clicking on <Release Title>. It opens Release 'Title' page.
-
Move the ticket to next or previous stages depending on its type:
Development
and Migration
ticket types provide similar workflow with small differences:
-
Development tickets have the following statuses:
-
In development
is the stage when objects are attached, updated, detached from the ticket. -
In transport
is the stage when development part is done, operations available onIn development
stage are blocked, objects are prepared for transport through the landscape. If the landscape has Integrated transport management, transports with objects attached to the ticket will be created automatically. Otherwise, if Integrated transport management is false, user needs to attach transports to the ticket. Ticket can be resolved only if all related active transports are imported (see Transport Statuses for details). -
In production
is the stage when transport stage is successfully completed, the ticket is marked asIn production
. It means that all objects are available and operational on all systems in the landscape. -
Canceled
is finish stage if ticket can’t be resolved due to any reason.The picture below shows development ticket status transitions:
-
-
Migration tickets have the following statuses:
-
Prepared
is the stage similar toIn development
. -
In development
is the same as for development ticket, but for migration ticket we assume that changes will not be done with source objects because the main goal for migration is to migrate objects between landscapes, it is not about their changes in the old landscape. -
In transport
is the same as for development ticket. -
Migrated
is the stage when transport stage is successfully completed, the ticket is marked asMigrated
. It means that all objects are available and operational on all systems in the landscape. It is possible to process development ticket creation and transport configuration copying on that stage. -
Canceled
is finish stage if ticket can’t be resolved due to any reason.The picture below shows migration ticket status transitions:
-
-
Ticket Details
tab provides ticket details updating. See almost all ticket properties here. Additional properties:-
Depends on tickets
-
Dependent tickets
Landscape
(for development ticket),Source Landscape
,Target Landscape
, andMigration Landscape
(for migration ticket) can’t be modified.
-
-
Tracked Objects
tab provides functionality for attached tracked object management:Here you can:
-
Attach Tracked Objects clicking on
Attach Tracked Objects
button. It opens 'Attach tracked objects to ticket' dialog box with predefined Agent: for development ticket - the first item from target landscape, for migration ticket - the first item from migration landscape. So it is possible to manually attach only development objects.Attaching objects should be licensed for DevOps or Migration (see Configure Object Licenses for details). All object versions in the table are the latest.
If the object has been already selected, it is not visible in the table, but you can see the count of such objects.
Previous object version becomes detached.
-
Update selected object(s) to the latest version clicking on
Update to the latest version
. It attaches the latest version of chosen object(s) to the ticket (versions are looked up in CTT). -
Attach all dependent objects of selected object(s) clicking on
Attach all dependent objects
. It attaches the latest versions of all child dependencies of chosen object(s) recursively.For channels, it gets a parent link to component/system and then again parent link to the party.
-
Detach selected Tracked Objects clicking on
Detach Tracked Objects
. It marks chosen object versions in the ticket as detached (versions are still visible in the table) ifDetach Only
option is selected. It deletes chosen object versions from the ticket ifDelete Links
option is selected. -
Compare versions of two selected objects clicking on
Compare Versions
. It opens 'Tracked Object Differences' dialog box with two selected object versions.These objects must have the same type in Change Tracking Tool.
BPMN model
andSimplified model
can be compared for integration flows. -
Start synchronization on chosen Agent clicking on
Synchronize
(read about synchronization here).It is possible to select Agents which are used in related landscape(s). -
View tracked object details clicking on its Name. It opens 'Name page' with tracked object details.
-
-
Test Cases
tab provides functionality for test case management and looks:Here you can:
-
Add/remove recommended test cases clicking on
Lookup related Test Cases
. It opens 'Assign Test Cases To Ticket' dialog box, where you can select test cases recommended for adding or removal:Test cases recommended for adding are test cases related to the attached ICO/SA/CPI_IFLOW tracked objects.
Test cases recommended for removal are previously added test cases related to the detached from the ticket ICO/SA/CPI_IFLOW tracked objects.
-
Open related test suite clicking on
Open Test Suite
. It opens Test Suite: Test Suite Title page. -
Detach selected test cases clicking on
Detach from Ticket
. It triggers test case detaching operation from test suite. -
Run the related test suite clicking on
or
buttons:
-
Run
uses static links to test objects defined in the test case. -
Run on
resolves these links dynamically at the moment of test run. It is possible to see how these links are resolved throughCurrent Mapping Configuration
button - it opens 'Mapping Configuration' dialog box:There are Agent Objects (parent nodes) and Test Objects (child nodes) in opened dialog box.
You can’t run test suite without linked test cases.
-
-
-
Last Testing Result
tab shows results of last running. On this page you can:-
View Agent and Test Objects clicking on
Agent Object Title
orTest Object Title
. It opens Integration Object Details page. -
Poll remote results clicking on
Poll remote results
.You don’t have to poll remote data if you have PRO
Agent
with selectedFigaf Agent Module
and enabled JMS integration (propertiesMessages logging approach
andEnable JMS Integration
on Agent dialog) and the messages aren’t large. It is enough just to refresh the page from time to time.Since Figaf Tool 2.15 automatic polling is added for SAP CPI
Agents
. Once the messages have been run successfully, automatic polling is started.Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then
-
recordings/test runs which are in both polling requests will be marked as
SKIPPED_AS_DUPLICATE
and statistics will be copied from original item and shown on UI in the new one. -
recordings/test runs which are not in the original polling request will be
SKIPPED
in the new one.
Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.
If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option
Ignore messages cache during polling
onConfiguration → Application
page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
-
View last polling result clicking on
Open Last Polling Result
.Open Last Polling Result
button is available after polling remote data and until page is refreshed. -
Export as a test case to PIT (only for PRO) clicking on
Export as a Test Case to PIT
.Export as a Test Case to PIT
is available only for licensed version after the test suite running. -
Compare testing results and build reports clicking on
button.
The option reprocesses comparison and report generation asynchronously. It makes sense to execute the option once you have configured a new "ignore rule". -
Do the following actions clicking on
and choosing corresponding option:
-
Rerun
reruns required test case. -
View testcase
opens 'Test Case Details' page. -
Download report
.Report type can be one of 2 types:
-
xlsx
report:-
Contains information about test run/test suite run results.
-
By default only failed results are added to
xlsx
report. If you want to change this behavior, go toConfiguration → Application
page and enableShow successful messages in the test suite’s report
property.
-
-
zip
archive with 3csv
reports:-
test-run-metadata.csv
- contains common information about test run/test suite run (e.g. test object, counters for success/error/unexpected/not/compared/unfinished test run/test suite run results). -
diff-report.csv
- contains diff report for test run/test suite run. -
processed-messages-report.csv
- contains processed messages report for test run/test suite run.
-
The report type is defined from
Use bundled CSV report generation strategy
property configured onConfiguration → Application
page`. If it’s true, the report type iszip
, otherwise, it’sxlsx
. -
-
View results
opens Test Run Details page.
-
-
-
Alerts
tab shows alerts attached to the ticket. -
Transports
tab shows linked transports (see Transport: Name page for details about transports) and looks:Here you can:
-
View transport details clicking on its
button. It opens Transport: Name page.
-
Delete selected transports clicking on
button.
-
-
Reports
tab contains built reports and looks:Here you can:
-
Build new report clicking on
Report
button. It starts report building and new row is added to the table (withIN PROGRESS
status). To get built report wait for a while and click onRefresh
button. -
Download built xlsx report clicking on
button.
-
Delete a report clicking on its
button.
-
-
Transports Overview
shows relationship between tickets and transports in CPI and Api Management composite landscapes so that it clarifies how the set of transports has been done in the history.
8.2.2. Transports page
Transports
page shows all created transports and looks:
![transports](images/devops/develop/transports.png)
Transport ID is generated automatically based on the prefix and corresponding incremented number. Prefix can be configured through irt.config.transport-id-prefix
parameter (see Figaf Tool application running for more details).
On this page you can:
-
Switch between tabs:
-
All transports
to view all existent transports. -
My Approvals
to view transports inWAITING_FOR_APPROVAL
status and current user is reviewer for them. -
My Actions
to view transports inCREATED
,WAITING_FOR_APPROVAL
, orIN_PROGRESS
statuses which can be performed by current user. The following is available on this page:-
Import
several transports in batch mode.Batch import is supported for all CPI/Api Management transports linked with binary landscape and only for Integration Directory transports linked with PI binary landscape. Batch import is not supported for groups of transports (when multiple transports created for one ticket).
Once several transports are imported in batch mode, they are linked by
batchId
and can be rollbacked only in batch mode from transport page of one of this linked transports. Batch rollback feature has some limitations that you can read here. If transports are linked bybatchId
, transitions of related tickets statuses are executed together (see ticket status transitions here). -
Schedule
transports which are ready for import and linked with binary landscape. Be sure to configure appropriateScheduled transports execution time
on Landscape configuration page.Only independent transports (i.e. without shared objects) should be scheduled for import. -
Disable schedule
for transports.
-
-
-
View linked tickets of required transport clicking on its
button. You also can open the ticket details page clicking on 'Ticket ID: Title'. It opens Ticket: Ticket ID page.
-
View a transport details clicking on
button. It opens Transport: Name page
-
Select transport(s) and delete it(them) clicking on
button.
Transport: Name page
Transport: Name
page shows the transport details and looks:
![transport details](images/devops/develop/transport-details.png)
On this page you can:
-
View transport configuration of the transport item clicking on its
button. It opens Transport Configuration page with preselected Landscape and Tracked Object.
-
Check estimated payload that will be created on the target landscape after migration clicking on its
button. It opens 'Compare' dialog box:
-
Compare imported version with previous version on target system for imported transports clicking on its
button. It opens 'Compare' dialog box:
-
View linked ticket details clicking on the ticket title. It opens Ticket: Ticket ID page.
-
View details of transports from the same group clicking on the transport ID. It opens the same page with different data.
-
Validate transport configuration clicking on
Validate Transport
. It validates dir objects mapping and password settings:-
If a component is mapped from
X
toY
, but channel fromX|ChannelName
toZ|ChannelName
, it shows an error about inconsistent mapping. -
If the password parameter has a static value config, its value shouldn’t be empty if it’s not empty on the source system. If the password parameter is inherited from target, target object should exist.
Validate Transport
is available only for transport withINTEGRATION_DIRECTORY
registry type until the transport is approved or imported.Transport configuration validation is processed automatically during transport creation, approval (if Require Transport Approval option is true on the landscape), import.
-
-
Create Transport with the latest versions (for CPI and Api Management). The operation cancels current transport and create a new one with the latest objects versions (the versions should be synchronized).
-
Create next Ticket (available only for composite landscapes if landscape related to current transport has 1 successor).
-
Download traces of the last import (for imported/reverted transports). The traces contain progress info of the transport.
For PI transports import details are traced only for integration directory transports with integrated transport management. Other PI cases are not traced with details, but common process related logs are there.
Traces example:
Started import at 17-06-2022 12:42:39 +0300 by [email protected] (admin) Initial synchronization of T75 took 8400 ms Initial synchronization of D75 took 8999 ms Processing import of missing directory folders Import of missing directory folders is completed Processing upload of 1 Integrated configuration objects to changelist for transport 1/1: processing transport of Integrated configuration *|*|irttestDummy|http://figaf.test.com|| 1/1: processed in 1134 ms, transport is skipped because target object with needed state already exists Upload of 1 Integrated configuration objects to changelist is completed in 1135 ms Transport of 1 directory objects is completed in 23629 ms
-
View changes overview for ICOs, communication channels, scenarios, parties, business components, business systems, sender and receiver agreements (available only if landscape related to current transport of integration directory objects is PI binary landscape). It opens
Transport changes overview
page where you can browse the changes and export table data to CSV format. -
Download parameters report that contains all external properties that are used in the transport (only for binary landscapes). It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform).
-
Batch parameters update to upload transport configuration parameters for several objects in scope of the landscape in the transport (only for binary landscapes). You need to prepare
.csv
file (the structure of data should be equal to the structure of downloaded parameters report). Then upload the file, check changes and submit them. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform). Go to Batch parameters update for more details. -
Schedule transport for import. Go to Schedule import for more details.
-
Disable schedule import for transport.
-
Migrate passwords (for PRO) clicking on
Migrate passwords if possible
.Migrate passwords if possible
is available only for transport withINTEGRATION_DIRECTORY
registry type, containing at least one channel, and linked with migration ticket until the transport is approved or imported. -
Manage the transport statuses:
-
CREATED
is initial state for transport if Require Transport Approval option is true on the landscape, import and approval operations are not available at this stage. -
WAITING_FOR_APPROVAL
is state when transport has not been approved yet, import operation is not available. You can import transport, decline it, or soft decline (for PRO binary landscape). Soft decline moves transport to theCREATED
state. -
IN_PROGRESS
is initial state for transport if Require Transport Approval is false, and the next state for approved transport. Import operation is available only if it’s initial state for transport or all transports from the same group have been approved. -
IMPORTED
is state when all transport items have been successfully imported on the latest landscape item.If for corresponding landscape Restrict Execution is true, only executors can import transport.
Otherwise, any user with
IRTDevOpsOperator
,IRTDevOpsManager
orIRTAdmin
role can import objects. -
REVERTED
is state when some transport items have been rollbacked to the previous landscape item state.Rollback feature has several limitations:
-
PRO:
-
File/CTS+ transports aren’t supported.
-
-
CPI:
-
If package is created by transport and there aren’t other objects in the transport, then package isn’t deleted during rollback.
-
If only IFlow configuration is changed during import (IFlow isn’t changed), then IFlow configuration isn’t reverted during rollback.
-
-
Api Management:
-
Encrypted key value maps aren’t supported.
-
-
Transport can be rollbacked if target objects state is the latest.
-
Transport is still active.
If for corresponding landscape Restrict Execution is true , only executors can rollback transport.
Otherwise, any user with
IRTDevOpsOperator
,IRTDevOpsManager
orIRTAdmin
role can rollback objects. -
-
DECLINED
is state when transport has been declined by reviewer. It means the ticket should be moved to previous stage (to development) and transports have to be created again (automatically or manually), otherwise, import operation is not available for all transports from the same group. -
CANCELED
is state when the related ticket has been moved to previous stage (to development) and transport has not been imported. It means the ticket should be moved to previous stage (to development) and transports have to be created again (automatically or manually), otherwise, import operation is not available for all transports from the same group.If for corresponding landscape Restrict Execution is true, only executors can rollback transport.
Otherwise, any user with
IRTDevOpsOperator
orIRTAdmin
role can cancel transport.The picture below shows transport status transitions:
-
8.2.3. Transport Configuration page
Transport Configuration
page shows the transport configuration of selected object on selected landscape and looks:
![transport configuration](images/devops/develop/transport-configuration.png)
Transport Configuration is validated during opening, and validation errors are shown in warning message, e.g.:
![tc validation errors](images/devops/develop/tc-validation-errors.png)
On this page you can do the following:
-
Configure whether object is transportable or not. If
Deny transport of current object
is enabled, the object will not be attached to tickets and transports. -
Navigate between Transport Configurations of parent and child objects with transport configuration.
-
Navigate between Transport Configurations of the same object across the Composite landscape.
-
Browse child objects name mapping lookup for binary landscapes.
-
Configure parameters. There are 3 possible cases for transport configuration parameters:
-
Parameter value should be taken from source object version and set on the target object. Default behavior for all non-password parameters.
-
Parameter value should be kept from target object version, so, it won’t be updated. Default behavior for all password parameters.
-
Parameter value should be configured manually for chosen target system.
-
Transport configuration is configured differently for varied objects:
-
PRO objects:
For parties, components, systems, communication channels, and ICOs it’s possible to configure name mapping. For communication channels it’s also possible to configure adapter specific attributes and module parameters. You also can configure mappings and switch on/off
Use scenario mapping
option for PRO non-binary landscapes.You can browse changes between source ICO state and the state to upload clicking on
Changes overview
button on ICO transport configuration page for PRO binary landscapes.Routing conditions can be configured for receivers and interfaces on ICO transport configuration page for PRO binary landscapes:
By default, condition is taken from object payload. If
Inherit (source)
is disabled, routing condition can be changed and this new condition will be used during transport. If it’s required to reuse condition from target object for the same rule, then use ignoring option ofReceivers/Interfaces projection
settings.For receiver interface rules it’s not possible to have projection option (exclude or ignore) and manually defined condition at the same time. The feature has restrictions and limitations. Please consider the following:
Receiver rule is identified by key
<operation> + <receivers party and service>
and that one rule can contain multiple receivers. Receiver interface rule is identified by key<receiver party and service> + <operation> + <operation mapping> + <interfaces>
.While all rules have unique keys and they stay immutable (i.e. no changes in receivers list for receiver rule or interfaces list in receiver interface rule) - identification can be done without any problems, but when there are multiple rules with the same key or when some rule’s key is updated during source object update, we have troubles with matching previously manually configured condition with the updated set of rules. To summarize:
-
If transport configuration has a persisted condition but related key is not found in the actual list of rules, it’s no longer possible to apply that condition and it will be lost. New rules that are inherited from source by default will be shown.
-
If transport configuration has a persisted condition but related key is found multiple times in the actual list of rules, further identification is possible only if initially object has rules with the same key but different conditions.
-
If at some moment of time object gets fully duplicated rules (key+condition), for now it will initialize all conditions with the value from the condition of the first rule in the list of duplicated rules.
One more tricky case occurs when
Don’t remove rules that exist only on the target object
is enabled inReceivers/Interfaces projection
settings. If the option is enabled and conditions are changed for some receivers/interfaces, then:-
If target object has already had all receivers and interfaces, target object will contain these receivers and interfaces (with previous conditions) and receivers and interfaces with new conditions after transport.
-
If target object hasn’t had these receivers and interfaces, target object will contain receivers and interfaces with new conditions after transport.
Projection can be configured in
Receivers/Interfaces projection
settings on ICO transport configuration page for PRO binary landscapes:You can keep receiver/interface rules that exist only on target object enabling
Don’t remove rules that exist only on the target object
.You can either exclude or ignore receiver/interface rules:
-
If you exclude specified receiver/interface rules during transport of the ICO, then these rules will be ignored completely and will not be transported.
-
If you ignore specified receiver/interface rules during transport of the ICO, then these rules won’t be excluded but taken from the current target ICO instead. So, specified rules won’t be updated during transport. If the target object doesn’t exist, ignoring isn’t processed.
If the whole receiver is ignored and target object already has this receiver, extra rules from source object will not be moved to target object.
On Channel transport configuration page there are a lot of Adapter specific attributes and since of 2112 Figaf Tool supports a possibility to add parameter description with context GUI information that can be taken from adapter metadata payload, filter items by different criteria.
The following filters are available:
-
'Changed' filter criteria
filters attributes by differences. So all items, all changed items, items having diffs between source and target or items having diffs on target system are shown. -
'Non-transportable' filter criteria
filters attributes by transportable criteria. So all items, all non-transportable items, all passwords/credentials items or all transportable items are shown.
Also parameter description with context GUI information can be shown depending on
Show parameter description
switcher value.Parameter description with context GUI information that can be taken from adapter metadata files which location (path to the folder with files) should be set in bootstrap parameter irt.config.pi-adapter-metadata-files
. The files should be downloaded from PI system. See Application properties to learn more about bootstrap parameters. -
-
CPI Objects:
You can override transport configuration for older IFlow versions (to enable this feature click on
Override for a particular version
and select a version).It is possible to select draft version only if it’s the latest (it’s impossible to select historical draft versions).
You can initialize transport configuration by the ancestor values clicking on
Init by another object
. It opens the dialog where you can select IFlow which IFlow configuration will be used as an ancestor to initialize IFlow external configuration parameters of target object.Once transport is created for an object, corresponding transport configuration will be persisted. The following cases are possible:
-
There is no persisted transport configuration for an object and persistence is requested for the latest version, then Figaf Tool will persist new config for the latest version (by group id only).
-
There is no persisted config for an object and persistence is requested for particular version, then Figaf Tool will persist new config for particular version (by group id and tracked object id).
-
There is persisted config for the latest version and persistence is requested for latest version, then Figaf Tool will update persisted config for the latest version.
-
There is persisted config for the latest version and persistence is requested for the particular version
-
if a particular version is not the latest, then Figaf Tool will persist new config for the particular version.
-
if a particular version is the latest, then Figaf Tool will update the persisted latest version as a particular version.
-
-
There is a config only for a particular version and persistence is requested for the latest version
-
if a particular version is not the latest, then Figaf Tool will persist new config for the latest version (it’s not the real case for normal usage).
-
if a particular version is the latest, then Figaf Tool will update the content of the particular version without changing its type.
-
-
There is config only for a particular version and persistence is requested for a particular version, then Figaf Tool will update persisted config for the particular version.
When a configuration is persisted for a concrete transport it’s possible to edit transport configuration for transport items which haven’t been approved yet.
'Changed' filter criteria
filters attributes by differences. So all items, all changed items, items having diffs between source and target or items having diffs on target system are shown. -
-
Api Management Objects:
You can configure Api Proxies (target endpoint properties and URL) and Key Value Maps.
'Changed' filter criteria
filters attributes by differences. So all items or all changed items.
8.2.4. Releases page
Releases
page shows all existing releases and looks:
![releases](images/devops/develop/releases.png)
On this page you can:
-
Create new release clicking on
New Release
button. It opens 'Create release' dialog box where the following properties can be configured:-
Title
of new release. Should be unique within the organization. -
Version
of release. -
Default Assignee
for group ticket creation. -
Default Ticket Type
for group ticket creation. See Ticket Types for details. -
Default Landscape
for group ticket creation. The same asLandscape
for ticket (see Landscapes). -
Default Source Landscape
,Default Target Landscape
, andDefault Migration Landscape
for group ticket creation. The same asSource Landscape
,Target Landscape
, andMigration Landscape
for ticket correspondingly (see Landscapes).
-
-
Select release(s) and release it(them) clicking on
Release
button.Only releases which all attached tickets are in Migrated
,In production
, orCanceled
statuses can be released. -
View a release details clicking on
button. It opens Release 'Title' page.
-
Select release(s) and delete it(them) clicking on
button.
The release(s) will be deleted with all attached tickets.
Release 'Title' page
Release 'Title'
page provides the features for management and monitoring of ticket groups and looks:
![release details page](images/devops/get-started/release-details-page.png)
There are the following operations can be executed on this page:
-
Opening another release details clicking on
button and selecting a release.
-
Expanding the release configuration clicking on
button. It expands the configuration, which can be updated (see release fields here):
If you want to save changes, click on
button. Otherwise, collapse the configuration.
-
Release the release clicking on
Release
button.Only releases which all attached tickets are in Migrated
,In production
, orCanceled
statuses can be released. -
Changing view perspective:
Release has two view perspectives:
-
Integration scenarios
perspective shows scenarios added to tickets attached to the release. Here you can:-
Add new scenario clicking on
Add Scenarios
button (available only if the release hasn’t been released yet). It opensCreate new tickets for chosen scenarios
dialog box:In this dialog box configure properties of new tickets (see almost all of them here):
-
Ticket creation strategy
identifies how objects should be distributed between tickets:One ticket per scenario
orAll scenarios in one ticket
. -
Test cases attachment strategy
identifies whether test cases should be attached during tickets creation, or not:Attach all available test cases for chosen scenarios
orDon’t attach any test cases
. IfAttach all available test cases for chosen scenarios
is selected, ticket’s integration objects lookup and test cases attachment (all found test cases for resolved integration objects) will be processed for each created ticket.After configuring new ticket properties click on
Add Scenarios
. It opens 'Select integration scenarios' dialog box where you can select the objects (submit the dialog box to close it).If you have selected unnecessary objects, you can select them and click on
Delete Scenarios
button.Click on
Save
to create new ticket(s). Selected objects with all dependent objects will be attached to created ticket(s).Selected objects should be licensed for DevOps or Migration (see Configure Object Licenses for details).
-
-
View integration scenario details clicking on the link of source integration scenario. It opens Integration Object Details page.
-
View ticket details clicking on
and selecting the ticket. It opens Ticket: Ticket ID page.
-
-
Tickets
perspective shows attached tickets and provides functionality for ticket management. Here you can:-
Attach tickets clicking on
Attach Tickets
button and selecting the tickets.You can attach tickets that are not associated with any release. Attach Tickets
button is available only if the release hasn’t been released yet. -
Detach tickets selecting unnecessary tickets and clicking on
Detach Tickets
.Detach Tickets
button is available only if the release hasn’t been released yet. -
View ticket details clicking on its id. It opens Ticket: Ticket ID page.
-
Monitor ticket stages switching between
Prepared
,In Development
,In Transport
,Migrated
, andIn Production
tabs.These tabs correspond to ticket stages described here. -
Move tickets to next stage depending on previous one:
-
To development
onPrepared
tab. -
Start transport
onIn Development
tab. -
Finish transport
onIn transport
tab.To development
,Start transport
, andFinish transport
buttons are available only if the release hasn’t been released yet.
-
-
Create Development tickets
from selected migration tickets onMigrated
tab. It creates development tickets on target system which can be used for moving current development landscape to production.Create Development tickets
button is available only if the release hasn’t been released yet. -
Migrate Transport Configuration
of selected migration tickets onMigrated
tab. It opens 'Migrate Transport Configurations' dialog box:Where you can configure:
-
Fill values of parameters inherited from target by static values from source landscape
-
Migrate passwords if possible (PRO only)
Migrate Transport Configuration
button is available only if the release hasn’t been released yet.
-
-
-
9. PI to CPI migration
Requirements:
-
All required Agent Systems have been configured (see that section to learn how to do that).
-
Configure Channel Mapping Templates if default templates don’t match.
-
Configure Migration license for PI objects which you want to migrate (see Configure Object Licenses for details).
Since 2107 version Figaf Tool supports PI to CPI migration cases. On PI to CPI migration page
you can migrate PI Integration object or Operation mapping.
9.1. Get started with PI to CPI migration
9.1.1. Channel Mapping Templates configuration
Since of 2309 Figaf Tool supports channel mapping templates management. So PItoCPIMigrationTemplates repository is deprecated.
To configure template:
-
Go to
PI to CPI migration → Channel Mapping Templates
page. -
Click on
to create new template.
You can copy existing template clicking on of related template.
It will open the dialog:
-
Fill
Name
-
Select
PI Channel
(orDirection
andAdapter Type
). Once you selectPI Channel
,PI Channel XML
value will be set. Then you canRun template
to check configuration. -
Select
CPI IFlow
andMessage Flow Step Id
. Click onGenerate template
, thenXSLT Template
will be generated. -
Save the template.
-
-
To modify or delete custom template click on
or
.
Only custom templates can be modified or deleted. Default templates can be browsed only.
9.1.2. Configuration
To migrate objects from PI to CPI you have to configure agents for the usage:
-
Go to
PI to CPI migration → Configuration
page: -
Configure
PI Agents
used for source objects (required) -
Configure
CPI Development Agents
used for migrated objects (required) -
Configure
CPI Production Agents
-
Configure
Parameter Value Replacement
table to replace externalized properties in the generated IFlows.Empty value of the cell means that the replacement rule will not be applied.
JMS Queue Name
can be replaced as well. -
Configure
Modules Replacement
table to replace custom or EDI modules with the corresponding groovy script belong to a Script Collection. By default, Script Function Name isprocessData
, but it can be overridden.If a module name in the model has a
localejbs/
prefix, this prefix will be omitted(so it’s considered as equal with the module name without this prefix).If a module has parameters, a separate Content Modifier in the IFlow before a groovy script will be created. If it has a password parameter, it will be set to empty value.
In case of an asynchronous ICO, modules before sender and before receiver will be replaced
In case of a synchronous ICO, modules before sender, before receiver, after receiver, after sender will be replaced.
9.1.3. E2e migration of PI Integration object (from Overview page)
To migrate PI Integration object from Overview
page:
-
Go to
Overview
page: -
Click on
button of PI object that you are going to migrate. You’ll be migrated to
Migration
page with predefined data: -
Select
CPI Agent
-
Select
CPI Package
-
Type
Name prefix
for Inbound IFlow if profile isPipeline All
or target IFlowName
(Display name) for other profiles. -
Type
ID prefix
for Inbound IFlow if profile isPipeline All
or target IFlowID
(Technical name) for other profiles. -
Select
Profile Type
. The value could beSingle Process
orLocal Processes
:-
Single Process
- migrated IFlow has one Integration Process. Neither subprocess nor exception handling isn’t supported by default. -
Local Processes
- migrated IFlow is enterprise ready: local Integration Process is created for each receiver/interface, subprocess is created for every branch, exception handling is supported.It’s required to deploy script collection for error handling (see script content for error handling). If
Local Processes
profile is selected, selectRetry Type
. The value could beNone
orJMS
:None
- migrated IFlow doesn’t include retry process;JMS
- migrated IFlow includes retry process. IfJMS
type is selected,JMS Queue Name
can be configured. -
B2B Scenario
- migrated IFlow has aB2B XSLT Transformer
XSLT Mapping element to apply modifications with a payload needed for TPM.There are some details about
B2B Scenario
migration profile:-
The migrated IFlow doesn’t have a receiver,
Add SAP_Sender
/Add SAP_Receiver
, subprocesses and exception handling, routing. -
If a source ICO has multiple mappings, only one of them can be used. All others will be excluded. By default, only the first mapping will be included. You can see it at the
Receivers/Interfaces
table. -
It uses a
process-direct sender default
template for a sender adapter.
-
-
Pipeline All
migrates to Inbound Processing, Inbound Conversion and Outbound IFlows, generates and uploads Receiver and Interface Determinations XSLTs and InboundConversionEndpoint string parameter to Partner Directory.There are some details about
Pipeline All
migration profile:-
It’s possible to
Regenerate Names
for all IFlows after change of values used for displayed and technical names (e.g.Name prefix
,ID prefix
,Sender
, etc.). -
It doesn’t support sync scenarios.
-
Only Local Receiver Rules are supported in scope of Receiver Determination XSLT generation.
-
If ICO has neither CSV to XML conversion nor custom modules replacement, Inbound Conversion IFlow will not be generated and InboundConversionEndpoint string parameter will not be uploaded to Partner Directory.
-
Outbound IFlows use a
process-direct sender default
template for a sender adapter.
-
-
Pipeline Inbound Processing
- migrated IFlow is Inbound Processing IFlow and has sender message flow, a couple of headers modifiers, and idempotent call. -
Pipeline Inbound Conversion
- migrated IFlow is Inbound Conversion IFlow and has CSV to XML conversion and custom modules replacement steps. -
Pipeline Outbound
- migrated IFlow is Outbound IFlow and has headers modifiers, mappings process, modules replacement converter, unique ID content modifier, and idempotent call. If a message mapping has splitter and/or filter elements, they will be placed in the main process.There are some details about
Pipeline Outbound
migration profile:-
It doesn’t support sync scenarios.
-
If a source ICO has multiple mappings, only one of them can be used. All others will be excluded. By default, only the first mapping will be included. You can see it at the
Receivers/Interfaces
table. -
It uses a
process-direct sender default
template for a sender adapter.
-
-
-
Click on
Check
in order to build target IFlow model -
Once the operation is completed, you are allowed to configure migration settings and check migration logs:
-
Only
Pipeline All
profileSender
value is used for aSender
component name of the Inbound IFlow. -
Only
Pipeline All
profileSender
andInterface
values are taken from the ICO sender part and used for Inbound IFlow displayed and technical names, in the Inbound IFlow headers. -
Try to deploy after migration
enables automatic deploy of migrated IFlow(s). -
Channels Mapping
configures xslt mapping file paths for channels. If corresponding template isn’t found, then HTTP is used for sender and ProcessDirect is used for receiver. -
Receivers/Interfaces
configures which receivers/interfaces should be migrated from PI Integration Object.For
Pipeline All
profile there are more configurations:-
Service
value(s) is(are) configurable and used in the part of the Outbound IFlow name. The value is used for XSLT generation of Interface and Receiver Determinations. -
Displayed name
,Technical name
andURL
of Outbound IFlows are configurable in related dialog shown by click onbutton.
-
-
Cloud Integration Resources
manages shared artifacts modes:-
Reuse shared artifact
- existing shared artifact will be used during migration -
Overwrite shared artifact
- existing shared artifact will be overwritten using current state of related PI object -
Create as local object
- existing shared artifact will not be used during migration.If source object is
Message Mapping
with defined functions, checkboxExtract UDFs into a separate script
will be shown. If the checkbox is enabled, local functions from a message mapping will be extracted into a separate groovy script. If the checkbox is disabled, functions will not be extracted.Please use
Overwrite shared artifact
orCreate as local object
mode, when you changeExtract UDFs into a separate script
value. -
Use migrated CPI function library
(only forScript
resource type) - existing CPI function library will be used during migration. So migrated IFlow will be linked with the CPI function library. If related CPI function library doesn’t exist on CPI system, then Function Library conversion algorithm will be used. -
Use custom CPI script
(only forARCHIVE_PROGRAM
) - existing CPI script from Script Collection should be selected.
-
-
Migration logs
shows migration warnings and advices.
-
-
Once everything is configured, migrate the object clicking on
Migrate
.Example of migrated IFlow (
Single Process
profile):Example of migrated IFlow (
Local Processes
profile): -
Configure the IFlow
-
Deploy it if you want to run test cases
-
Once PI object is migrated, there is the information with migrated IFlow on
Overview
page: -
Then you can migrate PI object test case clicking on the row and then clicking on
Migrate Test cases
button. You will be navigated toAgent Test Cases
tab onIntegration Object Details
page. Then Follow Migrate test cases from PI to CPI feature.
If some issue occurs during checking the state, please download archive for debugging and send it to us by email [email protected]. |
9.1.4. E2e migration of PI Integration object (from Migration page)
To migrate PI Integration object from Migration
page:
-
Go to
Migration
page -
Select PI Integration Object
Selected object should be licensed for Migration (see Configure Object Licenses for details).
-
Select
CPI Agent
-
Select
CPI Package
-
Type
Name prefix
for Inbound IFlow if profile isPipeline All
or target IFlowName
(Display name) for other profiles. -
Type
ID prefix
for Inbound IFlow if profile isPipeline All
or target IFlowID
(Technical name) for other profiles. -
Select
Profile Type
. The value could beSingle Process
orLocal Processes
:-
Single Process
- migrated IFlow has one Integration Process. Neither subprocess nor exception handling isn’t supported by default. -
Local Processes
- migrated IFlow is enterprise ready: local Integration Process is created for each receiver/interface, subprocess is created for every branch, exception handling is supported.It’s required to deploy script collection for error handling (see script content for error handling). If
Local Processes
profile is selected, selectRetry Type
. The value could beNone
orJMS
:None
- migrated IFlow doesn’t include retry process;JMS
- migrated IFlow includes retry process. IfJMS
type is selected,JMS Queue Name
can be configured. -
B2B Scenario
- migrated IFlow has aB2B XSLT Transformer
XSLT Mapping element to apply modifications with a payload needed for TPM.There are some details about
B2B Scenario
migration profile:-
The migrated IFlow doesn’t have a receiver,
Add SAP_Sender
/Add SAP_Receiver
, subprocesses and exception handling, routing. -
If a source ICO has multiple mappings, only one of them can be used. All others will be excluded. By default, only the first mapping will be included. You can see it at the
Receivers/Interfaces
table. -
It uses a
process-direct sender default
template for a sender adapter.
-
-
Pipeline All
migrates to Inbound Processing, Inbound Conversion and Outbound IFlows, generates and uploads Receiver and Interface Determinations XSLTs and InboundConversionEndpoint string parameter to Partner Directory.There are some details about
Pipeline All
migration profile:-
It’s possible to
Regenerate Names
for all IFlows after change of values used for displayed and technical names (e.g.Name prefix
,ID prefix
,Sender
, etc.). -
It doesn’t support sync scenarios.
-
Only Local Receiver Rules are supported in scope of Receiver Determination XSLT generation.
-
If ICO has neither CSV to XML conversion nor custom modules replacement, Inbound Conversion IFlow will not be generated and InboundConversionEndpoint string parameter will not be uploaded to Partner Directory.
-
Outbound IFlows use a
process-direct sender default
template for a sender adapter.
-
-
Pipeline Inbound Processing
- migrated IFlow is Inbound Processing IFlow and has sender message flow, a couple of headers modifiers, and idempotent call. -
Pipeline Inbound Conversion
- migrated IFlow is Inbound Conversion IFlow and has CSV to XML conversion and custom modules replacement steps. -
Pipeline Outbound
- migrated IFlow is Outbound IFlow and has headers modifiers, mappings process, modules replacement converter, unique ID content modifier, and idempotent call. If a message mapping has splitter and/or filter elements, they will be placed in the main process.There are some details about
Pipeline Outbound
migration profile:-
It doesn’t support sync scenarios.
-
If a source ICO has multiple mappings, only one of them can be used. All others will be excluded. By default, only the first mapping will be included. You can see it at the
Receivers/Interfaces
table. -
It uses a
process-direct sender default
template for a sender adapter.
-
-
-
Click on
Check
in order to build target IFlow model -
Once the operation is completed, you are allowed to configure migration settings and check migration logs:
-
Only
Pipeline All
profileSender
value is used for aSender
component name of the Inbound IFlow. -
Only
Pipeline All
profileSender
andInterface
values are taken from the ICO sender part and used for Inbound IFlow displayed and technical names, in the Inbound IFlow headers. -
Try to deploy after migration
enables automatic deploy of migrated IFlow(s). -
Channels Mapping
configures xslt mapping file paths for channels. If corresponding template isn’t found, then HTTP is used for sender and ProcessDirect is used for receiver. -
Receivers/Interfaces
configures which receivers/interfaces should be migrated from PI Integration Object.For
Pipeline All
profile there are more configurations:-
Service
value(s) is(are) configurable and used in the part of the Outbound IFlow name. The value is used for XSLT generation of Interface and Receiver Determinations. -
Displayed name
,Technical name
andURL
of Outbound IFlows are configurable in related dialog shown by click onbutton.
-
-
Cloud Integration Resources
manages shared artifacts modes:-
Reuse shared artifact
- existing shared artifact will be used during migration -
Overwrite shared artifact
- existing shared artifact will be overwritten using current state of related PI object -
Create as local object
- existing shared artifact will not be used during migration.If source object is
Message Mapping
with defined functions, checkboxExtract UDFs into a separate script
will be shown. If the checkbox is enabled, local functions from a message mapping will be extracted into a separate groovy script. If the checkbox is disabled, functions will not be extracted.Please use
Overwrite shared artifact
orCreate as local object
mode, when you changeExtract UDFs into a separate script
value. -
Use migrated CPI function library
(only forScript
resource type) - existing CPI function library will be used during migration. So migrated IFlow will be linked with the CPI function library. If related CPI function library doesn’t exist on CPI system, then Function Library conversion algorithm will be used. -
Use custom CPI script
(only forARCHIVE_PROGRAM
) - existing CPI script from Script Collection should be selected.
-
-
Migration logs
shows migration warnings and advices.
-
-
Once everything is configured, migrate the object clicking on
Migrate
.Example of migrated IFlow (
Single Process
profile):Example of migrated IFlow (
Local Processes
profile): -
Configure the IFlow
-
Deploy it if you want to run test cases
-
Once PI object is migrated, there is the information with migrated IFlow on
Overview
page: -
Then you can migrate PI object test case clicking on the row and then clicking on
Migrate Test cases
button. You will be navigated toAgent Test Cases
tab onIntegration Object Details
page. Then Follow Migrate test cases from PI to CPI feature.
If some issue occurs during checking the state, please download archive for debugging and send it to us by email [email protected]. |
9.1.5. E2e migration of Operation mapping to existent IFlow
To migrate Operation mapping from Migration
page:
-
Go to
Migration
page -
Select Operation Mapping
Selected object should be linked with Integration object that is licensed for Migration (see Configure Object Licenses for details).
-
Select CPI IFlow
-
Click on
Check
in order to build target IFlow model -
Migrate the object clicking on
Migrate
. As a result objects linked with Operation mapping are migrated to the IFlow
If some issue occurs during checking the state, please download archive for debugging and send it to us by email [email protected]. |
9.2. Supported cases
If ICO or RD scenario has the same Interface declared several times, the migrated IFlow(s) could have some problems.
The following ICO and RD scenarios are supported for migration:
-
Standard async scenarios
-
Sync scenarios
-
Scenarios with receiver, interface, and operation-specific routing
-
Scenarios with extended receiver
-
With simple or compound XPath conditions
-
Supported operators:
=
,!=
,EX
,≈
. -
Scenarios with message mappings
-
With schemas
-
External definition (incl. WSDL and usage of imports)
-
Message Type (incl. Data Types)
-
-
With User Defined Function (Function Library)
-
OM with multiple MM support
-
OM with Java mapping
Empty groovy script will be added to the migrated IFlow. -
OM with ABAP mapping
There is only a warning in Migration logs. Nothing will be added to the migrated IFlow. -
OM with XSL mapping
-
OM with Fault Mapping programs
Fault mapping program is migrated and added to the IFlow resources but the corresponding IFlow step should be added manually. -
MM with message split support
-
MM with parameters
-
MM with bindings
-
MM with External Message name not equaled to its root element
-
MM with
sender
andreceiver
default PI functionsTo support it, Figaf tool replaces usage of
sender
andreceiver
functions in Message Mapping by the custom groovy functiongetHeader
that is configured to fetch CPI headersSAP_Sender
andSAP_Receiver
accordingly by default. It can be reconfigured after migration manually if it needs.When migration is done with
Local Processes
migration profile, special content modifiers are added to set these headers for sender flow and receiver branches.In case of
Single Process
migration profile, content modifiers are not added automatically, but it’s possible to add these content modifiers manually or send headers within the message.Function
getHeader
is added to theMappingParameters.groovy
script. If you have already had shared artifactMappingParameters.groovy
, please selectOverwrite shared artifact
Shared artifacts mode for it before migration.
-
-
RD without Sender Agreement and Receiver Agreement
-
Scenarios with Technical Context Object
-
Scenarios with RFC
-
ICOs with multiple receivers in the rule
-
ICOs with file sender channel with Flat→XML and/or file receiver channel with XML→Flat content conversion at adapter level
In the migrated IFlow, new
GroovyScript
step is added. This script uses thecontent-converter.jar
downloaded from github project developed by the Figaf team. This jar is added to the migrated IFlow automatically.If for some reason
content-converter.jar
can’t be downloaded from the github project, then a jar file from the Figaf tool resources will be used instead and corresponding warning will be shown in the migration logs.
10. Migration to IS
Requirements:
All required CPI composite landscapes have been configured (see that section to learn how to do that).
Since 2212 version Figaf Tool supports browsing and migration from NEO stack to Integration Suite stack.
10.1. Get started with Migration to IS
-
Go to
Migration to IS → Overview
page. -
Select
Migration Landscape
andTarget Landscape
.Migration Landscape
must have only one landscape and last system of theMigration Landscape
should be equal to the first system of theTarget Landscape
.If you have old stack
old_Dev → old_QA → old_Prod
and new stackDev → QA → Prod
and you need to migrate objects fromold_Dev
,old_QA
,old_Prod
systems toDev
, then configure several migration landscapes:old_Dev → Dev
,old_QA → Dev
,old_Prod → Dev
. -
The following features are available:
-
Configure custom mapping for selected objects.
Such custom mappings make sense when some objects can’t be mapped by parameter mapping rules on migration landscape page.
If there are approved or waiting for approval transports with effected objects, custom mapping update will not be successful.
To configure it select objects and click on
Custom Mappings
. It opens the dialog where mapping can be configured: -
Create ticket for migration with selected objects. To do it select objects and click on
Create Ticket for Migration
. It opens ticket creation dialog with predefinedTitle
andLandscape
. Then you can work with created ticket in standard way (see Ticket page). -
Show Test Runs Info
enables test runs viewing for the objects. -
Export to CSV
generates CSV report with the table data. -
Go to tracked object page clicking on the object link.
-
Go to corresponding transport configuration page for objects with transport configuration clicking on the object link and selecting related option.
-
11. Advanced configuration
11.1. Application configuration
Application
page provides general configuration and looks:
![application](images/configuration/application/application.png)
The following application configurations are available:
-
Common Configuration
section:-
Enable changes detection for CPI agents
enables notification about CPI version updates by email. If it’s enabled,Emails where sent notifications to
is shown and defines a list of emails where notification will be sent. The email contains information about version updates for all configured CPI agents. -
Use bundled CSV report generation strategy
defines test reports generation strategy. If it’s true, Zip archive with 3 CSV reports: processed messages report, diff report, and test runs metadata report is generated. Otherwise, Excel report is generated. -
Show successful messages in the test suite’s report
configures whether successful messages are added to the excel report or not. It makes sense to enable it only ifUse bundled CSV report generation strategy
is disabled. Otherwise, it has no effect. -
Schedule test suites by default
enablesScheduled
setting for all new test suites. -
Ignore messages cache during polling
- if you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable the option. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing. -
Transport creator can approve own transports
defines whether reviewer which creates transport can approve it or not. -
Use individual landscapes by default
defines whether individual or composite landscapes are preferable. Default value isfalse
which means that Composite landscapes mode is a preferable one. -
Audit TRACE lifetime period (days)
,Audit INFO lifetime period (days)
,Audit WARNING lifetime period (days)
andAudit ERROR lifetime period (days)
define lifetime period for audit entries. Cron jobs get triggered every day at 3 pm. -
Test Run timeout (hours)
-
Report generation delay (minutes)
-
SMTP host
,SMTP port
,SMTP username
,SMTP password
,Email Protocol
,Enable StartTLS
are SMTP host configuration. Options are available only on embedded Figaf Tool version. -
Email From
is an email which is used as a sender in emails sent by Figaf Tool. Option is available only on embedded Figaf Tool version. -
Email To
is an email to which emails is sent by Figaf Tool. -
OpenAI API Key
,OpenAI Default Model
andOpenAI Default Temperature
configure connection settings to Open AIs API to get some help during development in IDE.
-
-
Jobs Info
section:-
TestSuiteResultNotifier
enables test suite run reports sending by email and configures interval (as cron expression). The reports are sent only for test suites with enabledSend report by email
option. It is required to have SMTP host configurations,Email From
, andEmail To
settings configured. -
TestSuiteRunner
enables automatic test suite running and configures interval (as cron expression). Only test suite with enabledScheduled
option is run automatically. -
TestingResultsCleaner
enables automatic test results cleaning and configures interval (as cron expression). -
AlertsCleaner
enables automatic alerts cleaning and configures interval (as cron expression). -
SupportToolAlertsHandler
enables automatic alerts polling and configures interval (as cron expression). -
SupportToolReprocessing
enables alerts reprocessing and configures interval (as cron expression). This job is required for PRO agents. -
MonitoredMessagesCleaner
enabled automatic EDI monitored messages cleaning and configures interval (as cron expression).
-
11.2. Agents configuration
11.2.1. Sign on to SAP CPI CF using SAML2
Open Configuration
→ Agents
page, click Edit
on needed Agent. If you don’t have Agent configured read this section at first. Enable checkbox Use custom IdP
. Then you will need to do the following steps:
-
Go to your SAP BTP Cockpit and download
SAML Metadata
. -
Open the file and copy value related to
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location=
. -
Go to Figaf Tool and paste Url from the previous step into
SSO Url
. -
Save the agent.
-
Generate entity descriptor for the agent:
-
Go back to the SAP BTP Cockpit and upload this file as a new Trust configuration.
Don’t change anything in the configuration, just configure Name
. Otherwise, there could be some issues. -
Add Role collection mappings for the IdP:
PI_Administrator
,PI_Business_Expert
,PI_Integration_Developer
with the attributeGroups
and the valueAdmin
:If you configure the IdP for IS system and want to synchronize Message Implementation Guideline objects, configure one more Role collection mapping
iadv-content-developer
with the attributeGroups
and the valueAdmin
for the IdP.If you are going to use cpi-plugin for the agent, it’s required to create OAuth Client with
idp:sign
scope and use its credentials inidpApiClientId
andidpApiClientSecret
properties ingradle.properties
file and configure Role collection mappingPI_Integration_Developer
with the attributeGroups
and the valueDeveloper
for the IdP. -
Go back to Figaf Tool and test configuration for the agent. Select it and click on
Test configuration
button.
If you need to regenerate entity descriptor for the agent. You need to Reset Entity Descriptor on Agents integration configuration (CPI platform), then generate entity descriptor and update the Trust configuration in the SAP BTP Cockpit.
|
11.2.2. Naming convention rules
Open Configuration
→ Agents
page. If you don’t have Agent configured read this section at first.
To upload naming convention rules follow the steps:
-
Click on naming convention rules icon for the agent:
-
Upload CSV file with configuration.
It’s possible to download sample file or existing rules files. Examples of naming convention rules CSV file
Naming convention rules for PRO agent:
Tag;Object type;Sender Party;Sender Component;Interface Name;Interface Namespace;Receiver Party;Receiver Component tag1;CHANNEL;.*;.*TEST.*;.*;;; tag2;ICO;.*;.*TEST.*;TEST.*;.*;.*;.*
Only ICO
andCHANNEL
types are supported.CHANNEL
has 3 keys,ICO
has 6 keys. Empty values are supported for Sender Party, Receiver Party and Receiver Component keys.Naming convention rules for CPI agent:
Tag;Object type;Name tag1;CPI_IFLOW;TEST.*; tag2;CPI_IFLOW;TST.*;
Only CPI_IFLOW
type is supported.Naming convention rules for Api Management agent:
Tag;Object type;Name tag1;API_PROXY;.*_TST.* tag2;KEY_VALUE_MAP;.*_TEST tag3;ENCRYPTED_KEY_VALUE_MAP;.*_TEST
Only API_PROXY
,KEY_VALUE_MAP
,ENCRYPTED_KEY_VALUE_MAP
types are supported. -
Once you upload the rules, related technical tags will be created and attached to appropriate tracked objects. Tag
<system-id:no-naming-validation>
will be attached to objects that don’t match any naming convention rule.
If there are naming convention rules for the agent, you can either upload new rules or cleanup them completely. During cleanup operation naming convention rules will be deleted together with related technical tags. Also naming validation will be forcibly disabled in all landscapes where current agent is a source landscape item.
11.3. Landscapes configuration
Landscapes
page shows all existing landscapes and looks:
![landscapes](images/configuration/landscapes/landscapes.png)
On this page you can:
-
Create new landscape clicking on
Create Landscape
button (see Landscape configuration examples to learn how to configure landscapes):-
See Landscape configuration (PRO platform) to create PRO landscape.
-
See Landscape configuration (CPI platform) to create CPI landscape. (Deprecated. We recommend to configure Composite landscapes configuration (CPI/Api Management)).
-
See Landscape configuration (Api Management platform) to create Api Management landscape. (Deprecated. We recommend to configure Composite landscapes configuration (CPI/Api Management)).
-
-
Manage composite landscapes (CPI/Api Management only) selecting
Composite
inLandscapes Type
selector (see Composite landscapes configuration (CPI/Api Management)). -
Delete a landscape clicking on its
button.
Landscapes linked to any object (release, ticket, etc.) can’t be deleted. -
Edit landscapes clicking on its
button.
You can edit only
Require Transport Approval
andTransport Reviewers
settings (for PRO and Api Management landscapes) andDeploy after transport
,Require approval
, andReviewer emails
landscape items settings (for CPI landscapes).All transports linked with the landscape must be in
IMPORTED
,CANCELED
, orDECLINED
statuses, otherwise you will get an error that it is not possible to change transport approval value because some transports are in WAITING_FOR_APPROVAL, IN_PROGRESS or CREATED state. -
Expand/Collapse node of a landscape to view/hide landscape items.
11.3.1. Landscape configuration (PRO platform)
Follow the steps to configure landscape:
-
Go to the
Landscapes
tab onConfiguration
page, selectIndividual
inLandscapes Type
selector and add your landscape throughCreate Landscape
button: -
Configure the following properties:
-
Name
of new landscape. Should be unique within the organization. -
Platform
- select the type of your landscape - PRO. -
Integrated transport management
- if true, Figaf Tool will use file transport EJB API to process transport of ESR (Enterprise Service Repository) objects and integration directory WS (Web Service) for Directory objects. Otherwise, user should attach transports to tickets (transports are synchronized in CTT). -
Lookup transport automatically during synchronization
finds Figaf Tool transport (withIN_PROGRESS
status and the landscape has a flagLookup transports during synchronization
) when new transports with Import type were handled by CTT during synchronization. That operation is asynchronously executed at the end of synchronization.This option can be enabled if Integrated transport management
is disabled. -
Binary
defines landscape with 2 landscape items. Binary landscape has a lot of features:Binary landscapes features
-
Idempotent binary landscape is a binary landscape having landscape items with the same agent. For such landscapes there are 2 flows of transport import:
-
When the object is mapped during transport, then new object will be created on the same system.
-
When object is not mapped, then it will be updated on the same system.
-
-
Predecessors
andSuccessors
are used to define a composite landscape. Composite landscape includes binary landscapes and links them together. For example: -
'Deny if matches' criteria
,'Allow if matches' criteria
,'Deny if object exists' criteria
configurations (see transport denying rules). -
Batch import of Integration Directory transports linked with the same PI binary landscape. Batch import is not supported for groups of transports (when multiple transports created for one ticket).
-
Batch rollback of Integration Directory transports imported in batch mode.
-
Possibility to split import process for Integration Directory transports done through WS. You can choose if changelist should be activated immediately after upload of all objects or not.
-
Validation of Integration Directory transports done through WS after upload completion (split import process). If related PI changelist is invalid, transport is marked Invalid in Figaf Tool and import can’t be completed.
If you import several transports in batch mode and PI changelist is invalid for one of them, then related changelist will be canceled but batch import will continue for other transports. So invalid PI changelist will be 'skipped' during batch import operation.
-
Possibility to update routing conditions in ICO Transport Configuration (see Transport Configuration page).
-
Possibility to keep receiver/interface rules that exist only on target object after import (see Transport Configuration page).
-
Projection of receiver/interface rules in ICO Transport Configuration (see Transport Configuration page).
-
Possibility to browse changes between source ICO state and the state to upload in ICO Transport Configuration (see Transport Configuration page).
-
Consistency check of the list of directory objects in transport as a part of transport validation.
Let’s have a Configuration Scenario that has a set of objects related to one ICO (parties, components, channels). Map party to get it nonexistent on the target system. Then add all objects related to Configuration Scenario to transport but detach mapped party from the ticket. Validation will be processed and all objects except channels will have a validation error. Channel won’t have it because it depends on component, but the component is in transport, so, it shouldn’t be validated during validation of channel. It’s expected behavior because it’s impossible to proceed further - components are not valid in transport.
If a component is not in transport, then channel dependencies will be validated fully.
-
Validation of uniqueness of target objects in transport.
-
Possibility to view changes overview for ICOs and communication channels.
Only for transports of integration directory objects. -
Selection of
adapterEngineName
channel parameter on transport configuration page. Decentral adapter engine labels are used as values in the selector. -
Tracked objects name mapping lookup across the composite landscape.
-
Navigation between Transport Configurations of the same object across the Composite landscape.
-
Child objects name mapping lookup on Transport configuration page.
-
Validation of naming convention rules.
-
"Soft" decline to move transport to the CREATED state (before approval).
-
Possibility to complete import if all landscape items are either imported or skipped but transport status is still
IN_PROGRESS
. -
Possibility to create a next ticket for the next landscape in the chain from successfully processed transport page.
Only if landscape from current transport has one successor. -
Possibility to download parameters report that contains all external properties that are used in the transport. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform).
-
Possibility to perform a mass update of transport configuration parameters. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform). See batch parameters update to upload transport configuration parameters for more details.
-
Possibility to schedule import process execution. See schedule import for more details.
-
Integration with a webhook (see Webhook integration).
-
-
(Only for binary landscapes)
Enable Naming Validation
enables objects names mappings validation on transport level. If you have a ruleTEST.*
, related objects can’t be mapped toTST.*
Naming validation rules should be uploaded for agent related to a source landscape item (upload naming convention rules). -
Require Transport Approval
enables review step between transport creation and import. -
Transport Reviewers
defines reviewers. This option is available only ifRequire Transport Approval
is true.If Restrict Access
is configured, all reviewers should also be landscape developers. -
Make a snapshot of Transport configuration before approval
- if true, transport configuration is cached once transport is sent to approval. The option is visible ifRequire Transport Approval
option is enabled for at least one landscape item. -
Restrict Execution
enables transport executors configuration. -
Transport Executors
defines executors. This option is available only ifRestrict Execution
is true.If Restrict Access
is configured, all executors should also be landscape developers. -
Landscape Developers
defines users who are allowed to work with the landscape. This option is available only ifRestrict Access
is true. -
(Only for binary landscapes)
Scheduled transports execution time
configures left bound for import process execution. After configured time global scheduler will have a pulse each 5 minutes. If a lot of transports are scheduled around same period, then target system may be overloaded with transports for some period of time. So that not all transports will be scheduled and executed in time. -
Landscape Items
describes groups of Agents in specific order and assignment. Landscape items can be added by clicking onand deleted by clicking on its
.
The items have the following configuration:
-
System Id
is selected agent.If
Binary
is true and both landscape items have the sameSystem Id
, then it will be idempotent binary landscape. For such landscapes there are 2 flows of transport import:-
When the object is mapped during transport, then new object will be created on the same system.
-
When object is not mapped, then it will be updated on the same system.
-
-
System description
is description for current system (e.g.qa
).
-
-
(Only for binary landscapes)
Predecessors
andSuccessors
are used to define a composite landscape. Composite landscape includes binary landscapes and links them together. For example: -
Parameter values replacement (substring criteria)
defines parameter values replacement rules for transport configuration parameters. To enable this feature during landscape creation switchConfigure
on. Then for each landscape item you can define parameter values which will be used in transport configuration parameters.Only parameters inherited from source will be replaced according to defined strategy. Example: let’s define a landscape with 3 landscape items:
Dev
,Qa
,Prod
and configureParameter values replacement (substring criteria)
:Dev Qa Prod dev.system.com
qa.system.com
prod.system.com
sapdev
sapqa
sapprod
dev.system.com:2222
qa.system.com:3333
prod.system.com:4444
dev.system.ondemand.com
qa.system.ondemand.com
So all parameters inherited from source in all objects transported through the landscape will be replaced by corresponding value in the table. If value isn’t defined, empty string will be used in transport configuration parameters.
-
(Only for binary landscapes)
'Deny if matches' criteria
defines criteria for objects that will not be attached to tickets and transports. So such objects can’t be imported. You can define criteriaObject name patterns
(as regular expression),Object Types
andObject Tags
. -
(Only for binary landscapes)
'Allow if matches' criteria
defines criteria for objects that will be attached to tickets and transports. Only objects match this criteria can be imported. You can define criteriaObject name patterns
(as regular expression),Object Types
andObject Tags
. If the criteria is defined and object doesn’t match all filters, then its devops is denied (in other words, if object matches any filter - its devops is allowed). -
(Only for binary landscapes)
'Deny if object exists' criteria
defines criteria for objects that will not be attached to tickets and transports if target objects exist. So such objects can be imported only if corresponding objects don’t exist on target system. You can define criteriaObject name patterns
(as regular expression),Object Types
andObject Tags
.Priority of resolution from the high to low: 'Deny if matches' → 'Allow if matches' → 'Deny if object exists'. It means if some object matches 'Deny if matches' criteria other 2 won’t be checked. If object doesn’t match it but matches 'Allow if matches' criteria, then checking of 'Deny if object exists' will be skipped. -
Email integration
enables or disables emails sending for approval and import operations. Configure the settings:-
Notify about approval actions
- if enabled, notification about sending for approval and execution of approval (approve, decline, soft decline) will be sent. By default, it’sdisabled
. -
Notify about transport process completion
- if enabled, notification about transport process completion (import, complete import, rollback, etc.) will be sent. By default, it’sdisabled
. -
Additional recipients to inform about transport process completion
- list of user emails that should be added to CC list in the transport process completion notification email.
-
-
(Only for binary landscapes)
Webhook integration
defines events which should fire via webhook. To configure webhook go to Integrations page and create HTTP(S) integration.When event is triggered, related Audit event will be logged.
-
11.3.2. Composite landscapes configuration (CPI/Api Management)
CPI and Api Management binary landscapes are managed only in scope of a composite landscape and support only linear flow. So if you want to use binary landscape features, it’s required to configure corresponding composite landscape.
We recommend this flow because it provides a lot of benefits:
Binary landscapes features
-
Idempotent binary landscape is a binary landscape having landscape items with the same agent. For such landscapes there are 2 flows of transport import:
-
When the object is mapped during transport, then new object will be created on the same system.
-
When object is not mapped, then it will be updated on the same system.
-
-
Predecessors
andSuccessors
are used to define a composite landscape. Composite landscape includes binary landscapes and links them together. For example:CPI and Api Management binary and composite landscapes are managed by Figaf Tool on Composite landscapes configuration (CPI/Api Management) page
-
Batch import of CPI/Api Management transports linked with the same binary landscape.
-
Batch rollback of Integration Directory transports imported in batch mode.
-
Parameter mapping rules
defines name mapping rules. SeveralRule Types
are supported and depending on chosen types different configuration is required. -
'Deny if matches' criteria
,'Allow if matches' criteria
,'Deny if object exists' criteria
configurations (see transport denying rules). -
Tracked objects name mapping lookup across the composite landscape.
-
Navigation between Transport Configurations of the same object across the Composite landscape.
-
Child objects name mapping lookup on Transport configuration page.
-
Validation of naming convention rules.
-
"Soft" decline to move transport to the CREATED state (before approval).
-
Possibility to complete import if all landscape items are either imported or skipped but transport status is still
IN_PROGRESS
. -
Initialize transport configuration by the ancestor values in IFlow Transport Configuration (see Transport Configuration page).
-
Tracking source and target objects automatically using technical tags.
-
Possibility to browse all objects in scope of composite landscape on
Landscape Overview
page. -
Possibility to create a next ticket for the next landscape in the chain from successfully processed transport page.
Only if landscape from current transport has one successor. -
Possibility to download parameters report that contains all external properties that are used in the transport. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform).
-
Possibility to perform a mass update of transport configuration parameters. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform). See batch parameters update to upload transport configuration parameters for more details.
-
Possibility to schedule import process execution. See schedule import for more details.
-
Integration with a webhook (see Webhook integration).
To configure composite landscape follow:
-
Go to the
Landscapes
tab onConfiguration
page, selectComposite
inLandscapes Type
selector. -
In order to create new composite landscape, click on
. New composite landscape page will be opened:
-
Select
Platform
and configureEnvironments
. Once this configuration is done, click onNext
button.Platform
andEnvironments
will become uneditable and all corresponding binary landscapes will be predefined: -
Configure each landscape:
-
Name
of landscape -
(Only for CPI)
Deploy after transport
defines whether objects imported to current system are deployed or not. -
(Only for binary landscapes)
Enable Naming Validation
enables objects names mappings validation on transport level. If you have a ruleTEST.*
, related objects can’t be mapped toTST.*
Naming validation rules should be uploaded for agent related to a source landscape item (upload naming convention rules). -
Require Transport Approval
enables review step between transport creation and import. -
Transport Reviewers
defines reviewers. This option is available only ifRequire Transport Approval
is true.If Restrict Access
is configured, all reviewers should also be landscape developers. -
Make a snapshot of Transport configuration before approval
- if true, transport configuration is cached once transport is sent to approval. The option is visible ifRequire Transport Approval
option is enabled for at least one landscape item. -
Restrict Execution
enables transport executors configuration. -
Transport Executors
defines executors. This option is available only ifRestrict Execution
is true.If Restrict Access
is configured, all executors should also be landscape developers. -
Landscape Developers
defines users who are allowed to work with the landscape. This option is available only ifRestrict Access
is true. -
(Only for binary landscapes)
Scheduled transports execution time
configures left bound for import process execution. After configured time global scheduler will have a pulse each 5 minutes. If a lot of transports are scheduled around same period, then target system may be overloaded with transports for some period of time. So that not all transports will be scheduled and executed in time. -
Parameter mapping rules
defines name mapping rules. SeveralRule Types
are supported and depending on chosen types different configuration is required. -
Parameter values replacement (substring criteria)
defines parameter values replacement rules for transport configuration parameters. To enable this feature during landscape creation switchConfigure
on. Then for each landscape item you can define parameter values which will be used in transport configuration parameters.Only parameters inherited from source will be replaced according to defined strategy. Example: let’s define a landscape with 3 landscape items:
Dev
,Qa
,Prod
and configureParameter values replacement (substring criteria)
:Dev Qa Prod dev.system.com
qa.system.com
prod.system.com
sapdev
sapqa
sapprod
dev.system.com:2222
qa.system.com:3333
prod.system.com:4444
dev.system.ondemand.com
qa.system.ondemand.com
So all parameters inherited from source in all objects transported through the landscape will be replaced by corresponding value in the table. If value isn’t defined, empty string will be used in transport configuration parameters.
-
(Only for binary landscapes)
'Deny if matches' criteria
defines criteria for objects that will not be attached to tickets and transports. So such objects can’t be imported. You can define criteriaObject name patterns
(as regular expression),Object Types
andObject Tags
. -
(Only for binary landscapes)
'Allow if matches' criteria
defines criteria for objects that will be attached to tickets and transports. Only objects match this criteria can be imported. You can define criteriaObject name patterns
(as regular expression),Object Types
andObject Tags
. If the criteria is defined and object doesn’t match all filters, then its devops is denied (in other words, if object matches any filter - its devops is allowed). -
(Only for binary landscapes)
'Deny if object exists' criteria
defines criteria for objects that will not be attached to tickets and transports if target objects exist. So such objects can be imported only if corresponding objects don’t exist on target system. You can define criteriaObject name patterns
(as regular expression),Object Types
andObject Tags
.Priority of resolution from the high to low: 'Deny if matches' → 'Allow if matches' → 'Deny if object exists'. It means if some object matches 'Deny if matches' criteria other 2 won’t be checked. If object doesn’t match it but matches 'Allow if matches' criteria, then checking of 'Deny if object exists' will be skipped. -
Email integration
enables or disables emails sending for approval and import operations. Configure the settings:-
Notify about approval actions
- if enabled, notification about sending for approval and execution of approval (approve, decline, soft decline) will be sent. By default, it’sdisabled
. -
Notify about transport process completion
- if enabled, notification about transport process completion (import, complete import, rollback, etc.) will be sent. By default, it’sdisabled
. -
Additional recipients to inform about transport process completion
- list of user emails that should be added to CC list in the transport process completion notification email.
-
-
(Only for binary landscapes)
Webhook integration
defines events which should fire via webhook. To configure webhook go to Integrations page and create HTTP(S) integration.When event is triggered, related Audit event will be logged.
If you need to update Environments
click onBack to environments configuration
. -
-
Once configuration is ready, click on
Create and configure landscapes
button.Composite Landscape Creation Confirmation
dialog will be opened:You can check configurations of all landscapes, technical tags, object name mappings.
11.3.3. Landscape configuration (CPI platform)
This is a deprecated feature for CPI platform. We recommend to use Composite landscapes configuration (CPI/Api Management) because it provides a lot of benefits:
Binary landscapes features
-
Idempotent binary landscape is a binary landscape having landscape items with the same agent. For such landscapes there are 2 flows of transport import:
-
When the object is mapped during transport, then new object will be created on the same system.
-
When object is not mapped, then it will be updated on the same system.
-
-
Predecessors
andSuccessors
are used to define a composite landscape. Composite landscape includes binary landscapes and links them together. For example:CPI and Api Management binary and composite landscapes are managed by Figaf Tool on Composite landscapes configuration (CPI/Api Management) page
-
Batch import of CPI/Api Management transports linked with the same binary landscape.
-
Batch rollback of Integration Directory transports imported in batch mode.
-
Parameter mapping rules
defines name mapping rules. SeveralRule Types
are supported and depending on chosen types different configuration is required. -
'Deny if matches' criteria
,'Allow if matches' criteria
,'Deny if object exists' criteria
configurations (see transport denying rules). -
Tracked objects name mapping lookup across the composite landscape.
-
Navigation between Transport Configurations of the same object across the Composite landscape.
-
Child objects name mapping lookup on Transport configuration page.
-
Validation of naming convention rules.
-
"Soft" decline to move transport to the CREATED state (before approval).
-
Possibility to complete import if all landscape items are either imported or skipped but transport status is still
IN_PROGRESS
. -
Initialize transport configuration by the ancestor values in IFlow Transport Configuration (see Transport Configuration page).
-
Tracking source and target objects automatically using technical tags.
-
Possibility to browse all objects in scope of composite landscape on
Landscape Overview
page. -
Possibility to create a next ticket for the next landscape in the chain from successfully processed transport page.
Only if landscape from current transport has one successor. -
Possibility to download parameters report that contains all external properties that are used in the transport. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform).
-
Possibility to perform a mass update of transport configuration parameters. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform). See batch parameters update to upload transport configuration parameters for more details.
-
Possibility to schedule import process execution. See schedule import for more details.
-
Integration with a webhook (see Webhook integration).
Follow the steps to configure landscape:
-
Go to the
Landscapes
tab onConfiguration
page, selectIndividual
inLandscapes Type
selector and add your landscape throughCreate Landscape
button: -
Configure the following properties:
-
Name
of new landscape. Should be unique within the organization. -
Platform
- select the type of your landscape - CPI. -
Define virtual items manually
enables possibility to define virtual landscape items manually. Enable this option if you need landscape configuration similar toSystem A → System B (virtual) → System B → System C
.If this option is disabled, agent system is marked as virtual for the 2nd and subsequent inclusions (see Landscape configurations examples).
-
Make a snapshot of Transport configuration before approval
- if true, transport configuration is cached once transport is sent to approval. The option is visible ifRequire Transport Approval
option is enabled for at least one landscape item. -
Restrict Execution
enables transport executors configuration. -
Transport Executors
defines executors. This option is available only ifRestrict Execution
is true.If Restrict Access
is configured, all executors should also be landscape developers. -
Landscape Developers
defines users who are allowed to work with the landscape. This option is available only ifRestrict Access
is true. -
(Only for binary landscapes)
Scheduled transports execution time
configures left bound for import process execution. After configured time global scheduler will have a pulse each 5 minutes. If a lot of transports are scheduled around same period, then target system may be overloaded with transports for some period of time. So that not all transports will be scheduled and executed in time. -
Landscape Items
describes groups of Agents in specific order and assignment. Landscape items can be added by clicking onand deleted by clicking on its
.
The items have the following configuration:
-
System Id
is selected agent. -
System description
is description for current system (e.g.qa
). -
Virtual
defines whether landscape item is virtual or not. It’s editable only ifDefine virtual items manually
option is enabled for current landscape. -
Deploy after transport
defines whether objects imported to current system are deployed or not. -
Require approval
defines whether transports to current system require approval or not.if CPI landscape item has approval flag enabled, all next landscape items must have that flag also enabled. -
Reviewer emails
defines reviewers. Available only ifRequire approval
is true for current item.If Restrict Access
is configured, all reviewers should also be landscape developers.If landscape has 3 or more landscape items, the state of the object from previous landscape item is chosen during importing transport.
-
-
Parameter mapping rules
defines name mapping rules for technical names, displayed names, JMS queue name and sender url. The rules are applied as they are in all cases except when it’s a virtual landscape item:-
If
JMS queue name
orsender url
is externalized, related parameter mapping rule isn’t applied, the value should be updated in transport configuration. -
If
JMS queue name
orsender url
is not externalized, related parameter mapping rule is applied.
-
-
Parameter values replacement (substring criteria)
defines parameter values replacement rules for transport configuration parameters. To enable this feature during landscape creation switchConfigure
on. Then for each landscape item you can define parameter values which will be used in transport configuration parameters.Only parameters inherited from source will be replaced according to defined strategy. Example: let’s define a landscape with 3 landscape items:
Dev
,Qa
,Prod
and configureParameter values replacement (substring criteria)
:Dev Qa Prod dev.system.com
qa.system.com
prod.system.com
sapdev
sapqa
sapprod
dev.system.com:2222
qa.system.com:3333
prod.system.com:4444
dev.system.ondemand.com
qa.system.ondemand.com
So all parameters inherited from source in all objects transported through the landscape will be replaced by corresponding value in the table. If value isn’t defined, empty string will be used in transport configuration parameters.
-
Email integration
enables or disables emails sending for approval and import operations. Configure the settings:-
Notify about approval actions
- if enabled, notification about sending for approval and execution of approval (approve, decline, soft decline) will be sent. By default, it’sdisabled
. -
Notify about transport process completion
- if enabled, notification about transport process completion (import, complete import, rollback, etc.) will be sent. By default, it’sdisabled
. -
Additional recipients to inform about transport process completion
- list of user emails that should be added to CC list in the transport process completion notification email.
-
-
11.3.4. Landscape configuration (Api Management platform)
This is a deprecated feature for Api Management platform. We recommend to use Composite landscapes configuration (CPI/Api Management) because it provides a lot of benefits:
Binary landscapes features
-
Idempotent binary landscape is a binary landscape having landscape items with the same agent. For such landscapes there are 2 flows of transport import:
-
When the object is mapped during transport, then new object will be created on the same system.
-
When object is not mapped, then it will be updated on the same system.
-
-
Predecessors
andSuccessors
are used to define a composite landscape. Composite landscape includes binary landscapes and links them together. For example:CPI and Api Management binary and composite landscapes are managed by Figaf Tool on Composite landscapes configuration (CPI/Api Management) page
-
Batch import of CPI/Api Management transports linked with the same binary landscape.
-
Batch rollback of Integration Directory transports imported in batch mode.
-
Parameter mapping rules
defines name mapping rules. SeveralRule Types
are supported and depending on chosen types different configuration is required. -
'Deny if matches' criteria
,'Allow if matches' criteria
,'Deny if object exists' criteria
configurations (see transport denying rules). -
Tracked objects name mapping lookup across the composite landscape.
-
Navigation between Transport Configurations of the same object across the Composite landscape.
-
Child objects name mapping lookup on Transport configuration page.
-
Validation of naming convention rules.
-
"Soft" decline to move transport to the CREATED state (before approval).
-
Possibility to complete import if all landscape items are either imported or skipped but transport status is still
IN_PROGRESS
. -
Initialize transport configuration by the ancestor values in IFlow Transport Configuration (see Transport Configuration page).
-
Tracking source and target objects automatically using technical tags.
-
Possibility to browse all objects in scope of composite landscape on
Landscape Overview
page. -
Possibility to create a next ticket for the next landscape in the chain from successfully processed transport page.
Only if landscape from current transport has one successor. -
Possibility to download parameters report that contains all external properties that are used in the transport. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform).
-
Possibility to perform a mass update of transport configuration parameters. It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform). See batch parameters update to upload transport configuration parameters for more details.
-
Possibility to schedule import process execution. See schedule import for more details.
-
Integration with a webhook (see Webhook integration).
Follow the steps to configure landscape:
-
Go to the
Landscapes
tab onConfiguration
page, selectIndividual
inLandscapes Type
selector and add your landscape throughCreate Landscape
button: -
Configure the following properties:
-
Name
of new landscape. Should be unique within the organization. -
Platform
- select the type of your landscape - Api Management. -
Define virtual items manually
enables possibility to define virtual landscape items manually. Enable this option if you need landscape configuration similar toSystem A → System B (virtual) → System B → System C
.If this option is disabled, agent system is marked as virtual for the 2nd and subsequent inclusions (see Landscape configurations examples).
-
Require Transport Approval
enables review step between transport creation and import. -
Transport Reviewers
defines reviewers. This option is available only ifRequire Transport Approval
is true.If Restrict Access
is configured, all reviewers should also be landscape developers. -
Make a snapshot of Transport configuration before approval
- if true, transport configuration is cached once transport is sent to approval. The option is visible ifRequire Transport Approval
option is enabled for at least one landscape item. -
Restrict Execution
enables transport executors configuration. -
Transport Executors
defines executors. This option is available only ifRestrict Execution
is true.If Restrict Access
is configured, all executors should also be landscape developers. -
Landscape Developers
defines users who are allowed to work with the landscape. This option is available only ifRestrict Access
is true. -
(Only for binary landscapes)
Scheduled transports execution time
configures left bound for import process execution. After configured time global scheduler will have a pulse each 5 minutes. If a lot of transports are scheduled around same period, then target system may be overloaded with transports for some period of time. So that not all transports will be scheduled and executed in time. -
Landscape Items
describes groups of Agents in specific order and assignment. Landscape items can be added by clicking onand deleted by clicking on its
.
The items have the following configuration:
-
System Id
is selected agent. -
System description
is description for current system (e.g.qa
). -
Virtual
defines whether landscape item is virtual or not. It’s editable only ifDefine virtual items manually
option is enabled for current landscape.
-
-
Parameter mapping rules
defines name mapping rules for technical names, displayed names and base path. -
Parameter values replacement (substring criteria)
defines parameter values replacement rules for transport configuration parameters. To enable this feature during landscape creation switchConfigure
on. Then for each landscape item you can define parameter values which will be used in transport configuration parameters.Only parameters inherited from source will be replaced according to defined strategy. Example: let’s define a landscape with 3 landscape items:
Dev
,Qa
,Prod
and configureParameter values replacement (substring criteria)
:Dev Qa Prod dev.system.com
qa.system.com
prod.system.com
sapdev
sapqa
sapprod
dev.system.com:2222
qa.system.com:3333
prod.system.com:4444
dev.system.ondemand.com
qa.system.ondemand.com
So all parameters inherited from source in all objects transported through the landscape will be replaced by corresponding value in the table. If value isn’t defined, empty string will be used in transport configuration parameters.
-
Email integration
enables or disables emails sending for approval and import operations. Configure the settings:-
Notify about approval actions
- if enabled, notification about sending for approval and execution of approval (approve, decline, soft decline) will be sent. By default, it’sdisabled
. -
Notify about transport process completion
- if enabled, notification about transport process completion (import, complete import, rollback, etc.) will be sent. By default, it’sdisabled
. -
Additional recipients to inform about transport process completion
- list of user emails that should be added to CC list in the transport process completion notification email.
-
-
11.3.5. Landscape configuration examples
-
If development and debugging process is executed on the following systems: D74 (dev system) → D75 (qa system) → T75 (prod system), then landscape configuration is:
-
If development and debugging process is executed on the following systems: D74 (dev and qa system) → D75 (prod system), then landscape configuration is:
In this case Agent system C73 will be marked as virtual for the 2nd inclusion.
Agent system is marked as virtual for the 2nd and subsequent inclusions. You need to use Agent system twice to define configurations like DP1 (dev and qa system) → DP2 (prod system).
11.4. User management and permissions
11.4.1. User management
Each request in the Figaf Tool requires authorization.
To create new user click on . It opens
Add User
dialog:
![add user dialog](images/configuration/user-management/add-user-dialog.png)
-
Configure
Email
,Password
,Confirm Password
, andDisplay Name
. -
Select
User roles
for a new user (see Figaf Tool roles and permissions section to learn more about existent roles). -
(optional) Select
Message Monitor Filter roles
if the user should have access to some filters. Message Monitor Filter roles are created automatically after Message Monitor Filter creation (see this section to learn how to create it).Users with IRTAdmin
role have full access to all message monitor filters. -
(optional) Configure
Mapped SAP user names
if you want to set up a mapping of system usernames with Figaf Tool users.Usernames can only be assigned to one user. Once you configure such mapping, the Figaf user (instead of the system user) will be shown in Change Tracking Tool and Testing tool.
-
(optional) Configure
Additional info
if you want to configure some additional information about the user.
11.4.2. Figaf Tool roles and permissions
Figaf Tool web app provides the following roles:
-
IRTSuperUser
- root administrator role. Only one user can be marked as a super user (default user).IRTSuperUser
role gives full access to user management in the Figaf Tool, other functions are not available. -
IRTAdmin
- administrator role. User with that role has full access to the application functions. -
IRTLicenseRequester
- standard user role. User with that role is able to request new licenses for the objects. Except possibility to change credentials of root administrator. -
IRTApplicationManager
- standard user role, allows changes of configuration on pages:Application config
,Integrations
,ScenarioMapping
,Encoding Determination
,Anonymization variables
. -
IRTAgentManager
- standard user role, allows changes of agents configuration (create/update/delete), naming convention rules. -
IRTUserManager
- standard user role, grants permissions for user management. -
IRTOAuthClientsManager
- standard user role, allows registration of new OAuth clients for external integration with Figaf Tool through public api. -
IRTSensitivePayloadViewer
- additional user role, should be used with administrator or/and any standard role.IRTSensitivePayloadViewer
role allows user to configure confidential and secured agents and view original payloads of confidential messages. -
IRTOperator
- standard user role. See permissions below. -
IRTConfigurator
- standard user role. See permissions below. -
IRTManager
- standard user role. See permissions below. -
IRTUser
- standard user role. User with that role can only browse pages and run tests. See permissions below. -
IRTDevOpsOperator
- standard user role. User with this role can work with tickets, releases, and transports. -
IRTDevOpsConfigurator
- standard user role.IRTDevOpsConfigurator
role allows modifying transport configuration. -
IRTDevOpsManager
- standard user role. See permissions below. -
IRTLandscapeManager
- standard user role, manages landscapes. See permissions below.
Tables below show how roles are used for access restriction. If some role is not shown in some table, then in means that it has no effect in related part of Figaf Tool.
IRTUser role is not shown in tables to save some space. That role allows only read-only access to the whole tool.
IRTLicenseRequester role grants a permission to request a new object licence for Testing/DevOps/Migration.
|
Configuration
Action\Role | Super user | Admin | App manager | User manager | DevOps manager | OAuth Clients manager |
---|---|---|---|---|---|---|
Application configuration update |
- |
+ |
+ |
- |
- |
- |
Agents configuration update
(except confidential and secured agents).
Note: confidential and secured agents
configuration available for administrator
with additional role |
- |
+ |
- |
- |
- |
- |
Upload naming convention rules |
- |
+ |
- |
- |
- |
- |
Test agent configuration |
+ |
+ |
+ |
+ |
+ |
+ |
Landscapes configuration |
- |
+ |
- |
- |
+ |
- |
User management |
+ |
+ |
- |
+ |
- |
- |
Initial License upload |
- |
+ |
- |
- |
- |
- |
External integrations management |
- |
+ |
+ |
- |
- |
- |
OAuth clients management |
- |
+ |
- |
- |
- |
+ |
Scenario mapping configuration update |
- |
+ |
+ |
- |
- |
- |
Encoding determination configuration update |
- |
+ |
+ |
- |
- |
- |
Anonymization variables configuration update |
- |
+ |
+ |
- |
- |
- |
Change Tracking Tool
Action\Role | Admin | Manager | Operator | DevOps manager | Configurator | DevOps configurator |
---|---|---|---|---|---|---|
Manage tags (create, modify, attach/detach tags to tracked objects) |
+ |
+ |
+ |
- |
- |
- |
Delete tags that aren’t used in transport denying rules of any landscape |
+ |
+ |
+ |
- |
- |
- |
Delete tags that are used in transport denying rules of any landscape |
+ |
- |
- |
+ |
- |
- |
Manage tagging rules (create, modify, import, process tagging) |
+ |
+ |
+ |
- |
- |
- |
Delete tagging rules |
+ |
+ |
- |
- |
- |
- |
Groovy IDE |
+ |
+ |
+ |
- |
+ |
+ |
Manage Partner Directory parameters |
+ |
- |
- |
- |
+ |
+ |
DevOps
Action\Role | Admin | Landscape manager | DevOps manager | DevOps operator | DevOps configurator |
---|---|---|---|---|---|
Landscapes configuration |
+ |
+ |
- |
- |
- |
Manage releases (create, modify, release, add scenarios, attach/detach tickets except delete operation) |
+ |
- |
+ |
+ |
- |
Manage tickets (create, modify, attach/detach tracked objects, attach test cases, change status except delete operation) |
+ |
- |
+ |
+ |
- |
Manage transports (create, import, change status except delete operation) |
+ |
- |
+ |
+ |
- |
Run ticket |
+ |
+ |
+ |
+ |
+ |
Modify transport configuration |
+ |
- |
- |
- |
+ |
Delete releases, tickets, transports |
+ |
- |
+ |
- |
- |
Testing
Action\Role | Admin | Manager | Operator | Configurator |
---|---|---|---|---|
Synchronization with agent system |
+ |
+ |
+ |
+ |
Add/remove modules |
+ |
- |
- |
+ |
Update Recording Configuration on integration object |
+ |
- |
- |
+ |
Update Test Configuration on integration object |
+ |
- |
- |
+ |
Start/stop recording |
+ |
+ |
+ |
+ |
Create test suites/test cases |
+ |
+ |
+ |
+ |
Run test suites/test cases |
+ |
+ |
+ |
+ |
Merge test cases |
+ |
+ |
+ |
+ |
Trim test cases (remove all messages from test case except defined number of message groups) |
+ |
+ |
+ |
+ |
Update test case information (message/dynamic properties) |
+ |
+ |
+ |
+ |
Delete messages from test case by group |
+ |
+ |
- |
+ |
Clean test suites/test cases (delete their all testing results) |
+ |
+ |
- |
- |
Delete test cases (delete their all testing results, messages and test cases themselves) |
+ |
+ |
- |
- |
Update test suite |
+ |
+ |
+ |
+ |
Check test case/test suite results |
+ |
+ |
+ |
+ |
Delete test suite (delete their all testing results and templates themselves). Note: linked test cases will not be deleted! |
+ |
+ |
- |
- |
Delete testing results |
+ |
+ |
- |
- |
Configure comparison configurations |
+ |
- |
- |
+ |
View comparison configurations |
+ |
+ |
+ |
+ |
PI to CPI Migration
Action\Role | Admin | DevOps manager | DevOps operator | DevOps configurator |
---|---|---|---|---|
Migration configuration |
+ |
- |
- |
+ |
Links management (link IFlows with PI object/delete link) |
+ |
- |
- |
+ |
Migration (PI objects/Message mappings) |
+ |
+ |
+ |
- |
11.5. Integrations
On this page integrations configuration is available. Integrations can be used for webhooks or email notifications.
![integrations tab](images/configuration/integrations/integrations-tab.png)
11.6. Scenario mappings
You can have a case when scenario interfaces on the Agent system and Test system are a
little different. Thus, messages which were recorded on the Agent system can’t be
immediately used in the testing process because internal interface determination will fail and you
will get only unexpected testing results. Use scenario mapping feature to solve that issue.
You can configure it on Configuration page (Mapping tab):
![scenario mappings tab](images/configuration/scenario-mappings/scenario-mappings-tab.png)
There two ways of configuring mappings:
-
Table with mappings on UI. You need to open Configuration page (Mapping tab) and edit the table with mappings.
-
Define all mappings in csv file and them upload the file. On the first line you need to define systems for which you want to configure a mapping. The number of systems is not restricted. The names of the systems must be separated by a semicolon. Each line below must contain the same number of values (or empty strings) as the first line has. The values must be separated by a semicolon as well:
In both cases each value of the mapping has to follow the pattern:
<party>|<component> or <party>|<component>|<interface_name>|<interface_namespace>
.
If you don’t have some part, skip it, but keep |
in the mapping entry.
11.6.1. Value mapping
Look at the example above. Assume you have DPO as a Test system and DI3 as an Agent system, you have two integrated configurations with one receiver and one interface on DPO and DI3.
-
DI3:
-
Party: MASTERCARD
-
Component: B2BAGENT
-
Interface name: INT_OUT
-
Interface namespace: http://figaf.com/irt
-
-
DPO:
-
Party: MASTERCARD
-
Component: B2BTEST
-
Interface name: INT_OUT
-
Interface namespace: http://figaf.com/irt.
-
If you define that scenario mapping, Figaf Tool will expect testing result with MASTERCARD|B2BTEST|INT_OUT|http://figaf.com/irt
interface,
not MASTERCARD|B2BAGENT|INT_OUT|http://figaf.com/irt
, despite recorded message has the second one.
In this case, interface name and interface namespaces are the same. So it wasn’t necessary to add them in the mapping.
If they are not the same, you can also map them.
11.6.2. Generic mapping
It’s possible to avoid configuring lots of similar mappings if they have common parts.
For example, in the table below you can see some mappings which have the service pattern: BS*P
(or even *P
) on Agent system and BS*Q
(or even *Q
) on Test system.
Agent System | Test System |
---|---|
B2B|BS_ERP1_P|intName|int_ns|| |
B2B|BS_ERP1_Q|intName|int_ns|| |
B2B|BS_ERP2_P|intName|int_ns|| |
B2B|BS_ERP2_Q|intName|int_ns|| |
B2B|BS_ERP3_P|intName|int_ns|| |
B2B|BS_ERP3_Q|intName|int_ns|| |
B2B|BS_DDL1_P|intName|int_ns|| |
B2B|BS_DDL1_Q|intName|int_ns|| |
B2B|BS_DDL2_P|intName|int_ns|| |
B2B|BS_DDL2_Q|intName|int_ns|| |
B2B|BS_DDL3_P|intName|int_ns|| |
B2B|BS_DDL3_Q|intName|int_ns|| |
B2B|BS_DDL4_P|intName|int_ns|| |
B2B|BS_DDL4_Q|intName|int_ns|| |
… |
… |
Instead of 7 different mappings, it can be covered by one generic mapping: B2B|BS*P
→ B2B|BS*Q
.
The star *
in that mapping means identical part on both sides. For example for scenarios B2B|BS_DDL3_P|intName|int_ns||
and B2B|BS_DDL3_Q|intName|int_ns||
it’s possible to apply mapping B2B|BS*P
→ B2B|BS*Q
. Here *
is _DDL3_
.
The same can be done for party/interface name/interface namespace as well.
Value mappings have higher priority than generic mappings: firstly Figaf Tool looks for a value mapping. If it’s not found Figaf Tool looks for a generic mapping.
Important
Party and service can be a wildcard (value equal to *
, e.g., B2B|*
or *|*|OUTB_INT|http://company.com
).
In this case, such mapping must be determined as value mapping, not as generic mapping.
If you want to map party |
11.7. Encoding determination
Sometimes you may be dissatisfied by automatic encoding determination. In such cases you can load and save json file with defined encoding. Example:
[
{
"partners": [],
"fileType": "EDIFACT",
"payloadMatchingExpression": "^.*?UNB\\+(UNOA|UNOB|UNOC):",
"encoding": "ISO-8859-1"
},
{
"partners": [],
"fileType": "EDIFACT",
"payloadMatchingExpression": "^.*?UNB\\+UNOD:",
"encoding": "ISO-8859-2"
},
{
"partners": [],
"fileType": "X12",
"encoding": "IBM437"
},
{
"partners": [],
"fileType": "TRADACOMS",
"encoding": "ISO-8859-1"
},
{
"partners": [],
"fileType": "EDIFACT",
"encoding": "ISO-8859-1"
},
{
"partners": [
"PARTNER1",
"PARTNER2",
"PARTNER3"
],
"fileType": "EDIFACT",
"encoding": "GB2312"
},
{
"messages": [],
"fileType": "XML",
"encoding": "ISO-8859-3"
}
]
The configuration should satisfy the conditions:
-
Either
fileType
,partners
, ormessages
must be set. -
Configuration with
partners
has the highest priority and overrides any configuration withmessages
and/orfileType
. -
Configuration with
messages
has higher priority than configurations withfileType
and overrides such configurations. -
payloadMatchingExpression
(it’s regex) is optional, it just means that in addition to config lookup it should check if payload matches (partially - it means that at least one matched part found) specified regex. -
If many configs were found during lookup, the first matching config is used.
-
UTF-8
s always used for parsing whenpayloadMatchingExpression
is defined.
To download configured encoding determination rules click on .
11.8. Anonymization variables
If you test some confidential data and you don’t want test them directly, you can use anonymization to anonymize your data.
Message anonymization variables contain fields that can be used in your scenarios. Anonymization Variables
page looks:
![anonymization variables](images/configuration/anonymization-variables/anonymization-variables.png)
On this page you can:
-
Edit anonymization variables:
-
Load csv file with new data.
-
Edit data in the table. To enable edit mode click on
button. After that you can add new variables, update or delete existing ones. To save changes click on
button, to reset -
.
-
-
Download current anonymization variables clicking on
button.
12. Uninstallation
12.1. Process Orchestration agents
12.1.1. Removing modules added by Figaf Tool from communication channels
-
Check that Agent has
Figaf Agent Module
orSAP Log Module
integration type enabled. -
Open Integration Objects page, click on the "menu" button above the table and then click the "Remove ALL modules" button. It will check all communication channels and remove previously added Figaf Tool modules (Figaf Agent Modules or SAP Log Modules with irtStage* parameter group), except Figaf Tool modules on our infrastructural XI 3.0 channels (because these objects are excluded in synchronization).
It will run removing function asynchronously, but you can monitor intermediate results in the dialog. It takes some time depending on the number of objects to process. Wait until the process is finished.
12.1.2. Removing infrastructure scenarios added by Figaf Tool
-
If Agent has been used for the testing purpose (test cases are run there), it also needs to remove infrastructure scenarios. Open Integration Directory Builder, search Integrated Configurations by
TEST_MigrationHelper
sender component name and remove these objects: -
Then open
TEST_MigrationHelper
business component and remove it as well (all inner Figaf Tool communication channels will be removed):
12.1.3. Undeploying an Agent Component
-
Switch Agent integration type to SAP Log Module or ICO Logging. Otherwise just enable "Is virtual" flag on Agent page. It will disable integration with Agent system.
-
Use some tool to undeploy Figaf Tool Agent component (there is one SCA component which includes 2 DC components, one for DB and another one is EAR). For example, we are using Deployment perspective from Netweaver Developer Studio:
12.2. Cloud Integration agents
12.2.1. Removing testing scenarios added by Figaf Tool
Open Design
page on the CPI system. Find and remove packages which name starts with FigafIRT
, they also have a description like Package contains copies of agent objects of the package Demos with the replaced sender integration
.
![cpi packages](images/uninstallation/cpi-packages.png)
13. Figaf Tool public API
Figaf Tool public API is available here.
14. Change Log
2405.1
2405.1
-
[
Change Management
,CPI
,Integration Suite
] Improved tagging process to support Partner Directory objects (binary parameters and string parameters). -
[
PI→CPI Migration
] Implemented build of debugging archive even if migration fails. -
[
FIX
,Common
] Fixed issues with dates precision that occurred on older installations with MS SQL Server database due to impossibility to save the date with milliseconds precision.
Notes for upgrade to 2405.1
Notes for upgrade from 2405.1
-
Build has data migration of database columns with
DATETIME
type toDATETIME2(6)
in MS SQL Server database.
2405
2405
-
[
DevOps
] Added a possibility to schedule import process execution. See schedule import. -
[
PI→CPI Migration
] ImplementedPipeline All
profile for migration to migrate to Inbound and Outbound IFlows (go to migration profiles for more details). -
[
PI→CPI Migration
] Added a possibility to deploy migrated IFlow(s) automatically. -
[
Change Management
,CPI
,Integration Suite
] Added change tracking for Partner Directory objects from CPI or Integration Suite agent: string parameters and binary parameters (check supported objects here). -
[
Change Management
,CPI
,Integration Suite
] Implemented management of Partner Directory parameters: creation, update and deletion operations (see Management of Partner Directory parameters). -
[
FIX
,Change Management
,CPI
,Integration Suite
] Fixed an issue when Groovy IDE didn’t handle scripts where thedef
keyword was omitted before the function declaration. -
[
FIX
,PI→CPI Migration
] Fixed as issue when Receivers/Interfaces weren’t updated correctly for already migrated objects if PI object was changed. -
[
FIX
,DevOps
,CPI
,Integration Suite
] Fixed an issue when url in process direct wasn’t updated for both sides of communication in the same IFlow.
Notes for upgrade from 2404 to 2405
Notes for upgrade from 2404 to 2405
-
If you are going to use
Pipeline All
profile type for PI→CPI Migration, please install packageProcess Integration Pipeline - Generic Integration Flows & Templates
(PIPipelineGenericIntegrationFlows
) and deploy the IFlows and Script Collection to your CPI or Integration Suite system. -
Build has data migration of stored migration configurations.
2404.2
2404.2
-
[
FIX
,PI→CPI Migration
,UI
] Fixed an issue when request missing licenses dialog wasn’t shown on the Migration progress dialog.
2404.1
2404.1
-
[
FIX
,Testing Tool
,PRO
] Fixed an issue when helper scenario was not created ifICO Logging
messages logging approach was used for the related PRO agent or integration object. -
[
FIX
,Change Management
,CPI
,Integration Suite
] Fixed an issue when Groovy IDE did not return header or property if they weren’t defined in input message.
Notes for upgrade to 2404.1
Notes for upgrade from 2404.1
-
It’s required to undeploy ScriptExecutor before running the first script in IDE.
2404
2404
-
[
Change Management
,CPI
,Integration Suite
] Added parameters report download on Landscape Overview page. -
[
DevOps
] Added a possibility to configure transport executors on Landscape configuration page. -
[
DevOps
] Added configuration of email notification for import operation on Landscape configuration page. -
[
Monitoring
,CPI
,Integration Suite
] Added a support of Retry messages (see CPI Statistics Overview for details). -
[
PI→CPI Migration
] ImplementedPipeline Inbound
andPipeline Outbound
profiles for migration (go to migration profiles for more details). -
[
FIX
,DevOps
] Fixed an issue occurred during generation of parameters report and changes overview when app was started in Java 17 runtime. -
[
FIX
,DevOps
,Api Management
] Fixed an issue occurred during validation of transport with not the latest version of Encrypted Key Value Map.
Notes for upgrade from 2403 to 2404
Notes for upgrade from 2403 to 2404
-
Build disables email sending for notification about sending for approval and execution of approval (approve, decline, soft decline). If you still need to receive email notification, go to related landscape configuration page and enable
Notify about approval actions
. -
Build has data migration of landscapes setting
Only reviewers can import objects
toRestrict Execution
property value. IfRestrict Execution
is enabled, list ofTransport Reviewers
is copied to the list ofTransport Executors
for existing landscapes.
2403.1
2403.1
-
[
Change Management
,DevOps
,CPI
,Integration Suite
] Added a possibility to search for existing flow steps (using the step type, name, ID, message headers, exchange properties, script file, mapping resource, global references, externalized parameters, etc). in BPMN Model with viewer dialog. The feature is available from IFlow CTT object page and in comparison dialog on transport page (Browse BPMN model with viewer for target object
option). -
[
DevOps
,PRO
] Extended transport changes overview to show diff between source and prepared object for transport when target object doesn’t exist (only for binary landscapes). See transport page for more details. -
[
FIX
,DevOps
,CPI
,Integration Suite
] Fixed an issue when artifacts couldn’t be imported if access policy was configured for target object. -
[
FIX
,DevOps
,CPI
,Integration Suite
] Improved error message when target package is locked.
2403
2403
-
[
Change Management
,CPI
] Added a possibility to test CPI groovy functions from Figaf tool. -
[
Change Management
,CPI
,Integration Suite
] Added a possibility to create a new groovy script and/or XSLT mapping. Go to Add groovy script or XSLT mapping to IFlow for more details. -
[
Change Management
,CPI
,Integration Suite
] Added a possibility to rename scripts and mapping objects (both XSLT and Message Mapping). Go to Rename resources of IFlow for more details. -
[
PI→CPI Migration
] Added information dialog appearing if there are some missing links for a message mapping. -
[
Common
,Integration Suite
] Supported connectivity to SMTP server via cloud connector when app is deployed on SAP BTP deployment, Cloud Foundry. -
[
Infrastructure
] Migrated the project to Java 17 (LTS). If you use Docker distribution: standard or BTP, the tool is updated automatically. If you use on-premise standalone instance, please plan an update to Java 17 runtime as soon as possible because Java 8 runtime is deprecated and will not be supported since June 2024 (steps for update are described here).
Notes for upgrade from 2402 to 2403
Notes for upgrade from 2402 to 2403
-
Changed repository for docker images. Before 2403:
figaf/irt
, since 2403:figaf/app
. For BTP installations updatemanifest.yml
andvars.yml
accordingly or use the new version from repository. -
H2 database version was upgraded from
1.4.200
to2.1.214
and database path was changed from<user_home_dir>/FigafIRT/irt-db
to<user_home_dir>/FigafTool/db
. If you have the standalone instance on H2 database and want to continue working with the data on it (we recommend to use H2 only for temporary evaluation and testing), it’s required to migrate database files from 1.* to 2.*. More details here. -
It’s required to undeploy ScriptExecutor before running the first script in IDE.
2402.1
2402.1
-
[
Change Management
] Improved tagging process to consolidate processes under one agent and tracked object type. -
[
PI→CPI Migration
] Added default XSLT templates for SFTP sender and SFTP receiver channels. -
[
FIX
,Testing Tool
,CPI
] Fixed an issue when test run was created without test run results if test IFlow name was not equal to agent IFlow name. -
[
FIX
,Integration Suite
] Fixed an issue occurred during fetching CSRF token on SAP BTP deployment, Cloud Foundry, when CSRF protection is enabled by App router.
Notes for upgrade to 2402.1
Notes for upgrade to 2402.1
-
Build has data migration to add default XSLT templates for SFTP sender and SFTP receiver channels.
2402
2402
-
[
Change Management
] Implemented enhanced quering in CTT (go to Tagging Rules page for more details). -
[
PI→CPI Migration
] Extended migration overview report to show tags from tagging rules. Tags are added into two columns:-
Sender Tags
contains a list of tags related to tagging rules forParty
,Component
andSystem
related to a sender channel,Communication Channel
,ICO
/Receiver Determination
. -
Receiver Tags
contains a list of tags related to tagging rules forInterface Determination
,Party
,Component
,System
andCommunication Channel
related to a receiver channel,Operation Mapping
,Mapping Program
(i.e.Message Mapping
/Archive Program
which are used on theOperation Mapping
),Function Library
,Imported Archive
,Function Module
,External Message
,External Definition
.
-
-
[
PI→CPI Migration
] Added an option to extract local functions from a message mapping into a separate groovy script (go to Shared artifacts mode for more details). -
[
PI→CPI Migration
] Added a content modifier to setSAP_MessageProcessingLogID
header for IDOC Receivers in migrated IFlow. -
[
FIX
,Testing Tool
,CPI
] Fixed an issue when test case couldn’t be added to git repository. -
[
FIX
,Change Management
,CPI
] Fixed synchronization of XSD schemas weren’t created as a Tracked object because it was located in wrong folder. -
[
FIX
,PI→CPI Migration
] Fixed migration of ICOs having Extended Receiver Determination which Operation Mapping has a Java Mapping.
Notes for upgrade from 2401 to 2402
Notes for upgrade from 2401 to 2402
-
Build has data migration to add new internal parameter to
Tag
model to clarify what functionality manages technical tags.
2401.2
2401.2
-
[
PI→CPI Migration
] Added a new columnImported Archives
to migration overview report. The imported archive will be shown for scenario in two cases:-
if imported archive is used in one of the corresponding function libraries;
-
if imported archive belongs to Java program related to operation mapping.
-
-
[
PI→CPI Migration
] Improved generation process of migration overview report. Generated report will not contain properties if they have empty/null value. -
[
FIX
,PI→CPI Migration
] Fixed migration of ICO with extended receiver determination when there is only one route. -
[
FIX
,PI→CPI Migration
] Fixed an issue in migration overview report when operation mappings were missed for ICOs with Extended Receiver Determination andAllow arbitrary receivers
enabled. -
[
FIX
,Common
,UI
] Fixed cache storage configuration.
Notes for upgrade to 2401.2
Notes for upgrade to 2401.2
-
It’s required to process forcible synchronization (options
Check metadata of all existent objects
,Rebuild links for the latest versions forcibly
andForcibly process payload dependent initializations for not updated objects
) for PRO agents from Integration Objects page to update parameters used for migration overview report generation.
2401.1
2401.1
-
[
Change Management
,CPI
,Integration Suite
,Api Management
] Changed default value ofSSO Url
for CPI Cloud Foundry, Integration Suite and Api Management agents. -
[
FIX
,Change Management
,CPI
,Integration Suite
] Fixed an issue when CPI endpoints synchronization failed for IFlows having external configuration parameter with the camel expression. -
[
FIX
,PI→CPI Migration
] Fixed an absence of router default branch in IFlows migrated from ICOs having conditions for receivers and interfaces.
Notes for upgrade to 2401.1
Notes for upgrade to 2401.1
-
Build has data migration to update
SSO Url
value for CPI Cloud Foundry and Integration Suite agents without custom IdP that haveSSO Url
configured with default value and all Api Management agents.
2401
2401
-
[
Change Management
,Integration Suite
] Added a possibility to select all segments and fields for Message Implementation Guideline objects (see Select all Segments and Fields of MIG object). -
[
Change Management
] Added a possibility to compare any tracked objects using Diff2Html. -
[
Testing Tool
,CPI
] Implemented IFlow chain testing. Go to IFlow chain testing. -
[
Testing Tool
,PRO
] Added a possibility to record CSV payloads logged by the File adapter (see recording configuration page for more details). -
[
Testing Tool
] Added a possibility to compare testing results using Diff2Html. -
[
PI→CPI Migration
] Added a possibility to configureModules Replacement
on Configuration page. -
[
PI→CPI Migration
] Added a support of imported archives migration if they are used in the function library. -
[
PI→CPI Migration
] Added a possibility to use a custom script from a script collection to replace a Java Mapping. -
[
PI→CPI Migration
] Added support of ICOs with file receiver channel with XML→Flat content conversion at adapter level. To check supported cases go here. -
[
Common
,UI
] Added a user installable version of Figaf Tool as a Progressive Web App. -
[
FIX
,Testng Tool
] Fixed default anonymized outbound message payloads for all types:XML
,JSON
,EDIFACT
,TRADACOMS
,X12
,TEXT
,BINARY
(for last 2 it’s just a text). -
[
FIX
,Testing Tool
,PRO
] Fixed order of adapter modules added to generated XI sender channel when performing testing in SAP PI.Sender modules are separated into 2 groups:
-
to be added after 1st stage logging module but before calling adapter module
-
to be added after calling adapter module but before 4th stage logging module
-
-
[
FIX
,PI→CPI Migration
] Fixed Sender and Receiver XSLT Templates.
Notes for upgrade from 2312 to 2401
Notes for upgrade from 2312 to 2401
-
It’s required to process forcible synchronization (option
Synchronize objects forcibly
) for CPI agents from CTT page to update CPI endpoints of IFlows and Cloud Agreements based on theProcessDirect
/JMS
endpoints. -
Use
Overwrite shared artifact
mode forcontent-converter.jar
if you have already migrated ICOs with file sender channel with Flat→XML content conversion at adapter level. -
Build has data migration of renaming
Record JSON payloads logged by the Rest adapter if possible
toRecord payloads logged by the adapter if possible
on recording configuration page. -
Build has data migration to add new internal parameter in
Message
andTestRunResult
models.
2312.2
2312.2
-
[
FIX
,Testing Tool
,PRO
] Fixed a position of original sender channel modules after default adapter module(s) copied to scenario-specific XI 3.0 channel. It could affect test execution if copied modules modify the payload. (Go to Regression testing on PRO systems to learn about infrastructure created by the tool). -
[
FIX
,Testing Tool
,PRO
] Fixed parsing of XI message when attachment part is declared before the main payload part. It leaded to an issue where attachment was captured instead of the main payload. -
[
FIX
,PI→CPI Migration
] Fixed XSLT templates for sender and receiver channels used during template generation on Channel Mapping Templates configuration page.
2312.1
2312.1
-
[
Security
] Updated versions of used SAP BTP Security Services Integration Libraries according to SAP security note 3411067 (only SAP BTP deployment, Cloud Foundry). -
[
FIX
,Change Management
,Integration Suite
] Fixed a rare failure during MIG synchronization when same active version found during synchronization but with greater last change date.
Notes for upgrade to 2312.1
Notes for upgrade to 2312.1
-
It’s required to update app router version to
14.4.3
inapprouter/package.json
file if Figaf Tool is deployed to SAP BTP, Cloud Foundry. You can download new archive from repository.Deploy the application by command
cf push --vars-file vars.yml
.
2312
2312
-
[
Change Management
,Integration Suite
] Added change tracking for Message Implementation Guideline objects from Integration Suite agent (check supported objects here).If you connect to IS system via custom IdP, configure one more Role collection mapping iadv-content-developer
with the attributeGroups
and the valueAdmin
for the Trust Configuration. -
[
Change Management
,CPI
,Integration Suite
] Implemented browsing of linking between IFlows and Cloud Agreements based on theProcessDirect
/JMS
endpoints (see Browse linking between IFlows and Cloud Agreements based on theProcessDirect
/JMS
endpoints). -
[
Change Management
,Integration Suite
] Implemented forcible synchronization and links rebuilding for TPM registry. -
[
Change Management
,PRO
] Added PI agent report on Change Tracking Tool page. -
[
Support Tool
] Improved performance of alerts processing. -
[
PI→CPI Migration
] Implemented a support of≈
operator. To check supported cases go here. -
[
PI→CPI Migration
] Implemented a support of XI 3.0 channels. -
[
PI→CPI Migration
] Changed ordering of elements in migrated IFlow. In order not to affect the structure of IFlow saved via CPI UI. -
[
PI→CPI Migration
] Improved migration overview page and report.
Notes for upgrade from 2311 to 2312
Notes for upgrade from 2311 to 2312
-
It’s required to process forcible synchronization (option
Synchronize objects forcibly
) for CPI agents from CTT page to initialize linking between IFlows and Cloud Agreements based on theProcessDirect
/JMS
endpoints. -
Build has data migrations of existing SOAP migration templates to support XI 3.0 as well.
2311
2311
-
[
Testing Tool
,CPI
] Implemented IFlow testing by calling another IFlow (go to Use a separate IFlow to send messages on Test Configurationt tab of Integration Object Details page for configuration details). -
[
Change Management
,Integration Suite
] Added change tracking for TPM objects from Integration Suite agent: company profiles, trading partners, agreement templates and agreements (check supported objects here). -
[
Change Management
,CPI
] ChangedUpload
operation in IDE to update only a particular script instead of uploading full archive (learn more here). -
[
PI→CPI Migration
] ImplementedB2B Scenario
profile for migration (go to migration profiles for more details). -
[
PI→CPI Migration
] Added a possibility to configureParameter Value Replacement
on Configuration page. -
[
Common
] Moved a possibility to enable STARTTLS on Application configuration. Bootstrap parameterirt.smtp.starttls.enable
is removed and isn’t supported anymore. -
[
UI
] Moved to Horizon visual theme. -
[
FIX
,Monitoring
,CPI
] Fixed an issue with duplicates in yearly MPL statistics (see CPI Statistics Overview for more details). -
[
FIX
,PI→CPI Migration
] Fixed an issue with broken order of parameters in the migrated message mapping when source mapping had many variables of different types (Parameter
andArgument
). -
[
FIX
,PI→CPI Migration
] Fixed an issue when some parameters were empty in the migrated message mapping when source mapping had more than one binding argument. -
[
FIX
,PI→CPI Migration
] Fixed content modifiers usage for message mappings used several times but with different parameters binding.
Notes for upgrade from 2310 to 2311
Notes for upgrade from 2310 to 2311
-
Build has data migrations of internal parameters in
TrackedObject
andTestConfiguration
models. -
If you used
irt.smtp.starttls.enable
bootstrap property, it’s required to configure same parameter on Application configuration page after the first deployment of the new version.
2310
2310
-
[
Change Management
,CPI
] Sped up synchronization of CPI Agents. -
[
Testing Tool
,PRO
] Improved type determination of channels modules. Added module typeEDI_MODULE
forlocalejbs/TransmissionNumberModule
,localejbs/X12ConverterModule
,localejbs/EdifactConverterModule
,localejbs/GenericConverterModule
,localejbs/OdetteConverterModule
,localejbs/PlainConverterModule
,localejbs/TradacomsConverterModule
, andlocalejbs/VdaConverterModule
modules (previouslyCUSTOM_MODULE
was used). -
[
Testing Tool
] Improved data representation on Test Run Details page. -
[
Testing Tool
,PRO
] Added automatic enabling of AM/BI logging during creating a recording request or running a test case, ifICO Logging
messages logging approach is used for the related PRO agent or integration object.-
Additional SAP PRO client libraries
com.sap.aii.utilxi.core.jar
,com.sap.xpi.ib.core.jar
,com.sap.xpi.ibdir.core.jar
, andsap.comtcblguidgeneratorimpl.jar
are required in the following cases:-
scenario has single receiver interface for one receiver with non-empty condition - condition is lost during update through public web service, so, it’s required to recover it.
-
adapter engine name for wildcard sender ICOs (when it’s not empty, i.e., decentral adapter engine is configured) - WS model doesn’t have that parameter at all so that it’s required to update it after upload.
If some of additional libraries aren’t in the classpath, the corresponding changelist will be rejected.
-
-
AM/BI logging settings aren’t automatically updated for receiver wildcard ICOs. You have to enable the settings manually.
-
-
[
Testing Tool
,PRO
] EnhancedCreate recording requests
dialog to show Validation Errors and Validation Warnings. -
[
Testing Tool
,PRO
] ImprovedPolling results
dialog to show advices if some messages can’t be polled successfully. -
[
DevOps
,Git integration
,CPI
] Changed behavior of Git Pipeline validation for IFlows. If Git Pipeline validation fails, transport has non-blocking validation warnings and is still valid. -
[
DevOps
] Added information aboutLast Testing Result
status on Transport page. The field eitherSuccessful
,Error
orMissing
(neitherSuccessful
norError
) value. -
[
Monitoring
,Support Tool
,CPI
] Added metric Long Running Messages count to CPI Statistics Overview, CPI System Monitoring and Support Tool. -
[
Support Tool
] Added rule metadata (id
,title
,labels
,criticality
) toalert-metadata.xml
sent by email and to JSON sent via HTTP(S) integrations. -
[
PI→CPI Migration
] Added support of ICOs with file sender channel with Flat→XML content conversion at adapter level. To check supported cases go here. -
[
PI→CPI Migration
] Added_Sender
postfix to name of sender participant of the migrated IFlow if ICO Sender and Receiver have the same name. -
[
Security
] Added additional security headers and removed possibility to disable Content Security Policy (bootstrap propertyirt.config.disable-content-security-policy
was removed). -
[
Common
,CPI
] Implemented email notification about CPI version updates (see Enable changes detection for CPI agents setting on Application configuration page for details). -
[
Common
,PRO
] Added support of global PI staging/logging configuration - manual and automatic definition (go to Search global configuration automatically to read about the configuration). -
[
FIX
,Change Management
,CPI
] Fixed an issue when Groovy IDE couldn’t process scripts using classes from an external jar. -
[
FIX
,Testing Tool
] Fixed bug when unexpected Test Run Results didn’t have a link on a Message Run. -
[
FIX
,Monitoring
,CPI
] Fixed CPI Statistics Overview hourly filtering for inactivity hours. -
[
FIX
,Support Tool
] Fixed a bug when webhook integrations for alerts couldn’t be sent. -
[
FIX
,DevOps
,Api Management
] Fixed import of encrypted key value map when target object existed.
Notes for upgrade from 2309 to 2310
Notes for upgrade from 2309 to 2310
-
It’s required to process forcible synchronization (option
Forcibly process payload dependent initializations for not updated objects
) for PRO agents from CTT page to update module types and trigger validation for integration objects.
2309.2
2309.2
-
[
Testing Tool
,PRO
] Improved PI recording/polling. Now polling also works for 1→1 scenario whenAM
staging is enabled. -
[
PI→CPI Migration
] Added support of Message Mappings with schemas that uses imports. To check supported cases go here. -
[
PI→CPI Migration
] AddedSAP_MessageType
header toAdd SAP_Sender
content modifier. ICO Sender Interface value is used for the header. -
[
FIX
,DevOps
,PRO
] Fixed an issue when receiver interface condition couldn’t be recovered for ICO with dummy (not existing) sender operation but existing receiver interface. -
[
FIX
,PI→CPI Migration
] Fixed an issue with migration of Message Mapping linked with two Message Types having same name but different namespace. PreviouslyXML Namespace
was used in the path, nowNamespace
value is used. -
[
FIX
,Common
,PRO
] Fixed an issue with automatic definition of PI agent timezone for new agents.
Notes for upgrade to 2309.2
Notes for upgrade to 2309.2
-
It’s required to process forcible synchronization (options
Check metadata of all existent objects
,Forcibly process payload dependent initializations for not updated objects
,Forcibly process child types for not updated compound ESR object types: External Definition, Service Interface, Function Module, Imported Archive
) for PRO agents from CTT page. -
It’s recommended to configure
Overwrite shared artifact
Shared artifacts mode forMessage Mapping
linked withMessage Types
having differentXML Namespace
andNamespace
. Otherwise, theMessage Mapping
will not be valid.
2309.1
2309.1
-
[
PI→CPI Migration
] Added support of Message Mappings case when External Message namespace prefix is omitted or has another value. -
[
PI→CPI Migration
] Added support of ICOs with extended receiver. -
[
PI→CPI Migration
] Added support of Fault Mapping programs. To check supported cases go here. -
[
Monitoring
,CPI
] Implemented a possibility to group CPI MPL statistics by Iflow name (see CPI Statistics Overview for more details).
2309
2309
-
[
Testing Tool
,PRO
] Added support of ICOs withScenario Identifier
that has structuredir://IFLOW/<ico external id>
. -
[
Testing Tool
,CPI
] Added a statusMESSAGE_FAILED
on Message runs tab for messages marked asFailed
on CPI system. -
[
Change Management
,CPI
] Improved integration with CPIHelper to navigate to Script Collection, Script objects and XSLT mappings (go to CPIHelper support for more details). -
[
Monitoring
,CPI
] Added support ofAbandoned
status to CPI Message Monitor. -
[
Monitoring
,CPI
] Implemented a browser of CPI MPL statistics that helps to see amount of processed messages for aggregated periods of time (see CPI Statistics Overview for more details). -
[
PI→CPI Migration
] Implemented channel mapping templates management (see Channel Mapping Templates configuration for more details). -
[
PI→CPI Migration
] Added support of parametersiflowTechnicalName
,iflowDisplayedName
,packageTechnicalName
,packageDisplayedName
in XSLT templates. They can be used in every place of the XSLT template. -
[
Common
] AddedXMX_VALUE
to Docker distributions: standard and BTP. Default values are4G
for standard and3500M
for BTP. -
[
FIX
,Security
] Fixed vulnerability that could be caused by specific non-standard custom logging settings. Default settings are not affected, but it’s still recommended to upgrade to the new version to eliminate that risk completely. -
[
FIX
,DevOps
,CPI
] Fixed an issue that value mapping without description couldn’t be imported. -
[
FIX
,PI→CPI Migration
] Fixed an issue when\
symbol was removed from external parameters during migration.
Notes for upgrade from 2308 to 2309
Notes for upgrade from 2308 to 2309
-
It’s required to process forcible synchronization (options
Synchronize objects forcibly
andRebuild links for the latest versions forcibly
) for CPI agents from CTT page to synchronize IFlows when BPMNEdges related to message flows don’t have children waypoints. -
It’s required to update
manifest.yml
andvars.yml
files if Figaf Tool is deployed to SAP BTP, Cloud Foundry. You can download new archive from article.Deploy the application by command
cf push --vars-file vars.yml
. -
Previous configuration in Figaf Tool hasn’t been affected.
2308.1
2308.1
-
[
DevOps
,CPI
] Changed behaviour how parameter mapping rules are applied for virtual landscape items of non-binary CPI landscapes:-
If
JMS queue name
orsender url
is externalized, related parameter mapping rule isn’t applied, the value should be updated in transport configuration. -
If
JMS queue name
orsender url
is not externalized, related parameter mapping rule is applied.
Also changed default state of
JMS queue name
parameter mapping rule for idempotent parts of CPI composite landscapes. Before:Add prefix
/Remove prefix
, now:No action
. If you need to change it, just configure appropriate parameter mappings rules on composite landscape page. -
-
[
FIX
,Change Management
,PRO
] Fixed cleanup of synchronization results for child ESR objects after expiration of retention period.
2308
2308
-
[
Change Management
,DevOps
,CPI
] Added support of Function Libraries. The objects with these types are added to git repository. -
[
DevOps
] Added a possibility to perform a mass update of transport configuration parameters. See Batch parameters update. -
[
DevOps
,PRO
] Extended changes overview at transport level to support configuration scenarios, parties, business components, business systems, sender and receiver agreements (only for binary landscapes). See transport page for more details. -
[
DevOps
,CPI
,Api Management
] Added an optioninherit from target
to the CPI IFlow (CPI platform) and Key Value Map (Api Management platform) transport configuration. -
[
PI→CPI Migration
] Added a usage of CPI function libraries during migration. See Migration page. -
[
PI→CPI Migration
] Added support ofsender
andreceiver
default PI functions during migration (see PI to CPI migration cases). -
[
Change Management
,CPI
] Added new information on Landscape Overview page: user who deployed an artifact, deployment date, runtime status. Added filtering for deployment date and runtime status. -
[
Change Management
,CPI
,Api Management
] Added a filter to hide rows that have all items either deleted or non-existing (enabled by default). -
[
FIX
,DevOps
,PRO
] Fixed a bug when operation of channel update in the changelist didn’t fail when channel was already locked by another user in different changelist (added parsing and validation of HMI response).
Notes for upgrade from 2307 to 2308
Notes for upgrade from 2307 to 2308
-
It’s required to process forcible synchronization (options
Synchronize objects forcibly
andRebuild links for the latest versions forcibly
) for CPI agents from CTT page to sync new added object types and properly link them. -
Previous configuration in Figaf Tool hasn’t been affected.
2307
2307
-
[
Change Management
,CPI
] Extended IDE to support XSLT mappings (learn more about related configuration here). -
[
Support Tool
,CPI
] Added Custom Headers in Support tool. -
[
Support Tool
,CPI
] Added XML MPL attachment in Support tool. -
[
Testing Tool
,PRO
] Added logging modules validation (Figaf Agent module, SAP Log module) to the Integration Object validation. Now it’s possible to see what logging modules are missing in advance. -
[
FIX
,Change Management
,CPI
] Extended synchronization of CPI agents not to fail if IFlow object has a link to unsupported external reference type (MessageType or FunctionLibraries or something else in the future). -
[
FIX
,Testing Tool
,PRO
] Fixed an issue when SAP Log modules update didn’t update inconsistent value of thelog.condition
parameter. That problem could occur when the channel is used by many ICOs with different or undefined QOS contract (Scenario Type), for example XI 3.0. -
[
FIX
,PI→CPI Migration
] Fixed an issue when xslt templates related to JMS retry feature were used for regular JMS channels. -
[
FIX
,PI→CPI Migration
] Fixed an issue when xslt mapping that had subfolders on PI side was invalid on CPI after migration./
in the path is replaced by_
. -
[
FIX
,DevOps
,PRO
] Fixed ignoring of the whole receiver in projection settings when the source object has multiple receiver rules with the same receiver. -
[
FIX
,DevOps
,PRO
] Fixed an issue when configuration scenario dependencies validation didn’t fail when linked receiver party/component/channel are fully excluded in ICO projection. -
[
FIX
,DevOps
,PRO
] Fixed an issue when manual definition of communication channel password parameter was wrongly detected when parameter was inherited from target and non-empty. -
[
FIX
,DevOps
,PRO
] Updated PI REST adapter metadata parameters information to support password parametershmac.Secret
,out.oauth.clientSecret_ROPCG
,poll.oauth.clientSecret_ROPCG
.
Notes for upgrade from 2306 to 2307
Notes for upgrade from 2306 to 2307
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process forcible synchronization (options
Check metadata of all existent objects
,Rebuild links for the latest versions forcibly
,Forcibly process payload dependent initializations for not updated objects
) for PRO agents from Integration Objects page.
2306
2306
-
[
Git integration
,CPI
] Added a possibility to validate each updated IFlow with CPILint (optionIntegrate with Git Pipelines
in Agent dialog (see Git integration configuration for more details). -
[
Change Management
,CPI
] Implemented a prototype of the Groovy IDE (learn more about related configuration here). -
[
Testing Tool
,PRO
] Added a possibility to record JSON payloads logged by the Rest adapter (see recording configuration page for more details). -
[
Testing Tool
,CPI
] Improved integration with CPIHelper support to navigate to Test Run Details page for messages sent by Figaf Tool (go to CPIHelper support for more details). -
[
Testing Tool
,CPI
] Added an information about missing run steps shown during polling of CPI test runs/recording requests. -
[
Testing Tool
,CPI
] Added an information that at least one polling was completed for a test run/recording request. -
[
Support Tool
,Monitoring
,CPI
] Added a support ofCustom Status
property. The status is supported in Support tool, CPI Message Monitoring and EDI Message Monitoring. -
[
Monitoring
,CPI
] Added a possibility not to download messages if itsCustom Status
equal toNOLOGGING
(see EDI Message Monitoring for more details). -
[
PI→CPI Migration
] Added a support of Message Mappings case when External Message name is not equal to its root element. To check supported cases go here. -
[
PI→CPI Migration
] ChangedBeta
profile toLocal Processes
,Default
toSingle Process
and configuredLocal Processes
as default one. -
[
Security
] Added a possibility to use CSRF protection provided by App router on SAP BTP deployment, Cloud Foundry. -
[
Security
] Configured Content Security Policy. -
[
FIX
,Change Management
,CPI
] Fixed forcible synchronization of CPI agents. -
[
FIX
,Testing Tool
,CPI
] Fixed a link to message traces on integration suite.
Notes for upgrade from 2305 to 2306
Notes for upgrade from 2305 to 2306
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process forcible synchronization (options
Check metadata of all existent objects
,Forcibly process payload dependent initializations for not updated objects
,Forcibly process child types for not updated compound ESR object types: External Definition, Service Interface, Function Module, Imported Archive
) for PRO agents from CTT page. -
It’s required to process forcible synchronization (option
Synchronize objects forcibly
) for CPI agents from CTT page. -
It’s required to update
manifest.yml
andapprouter/package.json
files if Figaf Tool is deployed to SAP BTP, Cloud Foundry. You can download new archive from article. -
Build has data migrations of existing PI to CPI migration settings.
-
Build has data migration to delete orphan blob store entries for CPI agents.
2305.1
2305.1
-
[
Change Management
,PRO
] Optimized algorithm of dependent objects loading on tracked object page. -
[
DevOps
,PRO
] Extended algorithm to update adapter engine configuration in wildcard ICO sender during transport if adapter engine has been changed on its receiver channels. -
[
DevOps
,PRO
] Added logging of object creation in transport changes overview (only for binary landscapes). See transport page for more details. -
[
DevOps
,PRO
] Optimized attachment of ESR objects to the ticket and creation of ESR transports. -
[
PI→CPI Migration
] Added a support of Message Mappings with bindings. To check supported cases go here. -
[
Common
,CPI
,Api Management
,API Hub
] Added SAP AIR header to all API calls to CPI/API mgmt/API Hub agents. -
[
FIX
,Testing Tool
] Fixed an issue when modules couldn’t be removed from ICO if current mode was ICO logging. -
[
FIX
,PI→CPI Migration
] Fixed dollar signs escaping in groovy scripts. Only last one was escaped previously if there were several of them. -
[
FIX
,PI→CPI Migration
] Fixed an issue occurred during migration of ICO with several message mappings using the same Java/Xslt mapping.
Notes for upgrade to 2305.1
Notes for upgrade to 2305.1
-
It’s required to process reinitialization operation on Agents page for CPI and Api Management agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually.
2305
2305
-
[
Change Management
,CPI
] Added a possibility to transform REST API/SOAP API objects to IFlow (go to Transform REST API/SOAP API objects to IFlows for more details). -
[
Testing Tool
] Refactored browsing of polling results for recordings/test runs. Polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects. -
[
Testing Tool
,CPI
] AddedSapIDocTransferId
header if it’s empty for the inbound message when testing IDOC scenarios. -
[
DevOps
,PRO
] Added a possibility to update routing conditions in ICO on transport configuration page (only for binary landscapes). -
[
PI→CPI Migration
] Added initialization of XSLT mapping file paths if corresponding template isn’t found: HTTP is used for sender and ProcessDirect is used for receiver. -
[
FIX
,Testing Tool
,PRO
] Fixed an issue with recording of Receiver Determination objects (dualstack). -
[
FIX
,PI→CPI Migration
] Fixed an issue when PI to CPI migration folder initialized by default couldn’t be found after restarting Figaf Tool deployed on SAP BTP deployment, Cloud Foundry environment. -
[
FIX
,Change Management
,Testing Tool
,CPIHelper
] Fixed an issue occurred for IFlows that hadn’t been synchronized.
Notes for upgrade from 2304 to 2305
Notes for upgrade from 2304 to 2305
-
Previous configuration in Figaf Tool hasn’t been affected.
2304
2304
-
[
Common
,PRO
] Added PI agent report on Integration Objects page. -
[
Testing Tool
,CPI
] Added a support of IFlows with JMS sender. -
[
Testing Tool
,PRO
] Improved PI recording/polling. Added a feature to record messages and run test case even ifScenario Type
isn’t defined automatically whenMessages logging approach
isICO Logging
. The approach is recommended if you are creating PI test cases to afterwords migrate them into CPI test cases. -
[
Testing Tool
] Added information to test case about the source of test case and way of creation. -
[
Change Management
,Api Management
] Added warnings shown if object contains changes that haven’t deployed yet. The warning is visible on Landscape Overview page. -
[
Change Management
,CPI
,Api Management
] Added deployed version to CSV report onLandscape Overview
page. -
[
PI→CPI Migration
] Improved generation of groovy scripts during PI to CPI migration. Added support ofAll Values of Queue
. -
[
PI→CPI Migration
] Changed IDs generation pattern for Participants. -
[
PI→CPI Migration
] Extended migration overview report. Added new column with information about configuration of sender and receiver adapters. -
[
PI→CPI Migration
] Added SOAP envelops to the sender after migration of PI test case (with IDOC sender) to CPI IFlow.
Notes for upgrade from 2303 to 2304
Notes for upgrade from 2303 to 2304
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process forcible synchronization (options
Check metadata of all existent objects
,Rebuild links for the latest versions forcibly
,Forcibly process payload dependent initializations for not updated objects
) for PRO agents from Integration Objects page. -
It’s required to process forcible synchronization (options
Synchronize objects forcibly
) for Api Management agents from CTT page.
2303.1
2303.1
-
[
Testing Tool
] Changed testing license check algorithm. Now it is enough to have testing license for only development object in scope of composite landscape to be able to register test cases for all related objects across the composite landscape. -
[
Testing Tool
,CPI
] Added a support of IFlows with nested splitters and/or multicasts (see configuration of IFlow with nested splitters and/or multicasts). -
[
Testing Tool
,CPI
] Added warnings shown if the design version is different than deployed version. The warning is visible on Integration Objects page, Landscape Overview page and Test Case Details page. -
[
CTT
,PRO
] Optimized linking algorithm. -
[
PI→CPI Migration
] Added a possibility to typeJMS Queue Name
manually (go ot Migration page for more details). -
[
DevOps
] Extended transport validation logic to get invalid state of transport in case of some issues with denied state. -
[
DevOps
,PRO
] Added validation of PI changelist after upload completion (see Binary landscapes features for more details). -
[
CPI
,Git integration
] Added an optionAdd scenario documentation
in order to generate scenario documentation automatically (see Git integration configuration for more details). -
[
Common
,CPI
] Improved error messages if custom IdP configured wrongly. -
[
FIX
,Testing Tool
,CPI
] Fixed an issue when mock IFlow couldn’t be created when source IFlow had two Message Flows with the same name that were pointing at the Receiver. -
[
FIX
,Support Tool
] Fixed an issue when whole alert processing failed if any support rule was invalid. -
[
FIX
,DevOps
,PRO
] Fixed an issue when transports couldn’t be started for ticket with ID and ESR objects if some of required objects weren’t added to ticket.
Notes for upgrade to 2303.1
Notes for upgrade to 2303.1
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process forcible synchronization for CPI agents from CTT page.
-
It’s required to process forcible synchronization (options
Check metadata of all existent objects (lookup without last change date filter)
,Rebuild links for the latest versions forcibly
,Forcibly process payload dependent initializations for not updated objects
,Forcibly process child types for not updated compound ESR object types: External Definition, Service Interface, Function Module, Imported Archive
,Synchronize used sap repository objects
, andSynchronize all dependent sap objects recursively
) for PRO agents from CTT page. -
It’s required to process reinitialization operation on Agents page for CPI agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually.
2303
2303
-
[
PI→CPI Migration
] Added a possibility to create enterprise ready flows. See Migration page. -
[
PI→CPI Migration
] Added support of ICOs having multiple receivers in the rule. -
[
PI→CPI Migration
] Defined HTTP/SOAP/IDOC sender url with IFlow technical name value by default. -
[
Testing Tool
] Added a possibility to rerun test case from test run details page if it’s run in scope of test suite run. -
[
Testing Tool
,PRO
] Added modules management report with historical changes for communication channels made by Figaf Tool. -
[
FIX
,UI
] Fixed an issue when reset password page couldn’t be opened.
Notes for upgrade from 2302 to 2303
Notes for upgrade from 2302 to 2303
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process reinitialization operation on Agents page for CPI agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually.
2302.2
2302.2
-
[
Common
,CPI
] Changed entity descriptor generation algorithm in order to be able to sign on to SAP CPI CF using custom SAML2 Identity Provider (see Sign on to SAP CPI CF using SAML2) when Figaf Tool is started withhttp
protocol.
Notes for upgrade to 2302.2
Notes for upgrade to 2302.2
-
It’s required to process reinitialization operation on Agents page for CPI agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually. Also, copy new parameters fromgradle-irt.properties
to yourgradle.properties
.
2302.1
2302.1
-
[
Testing Tool
] Added an optionIgnore all
on Differences dialog to add all message properties with differences to ignore list. -
[
FIX
,DevOps
,CPI
] Fixed an issue when URL and file documents could be lost on target system after rollback.
2302
2302
-
[
Testing Tool
] Added an option to trim whitespaces in XML content before comparison (seeTrim whitespaces before XML comparison
option Test Configuration on Integration Object Details page and Shared Configuration page). -
[
PI→CPI Migration
] Added a possibility to manage cloud integration resources (go ot Migration page for more details). -
[
PI→CPI Migration
] Added a possibility to exclude receivers/interfaces (go ot Migration page for more details). -
[
PI→CPI Migration
] Added a possibility to configure name and ID of migrated IFlow. -
[
PI→CPI Migration
] Implemented maintenance of migration settings to restore them duringCheck
operation. -
[
DevOps
,CPI
] Added transport of URL documents, file documents and tags during importing package. These objects are imported on background if package is update. -
[
Common
,PRO
] Added an option to skip data types synchronization (go to PRO synchronization options for more details). -
[
UI
] Implemented an automatic navigation to previously opened page after login. -
[
FIX
,DevOps
,PRO
] Fixed an issue with ESR objects import. -
[
FIX
,DevOps
,Api Management
] Fixed an issue with rollback. -
[
FIX
,DevOps
] Fixed an issue when parameters report couldn’t be downloaded when some parameters hadnull
values.
Notes for upgrade from 2301 to 2302
Notes for upgrade from 2301 to 2302
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to synchronize CPI agents with
Synchronize objects forcibly
andRebuild links for the latest versions forcibly
settings.
2301
2301
-
[
Testing Tool
,PRO
] Added a possibility to forcibly avoid ignoring of some message properties ignored by default (seeDon’t skip adapter-specific properties by default during message sending
option Test Configuration on Integration Object Details page). -
[
Testing Tool
,PRO
] Added validation of scenario configuration (see Integration Object Details page). -
[
Testing Tool
,CPI
] Added testing support for scenarios having HTTP endpoint with/*
and query parameters. -
[
DevOps
,PRO
] Added import process split for Integration Directory transports done through WS (only for binary landscapes). -
[
DevOps
,CPI
,Api Management
] Added transports history to browse relationship between tickets and transports in composite landscapes (see Ticket page). -
[
PI→CPI Migration
] Added information about mapping challenges into migration report if related operation mapping used anything else than just one 1:1 migration. -
[
PI→CPI Migration
] Limited running period of test cases migrated from PI to CPI. Test cases migrated from PI to CPI can be run for 30 days after creation if testing license end date is expired and PI to CPI migration license end date exists and isn’t expired. -
[
PI→CPI Migration
] Added a possibility to initialize PI to CPI migration folder by default with data from PItoCPIMigrationTemplates repository. -
[
Common
] Allowed download of existing naming convention rules file or sample file. -
[
FIX
,Testing Tool
,PRO
] Added a check to skip polling of message group if the root message failed. -
[
FIX
,DevOps
,PRO
] Fixed receiver projection for ignoring case when multiple receiver rules declared same receiver.
Notes for upgrade from 2212 to 2301
Notes for upgrade from 2212 to 2301
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process forcible synchronization (options
Check metadata of all existent objects (lookup without last change date filter)
,Rebuild links for the latest versions forcibly
,Forcibly process payload dependent initializations for not updated objects
,Forcibly process child types for not updated compound ESR object types: External Definition, Service Interface, Function Module, Imported Archive
,Synchronize used sap repository objects
, andSynchronize all dependent sap objects recursively
) for PRO agents from CTT page.
2212.1
2212.1
-
[
Testing Tool
,PRO
] Added a possibility to verify successful status of the message on PI system during the testing (forSAP Log module
andICO Logging
). -
[
Monitoring
] Added a possibility to retry messages downloading. See Work with EDI Message Monitoring for more information. -
[
Migration to IS
] Added a validation that there are no approved or waiting for approval transports with effected objects during updating custom mapping (go to Migration to Integration Suite for more details). -
[
DevOps
,PRO
] Added selector foradapterEngineName
channel parameter on transport configuration page (only for binary landscapes). Decentral adapter engine labels are used as values in the selector. -
[
PI→CPI Migration
] Added Groovy syntax issues handling. -
[
PI→CPI Migration
] Extended pi to cpi report with mapping problems. -
[
Monitoring
,CPI
] Allowed management of CPI message monitor filters forIRTConfigurator
. -
[
FIX
,DevOps
] Fixed an issue when denied objects could be attached to a ticket if there were attached objects in the ticket.
Notes for upgrade to 2212.1
Notes for upgrade to 2212.1
-
It’s required to process forcible synchronization for PRO agents from CTT page.
2212
2212
-
[
Migration to IS
] Added overview page for Migration to Integration Suite flow (go to Migration to Integration Suite for more details). -
[
DevOps
] Added a batch rollback of transports for binary landscapes. -
[
DevOps
] Added access restriction on landscape level (see Restrict Access configuration). -
[
DevOps
] Added a validation that prevents deletion of active transports and related tickets. -
[
DevOps
,PRO
] Added information about changelist activation date to the name of changelist before activation (only for Integration Directory transports through WS). -
[
DevOps
,PRO
] Added information about ticket, external ticket, transport and transport date to the changelist description (only for Integration Directory transports through WS). When transport has one ticket, the description contains transport and ticket information. When transport has many tickets, the description contains only transport information. -
[
DevOps
,CPI
] Added a possibility to initialize transport configuration by the ancestor values (only for binary landscapes). -
[
Common
,CPI
] Simplified creation of CPI agents (see Agents integration configuration (CPI platform)). -
[
Common
,CPI
] AddedReset Entity Descriptor
on Agents integration configuration (CPI platform) to avoid accidental regeneration of entity descriptor. -
[
Common
] Added new user roleIRTLandscapeManager
to remove that permission fromIRTDevOpsManager
. Go to IRT roles and permissions for more details. -
[
Common
] Allowed upload of naming convention rules when one object has several assigned naming convention rules group tags. -
[
Common
] Allowed user deletion when Figaf Tool is run withirt.logon-mode
equals toMIXED_MODE
orSSO_MODE
. -
[
UI
] Improved user management table, added a possibility to filter and sort users. -
[
UI
] Upgraded OpenUI5 version to 1.108.0. -
[
FIX
,DevOps
,PRO
] Fixed an issue when responsible user information was not preserved for created target object.
Notes for upgrade from 2210 to 2212
Notes for upgrade from 2210 to 2212
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process forcible synchronization (option
Synchronize objects forcibly
) for CPI agents from CTT page.
2210.3 (available only for Docker distributions: standard and BTP)
2210.3 (available only for Docker distributions: standard and BTP)
-
[
Common
] Addedirt.saml-base-url
application property (go to Application properties for more information). Related environment variable for Docker installation isIRT_SAML_BASE_URL
.
2210.2 (available only for Docker distributions: standard and BTP)
2210.2 (available only for Docker distributions: standard and BTP)
-
[
FIX
,Common
] Fixed deployment for docker-compose.
2210.1 (available only for SAP BTP deployment, Cloud Foundry environment)
2210.1 (available only for SAP BTP deployment, Cloud Foundry environment)
-
[
FIX
,Common
] Fixed Figaf Tool public API on SAP BTP deployment, Cloud Foundry environment. There was an issue with usage of OAuth clients tokens in requests to Figaf Tool.
2210
2210
-
[
Testing Tool
,CPI
] Added a support of async IFlows testing. -
[
DevOps
,PRO
] Implemented changes overview at transport level for ICOs and communication channels (only for binary landscapes) to browse model differences as a flat view. -
[
DevOps
] Added a possibility to validate mapped target object name on transport level (only for binary landscapes) (see naming validation configuration). -
[
DevOps
] Added a possibility to export all external properties that are used in the transport (only for binary landscapes). It supports CPI IFlows (CPI platform), communication channels (PRO platform) and API Proxies and Key Value Maps (Api Management platform). -
[
Common
,CPI
] Added a possibility to sign on to SAP CPI CF using custom SAML2 Identity Provider (see Sign on to SAP CPI CF using SAML2). -
[
Common
,CPI
] Added a support of integration suite agents (see Agents integration configuration (CPI platform)). -
[
Common
,Api Management
] Added a support of OAuth2 protocol for connectivity with API management agents through public API (see Agents integration configuration (Api Management platform)). -
[
FIX
,Testing Tool
,CPI
] Fixed an issue when CPI integration object wasn’t restored successfully in Figaf Tool after its deletion and recreation in another package.
Notes for upgrade from 2209 to 2210
Notes for upgrade from 2209 to 2210
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process reinitialization operation on Agents page for CPI and Api Management agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually.
2209
2209
-
[
Testing Tool
,PRO
] Implemented new PI messages/results polling approach (except RD scenarios). By default, new approach is used, but it’s possible to enable old approach globally in bootstrap properties (irt.testing.pro.polling.async-with-splitter-scenario.use-old-approach
,irt.testing.pro.polling.async-without-splitter-scenario.use-old-approach
,irt.testing.pro.polling.sync-scenario.use-old-approach
,irt.testing.pro.polling.async-sync-bridge-scenario.use-old-approach
) or for a particular scenario (optionEnable old polling approach
on Integration Object Details page). -
[
Testing Tool
,PRO
] Added a possibility to record chosen root messages. New recording approach example is e2e testing of scenario (fetch chosen message groups, PRO scenarios except RDs). -
[
Testing Tool
,PRO
] Added a possibility to override integration type on Integration object page in addition to global Agent setting and add Use the most appropriate Messages logging approach by default per scenario option on Agent to detect a suitable integration type that should be used by default. -
[
Testing Tool
,CPI
] Added a support of manual test case creation through UI table for CPI IFlows. -
[
Testing Tool
,CPI
] Added a possibility to configure run steps filter on Test Configuration tab and in recording dialog using bpmn with viewer dialog. -
[
Monitoring
,CPI
] Added custom headers support to EDI message monitoring. -
[
DevOps
] ExtendedTraces of the last import
file. Error occurred during transport import is added to the downloaded file. -
[
DevOps
] Added copying of external ticket id, link and description during next ticket creation (only for binary landscapes). -
[
DevOps
] Added a support of integration with a webhook (only for binary landscapes). -
[
Change Management
,UI
] Added xml beautifier for payloads. -
[
Common
] Added a flagDon’t resolve as default test system
on agent not to resolve it as default test system during test case creation from recording request and manual test case creation. -
[
Common
] Added new validations to support PI to CPI testing license. -
[
Audit
] Added cron jobs to clean audit entries (configuration is on Application page). -
[
Audit
] Added audit logging of webhook integration events (WEBHOOK_INTEGRATION
event type). -
[
FIX
,Testing Tool
,PRO
] Fixed an issue when Figaf Tool/SAP modules weren’t removed when related agent had PI_MESSAGE_LOG enabled. -
[
FIX
,DevOps
,PRO
] Fixed an issue when rollback didn’t work for channels with passwords. -
[
FIX
,Monitoring
,CPI
,UI
] Fixed an issue when CPI System Monitoring page couldn’t be opened. -
[
FIX
,CPI
,UI
] Fixed an issue when synchronization packages filter was cleaned during opening Tracked objects page. -
[
FIX
,UI
] Fixed UI configuration for cloud version.
Notes for upgrade from 2208 to 2209
Notes for upgrade from 2208 to 2209
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to synchronize PRO agents with
Check metadata of all existent objects (lookup without last change date filter)
andRebuild links for the latest versions forcibly
settings after the upgrade to 2209.
2208.1
2208.1
-
[
Testing Tool
,CPI
] Added a possibility to configure run steps filter in bpmn with viewer dialog. -
[
Testing Tool
,CPI
] Added mock testing support for looping process call that calls the same function multiple times. -
[
Testing Tool
,PRO
] Actualized UI forpackage-info.json
preparation (manual test case creation). -
[
PI→CPI Migration
] Added IFlow name validation on Migration page. -
[
PI→CPI Migration
] Added a possibility to configure IFlow element id in Migrate Test Cases dialog using bpmn with viewer dialog. -
[
PI→CPI Migration
] Added a possibility to synchronize package from Migration page. -
[
PI→CPI Migration
] Added support for WSDL in External Definition. -
[
DevOps
] Added external ticket id, external ticket link and landscape columns on Tickets page. -
[
Common
,CPI
,Api Management
] Added git API connectivity test if Git Integration is enabled for agent.
Notes for upgrade to 2208.1
Notes for upgrade to 2208.1
-
It’s required to process forcible synchronization of ESR objects for PRO agents from CTT page.
2208
2208
-
[
Testing Tool
,CPI
] Improved messages polling. CPI run step payloads now are downloaded in parallel (performance depends on API restrictions on particular tenant). -
[
Testing Tool
,PRO
] Improved message polling statistics. -
[
Testing Tool
,PRO
] Added information about modules on channels on Integration Object page. Added a possibility to add/remove modules on Integration Object page. -
[
Testing Tool
] Added a possibility to compare selected test runs on Test Suite Run page. -
[
Testing Tool
] Added a possibility to create recording from Integration Object page and from Test Suite page. -
[
Testing Tool
] Added comparison error details viewing for a particular test run result on Test Run Details page. -
[
Testing Tool
]NEW_RECORDINGS
stage is completely removed from the process. Existing recordings in that state will be removed automatically during the first startup. -
[
Testing Tool
] Added a possibility to create test cases without test objects in order to migrate these test cases to CPI IFlow. -
[
Monitoring
,CPI
] Improved CPI Message Monitoring CSV report (see CPI Message Monitoring). AddedMessage ID
andDuration
columns. -
[
PI→CPI Migration
] Added processed messages in migration overview report. This feature works for supported cases except bridges. -
[
Common
,PRO
] Added simple query API connectivity test. -
[
Common
,CPI
] Added a possibility to synchronize CPI Cloud Foundry systems without definedSAP Authentication Provider
. -
[
Change Management
,CPI
] Added a BPMN model viewer to 'Browse Payload' function on the Tracked object page. -
[
FIX
,Testing Tool
,PRO
] Fixed messages lookup optimization for bridges. -
[
FIX
,DevOps
,CPI
] Fixed message mapping file name for new version of message mappings updated during transport. -
[
FIX
,CPI
,Git integration
] Fixed an issue when artifacts with the same names (types are different) couldn’t be downloaded/uploaded/deployed using cpi-plugin.
Notes for upgrade from 2207 to 2208
Notes for upgrade from 2207 to 2208
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to synchronize PRO agents with
Check metadata of all existent objects (lookup without last change date filter)
andRebuild links for the latest versions forcibly
settings after the upgrade to 2208. -
It’s required to process reinitialization operation on Agents page for CPI agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually. -
It’s required to update
manifest.yml
andvars.yml
files if Figaf Tool is deployed to SAP BTP, Cloud Foundry. You can download new archive from article.Deploy the application by command
cf push --vars-file vars.yml
.
2207.1
2207.1
-
[
FIX
,Testing Tool
,CPI
] Fixed testing with mock data on SAP BTP deployment, Cloud Foundry environment.
2207
2207
-
[
Testing Tool
,CPI
] Added a possibility to test messages using GET request with body. -
[
Testing Tool
,PRO
] Added a possibility to record and test ICOs in Async/Sync bridge separately (onlySAP log module
/ICO Logging
integrations). -
[
Testing Tool
,PRO
] Added a possibility to reset message interfaces to${determineDuringFirstRun}
for chosen test suites to be able to reinitialize them in runtime. -
[
Testing Tool
,PRO
] Added a possibility to define an additional dynamic properties sending with messages the testing process. -
[
DevOps
] Added a batch import of transports for binary landscapes. -
[
DevOps
,CPI
] Attached linked packages automatically to tickets/transports during starting transport when target package didn’t exist. -
[
Change Management
] Added a possibility to delete chosen tracked object groups. -
[
Monitoring
,CPI
] Added CPI Message Monitoring CSV report (see CPI Message Monitoring). -
[
Common
,CPI
] Simplified CPI agents creation (see Agents integration configuration (CPI platform)). -
[
Common
] Got rid of/irt
in the context path. So after installation Figaf Tool is available on<http|https>://<HOST>:<PORT>
(by default http://localhost:8089). -
[
Common
] Upgraded OpenUI5 version to 1.102.2. -
[
Git integration
,CPI
] UpgradedMessageImpl.groovy
and added new methods support. -
[
FIX
,Monitoring
,CPI
] Fixed an issue in logs occurred during handling monitored messages with already removed traces logs. -
[
FIX
,Monitoring
,CPI
] Finished monitored messages automatically if related messages didn’t exist anymore. -
[
FIX
,PI→CPI Migration
] Fixed an issue in migration overview report when mappings were handled incorrectly for ICOs with quite a lot of them. -
[
FIX
,DevOps
,CPI
] Fixed an issue when mappings comparison report couldn’t be downloaded from transport page if IFlow with message mapping was updated. -
[
FIX
,DevOps
,CPI
] Fixed an issue when cached transport configuration couldn’t be opened for IFlow without external configuration.
Notes for upgrade from 2206 to 2207
Notes for upgrade from 2206 to 2207
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to update
xs-app.json
andmanifest.yml
files if Figaf Tool is deployed to SAP BTP, Cloud Foundry. You can download new archive from article.Deploy the application by command
cf push --vars-file vars.yml
.
2206
2206
-
[
Change Management
,Testing Tool
,CPI
] Added CPIHelper support (go to CPIHelper support for more details). -
[
Testing Tool
,CPI
] Added a possibility to delete test IFlows (normal and mock) for selected IFlow integration objects. -
[
Testing Tool
,Support Tool
,Monitoring
,CPI
] Added support of recording, testing, monitoring of datastore entries. -
[
DevOps
] Added a possibility to compare imported version with previous version on target system from transport page. -
[
DevOps
] Added traceability of transport process. -
[
DevOps
] Added a possibility to create a ticket from existing one. -
[
DevOps
,CPI
,PRO
] Added test cases lookup across the composite landscapes. -
[
PI→CPI Migration
] Added SOAP envelops to the sender after migration of PI test case (with SOAP sender) to CPI IFlow. -
[
FIX
,DevOps
,CPI
] Fixed an error occurred during synchronization of CPI Message Mappings or Script Collections from Ticket page.
Notes for upgrade from 2205 to 2206
Notes for upgrade from 2205 to 2206
-
Previous configuration in Figaf Tool hasn’t been affected.
2205
2205
-
[
Change Management
,DevOps
,CPI
] Added support of Script Collections and CPI Message Mappings. The objects with these types are added to git repository. -
[
Change Management
,CPI
,Api Management
] AddedLandscape Overview
page to browse all objects in scope of CPI and Api Management composite landscapes. -
[
Change Management
,CPI
] AddedRebuild links for the latest versions forcibly
synchronization setting. -
[
DevOps
,PRO
] Added a possibility to browse changes between source ICO state and the state to upload on Transport Configuration page (only for binary landscapes). -
[
DevOps
,CPI
] Added a possibility to configure parameter values replacement stategies on composite landscape management page. -
[
Testing Tool
,CPI
] AddedStep Name
column to recordings and test case messages to make it easier to find the relevant step. -
[
Monitoring
,CPI
] Added support of ApplicationMessageType into CPI Message Monitoring. -
[
Monitoring
,CPI
,PRO
] Added a possibility to delete integration object monitors from EDI Message Monitoring page. -
[
PI→CPI Migration
] Added support of ABAP and Java mappings. -
[
PI→CPI Migration
] Added support of XSL mappings. -
[
Common
] Added new user rolesIRTApplicationManager
,IRTAgentManager
,IRTUserManager
andIRTOAuthClientsManager
to split responsibility ofIRTAdmin
in scope of configuration. Go to Figaf Tool roles and permissions for more details. -
[
DevOps
] Added ticket ids to the subject of the email notifications with review results. -
[
FIX
,PI→CPI Migration
] Fixed an issue with operation mappings children handling. -
[
FIX
,Monitoring
,CPI
] Fixed an issue when automatic monitored messages polling didn’t work after the application restart. -
[
FIX
,DevOps
,CPI
] Fixed an error occurred during simplified model comparison for target CPI IFlow.
Notes for upgrade from 2204 to 2205
Notes for upgrade from 2204 to 2205
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to synchronize CPI agents with
Synchronize objects forcibly
andRebuild links for the latest versions forcibly
settings after the upgrade to 2205. -
It’s required to update configuration of CPI composite landscapes created before release 2205 in order to configure parameter mapping rules for new types (Script Collection and CPI Message Mapping).
-
It’s required to process reinitialization operation on Agents page for CPI agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually.
2204.2
2204.2
-
[
Testing Tool
,CPI
] Added support of all send/call steps for testing with mock data. -
[
FIX
,Testing Tool
,CPI
] Fixed an issue when test cases couldn’t be created for IFlows with several branches executed simultaneously. -
[
FIX
,Change Management
,CPI
] Fixed an issue in logs occurred during synchronization of IFlows with duplicated element ids.
2204.1
2204.1
-
[
Common
] Added a possibility to configure DB connection through a plain JDBC url using airt.db.jdbc-url
bootstrap parameter. Related environment variable for Docker installation:IRT_DB_JDBC_URL
. -
[
FIX
] Fixed application bootstrap on Oracle DB.
2204
2204
-
[
DevOps
,CPI
,Api Management
] Significant enhancement of the composite landscapes management for CPI and API management platforms. Includes:-
a new UI to manage the whole composite landscape on one page
-
control of the objects scope available for transport at each stage. For example, having a composite landscape
dev(system1) → qa(system1) → prod(system2)
, the scope of objects available for transport fromqa(system1)
toprod(system2)
will be limited by objects existing onsystem1
that are mapped fromdev(system1)
objects. At the same time, these mapped objects won’t be added todev(system1)
scope. -
possibility to reuse the same system as a 'virtual' QA system (requires a mapping definition)
-
possibility to define technical/displayed name mapping rules with new strategies:
add/remove/replace prefix
,add/remove/replace suffix
,replace by regex
,no action
. UI dialog also has an option to test the rule before saving it. -
possibility to update mapping rules after the composite landscape creation - it just requires complete/cancel all active transports related to that composite landscape
-
consistency check for configured technical name mapping to avoid several source objects mapped to the same target object
-
-
[
DevOps
] AddedAllow if matches
criteria toTransport denying rules
functionality. It has the second priority after theDeny if matches
criteria. If at least one filter is configured in that criteria, object’s transport will be allowed only of object matches at least one of filters. -
[
DevOps
] AddedTags
filter to all criterias in`Transport denying rules` functionality -
[
DevOps
] Added a possibility to create a ticket for the next landscape in the chain after the successful transport (on Transport page). Limitation: current landscape should have only one successor, transport should have only one linked ticket. -
[
DevOps
] Added transport item error to transports CSV report. -
[
PI→CPI Migration
] Added migration overview status page. -
[
Monitoring
] Added a bootstrap parameterirt.monitoring.monitored-messages-polling-period
to configure a period in days of initial messages lookup during the first polling in the EDI message monitoring. Default value is3
. Add--irt.monitoring.monitored-messages-polling-period=3
with needed parameter value to application bootstrap command to override it. -
[
Monitoring
] Added a possibility to process CSV export from EDI monitoring page. -
[
Common
,PRO
] Added EJB API connectivity test for PRO agents -
[
Testing Tool
] Improved Update Test Case using Test Run Results feature. -
[
FIX
,DevOps
,CPI
] Fixed an issue when package without version number couldn’t be imported. Now version number is restored during forcible synchronization.
Notes for upgrade from 2202 to 2204
Notes for upgrade from 2202 to 2204
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s recommended to forcibly synchronize configured CPI agents after the upgrade to 2204 to get internal data migration processed during synchronization (related to the
version
field of the tracked object). -
CPI and API mgmt binary landscapes created before release 2204 now are deprecated because the model of composite landscapes for CPI and API mgmt has been changed. These old CPI and API mgmt binary landscapes can’t be updated anymore, only manually deleted. However, it’s still possible to register new tickets for these landscapes and work with previously created tickets. It’s highly recommended to reconfigure them from scratch using the new composite landscape management UI, please do that operation on your side manually.
2202.3
2202.3
-
[
Change Management
,CPI
] Added new bootstrap parameterirt.ctt.require-valid-bpmn-iflow-model-during-synchronization
(default value istrue
). If it’s true, IFlows with broken (from XML perspective) BPMN model will not be registered in CTT and the corresponding error will be thrown. If it’s false, then such IFlows will be registered in CTT and errors will not be thrown. -
[
Testing Tool
,CPI
] Improved messages polling for IFlows. -
[
FIX
,Testing Tool
] Fixed an issue when testing with mock data didn’t work correctly when test case had more than 100 messages with the same activity.
2202.2
2202.2
-
[
Common
] Added a possibility to run Figaf Tool as a Docker container on all supported databases (go to Docker Hub for more details).
2202.1
2202.1
-
[
Change Management
] Added BPMN model image to IFlow documentation.
2202
2202
-
[
Common
] Added a possibility to work with PI systems in SAP BTP deployment, Cloud Foundry (follow article for more details). -
[
Common
] Added correct user email extraction from SSO user (SAP BTP deployment, Cloud Foundry). -
[
Testing
,CPI
] Added a support of testing with mock data on SAP BTP deployment, Cloud Foundry. -
[
DevOps
,PRO
] Added an option to keep receiver/interface rules that exist only on target object after import. -
[
DevOps
,CPI
] Added a comment to IFlow/Value Mapping versions created during transport import. -
[
FIX
,DevOps
] Fixed an issue when objects detached from a ticket (based on a binary landscape) were still included to a transport.
Notes for upgrade from 2201 to 2202
Notes for upgrade from 2201 to 2202
-
Previous configuration in Figaf Tool hasn’t been affected.
2201.2
2201.2
-
[
DevOps
] Fixed an issue when landscapes with reviewers couldn’t be updated on SAP BTP, Cloud Foundry environment.
2201.1
2201.1
-
[
DevOps
,PI→CPI Migration
] Added calculation of Sequence Flow coordinates of migrated IFlow. -
[
UI
] Improved UI resources download to load the Web application faster.
2201
2201
2201 has a few data migrations for PRO tracked objects that can take some time depending on a total count of tracked object versions. |
-
[
Change Management
,PRO
] Fixed a bug when ESR objects duplicates were created. -
[
Change Management
,PRO
] Added new synchronization optionsForcibly process payload dependent initializations for not updated objects
,Forcibly process child types for not updated compound ESR object types
,Skip synchronization of ESR/File transports
, andSynchronize only Integration Directory objects
(go to PRO synchronization options for more details). -
[
Change Management
,PRO
] Added new application propertiesirt.ctt.max-pro-objects-lookup-period-in-months
andirt.ctt.max-pro-transports-lookup-period-in-months
to restrict synchronized objects last change date (go to Application properties for more information). -
[
Change Management
,DevOps
] Implemented a CSV export for Tracked objects, Tickets and Transports. There is a possibility to add attached tracked objects to the report on Tickets and Transports pages. -
[
DevOps
] Added browsing of child objects name mapping lookup on Transport configuration page for binary landscapes. -
[
DevOps
] Added a possibility to fully delete tracked object version from the ticket. -
[
DevOps
,PRO
] Added a possibility to transport conditions when receiver interface routing has only one branch. -
[
DevOps
,CPI
,Api Management
] Added a possibility to define name mapping strategies at the Binary Landscape (see Tracked object name mapping rules for more details). The strategies are used to replace virtual landscape items (old approach) with composite landscape. -
[
Common
] Added a possibility to deploy Figaf Tool to SAP BTP, Cloud Foundry (follow article for more details). -
[
FIX
,Change Management
,PRO
] Fixed an issue with receiver agreements linking. -
[
FIX
,DevOps
] Fixed an issue when tickets with dependent tickets couldn’t be deleted.
Notes for upgrade from 2112 to 2201
Notes for upgrade from 2112 to 2201
-
Previous configuration in Figaf Tool hasn’t been affected.
2112
2112
2112 has 2 data migrations for PRO tracked objects that can take some time depending on a total count of tracked object versions. |
-
[
DevOps
] Added binary landscape type. Binary landscapes have several advantages: idempotent binary landscape, composite landscape, receiver/interface rules projection, "soft" decline, etc. See binary landscapes for more details. -
[
DevOps
,PRO
,CPI
] Added a new transport item statusSKIPPED_BECAUSE_ALREADY_EXIST
for target objects that were skipped during the import because the same state already exists on the target system. It works for Integration Directory PRO objects and CPI objects. -
[
DevOps
,PRO
,Api Management
] Added an optionOnly reviewers can import objects
at the landscape level for PRO and Api Management landscapes. -
[
DevOps
,PRO
] Optimized transport preparation stage. -
[
DevOps
] Added a possibility to rollback transport (re-import state of objects in transport before the import) if the state after import is still the latest. The feature has some limitations that you can read here. -
[
DevOps
,PRO
] Improved channels transport configuration page: added parameter description with context GUI information that can be taken from adapter metadata payload, added possibility to filter items by different criteria. -
[
DevOps
] Added a new settingMake a snapshot of Transport configuration before approval
for landscapes. -
[
DevOps
] Added pagination for Tickets on UI. -
[
DevOps
] Added tickets linking during attaching source object version (new objects attachment, updating versions, resolving dependencies). Tickets that delivered a state that is used as a source in the current ticket are added to the Depends On Tickets list. -
[
DevOps
,PI→CPI Migration
] Added a possibility to migrate synchronous scenarios. -
[
DevOps
,PI→CPI Migration
] Added a possibility to migrate Operation Mappings to existent IFlow. See PI to CPI migration page for more details. -
[
DevOps
,PI→CPI Migration
] Added support of Operation-Specific routing. -
[
DevOps
,PI→CPI Migration
] Added a possibility to use mock service for test cases migrated to CPI IFlow. -
[
Monitoring
,CPI
] Added a possibility to poll monitored messages automatically (settingEnable Monitored Messages Polling
on CPI Agent integration configuration). -
[
Change Management
,DevOps
,PRO
] Added a new parameterirt.ctt.skip-synchronization-of-pro-transports
(default valuefalse
) to disable synchronization of PRO transports. Use that option to save time during synchronization if you don’t use external transport management in DevOps. -
[
Change Management
] Added tagging of tracked objects. -
[
Change Management
,PRO
] Added support for RFC messages with identical names (nowkey
parameter is used as a tracked object name). -
[
Change Management
,PRO
] Improved synchronization of Enterprise Service Repository to support duplicated objects, for example, objects that have identicalobjectId
but differentswcId
. -
[
Common
] Added new user rolesIRTManager
andIRTDevOpsManager
which have the same permissions asIRTOperator
andIRTDevOpsOperator
correspondingly and permissions to delete objects in Testing Tool or DevOps.Delete
permissions are revoked fromIRTOperator
andIRTDevOpsOperator
. -
[
Common
] Changed default value ofirt.config.session-timeout.access-token.max-inactivity-period
(max allowed inactivity period before user will be asked to relogin) to86400
(seconds, i.e. 24 hours). -
[
Common
] Added an option to process automatic synchronization forcibly. See Agents integration configuration for more details. -
[
Common
] Added a possibility to copy agent from existent one. -
[
FIX
,DevOps
,Api Management
] Fixed an issue during transport if target object doesn’t exist. -
[
FIX
,DevOps
,Api Management
] Fixed a root cause ofAPIPROXY_ZIP_INVALID_XML_ERROR
occurred in some specific cases during transport. -
[
FIX
,DevOps
,PRO
] Fixed a bug with scenario mapping for parties. -
[
FIX
,Common
] Fixed a bug when agent with message runs couldn’t be deleted.
Notes for upgrade from 2108 to 2112
Notes for upgrade from 2108 to 2112
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process reinitialization operation on Agents page for CPI and API Management agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually.
2108.6
2108.6
-
[
Testing Tool
,PRO
] Added support of bridges with one receiver. Recording and message polling for such bridges didn’t work on previous Figaf Tool versions.
2108.5
2108.5
-
[
CPI
] Updates to support new CPI private API. On previous Figaf Tool versions there was an issue with synchronization of IFlow resources.
2108.4
2108.4
-
[
Testing Tool
,CPI
] Fixed a bug when message couldn’t be processed successfully on CPI system if test case included messages with content-length header and test case was run with mock data. -
[
Testing Tool
,UI
] Fixed a bug when text and binary files were compared incorrectly. -
[
DevOps
,PI→CPI Migration
] Added support of Mapping Parameters. -
[
DevOps
,PI→CPI Migration
] Renamed external parameters of migrated IFlow when one key related to multiple values. -
[
DevOps
,PI→CPI Migration
] Added a possibility to download archive for debugging in case of some issue to be able to send it to us by email [email protected].
2108.3
2108.3
-
[
DevOps
,PI→CPI Migration
] Added support of Technical Context Object. -
[
DevOps
,PI→CPI Migration
] Changed Message Types structure. For now only one WSDL file with all Message Types is generated. Previously a separate XSD files for each Message Type was generated. -
[
DevOps
,PI→CPI Migration
] Added a possibility to define piToCpiMappings during test case migration for IFlows that haven’t been migrated using Figaf Tool. -
[
DevOps
,PI→CPI Migration
] Added message mappings names to the titles.
2108.2
2108.2
-
[
DevOps
,PI→CPI Migration
] Added support of RFC lookup. -
[
FIX
,Testing Tool
] Fixed a bug with parsing xml document during message update. -
[
FIX
,DevOps
,PI→CPI Migration
] Fixed an issue when spaces around the value were trimmed during migration.
2108.1
2108.1
-
[
Change Management
,PRO
] Added a possibility to define a list of swcIds which then be used for duplicity resolution. New application propertyirt.ctt.preferred-swc-ids
was added (see Figaf Tool application running for more details). -
[
CPI
] Added support of IDP for Cloud Foundry (see CPI agent configuration for more details about new settings). -
[
FIX
,CPI
] Fixed a bug with authentication on Cloud Foundry agents fue to changes in authentication process made by SAP. -
[
FIX
,Change Management
,PRO
] Fixed several issues with synchronization on SAP PI 7.1 version. -
[
FIX
,DevOps
,PI→CPI Migration
] Fixed a bug when Receiver Determinations without Sender Agreement and Receiver Agreement couldn’t be migrated. -
[
FIX
,DevOps
,PI→CPI Migration
] Fixed a bug when object couldn’t be imported if linked ESR object was in a folder. -
[
FIX
,DevOps
,Api Management
] Fixed a bug when some particular Api Proxies couldn’t be imported due to APIPROXY_ZIP_INVALID_XML_ERROR.
Notes for upgrade to 2108.1
Notes for upgrade to 2108.1
-
If you have configured your SAP PI 7.1 system on previous Figaf Tool versions, please change
Version
for this agent toSAP PI 7.1
. -
It’s required to process reinitialization operation on Agents page for CPI and Api Management agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually. Also, copy new parameters fromgradle-irt.properties
to yourgradle.properties
(only for CPI agents).
2108
2108
2108 has a data migration for unfinished test runs, it can take some time depending on count of such test runs. |
-
[
Testing Tool
,CPI
] Added testing support for scenarios with IDOC sender. -
[
Testing Tool
] Added a separate tab on Test Run Details page with message runs statuses. -
[
FIX
,CTT
,Api Management
] Fixed a bug when Figaf error handling policies couldn’t be reset for API_PROXY. -
[
FIX
,CTT
,API Hub
] Fixed a bug when some APIs couldn’t be synchronized. -
[
FIX
,DevOps
,PRO
] Fixed a bug when objects were imported incorrectly when target objects had been deleted but synchronization hadn’t been run before import.
Notes for upgrade from 2107 to 2108
Notes for upgrade from 2107 to 2108
-
irt.testing.cpi.allow-non-successful-messages
setting was deleted and isn’t used anymore. -
If you have unfinished test runs started recently and you need the results, wait for polling end before the update.
2107.1
2107.1
-
[
DevOps
,PI→CPI Migration
] Fixed a bug when migrated message mapping with custom schemas was validated with error by CPI system due to the wrong fns declaration of custom UDF groovy script.
2107
2107
-
[
DevOps
,PI→CPI Migration
] Beta version of PI→CPI migration functionality. See details here. -
[
Testing Tool
,CPI
] Improved error handling during sending messages. Changedirt.testing.cpi.allow-non-successful-messages
default parameter value tofalse
(see Figaf Tool application running for more details). -
[
FIX
,UI
, Support Tool`,CPI
] Fixed a bug when filtering and sorting by columns worked incorrectly.
Notes for upgrade from 2105 to 2107
Notes for upgrade from 2105 to 2107
-
Default behavior was changed for testing on CPI. If you record and test non-successful message, set
irt.testing.cpi.allow-non-successful-messages
totrue
.
2105.1
2105.1
-
[
FIX
,Testing Tool
] Fixed a bug when scheduled polling of testing results couldn’t start when at least one recording request was active.
2105
2105
-
[
DevOps
,CPI
] Added possibility to configure whether only reviewers can import approved transports or not. -
[
Change Management
,CPI
,PRO
,Api Management
] Added possibility to browse versions from different landscape items (go to Browse and compare versions from different landscape items for more details). -
[
Support Tool
,CPI
] Added possibility to configure message monitor filters with the same name for different agents and possibility to copy message monitor filters (go to Message Monitor for more details). -
[
Testing Tool
,CPI
] Added a possibility to configure whether OAuth2 protocol should be used during testing messages on CPI Cloud Foundry system or not (see Agents integration configuration (CPI platform) for more details). -
[
Testing Tool
,CPI
] Added support of iFlows with CSRF protection during the testing. -
[
FIX
,Testing Tool
,PRO
] Fixed a bug when test objects with virtual receiver couldn’t be resolved for Receiver Determination. -
[
FIX
,DevOps
,PRO
] Fixed a bug when not all expected objects were linked with ESR transports.
Notes for upgrade from 2104 to 2105
Notes for upgrade from 2104 to 2105
-
Default behavior was changed for transport functionality. Previously only reviewers could process import, now it’s configurable using the option
Only reviewers can import objects
on Landscape configuration page. By default, that option is disabled. If you want to use the old strategy, that option should be manually enabled on all landscapes.
2104
2104
-
[
Monitoring
,CPI
] Added EDI message monitoring support. See Work with EDI Message Monitoring to learn more about configuration. -
[
DevOps
,Api Management
] Added a possibility to change the API provider for Api Proxy on Transport Configuration page. -
[
DevOps
] Added ticket ids to the subject of the email notifications. -
[
Change Management
,CPI
] Added a possibility to compare message mappings among IFlow versions.The option is available onCompare
dialog. -
[
Change Management
,CPI
] Added a possibility to download BPMN models as SVG. The option is available onDownload
dialog (opened from Change Tracking Tool) and onDifferences
dialog (opened withBPMN model with viewer
selection). -
[
FIX
,Monitoring
,PRO
] Fixed a bug when all messages were polled from PRO system for integration objects without scenario id. -
[
FIX
,DevOps
,PRO
] Fixed broken state of the channel after transport with object update when a channel had password field that hadn’t been created as adapter specific attribute after the first object transport. -
[
FIX
,Change Management
,PRO
] Fixed a bug when scenario id was set incorrectly for wildcard ICO and SA. -
[
FIX
,Change Management
,Testing Tool
,Support Tool
,DevOps
,CPI
] Fixed a bug on Cloud Foundry when there was an error during xml parsing due to encoding issue.
Notes for upgrade from 2103 to 2104
Notes for upgrade from 2103 to 2104
-
It’s required to process reinitialization operation on Agents page for CPI Cloud Foundry agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually. Also, copy new parameters fromgradle-irt.properties
to yourgradle.properties
.
2103.5
2103.5
-
[
FIX
,Testing Tool
,CPI
] Fixed a bug when CPI test suites and test cases weren’t run successfully.
2103.4
2103.4
-
[
FIX
,Testing Tool
,PRO
] Fixed a bug with incorrect scenario mapping usage during testing on several test systems. -
[
FIX
,DevOps
,PRO
] Fixed a bug with business systems import. -
[
FIX
,DevOps
,PRO
] Fixed a bug when wrong SoftwareComponentVersionID was set for non-basis adapters during import. -
[
FIX
CPI
,Api Management
] Fixed a bug when Figaf Tool couldn’t connect to Cloud Foundry if both Ad and SAP login were configured.
Notes for upgrade to 2103.4
Notes for upgrade 2103.4
-
If your CPI or Api Management Cloud Foundry systems are configured for both Ad and SAP login and you have an issue with connection, process reinitialization operation on Agents page for CPI and Api Management agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually. Also, copy new parameters fromgradle-irt.properties
to yourgradle.properties
.
2103.3
2103.3
-
[
Testing Tool
,PRO
] Added possibility to override scenario type for integration objects. It can be useful in cases when it’s initialized with inappropriate value (read more details on Integration Object Details page). -
[
Testing Tool
,PRO
] Fixed a bug when dynamic properties weren’t recorded and tested for dual stack PRO systems. -
[
Testing Tool
] Fixed a bug when XML messages differing only in namespace prefixes were compared wrongly.
2103.2
2103.2
-
[
Testing Tool
] Added possibility to remove related testing results from test runs during message group deletion (see Messages on Test Case Details page). -
[
Testing Tool
] Added possibility to ignore XML attributes (seeIgnore XML attributes
option Test Configuration on Integration Object Details page and Shared Configuration page).
2103.1
2103.1
-
[
Support Tool
] Fixed a bug when rule and rules page weren’t loaded after unsuccessful rule update.
2103
2103
-
[
Testing Tool
] Added a possibility to define custom rules to determine encoding of the message depending on file type and payload. See Encoding determination page to learn details. -
[
Testing Tool
] Added a possibility to calculate file type and encoding for messages in test cases. See Messages tab on Test Case Details page. -
[
Testing Tool
] Added a possibility to define a substring rule for group/message correlation id path in EDI comparison (see Test Configuration tab on Integration Object Details page for more details). -
[
Monitoring
,PRO
] Added EDI message monitoring support. See Work with EDI Message Monitoring to learn more about configuration. -
[
Common
] Improved automatic logout behaviour after inactivity:-
removed bootstrap parameter
irt.config.max-session-duration
; -
added 2 new parameters
irt.config.session-timeout.access-token.max-validity-period
andirt.config.session-timeout.access-token.max-inactivity-period
(go to Figaf Tool Application running section for more details).
-
-
[
Change Management
,DevOps
,Testing Tool
,CPI
,Api Management
] Added support for Cloud Foundry authentication flow without SSO. -
[
DevOps
] Added possibility to configure replacement strategy for transport configuration parameters on Landscape dialog. -
[
Audit
] Added audit logging of user deactivation (USER_MANAGEMENT
event type). -
[
Audit
] Added audit logging of user deletion (USER_MANAGEMENT
event type). -
[
Audit
] Added audit logging of user’s password update (USER_MANAGEMENT
event type). -
[
Audit
] Added audit logging of landscapes updates (DEV_OPS
event type). -
[
FIX
,Testing Tool
,PRO
] Fixed a bug forSAP Log module
andICO Logging
when polling didn’t work for scenarios with the 1 receiver interface and 1 receiver channel but with the message split and scenarios with the interfaces/receiver/message split without BI staging enabled. See Integration Object Details page to learn more about new options which should be configured. -
[
FIX
,Change Management
,Api Management
] Fixed a bug with synchronization when not all tracked objects were updated. -
[
FIX
,Change Management
,API Hub
] Fixed a bug when deleted APIs were synchronized with an error. -
[
FIX
,DevOps
] Fixed a bug when ticket report generation failed if url in external link was invalid. -
[
FIX
,DevOps
,Api Management
] Fixed a bug when Api Proxies with versions couldn’t be imported. -
[
FIX
,Support Tool
] Fixed a bug when tickets weren’t created from alert page.
Notes for upgrade from 2102 to 2103
Notes for upgrade from 2102 to 2103
-
It’s required to process forcible synchronization (option
Rebuild links for the latest versions forcibly
andCheck metadata of all existent objects
) for PRO agents from CTT page. -
It’s required to process forcible synchronization for Api Management agents. To do this you need to
Reset synchronization query
on the agent dialog and save it. Then synchronize the agent from CTT page. -
It’s required to process reinitialization operation on Agents page for CPI and Api Management agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually. Also, copy new parameters fromgradle-irt.properties
to yourgradle.properties
.
2102.5
2102.5
-
[
Change Management
,DevOps
,Testing Tool
,CPI
,Api Management
] Added support for Cloud Foundry authentication flow without SSO.
2102.4
2102.4
-
[
FIX
,DevOps
,Api Management
] Fixed a bug on cloud version when some Api Proxy endpoint information was lost after transport.
2102.3
2102.3
-
[
FIX
,Testing Tool
,PRO
] Fixed a bug forSAP Log module
andICO Logging
when polling didn’t work for scenarios with the 1 receiver interface and 1 receiver channel but with the message split and scenarios with the interfaces/receiver/message split without BI staging enabled. See Integration Object Details page to learn more about new options which should be configured. -
[
FIX
,Change Management
,Api Management
] Fixed a bug with synchronization when not all tracked objects were updated. -
[
FIX
,DevOps
,Api Management
] Fixed a bug on cloud version when error occurred during transport of encrypted KVM.
2102.2
2102.2
-
[
FIX
,UI
] Fixed a bug when transport page couldn’t be opened for transports without approval ifTransport creator can approve own transports
(property on Application configuration page) was disabled.
2102.1
2102.1
-
[
DevOps
] Added email notifications sent to ticket reviewers when all transports from the ticket are inWAITING_FOR_APPROVAL
status and email notifications sent to the ticket creator and assignee when all transports haveIN_PROGRESS
orDECLINED
statuses. -
[
DevOps
] Added a possibility not to allow transport creator to approve created transports. The feature is configured byTransport creator can approve own transports
option onApplication
page. If it’s enabled, then transports can be approved by all users in reviewers list. If it’s disabled, then transports can be approved by user if he is in reviewers list and he is not a transport creator. -
[
Change Management
,CPI
] Added a possibility to download and compare message mappings. -
[
Common
] Added the new bootstrap parameterirt.smtp.starttls.enable
(default valuefalse
), it must be set to true to get STARTTLS working. -
[
Audit
] Added audit logging of user logout (AUTHENTICATION
event type). -
[
Audit
] Added audit logging of unsuccessful user login (AUTHENTICATION
event type). -
[
Audit
] Added audit logging of roles update (USER_MANAGEMENT
event type). -
[
Audit
] Added audit logging of user creation (USER_MANAGEMENT
event type). -
[
FIX
,Testing Tool
,CPI
] Fixed a bug when message properties were compared incorrectly when iflow had message header and exchange property with the same lowercased name. -
[
FIX
,Testing Tool
,PRO
] Fixed a bug forSAP Log module
andICO Logging
when polling didn’t work for sender agreements without EDI splitter which had message or recipient split at the wildcard ICO side. -
[
FIX
,Common
] Fixed a bug when emails weren’t sent whenSMTP username
was configured as an email. -
[
FIX
,UI
] Fixed a bug whenActive user
checkbox wasn’t shown inEdit User
dialog box.
2102
2102
-
[
Testing Tool
,PRO
] Added an optionirt.testing.pro.delay-after-updating-special-testing-scenarios
to define timeout (in milliseconds) to wait after test case running if at least one special testing scenario was updated. -
[
Testing Tool
,CPI
] Allowed custom Accept, Accept-language, Accept-encoding headers during CPI message sending. -
[
Common
] Fixed a minor security vulnerability.
Notes for upgrade from 2101 to 2102
Notes for upgrade from 2101 to 2102
-
Previous configuration in Figaf Tool hasn’t been affected.
2101
2101
-
[
Common
] Added optional integration with SSO provider (only Open ID Connect protocol is supported). -
[
Change Management
,PRO
] Added a possibility to download and compare message mappings. -
[
Change Management
,DevOps
,API Mgmt
] Added support of Key Value Maps. Only KVMs with lifecycle information are synchronized. Only non encrypted KVMs are added to git repository. If KVM is encrypted, you will see only stub on UI on transport configuration page. If transport configuration for encrypted KVM has a blank value for some landscape items, then transport will have invalid status. -
[
Change Management
,API Hub
] Added a possibility to compare files in OpenAPI (Swagger specification v.3) format. -
[
DevOps
,API Mgmt
] Added a possibility to configure transport configuration for API proxies and Key Value Maps. -
[
DevOps
,CPI
] Added a possibility to transport only iflow configuration. -
[
Audit
] Added audit logging of successful user login (AUTHENTICATION
event type). -
[
Support Tool
] Improved Support Tool external integrations: -
[
FIX
,Testing Tool
,UI
] Fixed a bug when Recording Configuration dialog wasn’t opened from Recording Requests tab of Integration Object page. -
[
FIX
,Testing Tool
,UI
] Fixed a bug when payloads with the same names couldn’t be attached to loaders after rows deletion and recreation on the manual test case creation page.
Notes for upgrade from 2.15 to 2101
Notes for upgrade from 2.15 to 2101
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process reinitialization operation on Agents page for CPI and API Management agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually. Also, copy new parameters fromgradle-irt.properties
to yourgradle.properties
.
2.15.8
2.15.8
-
[
Testing Tool
,PRO
] Added an optionirt.testing.pro.disable-correlation-id-lookup
(possible values:false
- default,true
) to skip lookup by correlation id in the message monitoring client.
2.15.7
2.15.7
-
[
FIX
,DevOps
] Fixed a bug when selection of transport configuration by group id and revision limit failed on MSSQL Server.
2.15.6
2.15.6
-
[
DevOps
,CPI
] Added a possibility to configure transport configuration for particular released version of CPI IFlow. -
[
DevOps
,CPI
] Added a possibility to configure not approved/imported landscape items, transport configuration now becomes immutable only for the landscape item which has been approved. -
[
FIX
,DevOps
,CPI
] Fixed a bug when the latest state of CPI object was taken as a source during transport instead of specified version in transport. For example: let’s have a landscapedev → qa → prod
andIflow_x (v1)
has been transported toqa
. Then if user update object onqa
manually, further transport toprod
can use that updated version instead of the stateIflow_x (v1)
. Now Figaf Tool always take persisted specified version of the object. Also, we decided to block transport of the state X from system A to system B when the state X doesn’t exist anymore on system A. Use additional virtual landscape items to persist intermediate state if you want to update the state of object on system A quite often, for exampleA → A' → B
. -
[
FIX
,CPI
] Fixed a bug when object name of CPI object was shown as hash on License page and it wasn’t possible to modify (request additional license options) that object license item. It affected CPI objects which have different displayed and technical names. Process synchronization with the license server from License tab to migrate affected entries.
Notes for upgrade to 2.15.6
Notes for upgrade to 2.15.6
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process synchronization of license to migrate affected entries (see bug description in release notes).
2.15.5
2.15.5
-
[
Testing Tool
] Added a possibility to configure test parameters per test case on Shared configuration page. -
[
Testing Tool
,CPI
] Added two optionsRun steps selection strategy
andRun steps filter
to select steps which should be recorded/tested. -
[
Testing Tool
,CPI
] Added an optionUse only finishing run steps
to fetch the first and last message in a test case. -
[
Common
] Added new user roleIRTLicenseRequester
to request new licenses for the objects. -
[
FIX
] Fixed a bug when users with rolesIRTDevOpsOperator
andIRTDevOpsConfigurator
couldn’t update their own passwords.
Notes for upgrade to 2.15.5
Notes for upgrade to 2.15.5
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process forcible synchronization (option
Synchronize objects forcibly
) for CPI agents from CTT page.
2.15.4
2.15.4
-
[
FIX
,DevOps
,CPI
,API Mgmt
] Fixed a bug with landscape items validation when virtual items were defined manually.
2.15.3
2.15.3
-
[
Change Management
,API Hub
] Added API_HUB agent platform. This agent synchronizes and tracks changes in APIs added to the favourites list of connected account. See configuration here. -
[
Support Tool
,CPI
] AddedCancelled
status support to Message Monitor. -
[
Testing Tool
,CPI
] Added support for all HTTP methods in HTTPS Adapter during testing. -
[
DevOps
,CPI
,API Mgmt
] Added a possibility to define virtual landscape items manually. -
[
Testing Tool
,CPI
] Added recording of non-successful messages. -
[
Testing Tool
,CPI
] Added a possibility to record MPL attachments. -
[
FIX
] Fixed a bug where Figaf Tool didn’t use proxy settings for CPI and API Mgmt.
2.15.2
2.15.2
-
[
Common
] Added automatic determination of timezone for PRO agents. -
[
CPI
,Git integration
] Added support of value mapping upload, download, and deploy to cpi-plugin. -
[
CTT
,CPI
] Added a flagSynchronize objects forcibly
to CPI synchronization request. -
[
Testing Tool
,PRO
] Added a possibility to define list of channels where modules should be added. -
[
Testing Tool
] Added possibility to view polling statistics when there is polling in progress. -
[
Change Management
,Git integration
,CPI
,API Mgmt
] Added optionUpdate .gitignore automatically
. -
[
FIX
,CTT
] Fixed a bug where optionsSynchronize objects forcibly
andRebuild links for the latest versions forcibly
didn’t delete incorrect links (only added missed ones). -
[
FIX
,DevOps
, 'CPI`] Fixed a bug where transport configuration wasn’t cached after transport approval. -
[
FIX
,Change Management
,Git integration
,CPI
,API Mgmt
] Fixed a bug where build.gradle and settings.gradle were not committed with the enabled corresponding checkboxes.
Notes for upgrade to 2.15.2
Notes for upgrade to 2.15.2
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process reinitialization operation on Agents page for CPI agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually.Figaf Tool 2.15.2 uses cpi-plugin 2.0.RELEASE with support of value mapping upload, download, and deploy. IFlow tasks were renamed to
uploadArtifact
,downloadArtifact
,deployArtifact
. The same tasks are used for Value Mappings. FoldersVM_<valueMappingName>
, created by Figaf Tool previously, aren’t used anymore and should be deleted.
2.15.1
2.15.1
-
[
FIX
,CPI
,Git integration
] Fixed a bug where dependencies from thecommon
module were not visible from IFlow module. -
[
Common
] Increased the range of exceptions where manual license request is available.
2.15
2.15
-
[
Change Management
,DevOps
,Testing Tool
,CPI
,Api Management
] Added support of Cloud Foundry environment. -
[
Testing Tool
,CPI
] Added automated polling of CPI IFlow after message sending. -
[
Testing Tool
] Added support and comparison of TRADACOMS messages. -
[
DevOps
] Added new public API to fetch information about the ticket and process transport. -
[
Change Management
,UI
] Added visual viewer of Iflow BPMN model differences.
Notes for upgrade from 2.14 to 2.15
Notes for upgrade from 2.14 to 2.15
-
Previous configuration in Figaf Tool hasn’t been affected.
-
It’s required to process reinitialization operation on Agents page for CPI and API Management agents with configured Git integration. Then, if automatic update of
build.gradle
,settings.gradle
is not configured, copy the content of updated templatesbuild-irt.gradle
andsettings-irt.gradle
to these files manually. Also, copy new parameters fromgradle-irt.properties
to yourgradle.properties
.
2.14.1
2.14.1
-
[
Testing Tool
,CPI
] Added a possibility to keep integration flow in trace mode. -
[
DevOps
,PRO
] Added support of import transports with objects which don’t exist in Figaf Tool. -
[
Change Management
] Added a possibility to view object payload without download. -
[
Testing Tool
] Added an option to avoid recalculation of order number for 1→1 relation. -
[
Testing Tool
] Added an option to configure identification of collection items for XML messages. -
[
DevOps
,PRO
] Extended CTS+ transports support:-
CTS+ transport with all its children is saved into one group.
-
CTS+ transport with all its children can be sent to approval, approved, and declined in batch mode.
-
-
[
Support Tool
] Added skipping of alerts if it’s not possible to determine active rule. -
[
FIX
,Testing Tool
] Fixed test case extraction for test runs with aggregation. -
[
FIX
,Testing Tool
] Fixed a bug when rerun test cases ran test case only on one test system. -
[
FIX
,Change Management
,CPI
] Fixed parsing of IFlow BPMN model with the wrong position ofdocumentation
element.
2.14
2.14
-
[
DevOps
,Change Management
,PRO
] Extended support of File and CTS+ transports in the Figaf Tool DevOps functionality:-
Added change tracking for File and CTS+ transports.
-
Integrated usage of PRO transport objects in the ticket
-
-
[
Change Management
,CPI
] Added possibility to use iflow as a configurable template to create many iflows. See new functionality for distribution configuration to learn more. -
[
Change Management
,CPI
] Added possibility to restore last iflow version of deleted iflow. -
[
Testing Tool
] Added possibility to externalize comparison configuration and share it between different scenarios using message+partner+integration object identification. See overview of comparison configuration page to learn more. -
[
Testing Tool
] Optimization of test run/test suite run report generation:-
New optional report generation strategy replaces Excel report by bundled CSV report which contain 3 files: processed messages report, diff report and test runs metadata report. Enable an option
Use bundled CSV report generation strategy
on the Application config page. That option will have effect only for new test suite runs or separate test runs. -
Test run report generation won’t be triggered if at least one of the testing result is scheduled or currently in progress with comparison.
-
Test suite run report generation won’t be triggered if at least one related test run currently is not completed in the active polling or if at least one related test run scheduled or currently in progress with the report generation.
-
-
[
Testing Tool
] Added an option for test runs/test suite runs for re-comparison of testing results in the context of the same test run. It’s possible to skip comparison of all SUCCESS entries or all compared entries. -
[
Testing Tool
] Added a possibility to extract message groups related to chosen results/test runs as new test case(s) from the test run/test suite run pages. Optionally it’s possible to link new test case(s) with the new/existent test suite. It provides a possibility to isolate problematic messages and test them separately without processing of the whole original test case/test suite all time. -
[
Testing Tool
] Added statistics of scheduled/active messages sending/comparisons/report generations for test runs. -
[
Testing Tool
] Added CSV export of Testing tool data with the applied filter for Test Cases, Test Runs, Test Run Results, Test Suites, Test Suite runs. -
[
Testing Tool
] Added support of ignoring options for XML comparison. -
[
Testing Tool
] Added pagination for Test Cases and Test Runs on UI. -
[
Testing Tool
] Updatedrerun
function in the test suite run. Now it’s possible to select and rerun many test runs at once. -
[
Testing Tool
] Added possibility to resendNOT_SENT
messages from test run/test suite run pages. -
[
FIX
,DevOps
,Git Integration
] Deleted package/object now are also deleted fromsettings-irt.gradle
orsettings.gradle
.
Notes for upgrade from 2.13 to 2.14
Notes for upgrade from 2.13 to 2.14
-
Previous configuration hasn’t been affected.
-
To use restoring of last iflow versions already registered in CTT before upgrade, enable forcible synchronization for related CPI Agent using a function
Reset synchronization query
on Agent dialog and then process full synchronization (or select required packages). It will download and save iflow bundles in Figaf Tool (that data wasn’t persisted in CTT before 2.14). -
Build has data migrations for big Figaf Tool tables. Depending on amount of test run results and test runs in the system, the first bootstrap will take some time. For example, we had a case with 15 min bootstrap time on the instance with 1.5 million testing results.
-
Critical changes were made in the DevOps and Testing Tool related tables in the database schema. Data migrations are configured to be automatically executed during the first bootstrap.
2.13.8
2.13.8
-
[
Change Management
,Git integration
,CPI
] Added 2 options on Agent to updatebuild.gradle
and/orsettings.gradle
automatically during synchronization. -
[
FIX
,Testing Tool
,PRO
] Fixed cancellation of EOIO messages. Also added support for cases when sender channel has quality of service EO but outbound message is EOIO. -
[
FIX
,Testing Tool
,Change Management
,DevOps
,Monitoring
] Refactored usage of detached transactions in the whole app. They could cause a deadlock in concurrently processed operations when Figaf Tool uses SQL server database.
2.13.7
2.13.7
-
[
FIX
,Testing Tool
,CPI
] Fixed testing (both standard and with mock data) of integration flow with the local subprocess.
2.13.6
2.13.6
-
[
Testing Tool
,CPI
] Added initial support of iflows with the multiple sender endpoints. -
[
Testing Tool
]Check Testing Results
option on Test Run and Test Suite Run now triggers comparison of received results. That also leads to regeneration of test run/test suite run report. -
[
Testing Tool
] Added an option for calculation of alphanumeric order number (by default it extracts digits from the source string). -
[
Testing Tool
] Added an option for recalculation of the order number during manual test case upload. -
[
DevOps
] Test Cases lookup from the Ticket now also works for non-integration object entries attached to the ticket. -
[
FIX
,Monitoring
] Fixed a bug when one alert could be handled multiple times due to overlapped scheduled polling. -
[
FIX
,Testing Tool
,CPI
] Fixed CPI test object determination in theRun On
operation (affected in 2.13.5). -
[
FIX
,Testing Tool
,Monitoring
,CPI
] Fixed a bug when it wasn’t possible to register CPI IFlow integration object with the version label greater than 10 characters (also affected alerts handling for such iflows).
2.13.5
2.13.5
-
[
Testing Tool
] Consolidated report generation from selected Test Suite Runs. The function is available on the Test Suite Runs page. -
[
Testing Tool
] Test cases migration from PI scenario to CPI iflow. See more details here. -
[
Testing Tool
,UI
] Separate page for Test Suite Run. Navigation is available from Test Suite Runs page, Test Suite page (Results History tab), Test Run Details page -
[
Testing Tool
,PRO
] Added an option on Test Run Result item to browse related messages from PI Message Monitoring. Available on Test Run Details page. -
[
Testing Tool
,PRO
] Added an internal job for checking JMS connection (if JMS integration is enabled and Agent is not virtual) and refreshing JMS context when connection is broken. That job is executed each 5 min by default. -
[
FIX
,Testing Tool
,PRO
] Fixed a bug when messages received through JMS due to PI redelivery were not filtered. -
[
FIX
,Testing Tool
] Fixed X12 message determination for some combinations of segment and element separators. -
[
FIX
,Testing Tool
] Fixed EDIFACT/X12 segment comparison for cases when one document has empty segment likePCI'
and another document has segment with empty data element likePCI+'
.
2.13.4
2.13.4
-
[
Common
,UI
] Added possibility to configure mapping between SAP username to Figaf Tool username on User Details dialog to show Figaf Tool username in theCreated By
,Changed By
andDeployed By
columns of CTT and Integration object tables. -
[
FIX
,CPI
,UI
] Fixed IFlow deployment status on Integration objects page.
2.13.3
2.13.3
-
[
Change Management
,CPI
] Added an option to synchronize only objects from selected packages. -
[
FIX
,Operations
,Monitoring
,CPI
] Fixed the max length of condition parameter. -
[
FIX
,Operations
,Monitoring
] Fixed usage ofemailTo
parameter from application settings instead of email integration entry during alert notification.
2.13.2
2.13.2
If you have CPI landscapes created in 2.13 and older versions, since 2.13.2 it’s possible to use them again. Just open landscape and reconfigure approval and deployment settings. Notice that unfinished transports must be deleted or cancelled.
-
[
DevOps
] Added possibility to update approval and deployment settings in the existent landscape. -
[
DevOps
] Added and configured new user roles for DevOps operations. -
[
UI
] Landscapes configuration is moved toConfiguration
section. -
[
Change Management
,Git integration
,CPI
] Added configuration of additional Gradle modules layer for packages. As a result, now it’s possible to perform CPI/IRT plugin tasks at the package level.
Remove the file settings-irt.gradle
in the branch, configured in Figaf Tool, or remove all iflow module definitions from it. It must be done because new modules have different naming. Folder structure is not changed.
-
[
FIX
,DevOps
,Change Management
,CPI
] Fixed a bug when unprocessed tracked objects were marked as deleted unexpectedly after transport. -
[
FIX
,DevOps
,CPI
] Fixed deployment of value mapping after transport. -
[
FIX
,Testing Tool
,PRO
] Fixed recording request creation for dualstack systems (affected in 2.13.1).
2.13.1
2.13.1
-
[
DevOps
,CPI
] Changed the behavior of transport flow for CPI objects. Previously, during each import it always took the state of an object from the first system in the landscape. Now it takes the state of the previously transported object. So, having the landscapeDEV → QA → PROD
, import fromQA
toPROD
will take an object state fromQA
instead of theDEV
. Transport configuration will be applied as usual. -
[
DevOps
,CPI
] Review is configurable now for each landscape item separately instead of the global config. -
[
DevOps
,CPI
] Only transport reviewers are able to process import on the target system. It has an effect only when the review is configured. -
[
DevOps
,CPI
] Added an option on landscape item to deploy artifacts after transport. By default deployment is disabled. -
[
FIX
,DevOps
,CPI
] Fixed a bug when it wasn’t possible to process import if transport contains object versions which already exist on target system. Now transport of these objects is skipped, after that transport items are linked with already existent versions in CTT.
2.13
2.13
-
[
Common
,UI
] Now it’s easier to get started with tool. Both login with the default user, guides to get started with adding license and agents. Updated tours to see the tool in action. -
[
Testing Tool
] Improved EDIFACT comparison and ignoring of specific segments/fields. -
[
Testing Tool
,PRO
] Added a possibility to test aggregation scenarios. For now only integration through SAP Log Module is available. Test cases must be loaded manually. -
[
Testing Tool
] Added an option on Agent to control a max amount of test messages to be sent to Agent system per defined interval (configured as cron expression). -
[
Testing Tool
,PRO
] Added an option to test on decentral adapter engine. -
[
Testing Tool
,PRO
] Added a possibility to test BE scenarios with mock data on PRO systems. -
[
Testing Tool
,PRO
] Support of sender agreements with EDI separator and fix of testing with sender modules in case of EDI separator flow. -
[
Change Management
,CPI
] Added change tracking for packages, value mappings and documents. -
[
DevOps
,CPI
] Added transport of packages and value mappings. -
[
Monitoring
,CPI
] Added monitoring of persisted messages in theMessage Monitor
-
[
Change Management
,Git integration
,CPI
,API Mgmt
] Added an option on Agent to prevent commits of iflow/api proxy changes during synchronization in Figaf Tool to avoid duplication of changes committed by user and Figaf Tool.
Notes for upgrade from 2.12 to 2.13
Notes for upgrade from 2.12 to 2.13
-
Previous configuration hasn’t been affected.
-
Critical changes were made in the CPI related tables in the database schema. Old table for integration packages are no longer used and will be deleted automatically once data migration is finished.
2.12.2
2.12.2
-
[
Testing Tool
,CPI
] Implemented recording and testing of integration flows on CPI system with confidential data. -
[
Common
] Default timezone is switched to GMT in the license validation. -
[
FIX
,Testing Tool
,PRO
] Fixed a bug with encoding of special characters in recorded payloads whenSAP Log Module
integration is used. -
[
FIX
,Testing Tool
,PRO
] Fixed a bug when it wasn’t possible to parse XI message during recording usingSAP Log Module
integration if that XI message didn’t have a default payload attachment name equal toMainDocument
.
2.12.1
2.12.1
-
[
FIX
,Testing Tool
,PRO
] Fixed a bug when it wasn’t possible to find messages on dualstack system for plain scenarios with only one message entry.
2.12
2.12
-
[
Testing Tool
,PRO
] Implemented recording of Receiver Determination objects (dualstack). See that section to learn more. -
[
Testing Tool
,PRO
] Implemented recording and testing of asynchronous scenarios (plain EO/EOIO) on PRO system with confidential data. See that section to learn more. -
[
DevOps
,PRO
] Implemented transport of Sender/Receiver agreement. -
[
Change Management
,Agent Synchronization
,PRO
] Added change tracking of receiver determination and interface determination objects (dualstack). -
[
Change Management
,Agent Synchronization
,PRO
] Improved synchronization algorithm to handle large data set from SimpleQuery. -
[
Change Management
,Agent Synchronization
,PRO
] Synchronization of external messages and operations is processed during the synchronization of external definitions and service interfaces. It speeds up the process, because external messages and operations are inner objects. -
[
Common
] Added configuration to support Java 11 runtime. See that section to learn more. -
[
UI
] UI5 libraries now are embedded within the Web application (as dependencies), now there is no requirement for having access to cloud distribution of OpenUI5.
Notes for upgrade from 2.11 to 2.12
Notes for upgrade from 2.11 to 2.12
-
Previous configuration hasn’t been affected.
-
No critical changes were made in the database schema.
2.11.6
2.11.6
2.11.6 has a data migration for external message/operation CTT objects, it can take some time depending on count of PRO agents and total count of external message/operation objects which were previously synchronized
. [CTT , PRO ] Optimization for synchronization and data storage: payloads of external messages and operation objects now are not loaded from PI system during synchronization, because they are identical to payloads of related external definition/service interface objects.
. [CTT , CPI ] Added runtime generation of simplified IFlow model, also added possibility to compare simplified models instead of standard BPMN models. It gives better way to see, what has been changed in the IFlow structure.
. [FIX , Testing ] Fixed a bug when test suites were not run by scheduler if at least one object in any test suite is not licensed for testing.
. Many minor fixes and improvements
|
2.11.5
2.11.5
-
[
CTT
] Added a new option on PRO Agent for synchronizing SAP ESR objects on demand. Use it if SimpleQuery can’t load metadata for all objects of any ESR type (in most casesData Type
) or if you don’t want to synchronize such objects at all. -
[
DevOps
] Information about last ticket run is added on the ticket page (seeLast Testing Result
tab) -
Some minor fixes and improvements
2.11.4
2.11.4
-
[
Common
] Added alternative way for requesting object licenses when Java doesn’t have access to network. It’s enough to have access to https://app.figaf.com/irt-lic/#/ in the browser. You just need to copy provided request in Figaf Tool and use it on license server UI. -
Some minor fixes and improvements on UI.
2.11.3
2.11.3
-
[
Common
] Improved UI for requesting object licenses. -
[
FIX
,DevOps
] Fixed a bug when some ESR objects on target system were not linked with the ticket after transport (transport finished successfully). -
[
FIX
,Security
] Email check during authorization now is case insensitive.
2.11.2
2.11.2
-
[
FIX
,UI
] Fixed a bug when landscapes were not loaded on theCreate ticket
dialog on the tickets page.
2.11.1
2.11.1
-
[
Common
] Added possibility to request missing object licenses from license error dialog. -
[
FIX
,DevOps
] Fixed a bug when transports created for several tickets at the same time were not linked with each other -
[
FIX
,DevOps
,PRO
] Fixed a bug when all business component’s channels were attached to the ticket during dependent objects attachment. As a result, ticket has too many attached channels instead of used by chosen scenario. Now it doesn’t take channels for components/systems or components/systems for parties during dependent object lookup. -
Some minor fixes and improvements on UI.
2.11
2.11
-
[
DevOps
] New development and transport workflow. See that section to learn more. -
[
DevOps
] New migration workflow which simplifies e2e migration between 2 landscapes. Write to[email protected]
to get a demo or support with configuration. -
[
Common
] Licensing model has been changed to fit requirements of the new functionality. If you already have an Figaf Tool with old license, see notes for upgrade to 2.11 below.
Notes for upgrade from 2.10 to 2.11
Notes for upgrade from 2.10 to 2.11
-
Transport configuration has completely new model in 2.11 and it’s not possible to migrate old data, so, existing entries will be deleted.
-
Critical changes were made in the tables related to DevOps functionality, the Testing Tool and Monitoring hasn’t been affected, small changes were made in CTT tables.
-
Old installed license will no longer be used by the app, contact
[email protected]
to migrate your existent license to the new format.
2.10.6
2.10.6
-
[
Testing Tool
,UI
] New genericTest Suite Runs
page underTesting Tool
section. -
[
FIX
] Fixed alerts cleaner task. -
[
FIX
,PRO
] Fixed a bug where communication channel update failed due to wrongly decoded characters.
2.10.5
2.10.5
-
[
FIX
,CPI
] Fixed propagation of original vendor and description during transport of integration flow. -
[
FIX
,CPI
] Fixed determination of start event during test object creation. If integration flow had a local subprocess or exception subprocess, test object wasn’t not created properly. Current limitation - integration flows with several sender endpoints won’t be tested correctly, support of current case is scheduled for future releases. -
[
FIX
,CPI
] Fixed a bug related to generated common testing classes for groovy scripts unit testing, where common tests failed when script doesn’t usemessageLogFactory
(addedlenient = true
to the mock).
2.10.4
2.10.4
-
[
FIX
,PRO
] Fixed a behavior of optionDon’t send message after testing
for BE scenarios. Now Agent Component throws an exception after 2nd stage (After Mapping) and Testing Result for 4th stage (After Result Mapping) is not registered in the test run at all, so, it won’t be compared.
2.10.3
2.10.3
-
[
FIX
] Fixed missing default value forrun_with_mock_data
field for existent Test Suites (reproduced on MS SQL Server). Affected in2.9
.
2.10.2
2.10.2
-
[
DevOps
,Testing Tool
,CPI
] AddedmessageLogFactory
andmessageLog
mock objects tocommon
module for unit testing of groovy scripts. -
[
Testing Tool
,PRO
] Added support for Sender and Receiver agreements (Java stack) in the manual test case creation. -
[
Testing Tool
,UI
] New genericTest Cases
page underTesting Tool
section. -
[
FIX
,Testing Tool
,PRO
] Fixed selectors for manual test case creation through archive upload. Now it’s possible to assign all needed interfaces and components. -
[
FIX
,Change Management
,Agent Synchronization
,PRO
] Fixed wrong link to business component when channel has a*
in the name. -
[
FIX
,Change Management
,Agent Synchronization
,PRO
] Fixed missing link to business systems for communication channels.
2.10.1
2.10.1
-
[
DevOps
,Testing Tool
,CPI
] Added a function for generating test data and unit tests for groovy scripts, defined in the integration flow. You can learn more here. -
[
Operations
,Monitoring
] Added aTest
function for rule external integrations (email and https). -
[
Operations
,Monitoring
,UI
] Improved Rules and Alerts UI. -
[
Testing Tool
,PRO
] Added possibility to create test case manually using only UI form (it’s an alternative approach). -
[
Testing Tool
,CPI
] Added possibility to run test cases and test suites on virtual landscape systems. -
[
FIX
] Fixed a bug when only default support rule was linked with new alerts (affected in 2.10). -
[
FIX
,Testing Tool
] Fixed a bug where Test Suite excel reports were not sent to specified email correctly.
2.10
2.10
-
[
Change Management
] Git integration for CPI and Api Management Agents. See that section to learn more. -
[
Operations
,Monitoring
] Possibility to send alert attachments through email or webhooks integration. -
[
Testing Tool
] Possibility to mark Agent system as a Production system. It prevents testing on chosen Agent system.
Notes for upgrade from 2.9 to 2.10
Notes for upgrade from 2.9 to 2.10
-
Previous configuration hasn’t been affected.
-
No critical changes were made in the database schema.
2.9.1
2.9.1
-
[
FIX
,Operations
,Transport
] Fixed a bug when post synchronization failed if only ESR objects are transported. -
[
FIX
,Testing
] Fixed a bug when test suites couldn’t be run by a scheduled job.
2.9
2.9
-
[
Change Management
] Added implementation of CPI shared resources (scripts, mappings, schemas, archives). There are many places where it makes sense to have scripts that are being used in multiple iflows. But if you want to make a change to the script you will end up with separate versions. It can be a pain to maintain it and also test it. We have added an option to take a script and turn it into a shared resource. You can then add this shared script to your iflows. If you make a modification to it the new version can easily be applied to all iflows where it is used. It will also allow you to test the change in all your iflows. You can learn more about new feature here. -
[
Testing
] Added possibility to test CPI iflows with mock data. Over the last year, we have improved the way we make it possible to test your CPI iflows. Now we have added a new option to test with a mock service hosted by the Figaf Tool application. Figaf Tool will then make a copy of the iflow you want to test. All Request Reply connections will be replaced with a call to the Figaf Tool mock data service that will respond with what needed changes in headers and payload. It means that it will be a lot easier to run a test for scripts or configurations that have been changed. If you own to use Figaf Tool hosted on your own environment you will need to specify cloud connector information to access Figaf Tool. Learn more here. -
[
Operations
,Transport
] Added a warning if a secure resource like password or certificate is are not available on the target instance. In Figaf Tool you can configure which password/certificate properties you want across the landscape. So when you transport across the landscape you will see if the values are there. -
[
Operations
,Transport
,Testing
] Added improvement to the virtual SAP CPI landscape, so you can run Dev and QA on the same system. That way you can save a CPI system. Figaf now supports the Process Direct adapter in virtual environment, so you also will be able to test that functionality. -
[
UI
] Testing Templates have been renamed to Testing Suites, because it is a more standard name for grouping a set of test cases.
Notes for upgrade to 2.9
Notes for upgrade to 2.9
-
Previous configuration hasn’t been affected.
-
No critical changes were made in the database schema.
2.8.2
2.8.2
-
[
FIX
,Testing
] Fixed a bug when test case report generation was processing infinitely if any test run result doesn’t have a link to inbound message. Current state in general is unexpected.
2.8.1
2.8.1
-
[
FIX
,Common
] Fixed a bug when it wasn’t possible to delete CPI Agent if at least one metric has been registered by SAP System Monitoring. -
[
FIX
,Transport
] Fixed a bug when it wasn’t possible to define P4 host for PRO Agent ifAgent Component
integration type is not used.
2.8
2.8
-
[
Operations
,Transport
] Added support for PRO transports (file and CTS), added possibility to configure channels during transport. You can learn more about new feature here. -
[
Change Management
] Added documentation of Figaf Tool tickets. This is an excel report which contains common ticket metadata, attached object versions, related integration objects, result of the latest ticket run and information about processed transports. -
[
Change Management
] Added documentation of CPI Integration Flows. -
[
Operations
,Monitoring
] Added alerting for CPI Tenants status monitoring events. -
[
Operations
,Monitoring
] Added possibility to mute identical alerts for defined period of time. -
[
Operations
,Monitoring
] Added a scheduled task for alerts deletion. User can configure it on Application Configuration page. By default, alerts are stored for 90 days. -
[
UI
] Home page has been changed. Now in addition to the menu tiles it contains a list of configured landscapes with most used links per each Agent system in the landscape. You can find more information here.
Notes for upgrade from 2.7 to 2.8
Notes for upgrade from 2.7 to 2.8
-
Timezone parameter
has been added to PRO agents. New transport functionality requires this parameter for correct object version identification. SimpleQuery API doesn’t have information about timezone in the response, all dates are sent in local datetime format. It’s strongly recommended to configure that new parameter properly even if transport functionality in the Figaf Tool won’t be used for a while or when your Agent system is hosted in the same timezone as Figaf Tool. The new parameter has default settings:GMT
timezone. Configuration oftimezone parameter
should also be done inGMT
format:GMT+2
,GMT-5
, etc. Agent timezone can be found on NetWeaver Administrator page (/nwa
). -
Critical changes were made in the previously released features:
-
Metrics (affected database schema and model in CPI Tenants status monitoring, irt-2.7).
-
Transport configuration (affected database schema and model in CPI IFlow transports, irt-2.6).
-
2.7.2
2.7.2
-
[
FIX
,Testing
] Fixed null pointer exception during checking of MigrationHelper scenario (PRO, affected in 2.7.1) -
[
FIX
,Change Management
] Fixed missing updates during PRO synchronization due to wrong time zones used in SimpleQuery. Correct Agent system timezone must be configured manually on Agent dialog. Default value isGMT
.
2.7.1
2.7.1
-
[
FIX
,Testing
] Link to folder now is not lost after channel update
2.7
2.7
-
[
Change Management
,Operations
,Transport
,Monitoring
] Added support of API Management agents, added change management, monitoring and transport for API Proxies with their related resources (policies, endpoints, etc.). You can learn more about API Proxy change management and transport here, about monitoring of API Proxies - here. -
[
Operations
,Monitoring
] CPI Tenants status monitoring. It includes several metrics such as CPU/Memory usage, iflow latency, processed messages. You can learn more about that new feature here. -
[
Operations
,Monitoring
] Runtime Message Monitor for CPI Agents, in addition to the possibility to define flexible filters, it allows you to configure role-based access to these filters and decide which Figaf Tool user can access to exact filter and what kind of access: browsing messages metadata only or with attachments as well. You can learn more about it here. -
[
Operations
,Monitoring
] New alerting engine in Figaf Tool. We improved its performance and throughput, made alert metadata structured, improved determination of Tracked Objects and Integration Objects (depending on alert type and system type). Since an alert is a temporary entity and doesn’t require long storage, we decided to clear them all during automated database migration because it’s not possible to correctly migrate old alerts (and actually, it doesn’t make sense). In the future releases we are going to improve post processing actions for alerts and provide a flexible strategies for notification and reprocessing (when it’s actual). -
[
Change Management
] Test Cases coverage for PRO Agents. We improved operation mapping usage report and added additional information about actual test cases coverage and usage statistics for communication channels. You can learn more about new feature here. -
[
Testing
] Integration with new Process Integration Testing tool, provided by SAP in SP14. For now it’s possible to create PIT test case fromtesting template run
in Figaf Tool. You can learn more about it here. -
[
Testing
] Added native support for regression testing of IFlows with Process Direct sender for CPI Agents. It uses special infrastructure IFlow with HTTPS sender and Process Direct receiver instead of copying full source IFlow and replacing its sender side by HTTPS sender (old approach). For now that infrastructure IFlow should be configured manually.
2.6.2, 2.6.3, 2.6.4
2.6.2, 2.6.3, 2.6.4
-
[
Migration from Figaf Tool 1.4.*/1.5.*
] Improved migration functionality, fixed some bugs
2.6.1
2.6.1
-
[
FIX
,Security
] Custom roles check during authorization
2.6
2.6
-
[
Security
] Custom API-key authentication approach has been replaced by OAuth 2.0. -
[
Operations
,Transport
] Transport functionality for Integration Flows on CPI Agents. Possibility to define custom IFlow configuration which is applied during transport. -
[
Operations
,Monitoring
] Reprocessing of CPI alerts. You need to add our script to the IFlow at the specific places, that script saves needed header properties and the payload of the message. Then it is possible to reprocess an alert and resend failed message again to the origin endpoint. -
[
Operations
,Monitoring
] Improved performance of alerts handling. -
[
Operations
,Monitoring
] Possibility to trigger alerts lookup for chosen consumer manually. -
[
Change Management
] Possibility to build and download documentation of Integrated Configurations (PRO systems). -
[
FIX
,Change Management
] Restoring of previously deleted tracked objects. When some object is deleted on SAP system, it’s marked as deleted in Figaf Tool. Then if you create a new object with the same name again, it will be added as a new version in Figaf Tool after synchronization with a link to the previous version, so, the history of your changes won’t be lost.