We have 2 SAP instances, we have connections and listeners with both SAP system and both are enabled.
Today we went live with new instance. this new instance is also having same system id as existing SAP server.
When SAP system is trying to send an Idocs then transaction got Rollback with this error.
2018-02-05 21:01:07 EST [SAP.0110.0004I] Listener - Rollback 0A88289220EA5A790C630BBF
2018-02-05 21:01:07 EST [SAP.0110.0002I] Listener - Create 0A88289220EA5A790C630BBF
2018-02-05 21:01:07 EST [SAP.0104.0005W] Error in RFC Listener SAP_Adapter.Listeners:PASMT_ProdListener with status “ALIVE” and connection “102-.com|sapgw00|webm_pasmt”: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type “ORDERS05” with extension “ZORDERS5” is unavailable.
when we check with SAP team, Idoc structure is available is SAP system.
In the SAP admin page look up also one system ID is showing in the drop down, because both SAP instances are having system ids.
Is there any other way to differentiate both SAP system in webmethods, to receive the transactions from both SAP systems.
SAP Adapter uses the System ID for the Metadata Repository (DDIC-Cache).
Earlier versions of the Adapter (out-of-support meanwhile) had the Client-ID (Mandator) added to the system id.
The only way to workaround this is to use different IntegrationServers connecting to either one of these systems and have them talk over Broker or UM to each other if you need to transport data from one IS/SAP System to the other and vice versa.
SAP System ID needs to be unique per IntegrationServer/SAP Adapter otherwise metadata lookup errors will occur.
Please check in Brainstorm, there are already some feature requests related to this or similar issues.
Thank you Holger,
Can you please let me know, whenever we create new SAP connection and listener then System ID is populating in the lookup, any idea where it will store in the backend.
Because we have 2 servers which are in cluster and we configured new SAP connection and listener to connect another SAP instance after configuration only we came to know that both SAP systems are having System Id’s.
This weekend we had outage, so we restarted the IS then we are unable to lookup idoc structures of these SAP system. Might be New SAP system id has overwritten the old one.
Then we deleted one SAP connection and listener then restarted servers but with existing SAP system we are unable to lookup the SAP function modules and idocs.
Can you please advise, how to restore to previous session or delete this System id in the OS level or in some terracotta level, then we will maintain only one SAP instance to avoid the system id’s conflict.
as per my knowledge the system ids are not stored in the file system, but only in cache.
As long as the connection is active the system id is available in DDIC Cache (where the metadata is cached) and in Lookup (where you can test the lookup).
When the connection gets disabled the cache will be cleared and the system id will be no longer visible.
Please check the SAP Adapter Installation and Users Guide for Chapter 4 (Package Management) for the sub chapter dealing with “Using the Adapter in a Clustered Environment”.
Where there any error messages when your lookups failed?
Please provide them to this thread.
When two systems have the same system id (no matter of different hosts, gateways or mandators), they need to provide a super set of all structures your implementation will lookup on one of them and they both need to use the same user, password and SNC partner name for your RFC connections.
Thank you very much Holger… We will check further.