¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Solução para erro do SAP ao executar ALV em segundo plano com contêiner de divisão

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

Olá a todos

Estou enfrentando um problema ao tentar executar em segundo plano um ALV que utiliza um contêiner de divisão. Quando executo este ALV em segundo plano, o SAP retorna um dump de erro com a mensagem

"Não é possível acessar utilizando uma referência de objeto 'NULL'" e o dump ocorreu no método:


     CALL METHOD v_o_splitter->get_container
        EXPORTING
          row       = v_lcont
          column    = 1
        RECEIVING
          container = x_o_contgrid-cont.
 

Estou usando o objeto cl_gui_splitter_container e o seguinte código para gerar o contêiner e dividi-lo.


* Criar instância para contêiner personalizado
  IF v_o_container IS INITIAL.

    CREATE OBJECT v_o_container
      EXPORTING
         container_name              = c_container
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        OTHERS                      = 6.

    IF sy-subrc <> 0.
      MESSAGE ID     sy-msgid
              TYPE   sy-msgty
              NUMBER sy-msgno
              WITH   sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.


*   Se ambos ALVs forem selecionados, um objeto de divisão deve ser criado.
    CREATE OBJECT v_o_splitter
           EXPORTING parent = v_o_container
                     rows = v_rows
                     columns = 1
    EXCEPTIONS
      cntl_error        = 1
      cntl_system_error = 2
      OTHERS            = 3.

    IF sy-subrc <> 0.
      MESSAGE ID     sy-msgid
              TYPE   sy-msgty
              NUMBER sy-msgno
              WITH   sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    
            
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Cargando...

Obrigado pela sua ajuda, Richa.

Cumprimentos,

Raúl.

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

Olá!

Quando o Marco de Controle é iniciado, o sistema verifica se a interface gráfica do usuário instalada suporta componentes de frontend como controles. Essa verificação falhou porque o programa está sendo executado em segundo plano.

Programas em segundo plano não podem acessar os controles no frontend. Nesse caso, o aplicativo deve incluir um plano de contingência que não dependa da interface do usuário.

Se você executar qualquer exemplo de controle padrão como RSDEMO_SPLITTER_CONTROL em segundo plano, obterá o mesmo erro.

Saudações,

Richa.

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?