The SAP Agent fails to start and throws an error in the agent log during initialization.
When attempting to start the agent, the following error is logged:
U02004172 Error while calling function module 'RFC_SYSTEM_INFO'. Initialization of repository destination XXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX failed: SNC required for this connection
Workaround Behavior: The issue does not occur if the SAP profile parameter snc/accept_insecure_rfc is set to 1.
Standard Behavior: When Secure Network Connection (SNC) is active (snc/enable = 1) and snc/accept_insecure_rfc is set to 0 (Default), the SAP system automatically rejects all conventional, unencrypted external RFC connections without an active SNC wrapper.
Client Limitation: The SAP Java Connector (JCo) used by the SAP Agent does not have a mapping parameter to toggle or influence snc/accept_insecure_rfc directly. Instead, it relies on standard jco.client.snc_* configurations.
| JCo Parameter | Description |
jco.client.snc_mode | SNC mode; 1: on, 0: off (default) |
jco.client.snc_partnername | SNC name of the target SAP application server (e.g., p:CN=SID, O=ACompany, C=DE) |
jco.client.snc_qop | SNC quality of protection (Valid values: 1, 2, 3, 8 [default], 9) |
jco.client.snc_myname | Own SNC name of the caller (optional). Overrides the default SNC name. |
jco.client.snc_lib | Full path to the security library providing the SNC service. |
jco.client.snc_sso | Turn on/off Single Sign-On mechanism for SNC (1 = yes [default], 0 = use user/password). |
SAP Agent: Version 24.x or higher
SAP System: SAP ABAP with SNC enabled
Misconfigured or conflicting entries exist in the SAP Access Control List (ACL) via transaction SNC0 (table VSNCSYSACL). This prevents the SAP Client (the SAP Agent) from establishing a secure connection properly, causing the gateway to reject it.
Coordinate with your SAP ABAP Administrator to review and resolve the ACL configuration using transaction SNC0 based on the two common scenarios below.
In transaction SNC0, every ACL entry must be assigned a specific Entry Type:
Type I (Internal): Reserved for ABAP-to-ABAP communication between internal SAP systems.
Type E (External): Reserved for external RFC/CPIC programs (such as Java applications connecting via JCo).
Root Cause: An administrator likely created an entry in SNC0 for the connecting identifier (matching the XXX system prefix seen in the log) but mistakenly classified it as Type I (Internal SAP System) instead of Type E (External RFC). Because it was flagged as internal, the SAP gateway expected kernel-level SAP-to-SAP trust mechanisms. Since the Automic Agent connects via Java JCo, its security tokens did not match, causing SAP to interpret the failure as a lack of valid SNC protection.
Resolution: Delete the incorrect entry in SNC0. Deleting this entry forces the SAP gateway to stop applying incorrect internal system-matching rules. The gateway will instead evaluate the agent purely as a standard external program, allowing the SNC handshake to succeed normally under global security rules.
Transaction SNC0 binds a specific System ID to an explicit, canonical SNC Distinguished Name (e.g., p:CN=XXX_Agent...).
Root Cause: If the entry in SNC0 contains a typo, an outdated certificate name, or an old SNC string from a previous agent installation, it creates a hard identity conflict. During initialization, the SAP Agent presents its current, valid certificate, but SAP compares it against the malformed or legacy string in SNC0. Due to a known quirk in older SAP kernel logging, this cryptographic handshake failure bubbles up to JCo as a generic SNC required for this connection error instead of a specific "Bad Certificate" error.
Resolution: Delete the hardcoded entry in SNC0. By removing the explicit entry, SAP stops trying to enforce a rigid, system-level identity match. Instead, it falls back to validating the inbound SNC identity via standard User Master Record mappings (transaction SU01 / table USRACL). As long as the agent's certificate is correctly mapped to the target CPIC/Batch user in SU01, the connection will be permitted.
snc/accept_insecure_rfc=0)When the parameter snc/accept_insecure_rfc is set to 0, standard user/password logins are completely disabled for external RFC connections.
Root Cause: If the system is strictly enforcing SSO but the correct certificate mappings have not been applied to the specific user attempting to connect, the authentication will fail.
Resolution: Single Sign-On (SSO) login is strictly required. To resolve this, you must append the certificate's Distinguished Name (DN) directly to the specific user (e.g., in transaction SU01 / table USRACL) and clear out the system entry in SNC0.