¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo utilizar el parámetro I_callback_pf_status_set en REUSE_ALV_LIST_DISPLAY: Ejemplo simple y explicación detallada.

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

Quiero usar el parámetro I_callback_pf_status_set en REUSE_ALV_LIST_DISPLAY. ¿Cómo puedo usarlo? ¿Alguien puede darme un ejemplo simple?

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

4 Respuestas

0
Cargando...

Hola,

Echa un vistazo a lo siguiente

TYPE-POOLS: SLIS.

TYPES: BEGIN OF I_MARA,

MATNR LIKE MARA-MATNR,

MTART LIKE MARA-MTART,

MEINS LIKE MARA-MEINS,

GROES LIKE MARA-GROES,

VOLUM LIKE MARA-VOLUM,

END OF I_MARA.

DATA: IT_MARA TYPE STANDARD TABLE OF I_MARA INITIAL SIZE 0.

DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,

REPID TYPE SY-REPID,

GD_LAYOUT TYPE SLIS_LAYOUT_ALV.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

PERFORM BLD_FLDCAT.

PERFORM BLD_LAYOUT.

PERFORM DISPLAY_ALV_REPORT.

FORM BLD_FLDCAT.

FLDCAT-FIELDNAME = 'MATNR'.

FLDCAT-SELTEXT_M = 'NÚMERO DE MATERIAL'.

FLDCAT-COL_POS = 0.

FLDCAT-KEY = 'X'.

APPEND FLDCAT TO FLDCAT.

CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'MTART'.

FLDCAT-SELTEXT_M = 'TIPO DE MATERIAL'.

FLDCAT-COL_POS = 1.

FLDCAT-KEY = 'X'.

APPEND FLDCAT TO FLDCAT.

CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'MEINS'.

FLDCAT-SELTEXT_M = 'UNIDAD DE MEDIDA'.

FLDCAT-COL_POS = 2.

APPEND FLDCAT TO FLDCAT.

CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'GROES'.

FLDCAT-SELTEXT_M = 'TAMAÑO'.

FLDCAT-COL_POS = 3.

FLDCAT-KEY = 'X'.

APPEND FLDCAT TO FLDCAT.

CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'VOLUM'.

FLDCAT-SELTEXT_M = 'VOLUMEN'.

FLDCAT-COL_POS = 4.

APPEND FLDCAT TO FLDCAT.

CLEAR FLDCAT.

ENDFORM.

FORM BLD_LAYOUT.

GD_LAYOUT-NO_INPUT = 'X'.

GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

GD_LAYOUT-ZEBRA = 'X'.

GD_LAYOUT-WINDOW_TITLEBAR = 'GRID DISPLAY'.

ENDFORM.

FORM DISPLAY_ALV_REPORT.

REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPID

I_CALLBACK_PF_STATUS_SET = 'STANDARD'

I_CALLBACK_USER_COMMAND = 'USER-COMMAND'

I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

IS_LAYOUT = GD_LAYOUT

IT_FIELDCAT = FLDCAT[]

I_SAVE = 'X'

TABLES

T_OUTTAB = IT_MARA

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

FORM DATA_RETRIEVAL.

SELECT MATNR MTART MEINS GROES VOLUM

INTO TABLE IT_MARA FROM MARA

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

Hola Suresh,

Los eventos pueden pasar a ALV Fm de dos maneras. Ya sea directamente o construyendo una tabla interna para eventos. En ambos casos, tenemos que declarar una rutina para los eventos. En ese evento, declara set pf-status 'XXX'. Prepara ese menú en el pintor.

Saludos,

Kumar.

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

Prueba este código:

*&---------------------------------------------------------------------*
        *&      Form  ALV_REPORT_DISPLAY_LIST
        *&---------------------------------------------------------------------*
        * Función para mostrar los datos finales de la tabla interna en la cuadrícula ALV
        *----------------------------------------------------------------------*
        *  -->  i_OUTTAB    (Tabla interna final)
        *----------------------------------------------------------------------*
        form alv_report_display_list  using i_outtab type standard table.

        * Función para mostrar la lista ALV usando la tabla interna de salida final
        call function 'REUSE_ALV_LIST_DISPLAY'
        exporting
        i_callback_program       = sy-repid
        i_callback_pf_status_set = 'ZSTATUS'
        i_callback_user_command  = gv_usr_cmd
        is_layout                = gs_layout
        it_fieldcat              = gt_fieldcat
        it_excluding             = gt_excl
        it_special_groups        = gt_spl_grps
        it_sort                  = gt_sort
        it_filter                = gt_filter
        i_default                = 'X'
        i_save                   = 'U'
        is_variant               = gs_variant
        it_events                = gt_events
        it_event_exit            = gt_event_exit
        is_print                 = gs_print
        tables
        t_outtab                 = i_outtab
        exceptions
        program_error            = 1
        others                   = 2.
        if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
        with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.

        endform.                    " alv_report_display_list

        *&---------------------------------------------------------------------*
        *&      Form  zstatus
        *&---------------------------------------------------------------------*
        *      Set PF
        *----------------------------------------------------------------------*

        form zstatus using extab type slis_t_extab.                 "#EC CALLED
        set pf-status 'ZSTAT'.
        refresh extab[].
        endform.                    " zstatus

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?