SAP
Descubra mais sobre o componente SAP e saiba como utilizá-lo na Digibee Integration Platform.
O SAP permite que você se conecte ao SAP (apenas RFC) para enviar requisições.
Parâmetros
Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
Account | É necessário criar uma conta tipo BASIC para utilizar as credenciais SAP (usuário e senha). | N/A | String |
SAP Operation | Método de conexão no SAP - o componente suporta acesso via RFC ou IDOC. | RFC | String |
IDOC Type | Especifica o tipo básico IDOC de um IDOC. | N/A | String |
IDOC Type Extension | Especifica o tipo de extensão IDOC de um IDOC. | N/A | String |
System Release | Especifica o SAP Basis Release associado de um IDOC. | N/A | String |
Application Release | Especifica o Application Release associado de um IDOC. | N/A | String |
Host | Hostname do sistema SAP - para que "IP" e "Porta" sejam suportados, é necessário ter conectividade por VPN (você pode definir o VPN através do SAP GUI). Para resolver o nome do host para um endereço IP, você deve adicionar uma entrada de mapeamento ao arquivo do host da máquina na qual o agente está instalado. | N/A | String |
RFC | Nome da RFC utilizado para se conectar ao sistema SAP - esse campo é informado pelo cliente (os parâmetros de importação da função do SAP devem ser mapeados). | N/A | String |
Language | Linguagem a ser utilizada na conexão ao sistema SAP (ex.: "EN" para inglês). | en | String |
Client ID | SAP Client ID, normalmente com 3 dígitos, utilizado para se conectar ao SAP. | 400 | String |
System Number | Normalmente com 2 dígitos, utilizado para se conectar ao sistema SAP (você pode encontrar essa informação no SAP GUI). | 01 | Inteiro |
Send As File | Quando ativada, esta opção permite que um arquivo seja definido e enviado. | False | Booleano |
File Name | Arquivo que contém o corpo a ser enviado pelo servidor SAP. É recomendável o uso desta capacidade em situações onde o conteúdo é muito grande para ser enviado pelo campo “Template”. Utilize outros componentes como Template Transformer e File Writer para escrever o conteúdo desejado. | N/A | String |
Template (XML) | Template Apache FreeMarker para a mensagem SOAP enviada na requisição. | N/A | String |
Fail On Error | Se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success". | False | Booleano |
Use Dynamic Account (Fase Beta) | Quando a opção estiver ativada, o componente irá usar a conta dinamicamente. Quando estiver desativada, a conta será usada estaticamente. | False | Booleano |
Account Name (Fase Beta) | Nome da conta a ser definida. O nome da conta deve ser gerado dinamicamente através do componente Store Account. | N/A | String |
Scoped (Fase Beta) | quando a opção estiver ativada, a conta armazenada é isolada para outro sub-processo. Nesse caso, os sub-processos verão sua própria versão dos dados da conta armazenada. Para saber mais sobre a funcionalidade Scoped, leia a documentação de Suporte a credenciais dinâmicas. | False | Booleano |
Atenção ao tamanho máximo de arquivo para cada tipo de implementação em um pipeline que tenha apenas o componente SAP. Note que esses valores poderão sofrer alterações se o pipeline possuir outros componentes:
Small: 10 MB
Medium: 28 MB
Large: 67 MB
Recomendação de uso
Recomendamos que você configure Globals para o ambiente SAP, conforme o exemplo a seguir:
Globals:
environment = Ambiente SAP
Veja o exemplo dos itens listados abaixo, que devem ser substituídos de acordo com sua necessidade:
[rfc] = Nome da RFC
[table] = Tabela relacionada a RFC
[columns] = Colunas da Tabela
Leia o artigo para conhecer mais informações sobre conectividade relacionadas ao SAP.
Estrutura do componente para conexões RFC
Para conexões RFC, utilize a cápsula "SAP Json to RFC" antes do componente SAP. Com isso, a chamada já é transformada no formato esperado pelo SAP. Segue abaixo um exemplo de sintaxe de chamada RFC dentro do SAP:
Chamada da função (RFC) BAPI_BUPA_ADDRESS_GETDETAIL dentro do componente JSON Generator
Para uma chamada RFC, é importante dar atenção aos seguintes pontos:
Sempre informar o Sid - campo Enviroment/SystemName/System Id mencionado anteriormente.
Campo RFC - pode constar tanto no arquivo JSON, quanto ser informado dentro do componente.
importParameters - chamada da função dentro do SAP. Especifique apenas os campos que devem ser preenchidos na chamada.
Sobre o SAP Intermediate Document (IDOC)
IDOC Type: possui estrutura específica, que coloca em sequência os dados transferidos de um sistema para outro.
IDOC TYPE EXTENSION (opcional): especifica o tipo de extensão IDOC, caso exista, de um IDOC produzido por esse endpoint.
SYSTEM RELEASE (opcional): especifica o SAP Basis Release associado, caso exista, a um IDOC produzido por esse endpoint.
APPLICATION RELEASE (opcional): especifica o Application Release associado, caso exista, a um IDOC produzido por esse endpoint.
Lembre-se que IDOCs são processados assincronamente via SAP. Quando um IDOC é enviado, não há indicação de sucesso ou falha. Em caso de erro, é necessário que o usuário reprocesse o IDOC.
Estrutura do componente para utilização do campo Template XML
Veja um exemplo de template (XML):
{YOUR_ENVIRONMENT} deve ser substituído pelo seu SAP SID.
Caso seja uma consulta única, você pode utilizar a seguinte sintaxe:
Elementary fields/Import Parameters
Caso seja uma consulta a uma tabela, utilize a seguinte sintaxe:
Table fields
Exemplo:
Entrada
${type}: variável que deve ser passada dentro de uma tag "body".
Para a variável sapRequestTemplate, é importante dar atenção aos seguintes pontos:
o nome da variável pode conter sinal de menos (-), ponto (.), e dois pontos (:) em qualquer posição. Mas esses caracteres precisam ser escapados com backslash (\). Do contrário, eles serão interpretados como operadores.
Caso seja necessário, trabalhe com substituição de números:
Saída
Fluxo de Mensagens
Entrada
O componente espera uma mensagem em qualquer formato. Porém, ele vai procurar por um caminho dentro da propriedade de configuração "modelPath".
Saída
A mensagem de saída será igual à mensagem de entrada, mas substituindo a propriedade do modelo conforme definida pelo template (como uma string). Caso ocorra um erro, a propridade "property_error" será criada no mesmo nível da propriedade original.
Atualizado