O plug-in de fonte em lote da tabela SAP (plug-in de tabela SAP) permite ler dados do SAP. tabelas ou visualizações padrão e personalizadas. Permite a ingestão de dados em massa do SAP no BigQuery ou em qualquer outro sistema de destino compatível, usando o Cloud Data Fusion. O plugin tem os seguintes recursos principais:
- Usa SAP ECC, SAP S4/HANA ou SAP BW como sistema de origem.
- Não usa SAP CDC (captura de dados alterados) para acompanhar e extrair dados novos e delta nas fontes de dados
- Usa o modo de extração em lote
- Oferece suporte a tabelas SAP e visualizações ABAP CDS como fontes de dados
- Acessa dados do SAP por meio da camada do aplicativo
É possível ler dados de:
- Tabelas transparentes
- Tabelas de clusters
- Mesas de sinuca
- Visualizações de CDS ABAP
- Objetos SAP BW ADSO
Versões de software compatíveis
Software | Versões |
---|---|
SAP S/4HANA | SAP S4/HANA 1909 e posterior |
SAP ECC | SAP ERP6 NW 7.31 SP16 e posterior |
SAP JCo | SAP JCo versão 3.0.20 e mais recente |
Cloud Data Fusion | 6.3 e versões mais recentes |
Para mais informações sobre o SAP no Google Cloud, consulte a Visão geral do SAP no Google Cloud.
Antes de começar
Configure os seguintes sistemas e serviços usados pelo plug-in SAP Table:
- Configure o sistema SAP ERP.
Esse processo inclui as seguintes etapas:
- Instale os arquivos do SAP Transport.
- Configure as autorizações e os papéis SAP necessários.
- Configure o conector Java do SAP.
Implantar o plug-in no Cloud Data Fusion.
- Importante: escolha uma versão do plug-in compatível com a Versão do Cloud Data Fusion.
- Se você atualizar a versão do Cloud Data Fusion instância ou plug-in, avalie o impacto das alterações no escopo funcional e desempenho do pipeline.
Estabeleça conectividade RFC entre o Cloud Data Fusion e o SAP.
- Certifique-se de que a comunicação entre os instância do Cloud Data Fusion e do servidor SAP.
- Para instâncias particulares, configure o peering de rede VPC.
- O sistema SAP e a instância do Cloud Data Fusion precisam no mesmo projeto.
Configurar o plug-in
- Acessar a interface da Web do Cloud Data Fusion e clique em Studio.
- Verifique se Pipeline de dados - Lote está selecionado (não Tempo real).
- No menu Origem, clique em Tabela SAP. O nó "SAP Table" aparece no seu pipeline.
- Para configurar a origem, acesse o nó da tabela SAP e clique em Propriedades:
Insira as seguintes propriedades. Para uma lista completa, consulte Propriedades:
- Insira um Rótulo para o nó da tabela SAP:
exemplo:
SAP tables
. Insira os detalhes da conexão. É possível configurar uma nova conexão única ou uma conexão existente e reutilizável.
Nova conexão
Para adicionar uma conexão única ao SAP, siga estas instruções etapas:
- Mantenha a opção Usar conexão desativada.
Na seção Conexão, insira as seguintes informações da conta da SAP nestes campos:
- No campo Nome de referência, digite um nome para a que identifica essa origem para a linhagem.
- No campo Cliente SAP, insira o nome do cliente de um instância ou ambiente específico no SAP. um SAP administrador pode fornecer o nome do cliente.
- No campo SAP language, insira uma linguagem de logon da SAP. O padrão é EN (inglês).
Selecione um dos seguintes Tipos de conexão.
- Direto (via SAP Application Server). Se você escolher este tipo padrão, insira as informações no seguinte Campos: host do servidor de aplicativos SAP, sistema SAP número e roteador SAP.
- Balanceado de carga (via SAP Message Server). Se você escolher desse tipo, insira as informações nos seguintes campos: Host do servidor de mensagens SAP, serviço de servidor de mensagens SAP ou número da porta, ID do sistema SAP (SID) e Logon SAP nome do grupo.
No campo Nome da tabela/visualização SAP, insira o nome do tabela ou visualização de seu sistema SAP.
Forneça as credenciais SAP: solicite ao seu administrador SAP Nome de usuário de logon SAP e senha.
No campo Caminho do Cloud Storage da biblioteca JCo, insira o endereço de e-mail SAP caminho do conector Java (SAP JCo) no Cloud Storage que contém os arquivos da biblioteca SAP JCo que você enviou.
Gerar um esquema com base nos metadados do SAP que mapeiam Tipos de dados SAP para dados correspondentes do Cloud Data Fusion tipos, clique em Ver esquema. Para mais informações, consulte Mapeamentos de tipo de dados.
Opcional: para otimizar a carga de ingestão do SAP, insira nos seguintes campos:
Usar Opções de filtro permite extrair registros com base nas condições de seleção, como colunas com um conjunto definido de valores. Defina as condições na sintaxe do OpenSQL em uma cláusula
WHERE
. Por exemplo, esta consulta retorna todas as linhas da tabelaRoster
, em que o A colunaSchoolID
tem o valorSchoolID > 52
:SELECT * FROM Roster WHERE SchoolID > 52;
Para mais informações, consulte Filtros compatíveis.
No campo Número de linhas a buscar, é possível limitar os dados extraídos fornecendo um número inteiro positivo de linhas.
No campo Número de divisões, é possível criar partições diferentes para extrair registros de dados em paralelo, melhora o desempenho. O número de divisões pode afetar os processos de trabalho do SAP e precisa ser selecionado com cuidado.
No campo Package size, especifique o número de registros sejam extraídos em uma única chamada de rede SAP. O o tamanho do pacote afeta o desempenho e os recursos disponíveis e precisam ser selecionados com cuidado.
Conexão reutilizável
Para reutilizar uma conexão existente, siga estas etapas:
- Ative a opção Usar conexão.
- Clique em Procurar conexões.
Clique no nome da conexão.
Se não houver uma conexão, siga estas etapas para criar uma conexão reutilizável:
- Clique em Add Connection > SapTable.
- Na página Criar uma conexão SapTable que é aberta, insira nome e descrição da conexão.
- No campo Cliente SAP, insira o nome do cliente de um instância ou ambiente específico no SAP. Um administrador do SAP pode fornecer o nome do cliente.
- No campo Idioma SAP, digite um idioma de logon SAP. O padrão é EN (inglês).
Selecione um dos seguintes Tipos de conexão.
- Direto (via SAP Application Server). Se você escolher este tipo padrão, insira as informações no seguinte Campos: host do servidor de aplicativos SAP, sistema SAP número e roteador SAP.
- Carga balanceada (via SAP Message Server). Se você escolher desse tipo, insira as informações nos seguintes campos: Host do servidor de mensagens SAP, serviço de servidor de mensagens SAP ou número da porta, ID do sistema SAP (SID) e Logon SAP nome do grupo.
Forneça as credenciais SAP: solicite ao seu administrador SAP os valores de nome de usuário de logon SAP e senha
No campo Caminho do Cloud Storage da biblioteca JCo, insira o caminho do conector SAP Java (SAP JCo) no Cloud Storage que contém os arquivos da biblioteca SAP JCo que você enviou.
Opcional: em Outras propriedades de conexão do SAP, , insira os pares de chave-valor que devem substituir o campo SAP JCo padrão.
Clique em Criar.
- Insira um Rótulo para o nó da tabela SAP:
exemplo:
Propriedades
Propriedade | Macro ativada | Propriedade obrigatória | Descrição |
---|---|---|---|
Rótulo | Não | Sim | O nome do nó no pipeline de dados. |
Usar conexão | Não | Não | Use uma conexão reutilizável. Se uma conexão for usada, não será necessário fornecer as credenciais. Para mais informações, consulte Gerenciar conexões. |
Nome de referência | Não | Sim | Se a opção Usar conexão não estiver ativada, esse campo vai aparecer. O nome da conexão a ser usada para a linhagem. |
Nome | Não | Sim | Se a opção Usar conexão estiver ativada, este campo será exibido. O e o nome da conexão reutilizável. |
Cliente SAP | Sim | Sim | A instância ou o ambiente em um sistema SAP. |
Criar snapshot | Sim | Sim | Ative os snapshots de dados no SAP. Quando ativar snapshots:
Quando desativar snapshots: você está executando vários extrações de dados de grande volume em paralelo. Os snapshots usam tabelas de buffer SAP, o que pode levar a problemas de out of memory no SAP. Ativado
da extração de dados, no entanto, a tabela de buffer é limpa. |
Linguagem SAP | Sim | Sim | O idioma em que a interface do usuário e os dados do SAP são exibidos e processados. |
Tipo de conexão | Não | Sim | O tipo de conexão SAP: Direct ou Load equilibrado. |
Host do servidor de aplicativos SAP | Sim | Não | Apenas para o tipo de conexão Direta, este nome de host é do servidor de aplicativos SAP, que atua como uma camada de middleware entre Clientes SAP (como interface da Web SAP, navegadores da Web ou aplicativos para dispositivos móveis) e o banco de dados. |
Número do sistema SAP | Sim | Não | Apenas para o tipo de conexão Direta, esse número é o
identificador exclusivo atribuído a cada sistema SAP. Por exemplo,
00 . |
Roteador SAP | Sim | Não | Apenas para o tipo de conexão direta, este é o roteador para o servidor proxy, que fornece um canal seguro para comunicação entre sistemas SAP e clientes ou parceiros externos. |
Host do servidor de mensagens do SAP | Sim | Não | Apenas para o tipo de conexão Balanceamento de carga, este é o host, o que facilita o balanceamento de carga em vários servidores de aplicativos no SAP. |
Número da porta ou do serviço do servidor de mensagens SAP | Sim | Não | Para o tipo de conexão Balanced Load, essa é a porta de rede em que o SAP Message Server detecta conexões recebidas de clientes e servidores de aplicativos do SAP. |
ID do sistema SAP (SID) | Sim | Não | Apenas para o tipo de conexão Balanceamento de carga, este ID é atribuídos a cada sistema SAP. |
Nome do grupo de logon do SAP | Sim | Não | O nome do agrupamento lógico ou configuração de vários SAP
servidores de aplicativos. O padrão é PUBLIC . |
Nome da tabela/visualização do SAP | Sim | Sim | Um nome válido de tabela ou visualização que não diferencia maiúsculas de minúsculas extraídos. |
Nome de usuário de logon SAP | Sim | Sim | Nome de usuário para SAP Recomendado: se o nome de usuário mudar periodicamente, use uma macro. |
Senha de logon da SAP | Sim | Sim | Senha do SAP. Recomendado: use macros seguras. |
ID do projeto do GCP | Sim | Sim | ID do projeto do Google Cloud. |
Caminho do GCS da biblioteca SAP JCo | Sim | Sim | O caminho para o Cloud Storage em que você fez upload do SAP JCo arquivos de biblioteca. |
Receber esquema | N/A | N/A | O plug-in gera um esquema com base nos metadados do SAP, que mapeia os tipos de dados do SAP para os dados correspondentes do Cloud Data Fusion; tipos Consulte Mapeamento do tipo de dados. |
Outras propriedades de conexão SAP | Sim | Não | Defina outras propriedades do SAP JCo para substituir os padrões do SAP JCo.
Por exemplo, definir jco.destination.pool_capacity = 10
substitui a capacidade padrão do pool de conexões. |
Filtros | Sim | Não | Condições especificadas na sintaxe do OpenSQL que filtram usando uma cláusula WHERE do SQL. Extraia registros com base nas condições, como
aqueles em colunas com um conjunto definido de valores ou um intervalo de valores.
Para mais informações, consulte Compatível filtros. |
Número de linhas a serem buscadas | Sim | Não | Limita o número de registros extraídos.
|
Número de divisões a serem geradas | Sim | Não | Cria partições para extrair registros em paralelo. O mecanismo de ambiente de execução cria o número especificado de partições (e o conexões) ao extrair os registros. Tenha cuidado ao aumentar esse valor, pois ele aumenta o conexões simultâneas com o SAP. Recomendado: planeje ter conexões SAP para cada pipeline e o número total de pipelines em execução simultaneamente. Se o valor for 0 ou deixado em branco, o Cloud Data Fusion escolherá uma valor apropriado, com base no número de executores disponíveis, o registros a serem extraídos e o tamanho do pacote. |
Tamanho do pacote | Sim | Não | O número de registros a serem extraídos em uma única chamada de rede SAP. Está
o número de registros que o SAP armazena em buffer na memória durante cada rede
chamada de extração. Tenha cuidado ao definir essa propriedade. Vários pipelines de dados que extraem dados podem atingir o pico de uso de memória, causando falhas devido a erros Out of memory .
|
Filtros compatíveis
As condições de filtro a seguir são compatíveis.
Filtro que contém um operador de comparação
Use operadores de comparação para realizar uma filtragem mais complexa com base em comparações entre valores.
Sintaxe
SELECT * FROM table_name WHERE column_name > value; \ SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2;
Exemplo
AUDAT GT '20230914'
Filtro com um operador LIKE
Use operadores LIKE
para correspondência de padrões. Para corresponder a qualquer
caractere, use o símbolo %
como curinga.
Sintaxe
SELECT * FROM table_name WHERE column_name LIKE 'pattern%';
Exemplo
ERNAM LIKE 'KIRAN%'
Filtro com um operador IN
Use operadores IN
para especificar uma lista de valores a serem
comparados.
Sintaxe
SELECT * FROM table_name WHERE column_name \ IN ('value1', 'value2', 'value3');
Exemplo
ERNAM IN ( 'LEE' , 'KIRAN' )
Filtro que contém um operador lógico
Use operadores lógicos para especificar uma lista de valores a serem comparados.
Sintaxe
SELECT * FROM table_name WHERE condition1 AND condition2; \ SELECT * FROM table_name WHERE condition1 OR condition2; \ SELECT * FROM table_name WHERE NOT condition;
Exemplos
( AUDAT EQ '20220615' ) AND ( ERNAM LIKE 'LEE%' )
( AUDAT EQ '20220615' ) OR ( AUDAT EQ '20220617' )
Filtro que contém um período
Use períodos para recuperar linhas em que uma coluna de data e hora se enquadra em um período específico.
Sintaxe
SELECT * FROM table_name \ WHERE datetime_column >= 'start_date' AND datetime_column <= 'end_date';
Exemplo
AUDAT GE '20230910' AND AUDAT LE '20230914'
Filtro que contém uma comparação de datas
Use comparações de data para recuperar linhas em que data e hora é usada.
Sintaxe
SELECT * FROM table_name WHERE datetime_column > 'target_date';
Exemplo
AUDAT GE '20230910' AND AUDAT LE '20230914'
Data e hora de combinação do filtro
Se a coluna de data e hora incluir data e hora, é possível filtrar de maneira adequada.
Sintaxe
SELECT * FROM table_name \ WHERE datetime_column >= 'target_datetime' \ AND datetime_column <= 'target_datetime';
Exemplo
TIMESTAMP GE '20210602144800' AND TIMESTAMP LE '20210624080836'
(Formato da data e hora : AAAAMMDDHHMMSS)
Filtrar combinando várias condições com operadores lógicos
É possível recuperar linhas que atendam a várias condições usando
operadores, como AND
e OR
.
Sintaxe
SELECT * FROM table_name \ WHERE (column1 = 'value1' AND column2 > value2) \ OR (column3 = 'value3' AND column4 < value4);
Exemplo
( ERNAM EQ 'LEE' AND AUDAT GT '20220722' ) \ OR ( BSTNK EQ 'PO54321065' AND BSTDK LT '20220714' )
Filtrar combinando condições aninhadas
É possível combinar condições de maneira aninhada para criar filtros complexos.
Sintaxe
SELECT * FROM table_name \ WHERE (column1 = 'value1' OR (column2 = 'value2' AND column3 > value3)) \ AND column4 = 'value4';
Exemplo
( ERDAT EQ '20220722' OR ( ERNAM EQ 'LEE' AND VDATU GT '20210623' ) ) \ AND FMBDAT EQ '20220722'
Filtro que usa subconsultas
É possível usar subconsultas para filtrar com base nos resultados de outra consulta.
Sintaxe
SELECT * FROM table_name \ WHERE column1 IN (SELECT related_column FROM other_table WHERE condition);
Exemplo
VBELN IN ( SELECT VBELN FROM VBAK WHERE ERNAM = 'LEE' )
Filtrar combinando condições de data e valor
É possível combinar condições com base na data e no valor em um filtro.
Sintaxe
SELECT * FROM table_name \ WHERE (column1 = 'value1' OR column2 = 'value2') \ AND datetime_column > 'target_datetime';
Exemplo
( ERDAT EQ '20220722' OR ERNAM EQ 'LEE' ) AND VDATU GT '20210623'
Filtro que contém datas de formatação
No SAP, os campos de data e hora são sempre salvos sem -
ou
:
no nível do banco de dados.
Sintaxe
SELECT * FROM table_name \ WHERE datetime_column >= 'YYYY-MM-DD HH:MM:SS' \ AND datetime_column <= 'YYYY-M
Incompatível: filtro que contém funções e operadores de comparação
No SAP, as funções na cláusula WHERE da QUERY não são compatíveis.
Incompatível: filtro que contém intervalos
Em SAP, a função NOW()
não é compatível.
Sintaxe
SELECT * FROM table_name \ WHERE datetime_column >= NOW() - INTERVAL X DAY;
Incompatível: filtro que extrai componente de data
No SAP, a filtragem de deslocamento não é compatível.
Exemplo
WHERE YEAR+0(4) = 2023
Mapeamentos de tipo de dados
A tabela a seguir apresenta uma lista de tipos de dados SAP com Tipos do Cloud Data Fusion.
Tipo de dados do SAP | Tipo ABAP | SAP description | Tipo de dados do Cloud Data Fusion |
---|---|---|---|
INT1 (numérico) |
b | Inteiro de 1 byte | int |
INT2 (numérico) |
s | Inteiro de 2 bytes | int |
INT4 (numérico) |
i | Inteiro de 4 bytes | int |
INT8 (numérico) |
8 | Inteiro de 8 bytes | long |
DEC (numérico) |
p | Número no pacote no formato BCD (DEC) | decimal |
DF16_DEC , DF16_RAW (numérico) |
a | Ponto flutuante decimal 8 bytes IEEE 754r | double |
DF34_DEC , DF34_RAW (numérico) |
e | Ponto flutuante decimal de 16 bytes IEEE 754r | double |
FLTP (numérico) |
f | Número de ponto flutuante binário | double |
CHAR , LCHR (caractere) |
c | String de caracteres | string |
SSTRING , GEOM_EWKB (caractere) |
string | String de caracteres | string |
STRING (caractere) |
string | CLOB de string de caracteres | bytes |
NUMC , ACCP (caractere) |
n | Texto numérico | string |
RAW , LRAW (Byte) |
x | Dados binários | bytes |
RAWSTRING (byte) |
xstring | String de bytes BLOB | bytes |
DATS (data/hora) |
d | Data | data |
TIMS (data/hora) |
t | Hora | tempo |
TIMS (data/hora) |
utcl | (Utclong), TimeStamp | timestamp |
Casos de uso
Há suporte para dois contextos de extração:
- Tabelas e visualizações do banco de dados SAP
- CDS do SAP ABAP
Em cada um dos contextos, o plug-in SAP Table dá suporte a padrões e tabelas tabelas e visualizações de bancos de dados.
Limitações
O plug-in SAP Table tem as seguintes limitações:
- Não é possível mesclar tabelas.
- Ele não oferece suporte a visualizações do CDS com parâmetros.
- Não há suporte para o recurso sem campos de chave.
- Se o recurso de snapshots estiver ativado, usando um tamanho de pacote maior que 30.000 pode causar falhas em pipelines. Esse tamanho de pacote pode variar, dependendo número de colunas na tabela SAP. É possível calcular o tamanho ideal de um pacote para uma tabela usando esta fórmula: tamanho da linha (em número de caracteres) * 5.
- O Connection Manager permite procurar no máximo 1.000 nomes de tabelas SAP.
- Quando ocorre um erro no pipeline, como um erro no sink, o plug-in da tabela SAP
tenta limpar todos os processos ativos do lado do SAP relacionados à
extração chamando o RFM personalizado destinado à limpeza:
/GOOG/RFC_READ_TABLE_CLEANUP
.
Notas de lançamento
A seguir
- Saiba mais sobre Go no Google Cloud.