Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Alv iterativo
1. REPORT ZJOMS_ALVINTERATIVO.
TABLES: BKPF.
TYPES: BEGIN OF TY_BKPF,
BUKRS TYPE BKPF-BUKRS,
GJAHR TYPE BKPF-GJAHR,
BELNR TYPE BKPF-BELNR,
MONAT TYPE BKPF-MONAT,
XBLNR TYPE BKPF-XBLNR,
BKTXT TYPE BKPF-BKTXT,
KURS2 TYPE BKPF-KURS2,
END OF TY_BKPF.
DATA: T_BKPF TYPE STANDARD TABLE OF TY_BKPF.
* DECLARACION DE DATOS
*DATA: V_BUKRS TYPE BKPF-BUKRS,
* V_GJAHR TYPE BKPF-GJAHR,
* V_BELNR TYPE BKPF-BELNR.
* DECLARAR LA CLASE
CLASS GCL_EVENT DEFINITION.
PUBLIC SECTION.
* Metodo double click
METHODS:
HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN ES_ROW_NO.
ENDCLASS. "gcl_event DEFINITION
CLASS GCL_EVENT IMPLEMENTATION.
* Implementacion del metodo doble click
METHOD HANDLE_DOUBLE_CLICK.
DATA: LTD_READ TYPE STANDARD TABLE OF TY_BKPF.
DATA: LWA_READ TYPE TY_BKPF.
READ TABLE T_BKPF INDEX E_ROW-INDEX INTO LWA_READ.
FIELD-SYMBOLS : <FV_P> LIKE LINE OF T_BKPF.
READ TABLE T_BKPF ASSIGNING <FV_P> INDEX E_ROW.
SET PARAMETER ID 'BLN' FIELD <FV_P>-BELNR.
SET PARAMETER ID 'BUK' FIELD <FV_P>-BUKRS.
SET PARAMETER ID 'GJR' FIELD <FV_P>-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDMETHOD. "handle_double_click
ENDCLASS. "gcl_event IMPLEMENTATION
* DECLARACION DE TABLAS INTERNAS
DATA: GO_EVENT TYPE REF TO GCL_EVENT,
GO_CL_ALVGRID TYPE REF TO CL_GUI_ALV_GRID,
GO_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
2. GTD_FIELDCAT TYPE LVC_T_FCAT,
GST_LAYOUT TYPE LVC_S_LAYO.
* SELECCION PARA LA CONSULTA
SELECTION-SCREEN BEGIN OF BLOCK BLOQUE1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_BUKRS FOR BKPF-BUKRS.
SELECT-OPTIONS: S_GJAHR FOR BKPF-GJAHR.
PARAMETERS: P_MONAT LIKE BKPF-MONAT.
SELECTION-SCREEN END OF BLOCK BLOQUE1.
* START-OPF-SELECTION.
START-OF-SELECTION.
PERFORM CARGAR_DATOS.
CALL SCREEN '0100'.
END-OF-SELECTION.
* FORM CARGAR_DATOS
FORM CARGAR_DATOS.
SELECT BUKRS GJAHR BELNR MONAT XBLNR BKTXT KURS2 INTO TABLE T_BKPF
FROM BKPF
WHERE BUKRS IN S_BUKRS AND GJAHR IN S_GJAHR.
ENDFORM. "CARGAR_DATOS
*------------------------------------------------------------
FORM CREAR_ALVGRID .
IF GO_CONTAINER IS INITIAL.
CREATE OBJECT GO_CONTAINER
EXPORTING
CONTAINER_NAME = 'CONTENEDOR'
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
OTHERS = 5.
IF SY-SUBRC EQ 0.
CREATE OBJECT GO_CL_ALVGRID
EXPORTING
I_PARENT = GO_CONTAINER.
* Invocar a los metodos del objeto go_cl_alvgrid.
CALL METHOD GO_CL_ALVGRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CALL METHOD GO_CL_ALVGRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.
CALL METHOD GO_CL_ALVGRID->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 1.
PERFORM GENERA_CATALOGO CHANGING GTD_FIELDCAT.
4. GS_CAMPOCAT-TABNAME = 'TI_BKPF'.
GS_CAMPOCAT-FIELDNAME = 'XBLNR'.
GS_CAMPOCAT-REPTEXT = 'Num.Doc.Ref.'.
GS_CAMPOCAT-COL_POS = 5.
GS_CAMPOCAT-OUTPUTLEN = 12.
APPEND GS_CAMPOCAT TO PO_FIELDCAT.
CLEAR GS_CAMPOCAT.
GS_CAMPOCAT-TABNAME = 'TI_BKPF'.
GS_CAMPOCAT-FIELDNAME = 'BKTXT'.
GS_CAMPOCAT-REPTEXT = 'TextoCabec.Doc.'.
GS_CAMPOCAT-COL_POS = 6.
GS_CAMPOCAT-OUTPUTLEN = 20.
APPEND GS_CAMPOCAT TO PO_FIELDCAT.
CLEAR GS_CAMPOCAT.
GS_CAMPOCAT-TABNAME = 'TI_BKPF'.
GS_CAMPOCAT-FIELDNAME = 'KURS2'.
GS_CAMPOCAT-REPTEXT = 'T.CambioMon.Loc.'.
GS_CAMPOCAT-COL_POS = 7.
GS_CAMPOCAT-OUTPUTLEN = 12.
APPEND GS_CAMPOCAT TO PO_FIELDCAT.
ENDFORM. "genera_catalogo
FORM GENERA_LAYOUT CHANGING PO_LAYOUT TYPE LVC_S_LAYO.
PO_LAYOUT-GRID_TITLE = 'Resultado de la Consulta'.
* po_layout-no_toolbar = 'X'.
ENDFORM. "genera_layout
FORM SET_CAT USING PI_LOG PI_FIELD PI_TEXTO PI_LONG PI_EDIT PI_CHECKBO
X
CHANGING PO_FIELDCAT TYPE LVC_T_FCAT.
DATA: LWA_FIELDCAT TYPE LVC_S_FCAT.
LWA_FIELDCAT-TABNAME = PI_LOG.
LWA_FIELDCAT-FIELDNAME = PI_FIELD.
LWA_FIELDCAT-EDIT = PI_EDIT.
LWA_FIELDCAT-CHECKBOX = PI_CHECKBOX.
LWA_FIELDCAT-COLTEXT = PI_TEXTO.
LWA_FIELDCAT-SELTEXT = PI_TEXTO.
LWA_FIELDCAT-REPTEXT = PI_TEXTO.
LWA_FIELDCAT-OUTPUTLEN = PI_LONG.
APPEND LWA_FIELDCAT TO PO_FIELDCAT.
ENDFORM. "set_cat
MODULE STATUS_0100 OUTPUT.
PERFORM CREAR_ALVGRID.
**********************************************************************
SET PF-STATUS '0100'.
5. SET TITLEBAR '0100'.
ENDMODULE. "STATUS_0100 OUTPUT
MODULE USER_COMMAND_0100 INPUT.
DATA: OK_CODE TYPE SY-UCOMM.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
SET SCREEN 0.
LEAVE SCREEN.
CLEAR SY-UCOMM.
ENDCASE.
ENDMODULE. "USER_COMMAND_0100 INPUT
Screen 100
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*MODULE CREAR_ALV.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
Status