litiano/sap

Lib para conectar com SAP via DI-API

2.6.1 2020-06-05 13:09 UTC

README

Instruções

Adicionar as seguintes configurações em seu arquivo .env

Verificar System Landscape Directory SERVER:40000

## SAP CONFIG ##

Obrigatórios

SAP_SERVER_ADDRESS="HOST" ou "HOST\\SQL_INSTANCE(se for nomeada)"
SAP_USERNAME=
SAP_PASSWORD=
SAP_DB_TYPE=
#dst_MSSQL = 1
#dst_DB_2 = 2
#dst_SYBASE = 3
#dst_MSSQL2005 = 4
#dst_MAXDB = 5
#dst_MSSQL2008 = 6
#dst_MSSQL2012 = 7
#dst_MSSQL2014 = 8
#dst_HANADB = 9
#dst_MSSQL2016 = 10
SAP_DB_DATABASE=
SAP_DB_USERNAME=
SAP_DB_PASSWORD=
SAP_DB_HOST="HOST" ou "HOST\\SQL_INSTANCE(se for nomeada)"

Opcionais

SAP_DB_PORT=
SAP_USE_ODBC_DRIVER=false
SAP_ODBC_DATA_SOURCE=
SAP_LICENSE_SERVER=
SAP_SLD_SERVER=
SAP_LANGUAGE=29 #Português Brasil
SAP_DB_DRIVER=
SAP_DEBUG=

Adicionar o seguinte serviceProvider (somente Laravel <= 5.4)

  • Litiano\Sap\SapServiceProvider::class

Rodar os comandos

  • php artisan config:clear
  • php artisan cache:clear
  • php artisan vendor:publish

Recomendações

  • Executar artisan schedule:run com usuário "Sistema" e/ou com privilégios de administrador

Problemas conhecidos

  • -10: - Não foi possível encontrar o nome do recurso especificado no arquivo de imagem. Solução: Abra a conexão com SAP antes de qualquer conexão com SQLSRV (direta ou ODBC) e execute como administrador; Solução2: primeiro use o método AuthenticateUser, depois Connect; Solução3: Usar conexão ODBC se tiver erros de conexão com sqlsrv ou DIAPI: Driver: SQL Server Native Client 11.0 - funcionou Driver: SQL Server - não funcionou Driver: ODBC Driver 11 for SQL Server - não funcionou Driver: ODBC Driver 13 for SQL Server - não funcionou

  • Gerenciador ODBC 32 Bits C:\Windows\SysWOW64\odbcad32.exe

  • -10: - The specified resource name cannot be found in the image file.

  • Possivel solução 4 (SAP 9.2 PL >= 5) Usar somente SLDServer ao invés de LicenseServer. Observer a tag name="SLDAddress" no arquivo: C:\Program Files (x86)\SAP\SAP Business One DI API\Conf\b1-local-machine.xml O valor do mesmo pode variar entre 30010 e 40000

  • Melhor solução do erro -10: Usar DI-API x64, com PHP x64.