?
Atualizações
2023-08-08
Colegas, obrigado pelos comentários. De acordo com nossa discussão, poderíamos simplificar ainda mais este guia usando uma implementação RAP gerenciada com um "não gerenciado". A solução não requer mais um buffer de espaço de trabalho personalizado, mas utiliza a implementação padrão do RAP.
Introdução
Nos últimos meses, temos recebido frequentemente a pergunta sobre como envolver os BAPIs do SAP S/4HANA para uso em cenários de ponta a ponta, por exemplo, a partir do Modelo de Programação de Aplicações em Nuvem da SAP (CAP).
Existem várias maneiras de fazer isso em termos técnicos, basicamente habilitando o módulo para ser chamado via HTTPS. Mas a interface esmagadora levou apenas a reuniões após reuniões para esclarecer o propósito dos campos dos quais 90% não são necessários para o caso de uso empresarial.
Para evitar isso, concebemos a abordagem de modelar fachadas no Modelo de Programação Restful de ABAP (RAP) que reduzem a superfície da API ao mínimo e são divididas de acordo com o princípio da necessidade de saber. Os especialistas funcionais no sistema empresarial SAP S/4HANA poderiam facilmente dizer qual entrada esperar do usuário final/consumidor. Todo o resto estava oculto na fachada do RAP.
Este é um guia de "como fazer" do início ao fim com trechos de código focados nas principais características necessárias para alcançar isso.
-
Modelagem + implementação do RAP
-
Chamando o BAPI
-
Tratamento de erros
-
Testes em ABAP + POSTMAN
-
Observações sobre o tratamento de transações
Créditos
Esta publicação é baseada em "
Usando BAPIs em RAP
" e foi escrita com o apoio de
marcel.hermanns
e
renzo.colle
. Muito obrigado pelas ideias.
Caso de Uso de Exemplo
Este é um caso de uso real de um pagamento de incentivos/bônus para gerentes usado nos ciclos de revisão de desempenho.
Os gerentes só querem especificar o valor e o funcionário para quem é destinado.
Os especialistas financeiros nos bastidores sabem que precisam criar uma contabilização financeira com débito no fundo de dinheiro de benefícios corporativos e crédito em uma conta de pagamento de funcionário.
Resumo da Solução
Resumo da Solução
Modelo de Entidade
O pagamento de bônus é modelado da forma mais simples possível sobre o documento de contabilidade padrão da SAP.
A estrutura do item de um documento de contabilidade é oculta ao utilizar uma projeção de item principal única.
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'RAP Facade: Bonus Payment main item'
@Metadata.ignorePropagatedAnnotations: true
define view entity ZDemo_BonusPaymentItem
as select from I_OperationalAcctgDocItem
association [1] to I_OperationalAcctgDocItem as _AcctDocItem on _AcctDocItem.CompanyCode = $projection.CompanyCode
and _AcctDocItem.FiscalYear = $projection.FiscalYear
and _AcctDocItem.AccountingDocument =