Introdução à entrada em lote
A entrada em lote é normalmente usada para transferir dados de sistemas não R / 3 para sistemas R / 3 ou para transferir dados entre sistemas R / 3.
É uma técnica de transferência de dados que permite transferir conjuntos de dados automaticamente para telas pertencentes a transações e, portanto, para um sistema SAP. O batch input é controlado por uma pasta batch input.
Neste tutorial, você aprenderá:
- Introdução à entrada em lote
- Métodos de entrada em lote
- Procedimentos de entrada em lote
- Escrevendo programa BDC
- Criando Sessão Batch Input
- Batch Input Recorder
- O BDI funciona realizando transações SAP normais da mesma forma que um usuário faria, mas executa a transação automaticamente. Todas as validações de tela e validação da lógica de negócios serão feitas durante o uso da entrada de dados em lote.
- É adequado para inserir uma grande quantidade de dados.
- Nenhuma interação manual é necessária
Métodos de entrada em lote
O SAP fornece dois métodos básicos para transferir dados legados para o sistema R / 3.
- Método clássico de entrada em lote.
- Método de transação de chamada.
Método clássico de batch input
Neste método, um programa ABAP / 4 lê os dados externos para o sistema SAP e os armazena em uma sessão batch input.
Depois de criar a sessão, você pode executá-la para executar a transação SAP nela.
Este método usa os módulos de função BDC_ OPEN, BDC_INSERT e BDC_CLOSE
A sessão de entrada em lote pode ser processada de 3 maneiras
- Em primeiro plano
- No fundo
- Durante o processamento, com exibição de erro
Você deve processar sessões batch input em primeiro plano ou usando a exibição de erro se quiser testar a transferência de dados.
Se você deseja executar a transferência de dados ou testar seu desempenho, deve processar as sessões em segundo plano.
Pontos a serem observados sobre o método clássico de entrada em lote
- Processamento síncrono
- Transfira dados para várias transações.
- Atualização síncrona do banco de dados.
- Um log do processo de batch input é gerado para cada sessão.
- A sessão não pode ser gerada em paralelo.
Método de transação de chamada.
Neste método, o programa ABAP / 4 usa a instrução CALL TRANSACTION USING para executar uma transação SAP.
Todo o processo de entrada em lote ocorre online no programa
Pontos a serem observados:
- Processamento de dados mais rápido
- Processamento assíncrono
- Transfira dados para uma única transação.
- Nenhum log de processamento de batch input é gerado.
Procedimentos de entrada em lote
Você normalmente observará a seguinte sequência de etapas para desenvolver o Batch Input para sua organização
- Análise dos dados legados. Determine como os dados a serem transferidos devem ser mapeados na Estrutura SAP. Observe também as conversões de tipo de dados ou comprimento de dados necessárias.
- Gere estruturas de dados SAP para uso em programas de exportação.
- Exporte os dados para um arquivo sequencial. Observe que o formato de caractere é exigido por programas de entrada em lote SAP predefinidos.
- Se os programas BDC fornecidos pela SAP não forem usados, codifique seu próprio programa de batch input. Escolha um método de batch input apropriado de acordo com a situação.
- Processe os dados e adicione-os ao sistema SAP.
- Analise o log do processo. Para o método CALL TRANSACTION, onde nenhum log apropriado é criado, use as mensagens coletadas por seu programa.
- A partir dos resultados da análise do processo, corrija e reprocesse os dados errados.
Escrevendo programa BDC
Você pode observar o seguinte processo para escrever seu programa BDC
- Analise a (s) transação (ões) para processar os dados de entrada do lote.
- Decida o método de entrada em lote a ser usado.
- Ler dados de um arquivo sequencial
- Execute a conversão de dados ou verificação de erros.
- Armazenamento dos dados na estrutura de batch input, BDCDATA.
- Gere uma sessão batch input para batch input clássico ou processe os dados diretamente com a instrução CALL TRANSACTION USING.
Lote de entrada Estrutura Dados
Declaração de estrutura de dados de entrada lote
DADOS: BEGIN OFOCCURS .INCLUA ESTRUTURA BDCDATA.DADOS: FIM DE .
Nome do campo | Modelo | Comprimento | Descrição |
---|---|---|---|
PROGRAMA | CARACTERES | 8 | Pool de módulos |
DYNPRO | NUMC | 4 | Número Dynpro |
DYNBEGIN | CARACTERES | 1 | Iniciando uma dynpro |
FNAM | CARACTERES | 35 | Nome do campo |
FVAL | CARACTERES | 80 | Valor do campo |
A ordem dos campos nos dados para uma tela em particular não é significativa.
Pontos a serem observados
- Ao preencher os Dados BDC, certifique-se de levar em consideração as configurações do usuário. Isso é especialmente relevante para preencher campos que envolvem números (como quantidade, valor). É a configuração do usuário que decide qual é o caractere de agrupamento para os números. Ex: Um número cinquenta mil pode ser escrito como 50.000,00 ou 50.000,00 com base na configuração do usuário.
- Condense o campo FVAL para os campos de quantidade e quantidade de modo que fiquem alinhados à esquerda.
- Observe que todos os campos que você está preenchendo por meio do BDC devem ser tratados como campos de tipo de caractere ao preencher a tabela de dados do BDC.
- Em algumas telas, ao preencher valores em um controle de tabela usando BDC, você deve observar quantas linhas estão presentes em um tamanho padrão da tela e codificar para tantas linhas. Se você tiver que preencher mais linhas, terá que codificar para a funcionalidade "Page down" como faria ao preencher o controle de tabela manualmente.
- O número de linhas que apareceriam no cenário acima será diferente com base no tamanho da tela que o usuário usa. Portanto, sempre codifique o tamanho de tela padrão e faça com que seu BDC funcione sempre no tamanho de tela padrão, independentemente de como o usuário mantém seu tamanho de tela.
Criando Sessão Batch Input
- Abra a sessão de batch input usando o módulo de função BDC_OPEN_GROUP.
- Para cada transação na sessão:
- Preencha o BDCDATA com os valores de todas as telas e campos processados na transação.
- Transfira a transação para a sessão com BDC_INSERT.
- Feche a sessão de batch input com BDC_CLOSE_GROUP
Batch Input Recorder
O gravador de batch input (Sistema> Serviços> Batch input> Registrador) registra as transações que são inseridas manualmente e cria uma sessão de batch input que pode ser executada posteriormente usando SM35.
- Inicie o registrador de batch input selecionando o botão de gravação na tela inicial de batch input.
- O nome da gravação é um nome definido pelo usuário e pode corresponder ao nome da sessão de batch input que pode ser criado a partir da gravação.
- Insira uma transação SAP e comece a lançar a transação.
- Depois de concluir o lançamento de uma transação SAP, você pode selecionar Obter transação e salvar para encerrar a gravação ou Próxima transação e lançar outra transação.
- Depois de salvar a gravação, você pode criar uma sessão de batch input a partir da gravação e / ou gerar um programa de batch input a partir da gravação.
- A pasta batch input que você criou agora pode ser analisada como qualquer outra pasta batch input.
- O programa gerado pela função do gravador de batch input é uma ferramenta poderosa para o programador de interface de dados. Ele fornece uma base sólida que pode ser alterada de acordo com as necessidades do cliente.