Ver Mensaje Individual
  #1  
Viejo 26/06/12, 23:03:23
x27christian27x x27christian27x is offline
Junior Member
 
Fecha de Ingreso: jun 2012
Localización: lima, peru
Mensajes: 12
Eliminar Registro De Un Alv

Hola a todos, soy nuevo en abap y estoy haciendo un programa de mantenimiento de una tabla,me explico: he creado una tabla (ztab_usu) con los campos (CODIGO,NOMBRE,APELLIDO,DIRECCION,TELEFONO), ya hize una dynpro con un ALV-GRID y 2 botones (nuevo,borrar); he logrado aņadir datos, pero lo que no puedo es eliminar el(los) registro(s) que selecciono en el alv. espero su ayuda porfavor, le dejo una parte del codigo. Gracias.

TABLES: ztab_usu.

TYPES BEGIN OF ty_ztab_usu.
INCLUDE STRUCTURE ztab_usu.
TYPES END OF ty_ztab_usu.

DATA: it_ztab_usu TYPE STANDARD TABLE OF ty_ztab_usu.

FIELD-SYMBOLS: <fs_ztab_usu> LIKE LINE OF it_ztab_usu.


*DECLARACION DE VARIABLES ALV*
DATA: gs_layout_usu TYPE lvc_s_layo,
gt_fieldcat_usu TYPE lvc_t_fcat,
gs_fieldcat_usu TYPE lvc_s_fcat,
i_index_rows TYPE lvc_t_row,
i_selected_row LIKE lvc_s_row.

DATA: cnt_name_usu TYPE scrfname VALUE 'CUSTOM_ALV',
container_alv_usu TYPE REF TO cl_gui_custom_container,
alv_grid_usu TYPE REF TO cl_gui_alv_grid.

FIELD-SYMBOLS: <fs_fieldcat> LIKE LINE OF gt_fieldcat_usu.

START-OF-SELECTION.
CALL SCREEN '100'.

*----------------------------------------------------------------------*
**FUNCIONES DEL ALV**

FORM load_data .
REFRESH it_ztab_usu.

SELECT codigo nombre apellido direccion telefono
INTO CORRESPONDING FIELDS OF TABLE it_ztab_usu
FROM ztab_usu.
ENDFORM. " load_data
*&---------------------------------------------------------------------*
*& Form fill_layout
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_layout .
gs_layout_usu-sel_mode = 'A'.
* gs_layout_usu-no_toolbar = 'X'.
ENDFORM. " fill_layout
*&---------------------------------------------------------------------*
*& Form fill_catalog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_catalog .
REFRESH gt_fieldcat_usu.

CLEAR gs_fieldcat_usu.
gs_fieldcat_usu-tabname = 'it_ztab_usu'.
gs_fieldcat_usu-fieldname = 'CODIGO'.
gs_fieldcat_usu-reptext = 'Codigo'.
gs_fieldcat_usu-col_pos = 1.
gs_fieldcat_usu-outputlen = 7.
APPEND gs_fieldcat_usu TO gt_fieldcat_usu.

CLEAR gs_fieldcat_usu.
gs_fieldcat_usu-tabname = 'it_ztab_usu'.
gs_fieldcat_usu-fieldname = 'NOMBRE'.
gs_fieldcat_usu-reptext = 'Nombres'.
gs_fieldcat_usu-col_pos = 2.
gs_fieldcat_usu-outputlen = 8.
APPEND gs_fieldcat_usu TO gt_fieldcat_usu.

CLEAR gs_fieldcat_usu.
gs_fieldcat_usu-tabname = 'it_ztab_usu'.
gs_fieldcat_usu-fieldname = 'APELLIDO'.
gs_fieldcat_usu-reptext = 'Apellidos'.
gs_fieldcat_usu-col_pos = 3.
gs_fieldcat_usu-outputlen = 10.
APPEND gs_fieldcat_usu TO gt_fieldcat_usu.

CLEAR gs_fieldcat_usu.
gs_fieldcat_usu-tabname = 'it_ztab_usu'.
gs_fieldcat_usu-fieldname = 'DIRECCION'.
gs_fieldcat_usu-reptext = 'Direccion'.
gs_fieldcat_usu-col_pos = 4.
gs_fieldcat_usu-outputlen = 10.
APPEND gs_fieldcat_usu TO gt_fieldcat_usu.

CLEAR gs_fieldcat_usu.
gs_fieldcat_usu-tabname = 'it_ztab_usu'.
gs_fieldcat_usu-fieldname = 'TELEFONO'.
gs_fieldcat_usu-reptext = 'Telefono'.
gs_fieldcat_usu-col_pos = 4.
gs_fieldcat_usu-outputlen = 8.
APPEND gs_fieldcat_usu TO gt_fieldcat_usu.
ENDFORM. " fill_catalog
*&---------------------------------------------------------------------*
*& Form display_alv
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_alv .
IF container_alv_usu IS INITIAL.

CREATE OBJECT container_alv_usu
EXPORTING
container_name = cnt_name_usu
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.

IF sy-subrc EQ 0.

CREATE OBJECT alv_grid_usu
EXPORTING
i_parent = container_alv_usu.

CALL METHOD alv_grid_usu->set_table_for_first_display
EXPORTING
i_save = 'A'
i_default = 'X'
is_layout = gs_layout_usu
CHANGING
it_outtab = it_ztab_usu
it_fieldcatalog = gt_fieldcat_usu
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.

CALL METHOD alv_grid_usu->set_ready_for_input
EXPORTING
i_ready_for_input = 0.

ELSE.
CALL METHOD alv_grid_usu->refresh_table_display.
ENDIF.
ENDIF.
ENDFORM. " display_alv
*&---------------------------------------------------------------------*
*& Form refresh_alv
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM refresh_alv .
CALL METHOD alv_grid_usu->set_frontend_layout
EXPORTING
is_layout = gs_layout_usu.

CALL METHOD alv_grid_usu->refresh_table_display.
ENDFORM. " refresh_alv
*&---------------------------------------------------------------------*
*& Form eliminar_registro
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM eliminar_registro .
**ESTO ES LO QUE ME FALTA
ENDFORM. " eliminar_registro

Úlima edición por x27christian27x fecha: 26/06/12 a las 23:06:13.
Responder Con Cita