#1
|
|||
|
|||
Como enviar un formulario SAPscript???
Hola a todos los integrantes de este foro, alguien sabe como o conoce de alguna función que me permita enviar un formulario sapscript (La orden de compra) a un correo electrónico?, es urgente!!! , de antemano muchas gracias..
Saludos, Alicia |
#2
|
|||
|
|||
Hola Alicia, para enviar un formulario a través del correo electrónico, primero tienes que convertirlo a formato PDF, esto lo puedes lograr por la función que a continuación te describo:
1 - ***************************************************************************** * VERIFICA EL TIPO DE SPOOL QUE TENEMOS ***************************************************************************** call function 'RSPO_GET_TYPE_SPOOLJOB' exporting rqident = spool_id importing is_otf = i_otf exceptions can_not_access = 1 others = 2. if sy-subrc <> 0. message id 'Z1' type 'E' number 000 with text-002. elseif i_otf eq 'X'. ***************************************************************************** * Generar PDF de OTF ***************************************************************************** call function 'CONVERT_OTFSPOOLJOB_2_PDF' exporting src_spoolid = spool_id importing pdf_bytecount = pbyte tables pdf = t_pdf exceptions err_no_otf_spooljob = 1 err_no_spooljob = 2 err_no_permission = 3 err_conv_not_possible = 4 err_bad_dstdevice = 5 user_cancelled = 6 err_spoolerror = 7 err_temseerror = 8 err_btcjob_open_failed = 9 err_btcjob_submit_failed = 10 err_btcjob_close_failed = 11 others = 12. else. " Generar PDF de Abap call function 'CONVERT_ABAPSPOOLJOB_2_PDF' exporting src_spoolid = spool_id importing pdf_bytecount = pbyte tables pdf = t_pdf exceptions err_no_abap_spooljob = 1 err_no_spooljob = 2 err_no_permission = 3 err_conv_not_possible = 4 err_bad_destdevice = 5 user_cancelled = 6 err_spoolerror = 7 err_temseerror = 8 err_btcjob_open_failed = 9 err_btcjob_submit_failed = 10 err_btcjob_close_failed = 11 others = 12. if sy-subrc eq 0. * Iniciamos la traducción por error en la funcion de conversion ABAP-PDF loop at t_pdf into i_pdf. translate i_pdf using ',.'. modify t_pdf from i_pdf. endloop. endif. endif. "De if sy-subrc ********************************************************************************************** 2- Bajas el PDF Generado a Disco concatenate subdir '\' p_file '.PDF' into w_archivo. call function 'WS_DOWNLOAD' exporting bin_filesize = pbyte filename = w_archivo filetype = 'BIN' tables data_tab = t_pdf exceptions invalid_filesize = 1 invalid_table_width = 2 invalid_type = 3 no_batch = 4 unknown_error = 5 gui_refuse_filetransfer = 6. if sy-subrc <> 0. message id 'Z1' type 'E' number '000' with text-003. endif. endform. " BAJAR_ARCHIVO ********************************************************************************************** 3- Buscas las Direcciones de Email en el Maestro de Proveedores select single * from lfa1 where lifnr eq report_iii-lifnr. if sy-subrc = 0. select single * from adr6 where addrnumber = lfa1-adrnr. if sy-subrc = 0. p_to = adr6-smtp_addr. else. p_to = space. message i999 with text-012 lfa1-adrnr text-013. endif. endif. ************************************************************************************************** 4- Envías el Correo a través de las siguiente instrucciones data: appoutlook type ole2_object. data: appout2 type ole2_object. data: appitem type ole2_object. data: namespace type ole2_object. data: attachments type ole2_object. data: frace01(45), frace02(45). * Crear objeto OLE : outlook.application create object appoutlook 'outlook.application' . * Mensajes vía MAPI call method of appoutlook 'GetNameSpace' = namespace exporting #1 = 'MAPI'. * Crea objeto nuevo ITEM ( nuevo mensaje ) call method of appoutlook 'CreateItem' = appitem exporting #1 = '0'. * Propiedades TO , SUBJECT y BODY set property of appitem 'To' = 'xxxxxxx@xxx.com'. concatenate p_subj 'OI' into p_subj separated by space. set property of appitem 'Subject' = p_subj. set property of appitem 'Body' = ‘Adjunto, Pedidos’. * Se adjunta el archivo if not w_archivo is initial. call method of appitem 'Attachments' = attachments. call method of attachments 'Add' exporting #1 = w_archivo. endif. * Envíar directamente call method of appitem 'Send'. *Se muestra la pantalla del outlook ******** CALL METHOD OF appitem 'Display'. * Libera Espacio del objeto free object attachments. free object appitem. free object namespace. * Cierra Outlook ( solo si se quiere que quede cerrado ) ***CALL METHOD OF appoutlook 'Quit'. free object appoutlook. Espero que esto te ayude Saludos.... Reiner Jiménez |
#3
|
||||
|
||||
Hola Alicia,
No te preocupes es muy fácil y solo requiere unas pocas lineas de código abap . Para enviar un formulario sapscript por email, tienes que incluir estas funciones en el programa que adjuntarán al correo tu formulario como un pdf. *--- Define la dirección email del destinatario LW_COMM_VALUES-ADSMTP-SMTP_ADDR = *--- Define el Título LW_SNAST-TDCOVTITLE = SY-TITLE *--- Define los detalles del emisor y del destinatario CALL FUNCTION 'CONVERT_COMM_TYPE_DATA' EXPORTING PI_COMM_TYPE = 'INT' PI_COMM_VALUES = LW_COMM_VALUES PI_REPID = SY-REPID PI_SNAST = LW_SNAST PI_MAIL_SENDER = SY-UNAME IMPORTING PE_ITCPO = GW_ITCPO PE_MAIL_RECIPIENT = LW_RECIPIENT PE_MAIL_SENDER = LW_SENDER EXCEPTIONS COMM_TYPE_NOT_SUPPORTED = 1 RECIPIENT_CREATION_FAILED = 2 SENDER_CREATION_FAILED = 3 OTHERS = 4. Los objetos usados aquí se definen como sigue: LW_COMM_VALUES TYPE SZADR_COMM_VALUES LW_SENDER TYPE SWOTOBJID LW_RECIPIENT TYPE SWOTOBJID LW_SNAST TYPE SNAST Esto te dará los detalles del emisor y del. Ahora todo lo que tienes que hacer es llamar a la función OPEN_FORM como sigue: CALL FUNCTION 'OPEN_FORM' EXPORTING DEVICE = 'MAIL' <--- Note: Device is PRINTER for printing DIALOG = SPACE FORM = SAPscript form name LANGUAGE = SY-LANGU OPTIONS = GW_ITCPO MAIL_SENDER = LW_SENDER MAIL_RECIPIENT = LW_RECIPIENT EXCEPTIONS CANCELED = 1 DEVICE = 2 FORM = 3 OPTIONS = 4 UNCLOSED = 5 MAIL_OPTIONS = 6 ARCHIVE_ERROR = 7 INVALID_FAX_NUMBER = 8 MORE_PARAMS_NEEDED_IN_BATCH = 9 SPOOL_ERROR = 10 CODEPAGE = 11 OTHERS = 12. Varios comentarios: - Recuerda poner el COMMIT WORK después de la llamada al CLOSE_FORM. - Comprueba con tu equipo de BASIS que tiene corriendo el proceso de envió a email externos cada 5 minutos que llama al programa RSCONN01. - Si envías correos a direcciones de Hotmail o Yahoo, debes poner alguna dirección de e-mail host en la transaccion SCOT, de lo contrario sus servidores lo rechazarán o lo consideraran como correo no deseado o malicioso. DE echo si chequeas el log de SCOT --> Utilities --> Overview of send orders --> Trace --> Choose tendrás una entrada que reza: "error 550 relaying is prohibited." Pregunta a tu exchange administrator para permitir que SAP server IP address confie en tu exchange server y podras enviar correos a cualquier dirección de email. Espero que te sea útil ya nos contaras. Un saludo, vista, suerte y al toro
__________________
Si precisas una mano, recuerda que yo tengo dos. |
#4
|
||||
|
||||
__________________
Si precisas una mano, recuerda que yo tengo dos. |
#5
|
|||
|
|||
Gracias!!!!
reijimher, Tracer muchas gracias por la ayuda dejenme decirles que ya una de sus respuestas dio resultado, mañana voy a probar la solución de Tracer, nuevamente muchas gracias, espero poder colaborales algún día...
Saludos Alicia |
#6
|
|||
|
|||
Buenos Dias a Todos en el Pequeño y Gran Mundo de SAp..!
Dejenme informarles que Yo soy ell Abap de Alicia, que tal..? y como ella les dijo antes, muchas gracias reijimher y tracer, la solución dada por reijimher nos funcionó perfectamente en 4.7, ahora la de tracer estoy por probarla por que no entiendo muy bien, de todas formas estaré intentandolo..! Ahora, tendo dos pregunticas para reijimher si no es mucha molestia, claro si otro sabe, bien recibido será..! 1.- en la instrucción: set property of appitem 'Body' = ‘Adjunto, Pedidos’. que debe ser colocado? una variable tipo char que contenga un texto para acompañar el correo..? xq con el texto directo como por ejemplo ‘Adjunto, Pedidos’ me da el error "comma without preceding colon (after SET ?)". 2.- Sabes como adjuntar a este correo, un archivo adicional al de la orden de compra distinto a PDF..? Gracias de antemano..! |
#7
|
|||
|
|||
Ayuda
Necesito Mandar Un Formlario Pdf Por Mail
Y Vi Este Mensaje Pero Me Marca Error En Los Ole2_object Alguien Me Puede Decir Como Solucionar Esto? Gracias |
#8
|
|||
|
|||
Especificaciones Sapscript Pedido de Compra y Peticion de oferta
Tracer o quien primerlo lea este mensaje:
Me pueden ayudar con carácter urgente a ubicar los formatos de especificaciones de los sapscript de Pedidos de Compra y Peticiones de Oferta, donde aparecen las tablas, Estructuras y nombres de los campos técnicos. Igual si tienen especificaciones de las cargas de Maestro de Materiales y Carga de ordenes de compra vigentes en SAP. Agradezco su valiosa ayuda, Cordialmente CJ |
#9
|
||||
|
||||
Enviar texto dentro de correo electronico
Hola
Yo tengo la solución de Tracer y me funciona perfectamente bien, le envío a mi proveedor un correo electrónico con la orden de compra adjunta en formato PDF desde la tx ME22N. Solo que ahora tengo un detalle que no logro solucionar :S.. quiero enviar un texto como cuerpo en el correo, que diga por ejemplo: "Le envio la orden de compra adjunto a este correo para su revision. Gracias" pero no logro ingresar este texto Estoy usando las funciones: ADDR_GET_NEXT_COMM_TYPE CONVERT_COMM_TYPE_DATA OPEN_FORM Tracer o alguién que haya usado este mismo código podria darme una idea? Saludos |
#10
|
|||
|
|||
Envio de SAPSCRIPT en formato PDF x Mail
Estimados:
Estoy con este tema. Me incliné por probar con la opción de Tracer pero no logro que envíe el mail. Me da Exceptions = 6 = MAIL_OPTIONS Al salir de la funcion OPEN_FORM La estructura GW_ITCPO al salir de la funcion CONVERT_COMM_TYPE_DATA" queda en blanco. (pruebo con la impresion comun en lugar de enviar por mail, y tambien dicha estructura queda en blanco) El resto esta todo igual. Alguien me podria dar una mano ? Que me puede estar faltando ? Muchas gracias. Saludos
__________________
Ariel-StaFe Analista Programador Abap Senior Santa Fe Capital Pcia de Santa Fe Argentina |
Herramientas | Buscar en Tema |
Desplegado | |
|
|