Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como extrair dados de um sistema SAP ABAP?


Você tem várias opções para fazer isso.

Se você estiver executando o SAP BW, existem muitas ferramentas padrão para ajudá-lo a fazer extrações e automatizar os processos.

Caso contrário, você pode escrever um programa ABAP simples (tipo 1) para ler dados de tabelas e colocá-los em um arquivo simples.

Caso contrário, você pode escrever um módulo de função habilitado remoto (RFC) e chamá-lo usando a biblioteca RFC do SAP.

Você também pode envolver sua função RFC com um serviço da Web e chamá-la via SOAP/HTTP.

Por fim, se você tiver acesso ao banco de dados, poderá até escrever um script para extrair os dados necessários.

Um exemplo simples de um programa para extrair algo de uma tabela de banco de dados:
report ZEXTRACT_EXAMPLE.

data: lt_t001 type table of t001.
data: ls_t001 type t001.
data: lv_filename type string value '/tmp/outfile.txt'.

select * from t001 into table lt_t001.

open dataset lv_filename for output in text mode encoding default.

loop at lt_t001 into ls_t001.
  transfer ls_t001-bukrs to lv_filename.
endloop.

close dataset lv_filename.

Isso é realmente primitivo, mas você entendeu. Ele seleciona dados de uma tabela de banco de dados em uma tabela interna (na memória) e os grava em um arquivo chamado /tmp/outfile.txt no servidor, de onde você pode buscá-lo. (Você teria que alterar a saída para estar no formato necessário).

Você pode então agendar seu programa com o SM36 para ser executado periodicamente como um trabalho em segundo plano.