トラブルシューティングとサポート

トラブルシューティング手法とセルフ・ヘルプ情報は、問題を迅速に識別して解決するのに役立ちます。 このトピックでは、SAP コネクターで起こった問題に対して有力であると思われる解決策について説明します。

日付および時刻フィールド値でサポートされる形式

以下の表で、SAP コネクターのすべてのアクティビティーの日付および時刻フィールド値でサポートされる形式について説明します。
表 1. 日付および時刻フィールド値の形式
フィールド 入力パラメーター (非スターター・アクティビティー) 出力パラメーター (スターターおよび非スターター・アクティビティー)
日付 yyyy-mm-dd

または

yyyymmdd

yyyymmdd
時刻 hh:mm:ss

または

hhmmss

hhmmss

SAP コネクター・バージョン 6.0.x 以前のバージョンの日付および時刻フィールド値の入出力パラメーターでサポートされる形式は、それぞれ yyyy-mm-dd および hh:mm:ss です。

同じ RFC プログラム ID を使用して、 「RFC の受信」アクティビティーと「IDOC の受信」アクティビティーをともなうオーケストレーションをデプロイするときにスローされる例外

問題: 同じ SAP RFC プログラム ID を使用して、 「RFC の受信」アクティビティーと「IDOC の受信」アクティビティーをともなうオーケストレーションをデプロイするときに、次の例外がスローされます。

java.lang.RuntimeException: An attempt to start a JCoIDocServer failed. There might be an existing JCoServer with the same server configuration, else try restarting your server
at com.ibm.j2ca.sap.inbound.SapJCoServerBuilder.verfiyServerConfiguration(SapJCoServerBuilder.java:403)
at com.ibm.j2ca.sap.inbound.SapJCoServerBuilder.createServer(SapJCoServerBuilder.java:96)
at com.ibm.j2ca.sap.inbound.SAPEventListenerManager.buildEventListener(SAPEventListenerManager.java:149)
at com.ibm.j2ca.sap.inbound.SAPEventListenerManager.startEventListeners(SAPEventListenerManager.java:132)
at com.ibm.j2ca.sap.inbound.EndpointManager.addEndpoint(EndpointManager.java:68)
at com.ibm.j2ca.sap.SAPResourceAdapter.endpointActivation(SAPResourceAdapter.java:266)
at com.approuter.module.sap.activity.ReceiveIDOCActivity.activate(ReceiveIDOCActivity.java:222)
at com.approuter.maestro.activities.BaseModule.activate(BaseModule.java:296)
at com.approuter.maestro.vm.Program.start(Program.java:796)
at com.approuter.maestro.vm.Kernel.startOrchestration(Kernel.java:704)
at com.approuter.maestro.management.Loader$1.run(Loader.java:461)
at java.lang.Thread.run(Thread.java:736)

原因: SAP JCo では、指定された一連のサーバー構成を持つ JCoServer の 1 つのインスタンスのみを Java 仮想マシン (JVM) 内で実行できます。同じサーバー構成を持つ別の JCoServer を 同じ JVM で実行することはできません。JCo は、サーバーを再始動できないことを示すエラーをスローします。 「IDOC の受信」アクティビティーと「RFC の受信」アクティビティーは、 オーケストレーションでの同じ SAP プログラム ID の使用をサポートしません。

解決方法: 異なる SAP プログラム ID を使用して、「RFC の受信」アクティビティーと 「IDOC の受信」アクティビティーを持つオーケストレーションをデプロイし、 IDOC と RFC 用に個別のエンドポイントを作成するようにしてください。

「202 会話の最大数を超えました (Maximum number of 202 conversations exceeded)」というエラーを回避するための推奨方法

SAP コネクターの使用時に「202 会話の最大数を超えました (Maximum number of 202 conversations exceeded)」というエラーが表示される 場合は、以下の構成を行うことが推奨されています。

エラー

LOCATION   CPIC (TCP/IP) on local host with Unicode
ERROR      max no of 202 conversations exceeded
TIME       <Day> <Date> <Time> <Year>
RELEASE    720
COMPONENT  CPIC (TCP/IP) with Unicode

以下の推奨は、 ロードと並列要求の数に応じて異なります。

  1. 未使用の接続が自動的に終了されるように、エンドポイント構成でタイムアウト値を減らします。
  2. より多くの RFC 接続をサポートするように、Cast Iron ランタイムと SAP ゲートウェイを構成します。
    1. Cast Iron ランタイムの環境値 CPIC_MAX_CONV を >100 に設定します。 maestro.sh を更新して、環境変数を設定します。 このステップは「スケジュール A」に記載されています。
    2. 多数の並列接続をサポートするために、SAP ゲートウェイのプロファイル値 gw/max_conngw/max_sys を増加させます。 また、メモリーのボトルネックに遭遇する場合は、 gw/max_overflow_sizegw/max_shm_req の値を増加させます。
    3. SAP エンドポイントの最大接続数の値を現実的な値に設定します。 ロードと並列要求に応じて、アプライアンスは生成または受信のどちらか一方を行います。
    4. SAP エンドポイントのサーバー・インスタンス値を 10 に設定します。
  3. サンプルの値:
    SAP-Gateway
    
    gw/max_conn=2000, gw/max_sys=1200
    
    gw/max_overflow_size =40000000, gw/max_shm_req = 200 (this is to adjust the memory allocation)
    
    CPIC_MAX_CONV=5000

スケジュール A

  1. アプライアンス・シェルにログオンします (システム・シェルにログオンするには、IBM サポートに連絡し、アプライアンス・シェル鍵を入手してください)。
  2. /usr/ironhide/bin フォルダーに移動します。 maestro.sh のバックアップを作成します (maestro.shmaestro.sh.old にコピーします)。
  3. maestro.sh を編集します。
    move to line 
    #  Version of java currently in use.
    if [ -z $JAVA_HOME ]; then
      JAVA_HOME=/usr/java/default
    fi
    
    JAVA="${JAVA_HOME}/bin/java"
  4. 以下の行を追加します。
    ## maximum SAP conversations allowed
    export CPIC_MAX_CONV=500
  5. 保存して終了します。
  6. システム・シェルを終了し、アプライアンス・ランタイムを再始動するために、system restart コマンドを実行します。

JRE を 32 ビットから 64 ビットにアップグレードする

問題: 前のバージョンのアプライアンスで実行されている SAP プロジェクトがあるとき、アプライアンスをバージョン 7.0 以降にアップグレードすると、SAP プロジェクトが開始せず、 以下のエラーが発生します。

  • WMC でスローされるエラーの例
    Start of Orchestration config-
    url://SAP_BAPI/1.0/Default/Orchestrations/Orchestration failed:
    java.lang.ExceptionInInitializerError: Error
    getting the version of the native layer:
    java.lang.UnsatisfiedLinkError: sapjco3
    (/usr/ironhide/lib/thirdparty/libsapjco3.so:
    wrong ELF class: ELFCLASS32).
    Required SAP JCO library is not found.
    Install version 3.x SAP JCO library (.dll or .so based on platform)
  • maestro.out ログに記録された例外の例
    java.lang.UnsatisfiedLinkError: sapjco3 (/usr/ironhide/lib/thirdparty/libsapjco3.so: wrong ELF class: ELFCLASS32)
    	at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1030)
    	at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:994)
    	at java.lang.System.loadLibrary(System.java:507)
    	at com.sap.conn.jco.rt.DefaultJCoRuntime.loadLibrary(DefaultJCoRuntime.java:481)
    	at com.sap.conn.jco.rt.DefaultJCoRuntime.registerNativeMethods(DefaultJCoRuntime.java:347)
    	at com.sap.conn.jco.rt.JCoRuntime.registerNatives(JCoRuntime.java:1108)
    	at com.sap.conn.rfc.driver.CpicDriver.<clinit>(CpicDriver.java:954)
    	at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at com.sap.conn.rfc.engine.DefaultRfcRuntime.getVersion(DefaultRfcRuntime.java:43)
    	at com.sap.conn.rfc.api.RfcApi.RfcGetVersion(RfcApi.java:237)
    	at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:215)
    	at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:77)
    	at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)
    	at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at java.lang.Class.forNameImpl(Native Method)
    	at java.lang.Class.forName(Class.java:182)
    	at com.sap.conn.jco.JCo.createJCo(JCo.java:52)
    	at com.sap.conn.jco.JCo.<clinit>(JCo.java:26)
     at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at java.lang.Class.forNameImpl(Native Method)
    	at java.lang.Class.forName(Class.java:182)
    	at com.approuter.module.sap.SAPActivator.checkSAPInstalled(SAPActivator.java:101)
    	at com.approuter.module.sap.activity.SAPBaseActivity.checkSapSetup(SAPBaseActivity.java:498)
    	at com.approuter.module.sap.activity.SAPBaseActivity.generateSchemas(SAPBaseActivity.java:172)
    	at com.approuter.module.sap.activity.SapSendRfcData.activate(SapSendRfcData.java:112)
    	at com.approuter.maestro.activities.BaseModule.activate(BaseModule.java:301)
    	at com.approuter.maestro.vm.Program.start(Program.java:768)
    	at com.approuter.maestro.vm.Kernel.startOrchestration(Kernel.java:739)
    	at com.approuter.maestro.management.Loader$1.run(Loader.java:455)
    	at java.lang.Thread.run(Thread.java:738)
    java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (/usr/ironhide/lib/thirdparty/libsapjco3.so: wrong ELF class: ELFCLASS32)
     at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:227)
     at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:77)
     at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)
     at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at java.lang.Class.forNameImpl(Native Method)
    	at java.lang.Class.forName(Class.java:182)
    	at com.sap.conn.jco.JCo.createJCo(JCo.java:52)
     at com.sap.conn.jco.JCo.<clinit>(JCo.java:26)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at java.lang.Class.forNameImpl(Native Method)
    	at java.lang.Class.forName(Class.java:182)
    	at com.approuter.module.sap.SAPActivator.checkSAPInstalled(SAPActivator.java:101)
    	at com.approuter.module.sap.activity.SAPBaseActivity.checkSapSetup(SAPBaseActivity.java:498)
    	at com.approuter.module.sap.activity.SAPBaseActivity.generateSchemas(SAPBaseActivity.java:172)
    	at com.approuter.module.sap.activity.SapSendRfcData.activate(SapSendRfcData.java:112)
    	at com.approuter.maestro.activities.BaseModule.activate(BaseModule.java:301)
    	at com.approuter.maestro.vm.Program.start(Program.java:768)
    	at com.approuter.maestro.vm.Kernel.startOrchestration(Kernel.java:739)
    	at com.approuter.maestro.management.Loader$1.run(Loader.java:455)
    	at java.lang.Thread.run(Thread.java:738)
    2013-08-22 09:18:25.013 SEVERE [T-10] [orc:SAP_BAPI/1.0/Default/Orchestrations/Orchestration] [com.approuter.module.common.util.LogHelper] Required SAP JCO native library is not found. Install version 3.x SAP JCO native library(.dll or .so based on platform).
    java.lang.RuntimeException: java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (/usr/ironhide/lib/thirdparty/libsapjco3.so: wrong ELF class: ELFCLASS32)
    	at com.approuter.module.sap.activity.SAPBaseActivity.checkSapSetup(SAPBaseActivity.java:509)
    	at com.approuter.module.sap.activity.SAPBaseActivity.generateSchemas(SAPBaseActivity.java:172)
    	at com.approuter.module.sap.activity.SapSendRfcData.activate(SapSendRfcData.java:112)
    	at com.approuter.maestro.activities.BaseModule.activate(BaseModule.java:301)
    	at com.approuter.maestro.vm.Program.start(Program.java:768)
    	at com.approuter.maestro.vm.Kernel.startOrchestration(Kernel.java:739)
    	at com.approuter.maestro.management.Loader$1.run(Loader.java:455)
    	at java.lang.Thread.run(Thread.java:738)
    Caused by: java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (/usr/ironhide/lib/thirdparty/libsapjco3.so: wrong ELF class: ELFCLASS32)
     at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:227)
     at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:77)
     at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)
     at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at java.lang.Class.forNameImpl(Native Method)
    	at java.lang.Class.forName(Class.java:182)
    	at com.sap.conn.jco.JCo.createJCo(JCo.java:52)
    	at com.sap.conn.jco.JCo.<clinit>(JCo.java:26)
    	at java.lang.J9VMInternals.initializeImpl(Native Method)
    	at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    	at java.lang.Class.forNameImpl(Native Method)
    	at java.lang.Class.forName(Class.java:182)
    	at com.approuter.module.sap.SAPActivator.checkSAPInstalled(SAPActivator.java:101)
    	at com.approuter.module.sap.activity.SAPBaseActivity.checkSapSetup(SAPBaseActivity.java:498)

原因:

前のバージョンの Cast Iron アプライアンス (バージョン6.3 以前) では、32 ビット SAP JCO ライブラリーが使用されていました。 Cast Iron アプライアンスのバージョン 7.0 以降では、 64 ビット SAP JCO ライブラリーを使用する必要があります。

解決方法:

以下のステップを実行することで、32 ビット SAP JCO ライブラリーの sapjco3.jarlibsapjco3.so を削除し、64 ビット SAP JCO ライブラリーをロードします。

SAP JCO ライブラリーのアップグレード:

  1. SAP 技術サポートに連絡して、SAP コンポーネントの圧縮ファイルを入手します。
    • Linux AMD 64 ビット・プラットフォーム向けの SAP JCO リリース 3.0.6 以降のバージョン。 例えば、sapjco3-linuxx86_64-3.0.10.tgz
  2. WMC で「システム」>「アップグレード」>「コネクター・ ライブラリーの更新」に進みます。
  3. 「コネクター・ライブラリーの更新」ウィンドウで、「コネクター」リストから SAP コネクターを選択します。
  4. 「インストール済みファイル」リストに表示された既存の SAP JCO ライブラリーを削除し、 アプライアンスを再始動します。
  5. アプライアンスの再始動後、「システム」>「アップグレード」>「コネクター・ライブラリーの更新」に進みます。
  6. 新たにダウンロードした SAP JCO 64 ビット・ライブラリーをアップロードします。ライブラリーのアップロード後、 アプライアンスの再始動を求めるプロンプトが表示されます。
  7. アプライアンスを再始動し、SAP プロジェクトを開始します。すべての SAP オーケストレーションが、エラーなしで開始します。



フィードバック | 特記事項


タイム・スタンプ・アイコン 最終更新: 2013年11月7日 (木曜日)


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/SAP_troubleshooting.html