¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo codificar el nombre de la empresa y extraer datos del área de ventas antes de visualizar una cuadrícula ALV sin usar un programa de módulo

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

Hola amigos,

Tengo que escribir un informe que muestre resultados en forma de cuadrícula ALV. Ya lo he hecho y todo parece estar bien. El problema es que antes de la visualización de la cuadrícula en la misma pantalla, debo codificar el nombre de la empresa y extraer datos del área de ventas desde la pantalla de selección.

Intenté usar el comando write para esto, pero cuando ejecuto el programa, solo muestra la visualización de la cuadrícula y cuando hago clic en retroceder, muestra el resultado codificado en una pantalla diferente.

No quiero usar un programa de módulo para esto.

¿Cómo se puede hacer esto?

Shejal.

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

4 Respuestas

0
Cargando...

Prueba esto

Tienes el parámetro de opción callback_top_of_page, donde debes proporcionar el nombre del formulario que contiene el código.

I_CALLBACK_TOP_OF_PAGE = top_of_page.

form top_of_page.

DATA: lt_alv_head TYPE slis_t_listheader.

DATA: lv_title TYPE sy-title.

DATA: lx_alh TYPE slis_listheader.

lv_title = sy-title.

*--- Nombre de la empresa

lx_alh-typ = 'H'. " H = Encabezado, S = Selección, A = Acción

lx_alh-key = 'código de empresa'.

lx_alh-info = s_compnycode.

APPEND lx_alh TO lt_alv_head.

*--- Título del informe

lx_alh-typ = 'S'.

lx_alh-key = 'NOMBRE DEL TÍTULO: '(013).

lx_alh-info = lv_title.

APPEND lx_alh TO lt_alv_head.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = lt_alv_head.

endform.

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

hi

use the code like this

data : i_list_top_of_page

TYPE slis_t_listheader.

  • Build comments that will show up in the top of page event

PERFORM comment_build CHANGING i_list_top_of_page.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = l_repid

is_layout = l_layout_wa

it_fieldcat = l_i_fcat

it_excluding = l_i_exclude

i_save = c_global_and_user

is_variant = disvariant_wa

it_events = l_i_events

TABLES

t_outtab = i_alv.

----


  • FORM comment_build *

----


  • This routine build the comments that show up in the top of *

  • page event *

----


  • <-- PT_TOP_OF_PAGE Comments *

----


FORM comment_build

CHANGING

p_i_top_of_page

TYPE slis_t_listheader.

DATA:

l_avg TYPE p DECIMALS 2.

  • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *

CLEAR list_wa.

list_wa-typ = 'S'.

list_wa-key = 'Total Invoices:'(006).

list_wa-info(20) = g_cnt_invoices.

APPEND list_wa TO p_i_top_of_page.

list_wa-key = 'Req. Buyer Message:'(007).

list_wa-info(20) = g_cnt_reqd_bm.

APPEND list_wa TO p_i_top_of_page.

list_wa-key = 'Avg Days to Resolve:'(008).

IF g_cnt_resolved > 0.

l_avg = g_cnt_days / g_cnt_resolved.

ENDIF.

list_wa-info(20) = l_avg.

APPEND list_wa TO p_i_top_of_page.

ENDFORM. "comment_build

----


  • FORM event_top_of_page *

----


  • This routine displays the comments at the top of the page. *

  • It is triggered by the TOP_OF_PAGE event. *

----


FORM event_top_of_page.

IF cl_gui_alv_grid=>offline( ) IS INITIAL.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = i_list_top_of_page.

ELSE.

FORMAT INTENSIFIED ON.

CALL FUNCTION 'Z_REPORT_HEADER'.

FORMAT INTENSIFIED OFF.

SKIP.

ENDIF.

ENDFORM. "event_top_of_page

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

No deberías hacerlo usando la instrucción WRITE.

Si estás utilizando la función REUSE para mostrar la cuadrícula, llama a REUSE_ALV_COMMENTARY_WRITE y pasa lo que quieras mostrar.

Eso se verá bien.

Si estás trabajando con clases, entonces consulta el siguiente hilo que discute en detalle.

Saludos

Ravi

Mensaje editado por:

Ravikumar Allampallam

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

prueba esto

tienes el parámetro de opción callback_top_of_page donde debes dar el nombre del formulario que contiene el código

I_CALLBACK_TOP_OF_PAGE = top_of_page.

formulario top_of_page.

DATA: lt_alv_head TYPE slis_t_listheader.

DATA: lv_title TYPE sy-title.

DATA: lx_alh TYPE slis_listheader.

lv_title = sy-title.

*--- Nombre de la empresa

lx_alh-typ = 'H'. " H = Encabezado, S = Selección, A = Acción

lx_alh-key = 'código de empresa'.

lx_alh-info = s_compnycode.

APPEND lx_alh TO lt_alv_head.

*--- Título del informe

lx_alh-typ = 'S'.

lx_alh-key = 'NOMBRE DEL TÍTULO: '(013).

lx_alh-info = lv_title.

APPEND lx_alh TO lt_alv_head.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = lt_alv_head.

endform.

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?