Pular para o conteúdo
Moovi — página inicial
SAP → ABAP

Trabalhando com Requests ABAP

Por Gabriel Dias2 min de leitura

Introdução

O gerenciamento de requests no SAP é uma atividade essencial para a administração e transporte de objetos entre diferentes ambientes do sistema. Neste artigo, vamos explorar como buscar, criar, inserir objetos, liberar e transportar requests utilizando tabelas e BAPIs do SAP.

1. Buscando Requests

Antes de manipular requests, é necessário consultá-los nas tabelas do SAP. As principais tabelas utilizadas são:

  • E070: Contém informações gerais sobre os requests.
  • E07T: Contém descrição dos requests.
  • E071: Lista os objetos incluídos nos requests.

Para buscar um request específico, pode-se utilizar a seguinte query:

SELECT * FROM E070 WHERE TRKORR = '<ID_REQUEST>';

Se precisar da descrição do request:

SELECT * FROM E07T WHERE TRKORR = '<ID_REQUEST>';

Para listar os objetos contidos em um request:

SELECT * FROM E071 WHERE TRKORR = '<ID_REQUEST>';

Exemplo de um Select Completo:

SELECT SINGLE e7~trkorr,
               e7t~as4text,
               e7~trstatus,
               e7~trfunction
          FROM e070 AS e7
    INNER JOIN e07t AS e7t ON e7t~trkorr = e7~trkorr
         WHERE e7~trkorr = @lv_rquest
          INTO @DATA(ls_request).

2. Criando um Request

Para criar um request manualmente via BAPI, utilizamos a TR_INSERT_REQUEST_WITH_TASKS. A chamada da BAPI pode ser feita conforme o exemplo abaixo:

DATA: ls_header TYPE trwbo_request_header.
 
CALL FUNCTION 'TR_INSERT_REQUEST_WITH_TASKS'
  EXPORTING
    iv_type            = '<TIPO REQUEST>'
    iv_text            = '<TEXTO REQUEST>'
    iv_owner           = sy-uname
    iv_target          = '<ROTA TRANSPORTE>'
  IMPORTING
    es_request_header  = ls_header
  EXCEPTIONS
    OTHERS             = 1.

3. Inserindo Objetos no Request

Depois de criar um request, precisamos adicionar objetos a ele. Para isso, utilizamos a TR_REQUEST_CHOICE.

CALL FUNCTION 'TR_REQUEST_CHOICE'
  EXPORTING
    iv_suppress_dialog = 'X'
    iv_request         = '<ID REQUEST>'
    iv_request_types   = '<TIPO REQUEST>'
    it_e071            = '<LISTA OBJETOS E071>'
    it_e071k           = '<LISTA OBJETOS E071K>'
  EXCEPTIONS
    OTHERS             = 1.

4. Liberando um Request

A liberação de requests é feita através da BAPI TR_RELEASE_REQUEST.

Lembre-se de que se tiver tasks, tem que liberá-las

CALL FUNCTION 'TR_RELEASE_REQUEST'
  EXPORTING
    iv_trkorr           = '<ID REQUEST>'
    iv_dialog           = ''
    iv_without_locking  = 'X'
  EXCEPTIONS
    OTHERS              = 1.

5. Transportando um Request

Depois de liberado, o request pode ser transportado para outro ambiente usando a TMS_MGR_IMPORT_TR_REQUEST:

CALL FUNCTION 'TMS_MGR_IMPORT_TR_REQUEST'
  EXPORTING
    iv_system   = '<SISTEMA DESTINO>'
    iv_request  = '<ID REQUEST>'
  EXCEPTIONS
    OTHERS      = 1.

Conclusão

Com essas BAPIs, conseguimos gerenciar requests manualmente no SAP, desde a busca até a liberação e transporte. Isso é útil para automatizar processos, garantir rastreabilidade e facilitar a gestão de objetos transportáveis dentro do sistema.

Ao utilizar esses comandos, é importante garantir que os objetos e requests estejam corretamente organizados e aprovados, evitando inconsistências entre ambientes.

Caso precise de mais personalizações, é possível combinar essas BAPIs com outras funções do SAP para otimizar a gestão de transportes.

Todos os artigos

Aprenda na prática

Do artigo ao projeto entregue

Os cursos da Moovi têm ambiente SAP de prática e acompanham você do primeiro passo à especialização.

Conhecer os cursos
Fale no WhatsApp