Envió de PDF en un programa ejecutado en Fondo (job)
Hola foro, tengo la siguiente situación necesito nadar un archivo PDF en un mail directamente desde SAP, hasta que todo bien, pues se que con el metodo
CALL METHOD OF APPOUTLOOK se hace, pero el problema es que necesito hacer esto en un programa que se ejcuta en fondo (JOB), se que con la funcion SO_NEW_DOCUMENT_ATT_SEND_API1 se puede envias adjunto pero no se como se usa is alguien me puede decir algo seria de mucha ayuda, Gracias :D |
no tengo experiencia con esa funcion, pero encontre un codigo q tal vez te de una idea, la liga es la siguiente:
Saludos, suerte. |
Hola anel gracias por tu respuesta, sabes ahora tengo un problemilla con la rutina que pasa la tabla PDFa la bin, no lo hace bien y cuando veo el correo y le doy para visulaizar el adjunto me dice que el archivo eta dañano que no lo puede abrir, posiblemente problemas al traducir al archivo,
sabes algo de esto, algun comentario, :confused: |
Envió de PDF en un programa ejecutado en Fondo (job)
Hola Marialeqd
Yo tuve el mismo problema, y eso es debe a un error de conversion de la tabla OTF a la tabla BIN que es la que passas a la funcion que envia el correo. Chequea este codigo IT_OUTPUT[] = ST_JOB_OUTPUT_INFO-OTFDATA[]. * Move OTF code to structure SOLI form email CLEAR I_OTF. REFRESH I_OTF. LOOP AT P_OUTPUT. I_OTF-LINE = P_OUTPUT. APPEND I_OTF. ENDLOOP. CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF' EXPORTING FORMAT_SRC = 'OTF' FORMAT_DST = 'PDF' DEVTYPE = 'PRINTER' * FUNCPARA = LEN_IN = '1234' * IMPORTING * LEN_OUT = TABLES CONTENT_IN = I_OTF CONTENT_OUT = I_OBJBIN EXCEPTIONS ERR_CONV_FAILED = 1 OTHERS = 2 . Saludos:D |
gracias, gregory sabes soluciones con este codigo, el que colocas esta bien pero cuando se trata de un sapscript, en mi caso es un listado 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. break mquintero. CHECK sy-subrc = 0. * Transfer the 132-long strings to 255-long strings LOOP AT T_PDF. TRANSLATE T_PDF USING ' ~'. CONCATENATE gd_buffer T_PDF INTO gd_buffer. ENDLOOP. TRANSLATE gd_buffer USING '~ '. DO. it_mess_att = gd_buffer. APPEND it_mess_att. SHIFT gd_buffer LEFT BY 255 PLACES. IF gd_buffer IS INITIAL. EXIT. ENDIF. ENDDO. append lines of it_mess_att to i_cont_bin. ...... *--------- DESCRIBE TABLE i_cont_bin LINES TAB_LINES. I_OBJPACK-TRANSF_BIN = 'X'. I_OBJPACK-HEAD_START = 1. I_OBJPACK-HEAD_NUM = 1. I_OBJPACK-HEAD_NUM = 1. I_OBJPACK-BODY_START = 1. I_OBJPACK-BODY_NUM = TAB_LINES. I_OBJPACK-DOC_TYPE = 'PDF'. i_objpack-doc_size = PBYTE. MOVE OBJHEAD TO I_OBJPACK-OBJ_DESCR. MOVE OBJHEAD TO I_OBJPACK-OBJ_NAME. I_OBJPACK-DOC_SIZE = TAB_LINES * 255. APPEND I_OBJPACK. ......... *----------- CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' EXPORTING DOCUMENT_DATA = DOC_DATA PUT_IN_OUTBOX = 'X' TABLES PACKING_LIST = I_OBJPACK OBJECT_HEADER = OBJHEAD CONTENTS_BIN = i_cont_bin CONTENTS_TXT = OBJTXT 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. |
Hola Problema pdf mayor de 100 hojas
Hola como te va estoy usando la misma función para generar mi pdf y enviarlo por mail. El problema que estoy teniendo es cuando el pdf es mayor a 99 hojas, esta funcion tiene un limte de hojas, caso contrario como puedo solucionarlo. |
Husos Horarios son GMT. La hora en este momento es 07:20:12. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web