Ver Mensaje Individual
  #3  
Viejo 31/07/14, 15:06:45
cosagaucha cosagaucha is offline
Member
 
Fecha de Ingreso: ago 2006
Mensajes: 64
hola Mauricio, gracias por responder antes que nada!! Podrías explicar un poquito mas lo que decís? Porque en mi código, no formo el catalogo de esa manera..

Gracias de antemano!!

Pego lo que tengo a continuación:

"For ALV {
DATA: "it_layout TYPE lvc_s_layo,
gr_table TYPE REF TO cl_salv_table,
gr_functions TYPE REF TO cl_salv_functions,
gr_columns TYPE REF TO cl_salv_columns_table,
gr_column TYPE REF TO cl_salv_column_table,
gr_display TYPE REF TO cl_salv_display_settings,
lr_grid TYPE REF TO cl_salv_form_layout_grid,
lr_gridx TYPE REF TO cl_salv_form_layout_grid,
lr_logo TYPE REF TO cl_salv_form_layout_logo,
lr_label TYPE REF TO cl_salv_form_label,
lr_text TYPE REF TO cl_salv_form_text,
lr_footer TYPE REF TO cl_salv_form_layout_grid,
ls_color TYPE lvc_s_colo.
" For ALV }

DATA: gv_ukurs TYPE ukurs_curr.

*----------------------------------------------------------------------*
* CLASS lcl_Perf_Eval DEFINITION
*----------------------------------------------------------------------*
CLASS lcl_perf_eval DEFINITION .
PUBLIC SECTION.
METHODS: constructor, fill_disp.
METHODS build_fc.
METHODS disp_alv.
METHODS set_tol.
METHODS end_of_page.
ENDCLASS. "lcl_perf_eval DEFINITION

DATA : obj_rep TYPE REF TO lcl_perf_eval. " Declaring Object for Class

START-OF-SELECTION.
CREATE OBJECT: obj_rep. " Creating Object

obj_rep->fill_disp( ). " Calling class Methods
obj_rep->disp_alv( ).

*----------------------------------------------------------------------*
* CLASS lcl_perf_eval IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS lcl_perf_eval IMPLEMENTATION .
METHOD constructor.
TRY.
"Calling Factory Obj of Cl_ALV_TABLE
cl_salv_table=>factory( IMPORTING r_salv_table = gr_table CHANGING t_table = gt_tablafinal ).
CATCH cx_salv_msg.
ENDTRY .

IF gr_table IS INITIAL .
MESSAGE text-002 TYPE 'I' DISPLAY LIKE 'E'.
EXIT .
ENDIF .
ENDMETHOD. "constructor

METHOD fill_disp.

PERFORM buscar_datos.
PERFORM armar_tabla_alv.
PERFORM calcular_subtotales.

ENDMETHOD. "fill_disp

METHOD build_fc.

INCLUDE <color>.
TRY.
gr_columns = gr_table->get_columns( ).
gr_columns->set_optimize( abap_true ).
gr_column ?= gr_columns->get_column( 'MR' ).
ls_color-col = 3 .
gr_column->set_color( ls_color ).
gr_column->set_long_text('MR' ).
gr_column->set_short_text( 'M.R.' ).
gr_column->set_medium_text('M.R.' ).
CATCH cx_salv_not_found.
ENDTRY .

TRY.
gr_columns = gr_table->get_columns( ).
gr_columns->set_optimize( abap_true ).
gr_column ?= gr_columns->get_column( 'TEXTO' ).
ls_color-col = 3 .
gr_column->set_color( ls_color ).
gr_column->set_long_text('Descripción' ).
gr_column->set_short_text( 'Desc.' ).
gr_column->set_medium_text('Desc.' ).
CATCH cx_salv_not_found.
ENDTRY .

TRY.
gr_column ?= gr_columns->get_column( 'POSICION' ).
gr_column->set_long_text('Posición' ).
gr_column->set_short_text( 'Pos' ).
gr_column->set_medium_text('Posic.' ).
ls_color-col = 3 .
gr_column->set_color( ls_color ).
CATCH cx_salv_not_found.
ENDTRY .

TRY.
gr_column ?= gr_columns->get_column( 'PESOACTUAL' ).
gr_column->set_long_text('Peso Actual' ).
gr_column->set_short_text( 'P. Act.' ).
gr_column->set_medium_text('Peso Act.' ).
ls_color-col = 3 .
gr_column->set_color( ls_color ).
CATCH cx_salv_not_found.
ENDTRY .

TRY.
gr_column ?= gr_columns->get_column( 'DOLARACTUAL' ).
gr_column->set_long_text('Dolar Actual' ).
gr_column->set_short_text( 'D. Act.' ).
gr_column->set_medium_text('Dol. Act.' ).
ls_color-col = 3 .
gr_column->set_color( ls_color ).
CATCH cx_salv_not_found.
ENDTRY .

TRY.
gr_column ?= gr_columns->get_column( 'PESOANTERIOR' ).
gr_column->set_long_text('Peso Anterior' ).
gr_column->set_short_text( 'P. Ant.' ).
gr_column->set_medium_text('Peso Ant.' ). ls_color-col = 3 .
gr_column->set_color( ls_color ).
CATCH cx_salv_not_found.
ENDTRY .

TRY.
gr_column ?= gr_columns->get_column( 'DOLARANTERIOR' ).
gr_column->set_long_text('Dolar Anterior' ).
gr_column->set_short_text( 'D. Ant.' ).
gr_column->set_medium_text('Dol. Ant.' ).
ls_color-col = 3 .
gr_column->set_color( ls_color ).
CATCH cx_salv_not_found.
ENDTRY .

ENDMETHOD. "build_fc

METHOD disp_alv.

set_tol( ).
build_fc( ).
end_of_page( ).

gr_functions = gr_table->get_functions( ).
gr_functions->set_all( abap_true ).

gr_table->set_top_of_list( lr_logo ).
gr_table->set_end_of_list( lr_footer ).

gr_display = gr_table->get_display_settings( ).
gr_display->set_striped_pattern( cl_salv_display_settings=>true ).

gr_table->display( ).

ENDMETHOD. "disp_alv

METHOD set_tol.
DATA: lv_text(30) TYPE c.

CREATE OBJECT lr_grid.

lr_grid->create_header_information( row = 1
column = 1
text = 'Generar Reportes MR'
tooltip = 'Generar Reportes MR' ).

lr_gridx = lr_grid->create_grid( row = 2
column = 1 ).

lr_label = lr_gridx->create_label( row = 2
column = 1
text = 'MR1 al MR10, QR1 y AR1'
tooltip = 'MR1 al MR10, QR1 y AR1' ).

lr_text = lr_gridx->create_text( row = 2
column = 2
text = lv_text
tooltip = lv_text ).

lr_label = lr_gridx->create_label( row = 3
column = 1
text = 'Fecha:'
tooltip = 'Fecha' ).

lr_text = lr_gridx->create_text( row = 3
column = 2
text = lv_text
tooltip = lv_text ).

lr_label = lr_gridx->create_label( row = 4
column = 1
text = 'Fecha Corrida:'
tooltip = 'Fecha Corrida' ).

lr_text = lr_gridx->create_text( row = 4
column = 2
text = sy-datum
tooltip = sy-datum ).

* Create logo layout, set grid content on left and logo image on right
CREATE OBJECT lr_logo.
lr_logo->set_left_content( lr_grid ).

ENDMETHOD. "set_Tol

METHOD end_of_page.

DATA: lf_lines TYPE sy-tfill .

DATA: lf_flow TYPE REF TO cl_salv_form_layout_flow .

CREATE OBJECT lr_footer.
*--get total lines in internal table
lf_lines = LINES( gt_tablafinal ).

lr_label = lr_footer->create_label( row = 1
column = 1 ).

lr_label->set_text( 'Información:' ).
lf_flow = lr_footer->create_flow( row = 2
column = 1 ).

lf_flow->create_text( text = 'Número Total de Entradas' ).
lf_flow = lr_footer->create_flow( row = 2
column = 2 ).

lf_flow->create_text( text = lf_lines ).

ENDMETHOD. "end_of_page

ENDCLASS. "lcl_perf_eval IMPLEMENTATION
Responder Con Cita