Dados e serviços

SAP Gateway

O SAP Gateway é o framework ABAP que expõe serviços OData de sistemas SAP como o SAP S/4HANA e o SAP ERP, tratando registro de serviços, roteamento, verificações de autorização e log de erros para os apps SAP Fiori. O SAP Gateway roda embutido (embedded) no sistema de back-end ou em um sistema hub separado, uma escolha de implantação com consequências operacionais duradouras.

Resumo

Tipo
Framework ABAP para serviços OData (componente de software SAP_GWFND)
Camada
Serviços e APIs
Opções de implantação
Embedded (recomendada para o SAP S/4HANA) ou hub
Transações principais
/IWFND/MAINT_SERVICE, /IWFND/V4_ADMIN, /IWFND/ERROR_LOG, /IWBEP/ERROR_LOG, /IWFND/GW_CLIENT
Quem trabalha com ele
Administradores Basis, desenvolvedores ABAP, equipes de suporte SAP Fiori
Aplica-se a
SAP S/4HANA on-premise e Private Edition, SAP ERP (ECC)
Camada: Serviços e APIsOnde se encaixa ▾
Onde se encaixa: L4 · Serviços e APIsCamada: Serviços e APIs.L1L2L3L4L5L6BTP

Camada: Serviços e APIs

Abrir o mapa de arquitetura →

Como funciona o SAP Gateway?

O SAP Gateway divide o processamento OData em um lado hub e um lado back-end, que podem rodar no mesmo sistema ou em dois sistemas:

  1. Um app SAP Fiori envia uma requisição OData para uma URL sob o caminho ICF dos serviços OData.
  2. O componente hub a recebe, verifica se o serviço está registrado e ativo e verifica a autorização de início do usuário para o serviço (objeto de autorização S_SERVICE).
  3. O hub usa o system alias do serviço para rotear a requisição ao back-end que o implementa — o mesmo sistema em uma configuração embedded, ou um back-end alcançado por uma conexão RFC em uma configuração hub.
  4. O componente de back-end executa a implementação do serviço: um RAP business object, lógica baseada em CDS ou as classes de um projeto SEGW.
  5. A resposta volta pelo mesmo caminho, e qualquer erro é gravado no log de erros do hub ou do back-end.

O SAP Gateway é, portanto, a camada de tráfego entre os apps SAP Fiori e a lógica de negócio ABAP, e não o lugar onde essa lógica reside.

Implantação embedded ou hub: qual escolher?

A SAP documenta duas opções de implantação para o SAP Gateway como parte do SAP Fiori front-end server:

Implantação embeddedImplantação hub
Onde os serviços são registradosNo próprio sistema de back-endEm um sistema hub separado
Conexão com o back-endLocal (system alias LOCAL)Conexão RFC mais system alias
Ciclo de vidaAtualizado junto com o SAP S/4HANAAtualizado no seu próprio calendário
Status no SAP S/4HANARecomendada para novas instalaçõesObsoleta (deprecated) para o SAP S/4HANA, deixará de existir (obsolete) em uma release posterior

A opção hub já ofereceu controle central sobre vários back-ends e um ciclo de upgrade separado para a camada de UI. Para o SAP S/4HANA, a SAP agora recomenda a implantação embedded e anunciou a descontinuação do hub standalone, que se tornará obsoleto em uma release futura, com um caminho de migração documentado de standalone para embedded. Landscapes que ainda atendem back-ends SAP ERP mais antigos a partir de um único hub precisam de um plano separado. Para um novo sistema SAP S/4HANA, a decisão de implantação do SAP Gateway já está, na prática, tomada: embedded.

Quais transações os administradores do SAP Gateway usam?

TarefaTransação
Registrar e ativar serviços OData V2, atribuir system aliases/IWFND/MAINT_SERVICE
Publicar e gerenciar grupos de serviços OData V4/IWFND/V4_ADMIN
Analisar erros do lado do hub/IWFND/ERROR_LOG
Analisar erros no back-end/IWBEP/ERROR_LOG
Enviar ou reexecutar requisições de teste/IWFND/GW_CLIENT
Rastrear payloads e desempenho de um usuário/IWFND/TRACES
Limpar o cache de metadados após alterações/IWFND/CACHE_CLEANUP e /IWBEP/CACHE_CLEANUP
Modelar e gerar serviços clássicosSEGW (SAP Gateway Service Builder)
Ativar nós ICF e verificar conexões RFCSICF e SM59

O prefixo /IWFND/ pertence ao componente hub e o prefixo /IWBEP/ ao componente de back-end; em uma implantação embedded, os dois conjuntos rodam no mesmo sistema. Saber a que lado uma transação pertence é a forma mais rápida de se orientar no SAP Gateway.

Onde o SAP Gateway se aplica nas edições do SAP S/4HANA e no SAP BTP?

  • SAP S/4HANA on-premise e Private Edition: os clientes ou seu parceiro de operação administram o SAP Gateway diretamente, com as transações acima.
  • SAP ERP (ECC): o SAP Gateway também atende apps SAP Fiori para o SAP ERP, muitas vezes a partir de um hub que também hospeda o SAP Fiori Launchpad. Os recursos dependem da release do SAP NetWeaver; a exposição OData V4, por exemplo, exige SAP NetWeaver 7.50 SP04 ou superior.
  • SAP S/4HANA Cloud Public Edition: as transações do SAP Gateway desta entrada são documentadas para sistemas on-premise e Private Edition; na Public Edition, as APIs são expostas a outros sistemas por meio de communication arrangements.
  • SAP BTP: os serviços do ABAP environment são publicados por meio de service bindings RAP e expostos a outros sistemas por meio de communication scenarios, e o CAP disponibiliza o OData por conta própria, então o trabalho acontece nessas ferramentas, e não nas transações do SAP Gateway.

O SAP Gateway é um tema de administração principalmente onde o cliente opera o stack ABAP.

Como diagnosticar um problema no SAP Gateway?

Quando um app SAP Fiori da Alder Manufacturing mostra "no data" ou um erro genérico, percorra as camadas em ordem:

  1. Encontre a requisição com falha. Nas ferramentas de desenvolvedor do navegador, localize a chamada OData (muitas vezes dentro de um $batch) e anote o status HTTP e a mensagem.
  2. 401 ou 403: verifique a autorização de início do usuário para o serviço com a SU53 e confirme que o nó ICF está ativo na SICF.
  3. 404 ou "service not found": verifique o registro do serviço e o system alias na /IWFND/MAINT_SERVICE, ou o grupo de serviços na /IWFND/V4_ADMIN.
  4. Erros 500: abra a /IWFND/ERROR_LOG e depois siga a entrada até a /IWBEP/ERROR_LOG para encontrar a causa no back-end.
  5. Comportamento inalterado após um transporte: limpe os caches de metadados dos dois lados.
  6. Reproduza a requisição na /IWFND/GW_CLIENT para descartar o app.

Uma queixa frequente nas comunidades de profissionais é o tempo perdido depurando código SAPUI5 quando a causa estava na configuração. Verificar o SAP Gateway camada por camada separa lacunas de registro e autorização de defeitos de código.

SAP Gateway vs. OData: qual é a diferença?

SAP GatewayOData
O que éFramework e runtime ABAPProtocolo aberto para acesso a dados via HTTP
Onde existeEm sistemas ABAP (SAP S/4HANA, SAP ERP)Em qualquer sistema que implemente o protocolo, inclusive o CAP no SAP BTP
Pergunta que respondeComo um sistema ABAP expõe e roteia um serviço?Como um cliente lê e altera os dados?
Falha típicaServiço não registrado, system alias errado, autorização de início ausenteQuery options malformadas, operação não suportada, incompatibilidade de versão

O OData define a conversa; o SAP Gateway é um dos runtimes que a falam para sistemas ABAP.

Perguntas frequentes

O SAP Gateway é o mesmo que o SAP NetWeaver Gateway?

Sim. SAP NetWeaver Gateway é o nome anterior do produto. A documentação atual da SAP descreve o framework como SAP Gateway Foundation, entregue no componente de software ABAP SAP_GWFND, que faz parte da plataforma ABAP sob o SAP S/4HANA.

O SAP S/4HANA ainda suporta um hub central do Gateway?

A SAP tornou obsoleta (deprecated) a opção de implantação hub do SAP Fiori front-end server para o SAP S/4HANA e recomenda a implantação embedded, com um caminho de migração documentado. Os landscapes hub existentes continuam funcionando por enquanto, mas devem planejar a mudança antes que a opção deixe de existir.

Os apps SAP Fiori precisam do SAP Gateway?

Os apps SAP Fiori que chamam serviços OData em um sistema ABAP como o SAP S/4HANA usam o SAP Gateway para alcançar esses serviços. Apps cujos serviços rodam no SAP BTP, por exemplo com CAP, não usam o runtime ABAP do Gateway.

O que é um system alias no SAP Gateway?

Um system alias indica ao SAP Gateway qual sistema de back-end processa um serviço registrado. Em uma implantação embedded, o alias normalmente aponta para o sistema local, enquanto em uma implantação hub aponta para um back-end alcançado por uma conexão RFC.

Por que um serviço OData ainda retorna metadados antigos após uma alteração?

O SAP Gateway mantém em cache os metadados do serviço nos lados hub e back-end. Após transportar alterações no modelo, os administradores limpam os dois caches com as transações de limpeza de cache, para que o app SAP Fiori receba os novos metadados na próxima requisição.

Fontes

Aplica-se a
SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP ERP (ECC)
Última revisão

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP e os demais produtos e serviços SAP mencionados são marcas comerciais ou marcas registradas da SAP SE (ou de uma empresa afiliada da SAP) na Alemanha e em outros países. Este guia é independente e não é afiliado, patrocinado nem endossado pela SAP SE.