¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como executar uma transação a partir de código ABAP: Guia para chamar a ME24 (Manter Ordem de Compra)

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 13 Vistas
0
Cargando...

Olá a todos,

Como posso executar uma transação a partir do meu código ABAP?

Por exemplo, através do meu código ABAP, quero chamar a transação ME24 (Manter Ordem de Compra).

Obrigado pela ajuda,

Roy

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá

Espero que isso seja útil.

CHAMADA DE TRANSAÇÃO

Sobre a CHAMADA DE TRANSAÇÃO

Uma técnica semelhante ao método de SESSÃO, enquanto a entrada em lote é um procedimento de dois passos, a Chamada de Transação executa ambos os passos em linha, um após o outro. Neste método, você chama uma transação do seu programa através de

Chamar a transação <tcode> usando <BDCTAB>

Modo <A/N/E>

Atualização <S/A>

Mensagens em <MSGTAB>.

O parâmetro 1 é o código da transação.

O parâmetro 2 é o nome da tabela BDCTAB.

O parâmetro 3 aqui você está especificando o modo como executa a transação

A é o modo de tela cheia. Todas as telas da transação são exibidas.

N é o modo sem tela. Nenhuma tela é exibida ao executar a transação.

E é tela de erro. Apenas as telas em que você tem um registro de erro são exibidas.

O parâmetro 4 aqui você está especificando o tipo de atualização com o qual a tabela do banco de dados é atualizada.

S é para atualização síncrona, onde se você alterar dados de uma tabela, todas as tabelas relacionadas são atualizadas. E é retornado sy-subrc, ou seja, sy-subrc é retornado uma vez e para todos.

A é para atualização assíncrona. Quando você altera dados de uma tabela, sy-subrc é retornado. E então a atualização das outras tabelas afetadas é realizada. Portanto, se o sistema não puder atualizar outras tabelas, sy-subrc ainda é retornado como 0 (ou seja, quando a primeira tabela é atualizada).

O parâmetro 5, ao atualizar a tabela do banco de dados, a operação é bem-sucedida, falha, ou bem-sucedida com algum aviso. Essas mensagens são armazenadas em uma tabela interna, que você especifica junto com a declaração de MENSAGEM. Esta tabela interna deve ser declarada como BDCMSGCOLL, uma estrutura disponível em ABAP/4. Ela contém os seguintes campos:

1. Tcode: Código da transação

2. Dyname: Nome do módulo de ponto de lote

3. Dynumb: Número Dyn de entrada em lote

4. Msgtyp: Tipo de mensagem de entrada em lote (A/E/W/I/S)

5. Msgspra: Idioma de entrada em lote, id da mensagem

6. Msgid: Id da mensagem

7. MsgvN: Variáveis de mensagem (N = 1 - 4)

Para cada entrada atualizada na tabela do banco de dados, a mensagem está disponível em BDCMSGCOLL. Como BDCMSGCOLL é uma estrutura, você deve declarar uma tabela interna que possa conter vários registros (ao contrário de uma estrutura).

Passos para o método de CHAMADA DE TRANSAÇÃO

1. Tabela interna para os dados (estrutura semelhante ao seu arquivo local)

2. BDCTAB como BDCDATA

3. Função UPLOAD ou WS_UPLOAD para carregar os dados do arquivo local para a tabela interna. (Considerando que o arquivo é local)

4. Loop na tabela interna.

Preencher a tabela BDCTAB.

Chamar a transação <tcode> usando <BDCTAB>

Modo <A/N/E>

Atualização <S/A>.

Atualizar BDCTAB.

Endloop.
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Roy,

CHAMADA DE TRANSAÇÃO 'ME24'

...

Você pode obter mais informações em Saphelp

ec

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Utilize a transação CALL TRANSACTION <tcode>.

Por exemplo, CALL TRANSACTION ME24N.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Use CALL TRANSACTION <tcode>.

Por exemplo, CALL TRANSACTION ME24N.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?