quarta-feira, 27 de novembro de 2013

Executando BAPI pela SE37 - Gravando ordem de venda, pedido de compra, etc....

Executar uma função na SE37, basta colocar a função e testar.
Em alguns casos como nas bapi's de criação de ordem de venda (BAPI_SALESORDER_CREATEFROMDAT1) , pedido de compra (BAPI_PO_CREATE), etc. quando vc executa em modo de teste normal, a BAPI é executada inclusive gera o número da BAPI executada, só que se vc entrar na transação como ME23N para visualizar um pedido de compra, um erro é gerado falando que o pedido não foi criado.

Para solucionar esse problema, vc deve montar uma sequência de teste com o nome da BAPI + a BAPI - BAPI_TRANSACTION_COMMIT

Como no exemplo abaixo.
Depois de executar a transação SE37 - ir no menu "Módulo de função"-> Testar->Sequencia de teste
- Vai aparecer a tela abaixo para colocar a sequência do teste
- No meu caso a BAPI_PO_CREATE e depois coloquei a BAPI_TRANSACTION_COMMIT
- Clica em executar
- Depois vai entrar na tela para preencher os parâmetros da BAPI, ou vc pega os dados do diretório de testes e executa a bapi. Depois de gerado quando vc clicar no botão voltar(BACK-F3) automaticamente a bapi em sequência (no caso a BAPI_TRANSACTION_COMMIT) será executado, e é só executar novamente que vai salvar no caso o número do pedido de compra, se consultar na ME23N vai aparecer o pedido com os parâmetros criados.

- OBSERVAÇÃO: Executar dessa forma em sequência quando tiver testado somente a bapi com os parâmetros com sucesso, pois quando vc executa em sequência independente se der erro ou não quando vc voltar a tela (F3) a segunda função será executada e nesse modo não dá para salvar no diretório de teste. Então a dica é como nesse exemplo, execute somente a BAPI_PO_CREATE, e teste-a até que gere o número do pedido sem erro, e depois execute em sequência para salvar no banco de dados.

Nenhum comentário:

Postar um comentário