MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   ALV OO de FONDO (foro/showthread.php?t=73642)

oskymoreok 19/03/15 18:54:45

ALV OO de FONDO
 

cmacvicar 23/03/15 19:13:13

set_list_header
 
Intenta con el Metodo set_list_header de la clase cl_salv_display_settings

Ej:

* Carga Titulo del ALV
gr_display = gr_table->get_display_settings( ).
gr_display->set_striped_pattern( cl_salv_display_settings=>true ).
DESCRIBE TABLE ti_sal LINES sy-index.
WRITE sy-index TO w_tit LEFT-JUSTIFIED.
CONCATENATE sy-title '[' w_tit ']' INTO w_tit SEPARATED BY space.
gr_display->set_list_header( w_tit ).

* En este Ejemplo muestra al final del titulo la cantidad de registros encontrados.

oskymoreok 25/03/15 14:31:19

Funciona perfecto es lo que buscaba! ahora te consulto otra cosa ya que el metodo

gr_table->display( ).

envia la tabla asi cruda, y revice los metodos que tiene esa clase, no sabes como pasarle un fieldcat?

cmacvicar 25/03/15 14:50:03

Catalogo en ALV OO
 
Hola,

Efectivamente. Puedes pesarle una tabla interna y los textos los toma de los dominios asociados a su declaración o campo de referencia.

Si de todas formas quieres modificar el catalogo para ponerle hotspot o lo que sea es asi:

DATA: gr_columns TYPE REF TO cl_salv_columns_table. " Clase Genera una Instancia para Modificar los Textos de una Columna del ALV
DATA: gr_column TYPE REF TO cl_salv_column_table. " Clase Genera una Instancia para Modificar los Textos de una Columna del ALV

gr_column ?= gr_columns->get_column( 'MATNR' ).
gr_column->set_long_text( 'Mat.' ).
gr_column->set_medium_text( 'Material' ).
gr_column->set_short_text( 'Codigo de Material' ).
gr_column->set_cell_type( if_salv_c_cell_type=>hotspot ). " hotspot
gr_column->set_visible( ' ' ). " Dejar Oculta la columna

Te recomiendo crear una macro para no repetir este código n veces.

oskymoreok 25/03/15 17:13:14

Disculpa que te moleste nuevamente pero me da un DUMP

Err.tmpo.ejec. OBJECTS_OBJREF_NOT_ASSIGNED
Excep. CX_SY_REF_IS_INITIAL
Fecha y hora 25.03.2015 15:08:09



An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
caught in
procedure "ALV" "(FORM)", nor was it propagated by a RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
You attempted to use a 'NULL' object reference (points to 'nothing')
access a component (variable: "GR_COLUMNS").
An object reference must point to an object (an instance of a class)
before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using the
CLEAR statement.


y el error en el codigo es

>>>>> gr_column ?= gr_columns->get_column( 'DATUM_BAL' ).

de paso te pregunto que es el '?='

te comento yo entendi, segun el errror que gr_columns es una variables que estoy tratando de meter en una referencia null de gr_column, estoy en lo cierto? que deberia hacer?


Husos Horarios son GMT. La hora en este momento es 21:13:46.

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