Resolución de problemas y soporte

Las técnicas de resolución de problemas y la información de ayuda le ayudarán a identificar y resolver los problemas rápidamente. Este tema proporciona posibles soluciones para los problemas que pueda tener con el conector SAP.

Formatos soportados de los valores de campo fecha y hora

La siguiente tabla describe los formatos soportados de los valores de campo fecha y hora de todas las actividades del conector SAP:
Tabla 1. Formatos para los valores de campo Fecha y hora
Campo Parámetro de entrada (actividades de no iniciador) Parámetro de salida (actividades de iniciador y no iniciador)
Fecha dd-mm-aaaa

o

ddmmaaaa

ddmmaaaa
Hora hh:mm:ss

o

hhmmss

hhmmss

Los formatos soportados para los parámetros de entrada y salida de los valores de campo fecha y hora en la versión del conector SAP 6.0.x y versiones anteriores son: dd-mm-aaaa y hh:mm:ss respectivamente.

Se genera una excepción al desplegar orquestaciones con actividades Recibir RFC y Recibir IDOC durante el mismo programa RFC.

Problema: cuando se despliegan orquestaciones con actividades Recibir RFC y Recibir IDOC con el mismo ID de programa RFC de SAP, se genera la excepción siguiente:

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)

Causa: SAP JCo solo permite que en una máquina virtual Java (JVM) ejecute una única instancia de JCoServer con un determinado conjunto de configuraciones de servidor; otro JCoServer con la misma configuración de servidor no puede ejecutar en la misma JVM. JCo genera un error en el que se indica que el servidor no puede reiniciarse. Las actividades Recibir IDOC y Recibir RFC no soportan que se utilice el mismo ID de programa SAP durante una orquestación.

Solución: asegúrese de desplegar orquestaciones que tengan actividades Recibir RFC y Recibir IDOC que utilicen distintos ID de programa SAP y cree puntos finales independientes para IDOC y RFC.

Configuraciones recomendadas para evitar el error 'Se ha superado el número máximo de 202 conversaciones'

Cuando se trabaja con el conector de SAP, se recomiendan las siguientes configuraciones cuando aparezca el error 'Número máximo de 202 conversaciones superado'.

Error:

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

Las siguientes configuraciones dependen de la carga y del número de solicitudes paralelas:

  1. Reduzca el valor del tiempo de espera en la configuración del punto final de forma que las conexiones no utilizadas se terminen de forma automática.
  2. Configure el entorno de ejecución de Cast Iron y la pasarela de SAP para que soporten más conexiones RFC.
    1. Establezca el valor de entorno CPIC_MAX_CONV a >100 en el entorno de ejecución de Cast Iron. Actualice maestro.sh para que establezca la variable de entorno. Los pasos se describen en la Planificación A.
    2. Incremente el valor de perfil gw/max_conn y gw/max_sys en la pasarela SAP para que soporten muchas conexiones paralelas. Asimismo, si se producen cuellos de botella en la memoria, aumente los valores de gw/max_overflow_size y gw/max_shm_req.
    3. Establezca el valor de máximas conexiones en el punto final de SAP a un valor realista. Dependiendo de la carga y de las solicitudes paralelas, el dispositivo generará o recibirá.
    4. Establezca el valor de instancias de servidor en el punto final de SAP a 10.
  3. Valores de ejemplo:
    SAP-Gateway
    
    gw/max_conn=2000, gw/max_sys=1200
    
    gw/max_overflow_size =40000000, gw/max_shm_req = 200 (esto ajusta la asignación de memoria)
    
    CPIC_MAX_CONV=5000

Planificación A:

  1. Inicie sesión en el shell del dispositivo (póngase en contacto con el soporte de IBM para obtener una clave de shell del dispositivo a fin de iniciar sesión en el shell del sistema).
  2. Vaya a la carpeta /usr/ironhide/bin. Haga una copia de seguridad de maestro.sh (copie maestro.sh a maestro.sh.old).
  3. Edite maestro.sh.
    vaya a la línea 
    #  Version of java currently in use.
    if [ -z $JAVA_HOME ]; then
      JAVA_HOME=/usr/java/default
    fi
    
    JAVA="${JAVA_HOME}/bin/java"
  4. Añada la siguiente línea:
    ## maximum SAP conversations allowed
    export CPIC_MAX_CONV=500
  5. Guarde los cambios y salga.
  6. Salga del shell de sistema y ejecute el comando system restart para reiniciar el entorno de ejecución del dispositivo.

Actualización del JRE de 32 bits a 64 bits

Problema: si tiene un proyecto de SAP ejecutando en una versión anterior del dispositivo, al actualizar el dispositivo a la la versión 7.0 o posterior, los proyectos de SAP no se inician y se producen los errores siguientes:

  • Ejemplos de errores generados en 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)
  • Ejemplos de excepciones anotadas en el registro 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)

Causa:

En las versiones anteriores del dispositivo de Cast Iron (versión 6.3 y anteriores) se utilizaban las bibliotecas SAP JCO de 32 bits. A partir del dispositivo de Cast Iron versión 7.0, deben utilizarse las bibliotecas de SAP JCO de 64 bits.

Solución:

Suprima las bibliotecas SAP JCO de 32 bits, sapjco3.jar y libsapjco3.so, y cargue las bibliotecas SAP JCO de 64 bits siguiendo los pasos siguientes:

Actualización de las bibliotecas de SAP JCO:

  1. Póngase en contacto con el servicio técnico de SAP para obtener los archivos comprimidos de los siguientes componentes de SAP:
    • SAP JCO Release 3.0.6 o posterior para la plataforma Linux AMD de 64 bits. Por ejemplo, sapjco3-linuxx86_64-3.0.10.tgz.
  2. En la WMC, vaya a Sistema > Actualización > Actualizar librerías de conector.
  3. En la ventana Actualizar bibliotecas de conector, seleccione el conector SAP en la lista de conectores.
  4. Suprima las bibliotecas SAP JCO existentes mostradas en la lista de archivos instalados y reinicie el dispositivo.
  5. Tras reiniciar el dispositivo, vaya a Sistema > Actualización > Actualizar librerías de conector.
  6. Cargue las bibliotecas SAP JCO de 64 bits recién descargadas. Se le solicitará que reinicie el dispositivo tras cargar las bibliotecas.
  7. Reinicie el dispositivo e inicie los proyectos SAP. Todas las orquestaciones SAP se iniciarán sin errores.



Comentarios | Notices


Icono de fecha y hora Última actualización: Friday, November 8, 2013


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