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.
