|
*------------------------------------------------------------------------------* *------------------------------------------------------------------------------* ::Te invitamos a conocer nuestras carreras :: Carrera Consultor ABAP - Modulo Programador ABAP INICIAL

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
1. MENU STATUS EN ALV
========================================================
1.1
::> COPIAR ESTATUS STANDAR
-------------------------------
- Acceder al Menu Painter -> SE41
- En PROGRAMA: Colocar el nombre de un programa del que deseemos copiar
el status.
- Seleccionar el opt. button "Status" y colocar "Standard"
- Usar el btn "Status" (Que realiza la copia del status seleccionado)
- Pedira el programa destino a copiar y el nombre de la botonera.
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
1.2
::> DEFINIR
STATUS EN LA LLAMADA AL ALV
----------------------------------------------
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = vg_repid
*--> i_callback_pf_status_set = 'FFNC_XX_PF_STATUS'
i_structure_name = 'TG_COMPONENTES'
is_layout = sg_layout
it_fieldcat = tg_fieldcat
TABLES
t_outtab = tg_componentes
EXCEPTIONS
program_error = 1
OTHERS = 2.
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
1.3
::> RUTINA QUE DEFINE
LA BOTONERA A UTILIZAR.
----------------------------------------------------
*&--------------------------------------------------------------------*
*& Form FFNC_XX_PF_STATUS
*&--------------------------------------------------------------------*
FORM ffnc_xx_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'Nombre_de_botonera'. "
ENDFORM. "FFNC_XX_PF_STATUS
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
*------------------------------------------------------------------------------* *------------------------------------------------------------------------------* ::Te invitamos a conocer nuestras carreras :: Carrera Consultor ABAP - Modulo Programador ABAP INICIAL

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
2. CABECERA EN ALV
========================================================
2.1
::> Definir CABECERA en la llamada
al ALV (REUSE_ALV_GRID_DISPLAY)
--------------------------------------------------------------------------
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = vg_repid
*--> i_callback_top_of_page = 'FOTR_XX_CABECERA'
i_structure_name = 'TG_ERROR'
is_layout = sg_layout
it_fieldcat = tg_fieldcat
TABLES
t_outtab = tg_error
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
2.2
::> Rutina de definicion de la CABECERA
a utilizar.
-----------------------------------------------------
*&---------------------------------------------------------------------*
*& Form fotr_xx_cabecera
*&---------------------------------------------------------------------*
FORM fotr_xx_cabecera .
IF NOT tg_top_of_page[] IS INITIAL.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = tg_top_of_page
i_end_of_list_grid = ''.
ENDIF.
ENDFORM. " fotr_xx_cabecera
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
*------------------------------------------------------------------------------* *------------------------------------------------------------------------------* ::Te invitamos a conocer nuestras carreras :: Carrera Consultor ABAP - Módulo Programador ABAP AVANZADO

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
3. ARMADO DE ALV GRID
========================================================
3.0
::> Variables
---------------
TYPE-POOLS: slis.
*----------------------------------------------------------------------*
* DEFINICION DE VARIABLES GLOBALES
*----------------------------------------------------------------------*
*Variables utilizadas por el ALV
DATA: vg_repid LIKE sy-repid , "#EC *
vg_incname LIKE trdir-name . "#EC *
DATA: sg_fieldcat TYPE slis_fieldcat_alv , "#EC *
sg_layout TYPE slis_layout_alv . "#EC *
DATA: tg_fieldcat TYPE slis_t_fieldcat_alv. "#EC *
*----------------------------------------------------------------------*
* TABLAS INTERNAS
*----------------------------------------------------------------------*
TYPES: BEGIN OF wa_componentes,
zid_componente TYPE zic_componentes-zid_componente, "ID comp.
zcod_mpl TYPE zic_componentes-zcod_mpl, "Código MPL
ztipo_comp TYPE zic_componentes-ztipo_comp, "Tipo comp
zcod_sistema TYPE zic_componentes-zcod_sistema, "Sistema
ztexto TYPE zic_txt_comp-ztexto, "texto comp.
END OF wa_componentes,
tyt_componentes TYPE STANDARD TABLE OF wa_componentes WITH DEFAULT
KEY.
DATA: tg_componentes TYPE tyt_componentes WITH HEADER LINE.
*Tabla de configuracionpara pasarla al armado de catalogo de campos
*Misma estructura que la tabla de los datos
DATA: BEGIN OF tg_c OCCURS 0,
zid_componente LIKE zic_componentes-zid_componente, "ID comp.
zcod_mpl LIKE zic_componentes-zcod_mpl, "Código MPL
ztipo_comp LIKE zic_componentes-ztipo_comp, "Tipo comp
zcod_sistema LIKE zic_componentes-zcod_sistema, "Sistema
ztexto LIKE zic_txt_comp-ztexto, "texto comp.
END OF tg_c.
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
3.1
::> Evento y rutina principal
-------------------------------
***------------------------------------------------------------------***
* E N D O F S E L E C T I O N
***------------------------------------------------------------------***
END-OF-SELECTION.
* Listado ALV con el resultados del procesamiento
PERFORM fimp_yy_listado_oper TABLES tg_componentes.
*&---------------------------------------------------------------------*
*& Form fimp_yy_listado_oper
*&---------------------------------------------------------------------*
* Secuencia general de procesamiento para generar el listado ALV
*----------------------------------------------------------------------*
FORM fimp_yy_listado_oper TABLES p_tg_componentes
STRUCTURE tg_componentes.
* Seteo del layout de salida del listado.
PERFORM fotr_layout_alv.
vg_repid = sy-repid.
vg_incname = sy-cprog.
* Seteo de las columnas a mostrar, llena el fieldcat
PERFORM cargar_catalogo_campos_alv USING 'TG_C'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = vg_repid
i_structure_name = 'TG_COMPONENTES' "Tabla con los datos a listar
is_layout = sg_layout
it_fieldcat = tg_fieldcat
TABLES
t_outtab = tg_componentes
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " fimp_yy_listado_oper
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
3.2
::> Definicion del LAYOUT
---------------------------
*&---------------------------------------------------------------------*
* Opciones de visualizacion del listado
*----------------------------------------------------------------------*
FORM fotr_layout_alv .
* Seteo de la Visualización.
sg_layout-zebra = 'X'. " Rayado de lineas
sg_layout-no_min_linesize = 060. " Tamaño líneas
en la página.
sg_layout-min_linesize = sy-linsz. " Mínima long de la linea.
sg_layout-max_linesize = sy-linsz. " Máxima long de la linea.
sg_layout-window_titlebar = text-030. " Titulo Ventana Principal.
sg_layout-colwidth_optimize = 'X'. " Ancho optimizado
ENDFORM. " fotr_layout_alv
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
3.3
::> DEFINIR CATALOGO DE CAMPOS
-------------------------------------
*&---------------------------------------------------------------------*
*& Form CARGAR_CATALOGO_CAMPOS_ALV
*&---------------------------------------------------------------------*
* Cargar el catálogo de campos para mostar en el ALV.
*----------------------------------------------------------------------*
* --> PI_NTAB Nombre de la tabla a tratar
*----------------------------------------------------------------------*
FORM cargar_catalogo_campos_alv USING pi_ntab . "#EC *
** Carga del catalogo de campos.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = vg_repid
i_internal_tabname = pi_ntab
* i_structure_name =
* i_client_never_display = 'X'
i_inclname = vg_incname
* i_bypassing_buffer =
* i_buffer_active =
CHANGING
ct_fieldcat = tg_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
CHECK sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDFORM. " CARGAR_CATALOGO_CAMPOS_ALV
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
*------------------------------------------------------------------------------* *------------------------------------------------------------------------------* :: La mejor capacitación en SAP está a tu alcance. :: ESAP Posee el más avanzado y efectivo sistema de Capacitación SAP. Conocelo!

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
V. VARIOS
========================================================
V.1
::> PArametros IMPORTANTES en ALV
-----------------------------------------
-> La tabla con el catálogo de campos debe tener definidos
los campos del tipo LIKE.
*------------------------------------------------------------------------------* *------------------------------------------------------------------------------* :: Capacitate en SAP con especialistas en el área :: No dejes tu carrera en manos impovisadas, ESAP es tu mejor elección.

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
|