You are on page 1of 4

method wddoinit.

"Variables
data: context_node

type ref to if_wd_context_node.

* Declare ALV config table


data: alv_config_table type ref to cl_salv_wd_config_table.
* Declare variable to store column details
data: column_settings type ref to if_salv_wd_column_settings,
column
type ref to cl_salv_wd_column,
column_header type ref to cl_salv_wd_column_header.
* Creacin de Botones en el ALV
data lr_button_nuevo
type ref to cl_salv_wd_fe_button.
data bt_nuevo
type ref to cl_salv_wd_function.
* Hacer las columnas editables
data : lr_columns
type salv_wd_t_column_ref .
able type
data : ls_columns
type salv_wd_s_column_ref .
ine type of columns
data : lr_input
type ref to cl_salv_wd_uie_input_field .
ject for input field

"this is t
"declare l
"Create ob

********************************************************************************
****
************** COLUMNAS QUE VAMOS A VISUALIZAR EN EL ALV Y CUALES NO ***********
****
************** ASI COMO CAMBIOS EN EL NOMBRE DE LAS COLUMNAS
***********
****
********************************************************************************
****
* Create an instance of ALV component created ALV1 is usage name
wd_this->m_table_usage2 = wd_this->wd_cpuse_alv2( ).
if wd_this->m_table_usage2->has_active_component( ) is initial. "Si ya existe
destruyo el componente para volverlo a creerla y as ya no tendr valores
wd_this->m_table_usage2->create_component( ).
endif.
wd_this->m_table2 = wd_this->wd_cpifc_alv2( ).
alv_config_table = wd_this->m_table2->get_model( ).
"Vamos hacer las columnas que queramos en editables
call method alv_config_table->if_salv_wd_column_settings~get_columns
receiving
value = lr_columns. "get columns into a columns table
**Now insert input field into each column
loop at lr_columns into ls_columns.
**Create object for input
create object lr_input
exporting
value_fieldname = ls_columns-id. "Column name
if ls_columns-id <> 'IMPORTE_KM'.
an a ser editables menos la de IMPORTE_KM

"Todas las columnas v

call method ls_columns-r_column->set_cell_editor


"ls_columns-r_column
is the column instance, we can use it to insert input field
exporting
value = lr_input.
" we are inserting i
nput field instance
endif.
if ls_columns-id eq 'FECHA_GASTO'.
lr_input->set_state( 01 ).
endif.
endloop.
"Configuracin del ALV
alv_config_table->if_salv_wd_table_settings~set_width( value = '120%' ).
alv_config_table->if_salv_wd_table_settings~set_visible_row_count( value = '2
0' ). "20 lneas
alv_config_table->if_salv_wd_table_settings~set_read_only( abap_false ).
"Por defecto el ALV no es editable, as que lo hacemos editable
"Quitar botones standard: borrado, add, etc....
alv_config_table->if_salv_wd_std_functions~set_export_allowed( value = abap_fa
lse ).
alv_config_table->if_salv_wd_std_functions~set_edit_append_row_allowed( value
= abap_false ).
"alv_config_table->if_salv_wd_std_functions~set_edit_insert_row_allowed( value
= abap_false ).
alv_config_table->if_salv_wd_std_functions~set_edit_delete_row_allowed( value
= abap_false ).
alv_config_table->if_salv_wd_std_functions~set_edit_check_available( value = a
bap_false ).
alv_config_table->if_salv_wd_std_functions~set_pdf_allowed( value = abap_false
).
********************************************************************************
************************
** "Columnas que vamos a visualizar y que le vamos a cambiar por ejemplo la des
cripcin de la columna *
********************************************************************************
************************
column_settings ?= alv_config_table.
column = column_settings->get_column( 'FECHA_GASTO' ).
column->set_position( 1 ).
"column->set_width( value = '10' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Fecha Gasto').
column = column_settings->get_column( 'CONCEPTO_GASTO' ).
column->set_position( 2 ).
column->set_width( value = '20' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Concep.Gasto').
column = column_settings->get_column( 'IMPORTE' ).
column->set_position( 3 ).

column->set_width( value = '3' ).


column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Importe').
column = column_settings->get_column( 'WAERS' ).
column->set_position( 4 ).
"column->set_width( value = '3' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Moneda').
column = column_settings->get_column( 'ORIGEN_DESPLAZA' ).
column->set_position( 5 ).
column->set_width( value = '10' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Origen').
column = column_settings->get_column( 'DESTINO_DESPLAZA' ).
column->set_position( 6 ).
column->set_width( value = '10' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Destino').
column = column_settings->get_column( 'KM' ).
column->set_position( 7 ).
column->set_width( value = '3' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Km').
column = column_settings->get_column( 'IMPORTE_KM' ).
column->set_position( 8 ).
column->set_width( value = '3' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Importe Km.').
column = column_settings->get_column( 'FORMA_PAGO' ).
column->set_position( 9 ).
column->set_width( value = '20' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Forma Pago').
column = column_settings->get_column( 'OBSERVACIONES' ).
column->set_position( 10 ).
column->set_width( value = '20' ).
column->delete_header( ).
column_header = column->create_header( ).
column_header->set_text( 'Observaciones').
********************************************************************************
*************************
*** "Columnas que no vamos a visualizar
*
********************************************************************************
*************************

column = column_settings->get_column( 'MANDT' ).


column->set_visible( if_wdl_core=>visibility_none ).
column = column_settings->get_column( 'NUM_DOCUMENTO' ).
column->set_visible( if_wdl_core=>visibility_none ).
column = column_settings->get_column( 'FECHA_DOC' ).
column->set_visible( if_wdl_core=>visibility_none ).
column = column_settings->get_column( 'POSICION' ).
column->set_visible( if_wdl_core=>visibility_none ).
********************************************************************************
***********************
* "VAMOS A CREAR EL BOTON BORRAR
*
********************************************************************************
***********************
"Crear Objecto
create object lr_button_nuevo.
"Set descripcin del botn
lr_button_nuevo->set_text( 'Borrar').
lr_button_nuevo->set_image_source( 'ICON_DELETE' ).
lr_button_nuevo->set_tooltip( 'Borrar' ). "Descripcin que aparecer cuando pase p
or encima el cursor por el icono
"Crear Funcin
bt_nuevo = alv_config_table->if_salv_wd_function_settings~create_function_righ
t( id = 'BORRAR' ).
"Aadir a la barra del ALV
bt_nuevo->set_editor( lr_button_nuevo ).
endmethod.

You might also like