cancel
Showing results for 
Search instead for 
Did you mean: 

Monitor Logístico - View Z não é exibida a partir do segundo acesso

Former Member
0 Kudos

Olá,

Tenho um componente WebDynpro Z utilizado para ampliar o monitor logístico de NF-e Inbound (Componente ?XNFE?NFE_LOG_WORKPLACE, montado nos moldes do exposto no documento . O código foi alterado para trazer uma estrutura Z, ao invés da estrutura INBOUND_DELIVERY_STY.

Este componente Web Dynpro é acessado ao clicar no botão Executar Etapa do Processo ->Preparar Registro EM. Na primeira vez em que as informações da remessa inbound são exibidas, o funcionamento está correto. Se eu voltar para a tela anterior e tentar executar novamente este passo, independente de ser a mesma remessa ou não, o componente Z (uma tabela editável com alguns dados dos itens da remessa) não é mais exibido. Se a página do navegador for atualizada com F5, e tabela aparece novamente, mas só na primeira vez que a página for acessada.

Analisando em debug, vejo que o componente é carregado novamente, como esperado, mas não é exibido. Tentei simular um refresh automático usando exit plugs, mas não funcionou (acho que por se tratar de um componente dentro de um outro componente principal).

Imagino que dentro do standard, alguma referência ao componente Z é perdida e por isso ele não é exibido a partir do segundo acesso.

Como é possível fazer com que o componente continue sendo exibido, depois da primeira visualização?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Olá, Ricardo e Patrícia,

Consegui um workaround para esse problema, mas só com uso de enhancement implícito:

Na classe /XNFE/CL_WD_NFE_ACT_PREP_POS, no método Navigate_back, existe um trecho que deleta a referência ao componente Z. Como o método que cria o componente é o WDDOINIT do comp. WebDynpro /XNFE/NFE_ACTION_PREP_POS, e esse método só é chamado no primeiro acesso à tela da etapa de Preparar Registro EM, o componente nunca mais é instanciado. O enhancement evita que a remoção do componente ocorra.

Segue abaixo a transcrição do enhancement no começo do código, seguido pelo código do método NAVIGATE_BACK, a título de contexto:

Eduardo Chagas, muito obrigado pelo apoio, de qualquer forma!

  1. method navigate_back.
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1) Classe /XNFE/CL_WD_NFE_ACT_PREP_POS, Método NAVIGATE_BACK, Início                                                                                 A
    *$*$-Start: (1)---------------------------------------------------------------------------------$*$*
    enhancement z_wd_nfe_inbound.    "active version
    rv_allowed
    = super->navigate_back( io_context ).
    if rv_allowed = abap_true.
    if me->has_custom_ui( ) = abap_true.
    exit.
    endif.
    endif.
    endenhancement.
    *$*$-End:   (1)---------------------------------------------------------------------------------$*$*

    data:
    lo_component_usage
    type ref to if_wd_component_usage,
    ls_component_usage
    type wdapi_component_usage.


    rv_allowed
    = super->navigate_back( io_context ).
    if rv_allowed = abap_true.
    if me->has_custom_ui( ) = abap_true.
    me
    ->mo_custom_usage->delete_component( ).
    endif.

    clear:
    me
    ->mo_custom_usage,
    me
    ->mv_component,
    me
    ->mv_component_window,
    me
    ->mv_component_plug,
    me
    ->mv_custom_ui_checked.
    endif.

    endmethod.


Atenciosamente,

Renée Andrey Barbosa Zemczak

former_member349889
Participant
0 Kudos

Bom dia Renée

É com imensa gratidão que digo: OBRIGADA!!!  Pessoas iguais a ti, que colaboram, favorecem o nosso mundo de desenvolvedores..... sucesso!!!

Segui a sua recomendação: enhancement implícito e obtive sucesso, resolveu meu problema!

Obrigada e um ótimo final de semana pra ti.

Abraços

Patrícia.

Answers (5)

Answers (5)

former_member203887
Active Participant
0 Kudos

A SAP liberou uma SAP Note para correção standard desse problema

2130183 - Custom UI for Logistic Workplace not loaded in second call

Espero que seja útil para vocês.


Abraços,

Vinícius Ferrari

Former Member
0 Kudos

Legal, Vinícius!

Obrigado pela informação!

Abraços,

Renée

0 Kudos

Renée,

Muito obrigado pela resposta, funcionou muito bem! Parabéns!

Att.,

Ricardo F. Maran

former_member349889
Participant
0 Kudos

Boa tarde Renée,

Estou enfrentando o mesmo problema e até agora não encontrei uma solução, você resolveu, se sim, ficaria muito grata se você pudesse me passar.

Obrigada

Patricia

Former Member
0 Kudos

Olá Volker Vogelmann!

Talvez você possa ajudar.

grato

Eduardo Chagas

0 Kudos

Boa tarde Renée,

Estou com o mesmo problema que você enfrentou. Você conseguiu resolver?