Transport Parameter key servername is set to connection DJACLNT200.
Service send_HRMD_A is configured in tab Adapter Settings.
When the listener dia_esb_general_901 receives the HRMD_A Idoc
from system DIACLNT901 it routes the Idoc to system DIACLNT901
and not to DJACLNT200 as configured.
Here the log:
2013-05-31 17:19:36.495 MESZ Listener - Create 0A96110724C151A8BF875926
2013-05-31 17:19:36.505 MESZ ALE:InboundProcess - Message sent to Routing Listener.
2013-05-31 17:19:36.514 MESZ Persisted message body to packages\WmSAP\txStore\06045889\A17C1B72\9121AF56.xml
2013-05-31 17:19:36.518 MESZ Notification - Routing - DIAMDT901.XSUB004.HRMD_A
2013-05-31 17:19:36.681 MESZ Adapter Service - IDoc sent to SAP system “DIACLNT901” with tid “0A96110724C151A8BF875926”.
2013-05-31 17:19:36.685 MESZ Notification - Service “pub.sap.transport.ALE:OutboundProcess” successfully executed.
2013-05-31 17:19:36.688 MESZ Listener - Commit 0A96110724C151A8BF875926
2013-05-31 17:19:36.743 MESZ Notification - Forward confirm event disabled.
2013-05-31 17:19:36.748 MESZ Listener - Confirm 0A96110724C151A8BF875926
I tried to disable all other notfications and listeners, but nothing helped.
Do you have any idea why this is not working and why IS means to route the idoc to system
DIACLNT901 and not to DJACLNT200 ?
Did you check the flow is using the right alias (connection that created via SAP Adapter page) going to the exact host/client associated? Unless there is some thing setup or service issues it can’t go to wrong SAP system.
yes flow seems to be right. I only created a Routing Notification.
Aliases are set correctly in SAP connections.
I don’t know how to get the error, why ESB “thinks” to route it
to connection DIACLNT901 instead of configured connection
“DJACLNT200” in Routing Notification.
Versions:
IS :
webMethods Integration Server
Version 8.2.2.0
Updates IS_8.2_SP2_Core_Fix8
TNS_8.2_SP2_Fix14
Build Number 228
SSL Strong (128-bit)
SAP :
7.1.0.8.822
Updates SAP_7.1_Fix8
JCA Spec Version 1.0
Vendor Name Software AG
OS Version 6.1
Current User SYSTEM
Working Directory D:\SoftwareAG\webMethods82\IntegrationServer
JCo Version 3.0.9 (2012-07-19)
JCo Middleware JavaRfc
JCo Middleware Version 2.2.8
JCo Native Library Version 720.310
JCo Native Library Location D:\SoftwareAG\webMethods82\IntegrationServer\lib\sapjco3.dll
IDoc Library Version 3.0.8 (2012-10-12)
Hi Sebastian,
Integration server has the capability of overriding the default connection name associated with the server during run-time. $connectionName parameter is being used for this. If $connectionName parameter is set in the pipeline “knowingly/unknowingly” to a different alias, the IDoc will be sent to the system that points to $connectionName and not the one from what you see in tab adapter settings.
Yes, you got to check in the flow service where you invoke built in service to send IDoc. serverName is the input parameter when you invoke pub.sap.client:sendIDoc service. This would carry the connection alias name. Though there is no explicitly $connectionName appearing as one input parameter, still can you check if this variable is being passed?
Hi Sebastian,
I am not sure which associated service you are talking about. If you are pointing to pub.sab.client:sendIDoc service, this is a public service with inputs and outputs defined.
As you said, its about sending Idoc to different SAP system, I assumed you are using the above service. If not, what service is being used to send Idoc to sap?
Why are you using Routing notification any reason?
Instead you can directly use pub.sab.client:sendIDoc that can send IDOC to SAP
steps will be:
pub.sap.idoc:recordToIDoc (map the IDATA of the IDOC structure to the boundNode)
pub.sap.client:createTID (pass serverName ie Alias name on the SAP Adapter connection)
pub.sap.client:sendIDoc (pass serverName ie Alias name on the SAP Adapter connection)
pub.sap.client:confirmTID(pass serverName ie Alias name on the SAP Adapter connection)
i want to implement an ALE scenario. HRMD_A07 should be sent from HCM SAP System
to Logistic SAP System. Within the service a mapping should be done.
So for routing the message it is less effort to use a routing notification, since i can use
the predefined SAP connections.
Sender system is an Unicode system, ECC 6.0 EhP 6, actual Kernel based on SUSE SLES 64bit.
Main issue is that the routing notification ignores the configured destination SAP Connection
and uses always DIACLNT901. I can see the same issue on a VM in which i installed IS and
SAP Adapter 7.1 with Fix 8.
So i’m not quite sure whether this is an JCo 3.0.9 / Idoc Class Library 3.0.8 problem in handling
connections or if the cause is located in the sender system.
I don’t know how to get to the (root) cause of this problem ?
OK…For this you need to contact who ever did the wM IDOC mapping and they can modify the map to this DATA segement and I don’t see any issue for this before pushing the IDOC to SAP.
problem is the mapping within the service associated with the routing notfication.
I use the service pub.sap.idoc:idocToDocument. In the following MAP step i
map the SNDPOR field to another value. This is only for testing the mapping.
But the mapping is not performed, and the idoc goes to the destination system
with its original values.