MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Selección de lineas alv (foro/showthread.php?t=12777)

Beita25 21/04/08 15:48:22

Selección de lineas alv
 
Hola, buenas a todos,
Tengo un problema, tengo un listado de materiales en un alv, pero no consigo dar como hacer para seleccionar varias lineas de dicho listado, ya que tengo que crear un boton para borrar las lineas seleccionadas (q puede ser ninguna, una o varias) pero no consigo que el alv me permita hacer eso, ¿como podria hacerlo?

Muchas gracias por adelantado

DavidXD_XD 21/04/08 16:26:07

Hola, creo q estas viendo un ALV List, ahi solo se puede asignar una linea a menos que se imite el diseño de la SE16 con un checkbox al costado de cada registro, en el ALV Grid puedes escoger varias lineas, y sap te da botones standares para que no haya la necesidad de programarlas, espero te sirva :D

vickxo 22/04/08 07:54:37

Prueba esto...igual y te ayuda es con ALV...
 
REPORT zvdll_pruebas.
*---------------------------------------------------------------------*
* Example with FM REUSE_ALV_POPUP_TO_SELECT *
*---------------------------------------------------------------------*
* Author : Michel PIOUD *
* Email : HomePage : *
*---------------------------------------------------------------------*
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED
PARAMETERS p_max(2) TYPE n DEFAULT '20' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------------------*
TYPES:
BEGIN OF ty_user_addr,
bname TYPE user_addr-bname, " User name
name_first TYPE user_addr-name_first, " First name
name_last TYPE user_addr-name_last, " Last name
checkbox,
END OF ty_user_addr.
*---------------------------------------------------------------------*
DATA:
* Data displayed
gt_user TYPE TABLE OF ty_user_addr.
*---------------------------------------------------------------------*
INITIALIZATION.

v_1 = 'Maximum of records to read'.

*---------------------------------------------------------------------*
START-OF-SELECTION.

PERFORM f_read_data.

PERFORM f_display_data.

*---------------------------------------------------------------------*
* Form f_read_data
*---------------------------------------------------------------------*
FORM f_read_data.

* Read Users address data
SELECT bname name_first name_last
UP TO p_max ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_user
FROM user_addr.

ENDFORM. " F_READ_DATA
*---------------------------------------------------------------------*
* Form f_display_data
*---------------------------------------------------------------------*
FORM f_display_data.

* Macro definition
DEFINE m_fieldcat.
add 1 to ls_fieldcat-col_pos.
ls_fieldcat-fieldname = &1.
ls_fieldcat-ref_tabname = &2.
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.

TYPE-POOLS: slis. " ALV Global types

DATA:
l_exit,
ls_private TYPE slis_data_caller_exit,
ls_user TYPE ty_user_addr,
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.

* Build the field catalog
m_fieldcat 'BNAME' 'USER_ADDR'.
m_fieldcat 'NAME_FIRST' 'USER_ADDR'.
m_fieldcat 'NAME_LAST' 'USER_ADDR'.

* Optimize column width
ls_private-columnopt = 'X'.

* Display data in a POPUP
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_selection = 'X'
i_zebra = 'X'
it_fieldcat = lt_fieldcat
i_tabname = 'GT_USER'
i_checkbox_fieldname = 'CHECKBOX'
is_private = ls_private
IMPORTING
e_exit = l_exit
TABLES
t_outtab = gt_user.

CHECK l_exit = space.

* What has been selected ?
LOOP AT gt_user INTO ls_user WHERE checkbox = 'X'.
MESSAGE i368(00) WITH ls_user-bname 'selected'.
ENDLOOP.

ENDFORM. " F_DISPLAY_DATA
*********** END OF PROGRAM Z_REUSE_ALV_POPUP_TO_SELECT ****************

Saludos ...


Husos Horarios son GMT. La hora en este momento es 07:16:04.

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