Foro -Documentación -Código fuente -Contacto -Empleo

Buscar

Traducir

Amazon

ALV_SIMPLE PDF Imprimir E-mail
Usar puntuación: / 1
MaloBueno 
Código fuente - Ejemplos ALV
Martes, 22 de Julio de 2003 17:39
REPORT zalv_simple.

* Por: Jorge Serra (Neo) Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
* Se trata de un pequeño ejemplo de listado ALV para aquellos que nunca
* han creado uno. Por supuesto, a los que ya sepais algo de ALV, no
* creo que os sirva de mucho
* Propósito:
* ---------
* Voy mostrar un listado de posiciones de pedidos de compras

* Pasos esenciales (Buscar el simbolo '§')
* ----------------
* 1. Definición estructuras y tablas necesarias
* 2. Definimos la tabla con los datos de salida
* 3. Toma de datos
* 4. Definición estructura y formato de salida
* 5. Mostrar listado


*<-- § Paso 1. Definicion estructuras y tablas necesarias

* Type Pool donde vienen definidas todas las estructuras y tablas
TYPE-POOLS: slis.
* Catálogo de campos: contiene la descripción de los campos de salida
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
* Especificaciones de la disposición de la lista: descripción de la
* estructura de salida
      gs_layout TYPE slis_layout_alv,
* Nombre del programa
      g_repid LIKE sy-repid.
*<-- § Paso 2. Definimos la tabla con los datos de salida
TYPESBEGIN OF st_output.
        INCLUDE STRUCTURE ekpo.
TYPESEND OF st_output.
DATA: gt_output TYPE STANDARD TABLE OF st_output WITH HEADER LINE.

INITIALIZATION.
  g_repid = sy-repid.
START-OF-SELECTION.
*<-- § Paso 3. Toma de datos
  PERFORM toma_datos.
*<-- § Paso 4. Estructura y formato de salida
  PERFORM init_fieldcat.
  PERFORM init_layout.
*<-- § Paso 5. Mostrar listado
  PERFORM listado.
*&&-----------------------------------------------------------------&&*
* SUBRUTINAS DEL PROGRAMA *
*&&-----------------------------------------------------------------&&*
*---------------------------------------------------------------------*
* FORM INIT_FIELDCAT *
*---------------------------------------------------------------------*
FORM init_fieldcat.
* Mediante esta tabla vamos a definir los campos que queremos mostrar
* en el listado de salida.
  gt_fieldcat-fieldname = 'EBELN'.
  gt_fieldcat-ref_tabname = 'EKPO'.
  APPEND gt_fieldcat. CLEAR gt_fieldcat.
  gt_fieldcat-fieldname = 'EBELP'.
  gt_fieldcat-ref_tabname = 'EKPO'.
  APPEND gt_fieldcat. CLEAR gt_fieldcat.
  gt_fieldcat-fieldname = 'MATNR'.
  gt_fieldcat-ref_tabname = 'EKPO'.
  APPEND gt_fieldcat. CLEAR gt_fieldcat.
  gt_fieldcat-fieldname = 'WERKS'.
  gt_fieldcat-ref_tabname = 'EKPO'.
  APPEND gt_fieldcat. CLEAR gt_fieldcat.
  gt_fieldcat-fieldname = 'MENGE'.
  gt_fieldcat-ref_tabname = 'EKPO'.
  APPEND gt_fieldcat. CLEAR gt_fieldcat.
  gt_fieldcat-fieldname = 'MEINS'.
  gt_fieldcat-ref_tabname = 'EKPO'.
  APPEND gt_fieldcat. CLEAR gt_fieldcat.
ENDFORM.
*---------------------------------------------------------------------*
* FORM INIT_LAYOUT *
*---------------------------------------------------------------------*
FORM init_layout.
* Mediante esta estructura podemos definir el formato de salida
  gs_layout-zebra = 'X'.
  gs_layout-f2code = '&amp;ETA'.
  gs_layout-detail_popup = 'X'.
ENDFORM.
*---------------------------------------------------------------------*
* FORM TOMA_DATOS *
*---------------------------------------------------------------------*
FORM toma_datos.
* Los datos deben guardarse en la tabla interna de salida
  SELECT * FROM ekpo
           UP TO 100 ROWS
           INTO TABLE gt_output.

ENDFORM.                    " TOMA_DATOS
*---------------------------------------------------------------------*
* FORM LISTADO *
*---------------------------------------------------------------------*
FORM listado.
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
      i_callback_program             = g_repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
      is_layout                      = gs_layout
      it_fieldcat                    = gt_fieldcat[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
    TABLES
      t_outtab                       = gt_output
    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.                    " LISTADO

Comentarios
Buscar
¡Sólo los usuarios registrados pueden escribir comentarios!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
home search