FAQ for Upgrading SAP JCo and IDoc Libraries

FAQ for Upgrading SAP JCo and IDoc Libraries

What is the timeline for this upgrade?

4.44 main34730 GA, May 2026 release: JCo driver upgraded to 3.1.12

444patches35122 June 2026 patches release: JCo driver upgraded to 3.1.13. It replaces the 4.44 GA version.

What are the upgraded versions?

The following libraries are upgraded for the SAP Snap Pack as part of the 4.44 main34730 GA release.

  • JCo from 3.1.10 to 3.1.12

  • IDoc from 3.1.3 to 3.1.4

The 444patches35122 SAP Snap Pack upgraded the JCo library:

  • JCo from 3.1.12 to 3.1.13

The SAP Snap Pack depends on a native library. The available versions of this library are:

  • Linux: libsapjco3.so - 240bf180f10d37aee26737fd70bc72ae

  • Windows: sapjco3.dll - 06c27284f0b28449b3b9495ff04643b1

Optional. You can verify the integrity of the file using md5sum (Linux). The checksums above are for the JCo 3.1.13 native library (444patches35122).

Where can I get the updated native library?

You can download the shared library (Windows -sapjco3.dll) (Linux -libsapjco3.so)from the SAP portal.

Important: Before installing the SAP JCo native library, verify that the version downloaded from the SAP Portal matches the SAP Snap Pack certified JCo version listed above on this FAQ page.

  • If the downloaded version does not match the certified version, it means that the SAP Snap Pack was not certified against that JCo version, and behavior may be unexpected. In this case, we strongly recommend enabling auto-deployment to ensure the correct JCo native library version is installed on the file system, as documented below.

  • If the versions match, you can proceed with manual installation of the native library downloaded from the SAP Portal. However, SnapLogic highly recommends using the auto-deployment feature whenever possible.

How can I utilize auto-deploy functionality?

  • Contact your CSM to enable the feature flags. The following two feature flags must be enabled on your Environment (Org in Classic Manager):

    • Feature Flag #1: com.snaplogic.common.SnapLogicSecurityManager.ALLOW_CONFIG_FOLDER_ACCESS: true

    • Feature Flag #2: com.snaplogic.snaps.sap.JCoNativeShim.JCO_NATIVE_PRELOAD: true

How do I enable the feature flag?

Prerequisites:

  • Environment ID of your organization. You can look this up in SnapLogic Designer with the Admin Manager (System Configuration > Environment). If you don’t have access, contact your Administrator.

  • Password for the Admin user (admin@snaplogic.com)

To set a feature flag on the command line using cURL:

  1. Connect to any JCC node and execute the following command from the command prompt. Replace the Environment ID placeholder with your Environment ID.

    Better Code Block
  2. Verify Feature Flags (optional):

    Better Code Block
  3. Restart the Snaplex.

  4. Once the Snaplex is up and running, execute the SAP pipelines against the Linux or Windows Snaplex.

Things to note:

  • Upgrade the SAP Snap Pack to a version that supports auto-upgrade of the SAP driver.

    • Use version 444main34730, which includes SAP JCo driver 3.1.12 for Linux and Windows. 444patches35122 includes SAP JCo driver 3.1.13.

  • Restart the Snaplex to apply the changes.

  • After the restart, run the pipeline that contains an SAP Snap.

 

How do I verify if the feature flag is enabled?

Type the following URL in your browser:
https://elastic.snaplogicdev.com/api/1/rest/admin/snappack/Env-dist/<your-environment-id>

The response should return true as highlighted in the following image:

feature-flag-true.png

How does the SAP driver Auto-Upgrade work

  • Make sure all prerequisites for auto-deploy are met (feature flags enabled and Snap Pack version 444main34730).

  • Restart the Snaplex to ensure no SAP-native library is currently loaded into memory.

  1. Run a pipeline that contains at least one SAP Snap.

  2. During the first execution (when the SAP native library has not yet been loaded), the Snap Pack searches the file system for it.

    1. If the library is not found, the Snap Pack automatically deploys the correct native library for the detected OS (for example, libsapjco3.so for Linux or sapjco3.dll for Windows).

    2. If a library is found, but its version differs from the one bundled with the Snap Pack, the Snap Pack overwrites the existing library on the file system with the bundled version. The SAP JAR then loads the native library from the file system into memory.

If you attempt to run a pipeline again after the native library is already loaded and auto-deploy tries to run, you will receive an error that the library is already loaded; in this case, restart the JCC Plex before retrying.

This procedure ensures that your environment always uses a compatible and up-to-date SAP native library, eliminating the need for manual installation or maintenance.

What do I need to do?

When upgrading the SAP Snap Pack, you must also upgrade the SAP native library. The native library can be upgraded:

  • Manually, or

  • Automatically, using the auto-deploy feature.

What is the required driver compatibility

  • The SAP native library must be version 3.1.13.

  • Any version older than 3.1.3 will fail to load.

Will my Environment (Org) be impacted?

Yes, your Environment might be affected if your SAP Snap Pack uses an older SAP-native library (sapjco3). If you are using SAP Snap Pack with JCo driver v3.1.12 or older, you must manually update the native library or use the auto-deploy feature.

What happens if the library is not upgraded

If the SAP Snap Pack is upgraded without upgrading the native library, the Snap Pack will fail to initialize, resulting in runtime errors as follows:

  • JCo native library 3.1.10 (Linux)
    Caused by: java.lang.ExceptionInInitializerError: Native library sapjco3 is too old.
    Found library /opt/snaplogic/ldlib/libsapjco3.so has version \"753.1325\",
    but required is at least version \"754.623\"

  • JCo native library 3.1.12 (Linux)
    Caused by: java.lang.ExceptionInInitializerError: Native library sapjco3 is too old.
    Found library /opt/snaplogic/ldlib/libsapjco3.so has version \"753.1446\",
    but required is at least version \"754.623\"

Resolution: Upgrade to JCo driver 3.1.13 manually or via auto-upgrade.

Do I need to update for Cloudplex or Groundplex deployments or Docker deployments?

All Cloudplexes are Linux-based (.rpm). If a Cloudplex is IAC-enabled, the native library will be installed as part of the upgrade. Similarly, Snaplex Docker images will also contain the updated SAP JCo native library. However, non-IAC Cloudplexes and Groundplexes must be updated manually, and only the JCC nodes that use the SAP Snap pack need to be upgraded.

The path delimiters are important. For Linux, it is the forward slash (/). For Windows, the path delimiter is the backslash (\).

For specific steps on implementing the library upgrade, refer to this article.

 

Related links: