0% found this document useful (0 votes)
22 views4 pages

Ejemplo de ALV Orientado A Objetos

This document describes an object-oriented ALV (list view control) in ABAP. It defines local classes to handle events from the ALV grid. It also defines data objects for the ALV grid, layout, and field catalog. The main ALV screen is displayed and populated with data from a database table after setting the layout and handling events. Users can navigate away from the screen using commands.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views4 pages

Ejemplo de ALV Orientado A Objetos

This document describes an object-oriented ALV (list view control) in ABAP. It defines local classes to handle events from the ALV grid. It also defines data objects for the ALV grid, layout, and field catalog. The main ALV screen is displayed and populated with data from a database table after setting the layout and handling events. Users can navigate away from the screen using commands.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

EJEMPLO DE ALV ORIENTADO A OBJETOS

Pantalla Contenedora de ALV

Código del Dympro contenedor del ALV

PROCESS BEFORE OUTPUT.


MODULE STATUS_0100.

PROCESS AFTER INPUT.


MODULE USER_COMMAND_0100.

Objetos Del Programa


REPORT ZPRACT_ALVOO .
*Declaración de Datos
TABLES: BKPF.
TYPE-POOLS SLIS.
DATA: BEGIN OF IT_BKPF OCCURS 0.
INCLUDE STRUCTURE BKPF.
DATA: END OF IT_BKPF.

****************************************************************
* LOCAL CLASSES: Definition
****************************************************************
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
* Hotspot click control
HANDLE_HOTSPOT_CLICK
FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID E_COLUMN_ID,
* Double-click control
HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN.
PRIVATE SECTION.
ENDCLASS.
****************************************************************
* LOCAL CLASSES: Implementation
****************************************************************
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_HOTSPOT_CLICK.
* PERFORM HANDLE_HOTSPOT_CLICK USING E_ROW_ID E_COLUMN_ID.
ENDMETHOD.
METHOD HANDLE_DOUBLE_CLICK.
* PERFORM HANDLE_DOUBLE_CLICK USING E_ROW E_COLUMN.
ENDMETHOD. "handle_double_click
ENDCLASS.

DATA: G_CONTAINER_LIST TYPE SCRFNAME VALUE 'GRID_LIST',


GRID_LIST TYPE REF TO CL_GUI_ALV_GRID,
G_CUSTOM_CONTAINER_LIST TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GS_LAYOUT_LIST TYPE LVC_S_LAYO,
GS_LAYOUT TYPE LVC_S_LAYO,
GT_FIELDCAT TYPE LVC_T_FCAT,
EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER,
EVENT_RECEIVER_PLLA TYPE REF TO LCL_EVENT_RECEIVER,
GT_T_ROW_LIST TYPE LVC_T_ROW,
L_T_ROW_LIST TYPE LVC_T_ROW WITH HEADER LINE,
GT_FIELDCAT_LIST TYPE LVC_T_FCAT,
WA_FIELDCAT_LIST LIKE LINE OF GT_FIELDCAT.

*Pantalla de Selección
SELECTION-SCREEN BEGIN OF BLOCK BL01 WITH FRAME TITLE TEXT-S01.
PARAMETER: P_BUKRS LIKE BKPF-BUKRS,
P_GJAHR LIKE BKPF-GJAHR.
SELECTION-SCREEN END OF BLOCK BL01.
*Proceso Principal
START-OF-SELECTION.
SELECT * INTO TABLE IT_BKPF FROM BKPF
WHERE BUKRS EQ P_BUKRS
AND GJAHR EQ P_GJAHR.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'M0600'. " Menú
SET TITLEBAR 'T0600'. " Título

GS_LAYOUT_LIST-SEL_MODE = 'A'.
GS_LAYOUT_LIST-EXCP_ROLLN = 'IT_BUKRS'.
GS_LAYOUT_LIST-NUMC_TOTAL = 'X'.
GS_LAYOUT_LIST-GRID_TITLE = 'MI Primer ALV OO'.

IF G_CUSTOM_CONTAINER_LIST IS INITIAL.
CREATE OBJECT G_CUSTOM_CONTAINER_LIST
EXPORTING CONTAINER_NAME = G_CONTAINER_LIST.
CREATE OBJECT GRID_LIST
EXPORTING I_PARENT = G_CUSTOM_CONTAINER_LIST.
* Llena Datos del ALV
PERFORM ESTABLECER_LAYOUT_600.
PERFORM CARGAR_GRID_LIST.
* Llamado de Eventos
CREATE OBJECT EVENT_RECEIVER.
SET HANDLER EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GRID_LIST.
ENDIF.
* Ingresa datos en Custom-Control
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS EXPORTING CONTROL = GRID_LIST.
ENDMODULE. " STATUS_0100 OUTPUT

*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'. SET SCREEN 0. LEAVE SCREEN.
WHEN 'LEAV'. SET SCREEN 0. LEAVE SCREEN.
WHEN 'CANC'. SET SCREEN 0. LEAVE SCREEN.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT

*&---------------------------------------------------------------------*
*& Form ESTABLECER_LAYOUT_600
*&---------------------------------------------------------------------*
FORM ESTABLECER_LAYOUT_600.
FREE GT_FIELDCAT_LIST.
CLEAR: WA_FIELDCAT_LIST,GT_FIELDCAT_LIST.
**Campo 1**
WA_FIELDCAT_LIST-FIELDNAME = 'BUKRS'.
WA_FIELDCAT_LIST-TABNAME = 'IT_BKPF'.
WA_FIELDCAT_LIST-COLTEXT = 'Sociedad'.
WA_FIELDCAT_LIST-OUTPUTLEN = 10.
WA_FIELDCAT_LIST-COL_POS = '1'.
WA_FIELDCAT_LIST-FIX_COLUMN = 'X'.
APPEND WA_FIELDCAT_LIST TO GT_FIELDCAT_LIST.
**Campo 2**
WA_FIELDCAT_LIST-FIELDNAME = 'BELNR'.
WA_FIELDCAT_LIST-TABNAME = 'IT_BKPF'.
WA_FIELDCAT_LIST-COLTEXT = 'Documento'.
WA_FIELDCAT_LIST-OUTPUTLEN = 10 .
WA_FIELDCAT_LIST-COL_POS = '2'.
WA_FIELDCAT_LIST-FIX_COLUMN = 'X'.
APPEND WA_FIELDCAT_LIST TO GT_FIELDCAT_LIST.
**Campo 3**
WA_FIELDCAT_LIST-FIELDNAME = 'GJAHR'.
WA_FIELDCAT_LIST-TABNAME = 'IT_BKPF'.
WA_FIELDCAT_LIST-COLTEXT = 'Año'.
WA_FIELDCAT_LIST-OUTPUTLEN = 4 .
WA_FIELDCAT_LIST-COL_POS = '3'.
APPEND WA_FIELDCAT_LIST TO GT_FIELDCAT_LIST.
ENDFORM. " ESTABLECER_LAYOUT_600

*&---------------------------------------------------------------------*
*& Form CARGAR_GRID_LIST
*&---------------------------------------------------------------------*
FORM CARGAR_GRID_LIST.
CALL METHOD GRID_LIST->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING I_STRUCTURE_NAME = 'IT_BKPF'
IS_LAYOUT = GS_LAYOUT_LIST
CHANGING
IT_OUTTAB = IT_BKPF[]
IT_FIELDCATALOG = GT_FIELDCAT_LIST.
ENDFORM. " CARGAR_GRID_LIST

Opciones de la pantalla principal del ALV Orientado a Objetos GS_LAYOUT_LIST

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy