Alv Con Field-symbols Y Tabla Generica--aprovechen

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • jramos_torres
    Junior Member
    • dic
    • 8

    #1

    Alv Con Field-symbols Y Tabla Generica--aprovechen

    Estimados partners.
    Aqui les va esta pequeña aportacion .Con este ejemplo podran enteder la
    tecnica de los field symbols y tablas genericas.Ademas de darles ciertas
    ideas de manipulacion de tablas.Por ejemplo pueden crear una funcion
    donde puedan llamarla para consultar cualesquier tabla y asi evitar programacion de mas.Bueno mucha bla bla hay les va.

    Código:
    REPORT zveotabla.
    
    DATA: pv_tabla      TYPE dd02l-tabname,
          generic_table TYPE REF TO data,
          generic_line  TYPE REF TO data.
    
    Data: ok_code     LIKE sy-ucomm,
          g_container TYPE scrfname VALUE 'BCALV_GRID_DEMO_0100_CONT1',
          grid1              TYPE REF TO cl_gui_alv_grid,
          g_custom_container TYPE REF TO cl_gui_custom_container.
    
    FIELD-SYMBOLS: <table>  TYPE ANY TABLE,
                   <xtable> TYPE STANDARD TABLE,
                   <xitab>  TYPE ANY TABLE,
                   <wa>     TYPE ANY,
                   <field>  TYPE ANY.
    
    PARAMETERS: xtabla TYPE string.
    
    START-OF-SELECTION.
    
    CONDENSE xtabla.
    pv_tabla = xTabla.
    
    CREATE DATA generic_table TYPE STANDARD TABLE OF (pv_tabla).
    ASSIGN generic_table->* TO <table>.
    
    [COLOR="blue"]* Get data[/COLOR]
    SELECT *
      INTO TABLE <table>
        FROM (pv_tabla).
    
    CALL SCREEN 100.
    
    [COLOR="blue"]*---------------------------------------------------------------------*
    * MODULE PBO OUTPUT *
    *---------------------------------------------------------------------*[/COLOR]
    MODULE PBO OUTPUT.
    
      SET PF-STATUS 'MAIN100'.
    
      IF g_custom_container IS INITIAL.
        CREATE OBJECT g_custom_container
            EXPORTING
                container_name = g_container.
    
        CREATE OBJECT grid1
            EXPORTING
                i_parent = g_custom_container.
    
        CALL METHOD grid1->set_table_for_first_display
            EXPORTING
                i_structure_name = pv_tabla
            CHANGING
                it_outtab = <table>.
      ENDIF.
    
    ENDMODULE.
    
    [COLOR="blue"]*---------------------------------------------------------------------*
    * MODULE PAI INPUT *
    *---------------------------------------------------------------------*[/COLOR]
    MODULE PAI INPUT.
    
    [COLOR="blue"]* to react on oi_custom_events:[/COLOR]
      CALL METHOD cl_gui_cfw=>dispatch.
    
      CASE ok_code.
        WHEN 'EXIT'.
          PERFORM exit_program.
        WHEN others.
    [COLOR="blue"]* do nothing[/COLOR]
      ENDCASE.
    
      CLEAR ok_code.
    
    ENDMODULE.
    
    [COLOR="Blue"]*---------------------------------------------------------------------*
    * FORM EXIT_PROGRAM *
    *---------------------------------------------------------------------*[/COLOR]
    FORM exit_program.
    
      LEAVE PROGRAM.
    
    ENDFORM.
    Editado: 11.01.2009 por DavidXD_XD
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola .. muy buen aporte para dar una vision general del poder de los field-symbols y la creacion de datos dinamica ... solo le cambie un poco la forma del codigo para que se viera mejor .

    Ademas de agregar para que funcione el codigo se debera crear un dynpro 100 en el cual se crea un custom container con el nombre de BCALV_GRID_DEMO_0100_CONT1 y para finalizar se crea un Status GUI con un solo boton de EXIT para poder salir del programa (LEAVE PROGRAM), aunq yo sugiero usar el LEAVE TO SCREEN 0 para poder retornar a la pantalla de seleccion en caso sea un reporte .... espero que el aporte de jramos_torres sirva de ayuda a muchos ... Slds
    David Carballido Córdova

    Comentario

    Trabajando...