Resolução de Problemas e Suporte

Técnicas de resolução de problemas e informações de auto-ajuda auxiliam a identificação e a solução rápida de problemas. Este tópico fornece soluções em potencial para problemas que você teria com o conector do SAP.

Formatos Suportados dos Valores dos Campo de Data e Hora

A tabela a seguir descreve os formatos suportados dos valores dos campos de data e hora para todas as atividades do conector de SAP:
Tabela 1. Formatos para Valores dos Campo de Data e Hora
Campo Parâmetro de Entrada (atividades não iniciais) Parâmetro de Saída (atividades iniciais e não iniciais)
Data aaaa-mm-dd

ou

aaaammdd

aaaammdd
Hora hh:mm:ss

ou

hhmmss

hhmmss

Os formatos suportados para os parâmetros de entrada e saída dos valores dos campos de data e hora no conector do SAP versão 6.0.x e versões anteriores são: aaaa-mm-dd e hh:mm:ss, respectivamente.

Exceção Lançada na Implementação de Orquestrações com Atividades Receber RFC e Receber IDOC Usando o mesmo ID de Programa RFC

Problema: Quando você implementa orquestrações com as atividades Receber RFC e Receber IDOC com o mesmo ID de programa RFC SAP, a exceção a seguir é lançada:

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: JCo SAP permite que apenas uma instância do JCoServer com um determinado conjunto de configurações de servidor seja executada dentro de uma Java virtual machine (JVM); outro JCoServer com a mesma configuração de servidor não pode ser executado na mesma JVM. O JCo lança um erro indicando que o servidor não pode ser reiniciado. As atividades Receber IDOC e Receber RFC não suportam o mesmo ID de Programa SAP usado durante a orquestração.

Solução: Assegure-se de implementar orquestrações com as atividades Receber RFC e Receber IDOC usando IDs de Programa SAP diferentes e criar terminais separados para IDOC/RFC.

Configurações Recomendadas para Evitar o Erro 'Maximum number of 202 conversations exceeded'

Quando você trabalha com o conector SAP, as configurações a seguir são recomendadas se o erro 'Maximum number of 202 conversations exceeded' for exibido:

Erro:

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

As recomendações a seguir dependem da carga e do número de solicitações paralelas:

  1. Reduza o valor de tempo limite na configuração de terminal para que as conexões não usadas sejam finalizadas automaticamente.
  2. Configure o tempo de execução do Cast Iron e o gateway SAP para suportarem mais conexões RFC.
    1. Configure o valor do ambiente CPIC_MAX_CONV para >100 no tempo de execução do Cast Iron. Atualize maestro.sh para configurar a variável de ambiente. As etapas são descritas no Planejamento A.
    2. Aumente o valor do perfil gw/max_conn e gw/max_sys no gateway SAP para suportar várias conexões paralelas. Além disso, se você enfrentar gargalos de memória, aumente os valores de gw/max_overflow_size e gw/max_shm_req.
    3. Configure o valor máximo de conexões em um terminal SAP para um valor realista. Dependendo da carga e solicitações paralelas, o dispositivo gera ou recebe.
    4. Configure o número do valor Instância de Servidor no terminal SAP para 10.
  3. Valores da amostra:
    SAP-Gateway
    
    gw/max_conn=2000, gw/max_sys=1200
    
    gw/max_overflow_size =40000000, gw/max_shm_req = 200 (para ajustar a alocação de memória)
    
    CPIC_MAX_CONV=5000

Planejamento A:

  1. Efetue logon no shell do dispositivo (entre em contato com o suporte IBM para obter a chave shell do dispositivo para efetuar logon no shell do sistema).
  2. Acesse a pasta /usr/ironhide/bin. Faça backup do maestro.sh (copie maestro.sh em maestro.sh.old).
  3. Edite maestro.sh.
    move to line 
    #  Versão de Java atualmente em uso.
    if [ -z $JAVA_HOME ]; then
      JAVA_HOME=/usr/java/default
    fi
    
    JAVA="${JAVA_HOME}/bin/java"
  4. Inclua a seguinte linha:
    ## máximo de conversas do SAP permitido
    export CPIC_MAX_CONV=500
  5. Salve e saia.
  6. Saia do shell do sistema e execute o comando system restart na ordem para reiniciar o tempo de execução do dispositivo.

Fazendo Upgrade do JRE de 32 Bits para 64 Bits

Problema: Se você tiver um projeto SAP em execução em uma versão anterior do dispositivo, quando fizer o upgrade do dispositivo para a versão 7.0 ou posterior, os projetos SAP não serão iniciados e os seguintes erros ocorrerão:

  • Exemplos de erros lançados no 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)
  • Exemplos de exceções registradas no log 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:

Em versões anteriores do dispositivo Cast Iron (versão 6.3 e anteriores), bibliotecas JCO SAP de 32 bits eram usadas. Do dispositivo Cast Iron versão 7.0 em diante, você deve usar as bibliotecas JCO SAP de 64 bits.

Solução:

Exclua as bibliotecas JCO SAP de 32 bits, sapjco3.jar e libsapjco3.so, e carregue as bibliotecas JCO SAP de 64 bits concluindo as seguintes etapas:

Fazendo Upgrade de Bibliotecas JCO SAP:

  1. Entre em contato com o Suporte Técnico SAP para obter os arquivos compactados para os seguintes componentes SAP:
    • SAP JCO Liberação 3.0.6 ou versão mais recente para plataforma Linux AMD 64 bits. Por exemplo, sapjco3-linuxx86_64-3.0.10.tgz.
  2. No WMC, acesse Sistema > Upgrade > Atualizar Bibliotecas do Conector.
  3. Na janela Atualizar Bibliotecas do Conector, selecione o conector SAP na lista Conector.
  4. Exclua as bibliotecas JCO SAP existentes exibidas na lista Arquivos Instalados e reinicie o dispositivo.
  5. Após reiniciar o dispositivo, acesse Sistema > Upgrade > Atualizar Bibliotecas do Conector.
  6. Faça upload das bibliotecas JCO SAP de 64 bits recém-transferidas por download. Será solicitado que você reinicie o dispositivo após o upload das bibliotecas.
  7. Reinicie o dispositivo e inicie os projetos SAP. Todas as orquestrações SAP serão iniciadas sem erros.



Feedback | notices