jramos_torres
09/01/09, 23:47:07
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.
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>.
* Get data
SELECT *
INTO TABLE <table>
FROM (pv_tabla).
CALL SCREEN 100.
*---------------------------------------------------------------------*
* MODULE PBO OUTPUT *
*---------------------------------------------------------------------*
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.
*---------------------------------------------------------------------*
* MODULE PAI INPUT *
*---------------------------------------------------------------------*
MODULE PAI INPUT.
* to react on oi_custom_events:
CALL METHOD cl_gui_cfw=>dispatch.
CASE ok_code.
WHEN 'EXIT'.
PERFORM exit_program.
WHEN others.
* do nothing
ENDCASE.
CLEAR ok_code.
ENDMODULE.
*---------------------------------------------------------------------*
* FORM EXIT_PROGRAM *
*---------------------------------------------------------------------*
FORM exit_program.
LEAVE PROGRAM.
ENDFORM.
Editado: 11.01.2009 por DavidXD_XD
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.
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>.
* Get data
SELECT *
INTO TABLE <table>
FROM (pv_tabla).
CALL SCREEN 100.
*---------------------------------------------------------------------*
* MODULE PBO OUTPUT *
*---------------------------------------------------------------------*
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.
*---------------------------------------------------------------------*
* MODULE PAI INPUT *
*---------------------------------------------------------------------*
MODULE PAI INPUT.
* to react on oi_custom_events:
CALL METHOD cl_gui_cfw=>dispatch.
CASE ok_code.
WHEN 'EXIT'.
PERFORM exit_program.
WHEN others.
* do nothing
ENDCASE.
CLEAR ok_code.
ENDMODULE.
*---------------------------------------------------------------------*
* FORM EXIT_PROGRAM *
*---------------------------------------------------------------------*
FORM exit_program.
LEAVE PROGRAM.
ENDFORM.
Editado: 11.01.2009 por DavidXD_XD