Dépannage et support

Les techniques de dépannage et les informations d'assistance permettent d'identifier et de résoudre rapidement les problèmes rencontrés. Cette rubrique présente les solutions potentielles de résolution des problèmes que vous pourriez rencontrer avec le connecteur SAP.

Formats de zones de date et heure pris en charge

Le tableau suivant décrit les formats des zones de date et heure pris en charge pour toutes les activités du connecteur SAP :
Tableau 1. Formats de zones de date et heure pris en charge
Zone Paramètre d'entrée (hors activités de démarrage) Paramètre de sortie (activités de démarrage ou non)
Date aaaa-mm-jj

ou

aaaammjj

aaaammjj
Heure hh:mm:ss

ou

hhmmss

hhmmss

Les formats pris en charge pour les paramètres d'entrée et de sortie des zones de date et d'heure du connecteur SAP version 6.0.x et antérieures sont les suivants : aaaa-mm-jj et hh:mm:ss, respectivement.

Exception émise lorsque vous déployez des orchestrations contenant des activités Recevoir RFC et Recevoir IDOC utilisant le même ID de programme RFC.

Problème : Lorsque vous déployez des orchestrations contenant des activités Recevoir RFC et Recevoir IDOC avec le même ID de programme SAP RFC, l'exception suivante est émise :

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)

Cause : SAP JCo n'autorise qu'une seule instance de JCoServer avec un ensemble donné de configuration de serveur à s'exécuter dans une JVM : il n'est pas possible, pour un autre JCoServer ayant la même configuration de serveur, de s'exécuter dans la même JVM. JCo émet une erreur indiquant que le serveur ne peut pas être redémarré. L'activité Recevoir IDOC et l'activité Recevoir RFC n'admettent pas l'utilisation du même ID de programme SAP au cours de l'orchestration.

Solution : Si vous déployez une orchestration contenant à la fois une activité Recevoir RFC et une activité Recevoir IDOC, veillez à ce que les deux activités utilisent des ID de programme SAP différents et créez des noeuds finaux distincts pour les IDOC et les RFC.

Configurations recommandées pour éviter l'erreur 'Nombre maximum de 202 conversations dépassé'

Lors de l'utilisation du connecteur SAP, suivez les recommandations de configuration ci-après si l'erreur 'Maximum number of 202 conversations exceeded' (nombre maximum de 202 conversations dépassé) s'affiche :

Erreur :

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

Les recommandations suivantes dépendent de la charge et du nombre de demandes parallèles :

  1. Réduisez la valeur du temps imparti dans la configuration du noeud final afin que les connexions inutilisées soient terminées automatiquement.
  2. Configurez l'exécution de Cast Iron et la passerelle SAP afin qu'un plus grand nombre de connexions RFC soit pris en charge.
    1. Réglez la variable d'environnement CPIC_MAX_CONV sur une valeur >100 dans l'exécution de Cast Iron. Pour ce faire, éditez le script maestro.sh. Les étapes à suivre sont décrites dans le Planning A.
    2. Augmentez les valeurs de profil gw/max_conn et gw/max_sys sur la passerelle SAP afin qu'un plus grand nombre de connexions parallèles soient acceptées. Augmentez également les valeurs de gw/max_overflow_size et gw/max_shm_req en cas de goulot d'étranglement mémoire.
    3. Choisissez une valeur réaliste pour le nombre maximum de connexions dans le noeud final SAP. Selon la charge et le nombre de demandes parallèles, le dispositif génère ou reçoit.
    4. Réglez à 10 le nombre d'instances de serveur dans le noeud final SAP.
  3. Exemples de valeurs :
    SAP-Gateway
    
    gw/max_conn=2000, gw/max_sys=1200
    
    gw/max_overflow_size =40000000, gw/max_shm_req = 200 (pour ajuster l'allocation de mémoire)
    
    CPIC_MAX_CONV=5000

Planning A :

  1. Connectez-vous à l'interpréteur de commandes (shell) du dispositif (contactez le support IBM afin d'obtenir une clé vous permettant de vous connecter au shell du système).
  2. Accédez au dossier /usr/ironhide/bin. Faites une copie de sauvegarde du script maestro.sh (copiez maestro.sh vers maestro.sh.old).
  3. Editez 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. Ajoutez la ligne suivante :
    ## maximum SAP conversations allowed
    export CPIC_MAX_CONV=500
  5. Enregistrez le fichier et quittez l'éditeur.
  6. Quittez le shell du système et exécutez la commande system restart afin de redémarrer l'exécution du dispositif.

Faire passer le JRE de la version 32 bits à la version 64 bits

Problème : Si vous exécutez un projet SAP sur une ancienne version du dispositif, lorsque vous faites passer ce dernier à la version 7.0 ou ultérieure, le projet SAP ne démarre plus et les erreurs suivantes se produisent :

  • Exemples d'erreurs émises dans la 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)
  • Exemples d'exceptions consignées dans le journal 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] La bibliothèque native SAP JCO requise est introuvable. Installez la bibliothèque native SAP JCO version 3.x (.dll ou .so selon la plateforme).
    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)
    Cause : 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)

Cause :

Les anciennes versions (6.3 et antérieures) de Cast Iron utilisaient les bibliothèques SAP JCO 32 bits. Pour les versions 7.0 et ultérieures de Cast Iron, vous devez utiliser les bibliothèques SAP JCO 64 bits.

Solution :

Supprimez les bibliothèques SAP JCO 32 bits, sapjco3.jar et libsapjco3.so, et chargez les bibliothèques SAP JCO 64 bits en effectuant les étapes suivantes :

Mettre à niveau les bibliothèques SAP JCO :

  1. Contactez le support technique SAP pour obtenir les fichiers compressés suivants :
    • SAP JCO 3.0.6 ou version ultérieure pour plateforme Linux AMD 64 bits. Par exemple, sapjco3-linuxx86_64-3.0.10.tgz.
  2. Dans la console de gestion web (WMC), accédez à System > Upgrade > Update Connector Libraries.
  3. Dans la fenêtre Update Connector Libraries, sélectionnez le connecteur SAP dans la liste des connecteurs.
  4. Supprimez les bibliothèques SAP JCO existantes, affichées dans la liste Installed Files, et redémarrez le dispositif.
  5. Après avoir redémarré le dispositif, retournez à System > Upgrade > Update Connector Libraries.
  6. Transférez (upload) les bibliothèques SAP JCO 64 bits nouvellement téléchargées. Après ce transfert, vous serez invité à redémarrer le dispositif.
  7. Redémarrez le dispositif et démarrez le projet SAP. Toutes les orchestrations SAP doivent démarrer sans erreur.



Commentaires | Notices


Icône d'horodatage Dernière révision: Friday, November 1, 2013


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