MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 30/07/14, 13:41:42
cosagaucha cosagaucha is offline
Member
 
Fecha de Ingreso: ago 2006
Mensajes: 64
Problema con Alv OO pasando a excel

hola a todos!

Gente, estoy haciendo un alv -el primero con objetos...- y si bien ya pude mostrar mi tabla interna, cabecera, pie de pagina y demás, ahora intento que mi tabla interna pueda pasar a un archivo Excel.

Preguntas:
1.)Veo que en la barra de botones estándar de mi alv, hay un botón Excel (Ctrl+Shift-F7) pero al pulsarlo, si bien me abre un Excel embebido, me lo abre en blanco.. no debería mostrarme el contenido de mi alv?

2.)De no ser asi, alguien podría darme alguna punta sobre como llevar la tabla interna al Excel -ejemplo de código-

gracias!!!!!
Responder Con Cita
  #2  
Viejo 31/07/14, 01:30:34
Mauricio Hidalgo Mauricio Hidalgo is offline
Senior Member
 
Fecha de Ingreso: may 2006
Localización: Santiago, Chile
Mensajes: 481
Lejos lo mejor para olvidarte de la transferencia de datos a excel y la otras funcionalidades es que tu catalogo lo obtengas a partir de una estructura de datos.

El catálogo lo obtienes con la función LVC_FIELDCATALOG_MERGE.

Saludos
Responder Con Cita
  #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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 02:52:36.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web