BAPIS são Módulos de Funções Standard SAP que possuem infinitas utilizações. Cada BAPI possui uma função específica totalmente desenvolvida pela SAP.
É comum solicitarmos aos programadores ABAP para desenvolver determinado código / programa para desempenhar diversas funções, sem ao menos pesquisar se dentro do SAP já existe ou não uma função Standard que atenderia plenamente nossas necessidades sem termos que re-inventar a roda.
Dessa forma, é importante ressaltar que a Pesquisa e a Utilização de BAPIS são boas práticas antes de efetuar qualquer desenvolvimento.
BAPIS quando comparadas com Batch Input são infinitamente superiores pelos seguintes principais motivos:
- Não é necessário mapear todas as possíveis telas de erros e de avisos, assim como é feito no mapeamento do Batch Input
- Se algum erro ocorrer durante o processamento, o Sistema poderá pular para a próxima etapa de processamento e ao término exibir um relatório de erros standard
- BAPI costuma possuir uma velocidade de processamento superior quando comparado com Batch Input
Neste documento, serão apresentados os segredos para a perfeita utilização de BAPIS, a saber:
- Serão descritos os procedimentos para pesquisa e mapeamento dos Campos pertencentes a uma determinada BAPI
- Também será possível verificar como Testar um Módulo de Função (BAPI) antes mesmo de empregá-lo em um determinado Programa. Isso é muito vantajoso, pois é através dos testes que o usuário poderá criar sua Especificação Funcional
- Por fim, será apresentada uma especificação funcional bem simples com o mapeamento dos campos necessários para se fazer um Programa de Carga de Saldos Iniciais.
1.0 – Como pesquisar uma BAPI
No menu SAP, digitar a Tcode BAPI:
Digite ENTER.
O Sistema deverá exibir a seguinte tela:
Note que o menu lateral é muito parecido com o menu do SAP
Para localizar as BAPIS disponíveis em MM clique em “Administração de Materiais”:
Como exemplo, testaremos a BAPI de movimentação de mercadorias, portanto, abara Administração de Estoque:
Com isso, você localizou o nome da BAPI que faz o trabalho: BAPI_GOODSMVT_CREATE
A próxima etapa é conhecer quais campos deverão ser preenchidos para que a BAPI funcione.
Comece com o Cabeçalho:
Monte uma planilha em Excel com estes campos, assim ficará mais fácil para montar a especificação funcional.
2.0 – Testando e Mapeando uma BAPI
Depois de analisar todos os campos, você poderá testar a BAPI e ir mapeando aos poucos, então abra outra janela e execute a Tcode SE37:
Execute a BAPI (Pressione F8):.
A seguinte tela deverá ser exibida:
Agora vem a parte chata, mapear o funcionamento da BAPI.
Inicialmente, vamos preencher o Cabeçalho do Documento de Material a ser criado.
Clique em:
A seguinte imagem deverá ser exibida:
Para preencher a estrutura, escolha uma melhor visualização clicando em:
A seguinte imagem deverá ser exibida:
Preencha os campos da BAPI:
Clique em:
Clique em:
Próxima etapa é preencher o Goodsmvt_Code.
A lista abaixo são as possíveis opções:
1. GM_Code 01: Goods receipt for purchase order
2. GM_Code 02: Goods receipt for production order
3. GM_Code 03: Goods issue
4. GM_Code 04: Transfer posting
5. GM_Code 05: Other goods receipt
6. GM_Code 06: Reversal of goods movements
7. GM_Code 07: Subsequent adjustment with regard to a subcontract order
2. GM_Code 02: Goods receipt for production order
3. GM_Code 03: Goods issue
4. GM_Code 04: Transfer posting
5. GM_Code 05: Other goods receipt
6. GM_Code 06: Reversal of goods movements
7. GM_Code 07: Subsequent adjustment with regard to a subcontract order
No nosso caso, trata-se da opção 05:
Próxima etapa é preencher o Goods Moviment Item:
No caso, somente os seguintes campos foram preenchidos:
Analisando o Saldo em Estoque:
Nota-se que há saldo somente no Centro F001.
Uma vez que os dados foram preenchidos, é possível salvar o teste para futuras consultas. Clique em:
Indique um nome do teste para constar no diretório de teste
Para verificar os dados em futuras necessidades, clique em:
Ok, agora é possível executar a BAPI:
Pressionando F8
O sistema exibe o Resultado:
Verifique o Resultado em:
O Sistema criou um documento de material 49….3821.
Se o usuário checar a MB03
Receberá o seguinte erro:
Simples, a BAPI funcionou perfeitamente, porém, faltou o COMMIT.
3.0 – Efetuando uma Sequência de Teste
O que deve ser feito então ?
SE37:
Indicar uma sequência de Testes (BAPI + COMMIT)
Clique em:
O seguinte resultado deverá ser exibido:
Clique em:
Duplo clique em:
A imagem será exibida:
F8
Note que o Sistema gerou outro documento de material
A seguinte tela deverá ser exibida:
Pressione F8 para executar a próxima BAPI (COMMIT)
Note que não houve erro no retorno.
Vá para Transação MB03, note que o Sistema apresenta o número do Documento Gerado:
Ao digitar ENTER, nota-se que desta vez o Documento foi realmente criado:
Na transação MMBE:
Nota-se que agora há saldo no Centro E002 Empresa SN01.
Este exemplo é bem simples para entender o funcionamento de BAPI.
Faça seu próprio teste com outros movimentos, ou com entrada de mercadoria via Pedido de Compras (é claro que é um pouco mais complexo).
4.0 – Criando uma Especificação Funcional Simples
Agora que você já tem uma boa noção de como localizar e mapear uma BAPI, vamos agora verificar como criar uma Especificação Funcional da Carga Inicial de SALDOS via planilha em Excel, utilizando uma BAPI.
O objetivo é fazer com que o Programa SAP leia e interprete uma Planilha elaborada em Excel, coletando os campos necessários para que a BAPI Funcione.
A BAPI utilizada nesta Especificação Funcional é a mesma utilizada nos tópicos anteriores.
Especificação Funcional
Detalhamento
Titulo: | Programa de Carga de Saldos Iniciais |
Módulo: | MM – Materials Management |
Responsável Funcional: | Natan Cavalcanti |
ID: | N/A |
Tipo: | Conversão – CATT |
Tarefa: | Novo |
Complexidade: | Baixa |
Prioridade: | Alta |
Cópia de Standard: | N/A |
Descrição Breve: Programa de Conversão responsável pela Carga de Saldos Iniciais |
1 – Descrição do Processo |
Será desenvolvido um programa de conversão para efetuar Cargas de Saldos Iniciais no Estoque.
Deverá ser utilizada uma planilha em Excel como origem de dados.
2 – Requisitos de Segurança |
Nenhum
3 – Fluxo do Processo |
Criação de Planilha com dados de Saldos Iniciais de Estoque (provenientes de inventário inicial da Empresa / Centro) à Dados são importados pelo programa de conversão à Dados são transferidos para BAPI_BAPI_GOODSMVT_CREATE à Saldos de Materiais são atualizados de acordo com as Planilhas fornecidas.
4 – Tela de Seleção |
Na tela de seleção o usuário deverá indicar o nome e o local de origem do arquivo a ser lido pelo programa de conversão.
5 – Relatórios e Formulários (SapScript) – Layout |
Nenhum
6 – Interfaces e Conversões – Input/Output Arquivo Layout |
O Arquivo de Entrada deverá ser salvo em CSV (origem poderá ser em Excel).
A seguir o layout do arquivo de entrada (aqui será apresentada no formato vertical, considerar que cada linha é na verdade uma coluna):
GOODSMVT_HEADER
| |||
Parâmetro | Descrição | Valor | Origem |
PSTNG_DATE | Data Atual do Sistema | Variável | Planilha |
DOC_DATE | Data Atual do Sistema | Variável | Planilha |
HEADER_TXT | Texto de Cabeçalho | Variável | Planilha |
GOODSMVT_CODE
| |||
Parâmetro | Descrição | Valor | Origem |
GM_CODE | Código de Transação | 05 | Fixo |
GOODSMVT_ITEM
| |||
Parâmetro | Descrição | Valor | Origem |
MATERIAL | Código de Material | Variável | Planilha |
PLANT | Centro | Variável | Planilha |
STGE_LOC | Depósito | Variável | Planilha |
BATCH | Lote | Variável | Planilha |
PROD_DATE | Data de Produção | Variável | Planilha |
MOVE_TYPE | Tipo de Movimento | 561 | Valor Fixo |
ENTRY_QNT | Quantidade | Variável | Planilha |
7 – Interfaces e Conversões Tipo de Processo (BI, Call Transaction, BAPI, IDOC) |
N/A
8 – Interfaces e Conversões (Inbound) – SHDB |
N/A
9 – Interfaces e Conversões – Erros |
N/A
10 – On-Lines – Layout de Telas |
N/A
11 – Dados para Testes |
Para testes, utilizar os seguintes dados para efetuar Cargas de Saldos Iniciais:
Atenciosamente,Leonardo Rocha
(Fone: (11) 95382-2691
Linkedin: http://br.linkedin.com/in/leonardosousarocha
Nenhum comentário:
Postar um comentário
Informações de contato
Nome:
E-mail:
Telefone: