Olá,
Existem 5 etapas diferentes na BAPI.
Criar Estrutura BAPI
Criar Módulo de Função BAPI ou Método de API.
Criar objeto BAPI
Liberar Módulo de Função BAPI.
Liberar objeto BAPI.
Etapa 1. Criando Estrutura BAPI:
Vá para <SE11>.
Selecione Tipo de Dados e Insira um nome.
Clique em Criar.
Observação: Sempre a BAPI deve estar em uma classe de desenvolvimento com número de solicitação (Não Objeto Local).
Selecione Estrutura e pressione ENTER.
Insira os campos do seu banco de dados. Certifique-se de que o primeiro campo é o Campo Chave Primária.
Em seguida, SALVE e ATIVE.
Etapa 2. Criando módulo BAPI:
Insira TR.CODE <SE37>.
Antes de inserir qualquer coisa, na tela atual em que você está, selecione o menu
Ir para -> Grupos de Funções -> Criar Grupo.
Insira um nome (Observação: Este nome deve começar com ZBAPI)
Deixe esta tela como está e abra outra janela e, lá, insira TR.CODE <SE80).
Clique no Terceiro ÍCONE que diz Objetos Inativos.
Selecione o grupo que você acabou de criar e clique em Ativar.
Note que o grupo que você criou desaparecerá da lista de objetos inativos.
Volte para a tela <SE37> e insira um nome e pressione <ENTER>. Em seguida, insira o nome do grupo que você acabou de criar e ativar.
OBSERVAÇÃO: Quando você libera um módulo de função, o grupo respectivo será anexado a essa aplicação específica.
Não pode ser usado para nenhuma outra aplicação. NUNCA inclua um grupo já existente que esteja anexado a outro módulo.
Agora clique na primeira guia que diz ATRIBUTOS e selecione o botão de opção que diz módulo habilitado remotamente desde
que iremos acessar isso de qualquer sistema externo.
Em seguida, clique na segunda guia que diz IMPORTAR.
Insira um NOME DO PARÂMETRO, TIPO e a estrutura que você criou na primeira etapa. Também selecione a caixa de seleção 'Paí.
Todos os módulos funcionais habilitados remotamente DEVEM ser habilitados para Pa, onde Pa significa 'Passado por Valor' e se você não selecionar 'Pa',
então isso significa que será passado por referência.
Em seguida, clique na guia que diz EXPORTAR.
Insira o seguinte como está nos três primeiros campos
TIPO DE RETORNO BAPIRETURN (Estes 3 valores de campo são sempre os mesmos)
Aqui também selecione 'Pa' significando Passar por valor.
Observação: BAPIRETURN contém estrutura com campos de mensagem.
Em seguida, SALVE e ATIVE.
Etapa 3. Criando objeto BAPI:
Insira Tr.Code <SWO1> (Observação. É a letra 'O' e não Zero).
Insira um nome e clique em criar. Insira os detalhes.
OBSERVAÇÃO: Certifique-se de que o Tipo de Objeto e o nome do Programa são OS MESMOS.
Insira Aplicação 'M', se estiver usando a tabela padrão Mara. Se estiver usando seu próprio banco de dados, selecione 'Z' na parte inferior.
Em seguida, pressione <ENTER>.
Agora temos que adicionar 'Métodos'. Destaque MÉTODOS e selecione o seguinte no menu:
Ir para Utilitários -> Métodos de API -> Adicionar Métodos.
Insira o nome do Módulo de Função e pressione <ENTER>.
Selecione o segundo botão de SETA PARA A FRENTE (>) para ir para o próximo passo.
Verifique se tudo parece ok e clique novamente na SETA PARA A FRENTE (>).
Em seguida, selecione 'SIM' e clique em <SALVAR>.
Agora em uma tela diferente vá para TR.CODE <SE37>. Insira o nome do Módulo de Função e selecione no menu superior Módulo de Função -> Liberar -> Liberar.
Volte para TR.CODE <SWO1>.
Aqui selecione a combinação de menu mostrada abaixo na mesma ordem.
Editar -> Alterar Status de Liberação -> Componente de Tipo de Objeto -> Para Implementado.
Editar -> Alterar Status de Liberação -> Componente de Tipo de Objeto -> Para Liberado.
Editar -> Alterar Status de Liberação -> Tipo de Objeto -> Para Implementado.
Editar -> Alterar Status de Liberação -> Tipo de Objeto -> Para Liberado.
Em seguida, clique em <SALVAR>.
Em seguida, clique no Botão Gerar (4º botão da esquerda que se parece com uma roda giratória).
Em seguida, clique no botão que diz 'PROGRAMA' para ver o código fonte.
Para verificar se isso está presente no fluxo de trabalho, vá para TR.CODE <BAPI>.
Aqui ele mostra o repositório de objetos de negócios.