PDA

Ver la Versión Completa : icono en celda ALV


CESARCAES01
14/01/14, 14:47:04
Hola tengo un problema, alguien me podria decir como incluir un icono dentro de una celda en abp.

en la celda descargar debe estar ese boton o icono.

pern. nombre y apellidos. mail. descargar.

101 andres gomez 112445@gamil.com

Jarpi
14/01/14, 15:24:40
Buenas tardes CESARCAES01.

Deberías hacer algo así.

SELECT SINGLE id FROM icon
INTO tabla-campo
WHERE name = 'Nombre del ícono de la tabla ICON'.

Espero te sirva.

Saludos.

CESARCAES01
14/01/14, 17:17:49
Jarpi Muchas Gracias.... me funciono perfecto.... de gran ayuda...

CESARCAES01
14/01/14, 17:48:10
Jarpi, como haria luego para capturar un evento en una daterminada fila de ese alev. dandole click al icono, necesito procesar esa fila con el nr de personal.

Jarpi
14/01/14, 18:17:51
En tu funcion REUSE_ALV_GRID_DISPLAY deberías tener el evento:

i_callback_user_command = 'USER_COMMAND'.

Luego tenés que agregar un FORM que sea más o menos así.

FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.

CASE rs_selfield-fieldname.
WHEN 'Nombre del campo de la tabla'.
CLEAR tabla.
CHECK rs_selfield-tabindex NE 0.
READ TABLE tabla INDEX rs_selfield-tabindex.
CHECK NOT tabla-campo IS INITIAL.
IF sy-subrc EQ 0.

ACA PONES TU RUTINA


ENDIF.

ENDFORM.

Espero te sirva.

Saludos.

CESARCAES01
14/01/14, 19:10:49
Excelente ahora si estoy entendiendo.. continuo.. oye muchas gracias Jarpi

CESARCAES01
16/01/14, 13:47:49
Jarpi, quiero enviar un correo electronico con arhivo adjunto, me envia el correo mas no adjunta el archivo, este es el codigo
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD.
*CASE rs_selfield-fieldname.

READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.

DATA: it_body TYPE TABLE OF solisti1 WITH HEADER LINE,
gd_doc_data LIKE sodocchgi1,
it_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
it_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,

tab_lines LIKE sy-tabix.

DATA: wl_body LIKE it_body-line.

* Armamos el contenido del cuerpo
CONCATENATE text-m01 '904512' text-m02 'MMMTPA' '.'
INTO wl_body SEPARATED BY space.
it_body-line = wl_body.
APPEND it_body.

** Equivalente a un salto de linea
CLEAR wl_body.
it_body-line = wl_body.
APPEND it_body.

APPEND gs_report to li_dat_bin.


** Pie de Cuerpo
it_body-line = text-m03.
APPEND it_body.

* Creamos el mail
DESCRIBE TABLE it_body LINES tab_lines.
READ TABLE it_body INDEX tab_lines.
gd_doc_data-doc_size = ( tab_lines ) * 255 + STRLEN( it_body ).
* atributos especiales del mensaje
gd_doc_data-obj_langu = sy-langu.
gd_doc_data-obj_descr = text-m04.
* Cuerpo del mensaje
it_packing_list-transf_bin = space.
it_packing_list-head_start = 1.
it_packing_list-head_num = 0.
it_packing_list-body_start = 1.
DESCRIBE TABLE it_body LINES it_packing_list-body_num.
it_packing_list-doc_type = 'bin'.
* it_packing_list-obj_name = gs_report-PAY_RECEIPT.
it_packing_list-obj_name ='File'.
APPEND it_packing_list.

* add direc. mail
it_receivers-receiver = 'cesarcaes01@gmail.com'.
it_receivers-rec_type = 'U'.
it_receivers-com_type = 'INT'.
it_receivers-notif_del = 'X'.
it_receivers-notif_ndel = 'X'.
APPEND it_receivers.


"SEND MAIL ALL Ó DOWNLOAD MAIL
CASE R_UCOMM.
"Send mail all employee
WHEN '/&INFO'.
WRITE :/02 SY-VLINE, rs_selfield-fieldname.
write R_UCOMM.
write rs_selfield-value.
*CLEAR gt_report.
* CHECK rs_selfield-tabindex NE 0.
* READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.

IF sy-subrc EQ 0.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = gd_doc_data
* put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = it_packing_list
contents_txt = it_body
receivers = it_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.

IF sy-subrc EQ 0.
WRITE: 'e-mail enviado exitósamente'.
ELSE.
WRITE: 'error en envió de e-mail'.
ENDIF.