#1
|
|||
|
|||
Consulta sobre Tranformacion a bin
Buenos días, tengo un pequeño problema en el que tal ves ustedes me puedan ayudar, el asunto es que debo mandar un mail con un exel el cual se forma de una tabla interna esto yo lo realizaba bajando la tabla a un bin con el gui y luego subiéndolo d e esta misma manera pero resulta que no puedo usar ni gui ni ws para este programa dado que lo ejecuto por debajo, no se si conocen alguna otra forma de pasar una tabla interna a bin o de mandar el mail de una tabla interna convertida a exel cualquier ayuda será agradecida
le s paso el codigo que tengo lo marcado con rojo es lo que debo canbiar FORM f_enviar_mail. CONSTANTS: lc_tipo_doc TYPE so_obj_tp VALUE 'xls', lc_tipo_email TYPE so_obj_tp VALUE 'RAW', lc_urgente TYPE so_obj_nam VALUE 'URGENT', lc_caracter TYPE so_obj_sns VALUE 'F', lc_tipo TYPE string VALUE '.xls'. DATA: li_pack TYPE TABLE OF sopcklsti1, li_objtxt TYPE TABLE OF solisti1, li_receivers TYPE bubas_t_receiver, ls_reclist type somlreci1, li_objbin TYPE TABLE OF solisti1, lw_data LIKE sodocchgi1, lw_pack TYPE sopcklsti1, lw_objtxt TYPE solisti1, lv_lines_attachment TYPE i value 1, lv_righe_testo TYPE i, lv_asunto TYPE so_obj_des, lv_error TYPE c. CLEAR lv_error. REFRESH tabla_EXEL. * Asunto del e-mail lv_asunto = 'Informe Representación Sindical'. * Cuerpo del e-mail CLEAR lw_objtxt. lw_objtxt = ' '. APPEND lw_objtxt TO li_objtxt. CLEAR lw_objtxt. * CLEAR lw_objtxt. * lw_objtxt = text-001. "Línea de puntos * APPEND lw_objtxt TO li_objtxt. * CLEAR lw_objtxt. * WRITE text-002 TO lw_objtxt. * APPEND lw_objtxt TO li_objtxt. tabla_EXEL-ah00290 = 'N.Contrato'. tabla_EXEL-ah00301 = 'L.Neg'. tabla_EXEL-zrrm_nom_linneg = 'L.Neg txt'. tabla_EXEL-tdh00435 = 'C.Tra Pri.'. tabla_EXEL-tah00310 = 'E.Contrat.'. tabla_EXEL-tak00010 = 'E.Colabor.'. tabla_EXEL-ak00020 = 'C.I.F'. tabla_EXEL-ak00040 = 'Dom.Soc.'. tabla_EXEL-ah00330 = 'Obj.Con.'. tabla_EXEL-duracion = 'D.Contrat.'. tabla_EXEL-bh00400 = 'Trab.'. tabla_EXEL-num_trab_est = 'N.Est.Trb.'. tabla_EXEL-acta_coord = 'Acta Coor.'. tabla_EXEL-certif_ss_pago = 'Cert.SS.'. tabla_EXEL-name1 = 'Ce.SIE'. tabla_EXEL-pstlz = 'Cod.Post'. tabla_EXEL-ort01 = 'Provincia'. tabla_EXEL-lugar_ejec = 'Lug.Ejec.'. tabla_EXEL-begda = 'F.Inicio'. tabla_EXEL-endda = 'F.Fin'. tabla_EXEL-typexp ='T.Exped.'. APPEND tabla_EXEL. LOOP at tabla_alv. MOVE-CORRESPONDING tabla_alv TO tabla_EXEL. APPEND tabla_EXEL. ENDLOOP. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING FILENAME = 'Sindical.xls' FILETYPE = 'DAT' TABLES data_tab = tabla_EXEL. . IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = 'Sindical.xls' FILETYPE = 'BIN' tables data_tab = li_objbin . IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. DESCRIBE TABLE li_objbin LINES lv_lines_attachment. DESCRIBE TABLE li_objbin LINES lv_righe_testo. * Información del correo lw_data-obj_name = lc_urgente. " Urgente lw_data-expiry_dat = sy-datum + 10. lw_data-obj_descr = lv_asunto. " Asunto del e-mail. lw_data-sensitivty = lc_caracter. " Funcional lw_data-doc_size = lv_righe_testo * 255. " Tamaño del documento lw_pack-transf_bin = 'X'. lw_pack-head_start = 1. lw_pack-head_num = 1. lw_pack-body_start = 1. lw_pack-body_num = lv_lines_attachment * 255. lw_pack-doc_type = 'XLS'. lw_pack-obj_descr = 'Informe Representación Sindical'. lw_pack-obj_name = 'Sindical.xls'. lw_pack-doc_size = lv_lines_attachment * 255. APPEND lw_pack TO li_pack. ** Creation of the entry for the compressed document CLEAR lw_pack-transf_bin. lw_pack-head_start = 1. lw_pack-head_num = 0. lw_pack-body_start = 1. lw_pack-body_num = lv_lines_attachment * 255. lw_pack-doc_type = 'RAW'. APPEND lw_pack TO li_pack. CLEAR ls_reclist. ls_reclist-receiver = sy-UNAME. ls_reclist-express = 'X'. ls_reclist-rec_type = 'B'. APPEND ls_reclist TO LI_receivers. CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' EXPORTING document_data = lw_data put_in_outbox = 'X' commit_work = 'X' TABLES packing_list = li_pack contents_bin = li_objbin contents_txt = li_objtxt receivers = li_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 = 99. * IF sy-subrc NE 0. ** No se ha enviado el correo a ninguno de los interesados * pio_error = gc_marcado. * ENDIF. * ENDIF. ENDFORM. "f_enviar_mail |
Herramientas | Buscar en Tema |
Desplegado | |
|
|