¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como refletir alterações na tabela Z no CDHDR: Guia passo a passo com módulo de função e transação SCDO.

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

Olá a todos,

Tenho uma tabela Z na qual altero os valores da chave primária através de um programa Z. O campo de identificação do objeto na tabela CDHDR é uma combinação dos campos chave da minha tabela Z. Fiz algumas alterações nos valores desses campos chave nesta tabela Z. No entanto, não vejo essas alterações refletidas na CDHDR. Criei um documento de alteração para a tabela Z através da transação SCDO e também gerei um módulo de função. Mas não tenho certeza de onde inserir esse módulo de função e como proceder para encontrar o valor na CDHDR.

Por favor, ajudem-me.

Obrigada.

Vineeta

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

3 Respuestas

0
Cargando...

Olá Vineeta,

Para atualizar a tabela CDHDR com um campo Z, localize o elemento de dados desse campo Z na tabela. No elemento de dados, há uma flag chamada 'Documento de Mudança', marque a flag.

Agora, toda vez que você alterar o valor desse campo Z, ele será refletido na CDHDR.

Espero que isso resolva o problema.

Saudações

Krishnendu

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

A seguinte função de módulo é usada para extrair valores da tabela CDHDR.

*---------------------------------------------------------------------*
*             Form  GET_CHANGEDOCUMENT_HEADER
*---------------------------------------------------------------------*
*              Descrição :
*                            Obter dados do cabeçalho do documento de alteração
*---------------------------------------------------------------------*
*             -->P_I_T_CDHDR       Cabeçalho do documento de alteração
*             -->P_I_S_VBAK_VBELN  Pedido
*---------------------------------------------------------------------*

form get_changedocument.

* Obter dados do cabeçalho do documento de alteração
  clear g_objectclass.
  g_objectclass = c_verkbeleg.          " CLASSE DO OBJETO: 'VERKBELEG'
  g_objectid    = is_vbak_vbap-vbeln.   " ID DO OBJETO    : Pedido de venda atual

  call function 'CHANGEDOCUMENT_READ'
    exporting
      objectclass                = g_objectclass
      objectid                   = g_objectid
    tables
      editpos                    = i_cdpos
    exceptions
      no_position_found          = 1
      wrong_access_to_archive    = 2
      time_zone_conversion_error = 3
      others                     = 4.
* Se registros CDHDR forem retornados
  if sy-subrc eq 0.
* Ordenar pelo número de alteração mais recente
    sort i_cdpos by changenr descending.
  endif.

endform.                    " GET_CHANGEDOCUMENT_HEADER

Mas eu realmente não acredito que a tabela esteja registrando alterações feitas em qualquer objeto Z. De qualquer forma, tente.

Recompensa se for útil,

Obrigado,

Rahul

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

Olá Vineeta,

Para atualizar a tabela CDHDR com um campo Z, localize o elemento de dados desse campo Z na tabela. No elemento de dados, há uma flag chamada 'Documento de Mudança', marque a flag.

Agora, toda vez que você alterar o valor desse campo Z, ele será refletido na CDHDR.

Espero que isso resolva o problema.

Saudações,

Krishnendu

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?