MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Envió de PDF en un programa ejecutado en Fondo (job) (foro/showthread.php?t=8617)

marialeqd 25/10/07 19:08:25

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

Anel Lazcano 25/10/07 19:19:13

no tengo experiencia con esa funcion, pero encontre un codigo q tal vez te de una idea, la liga es la siguiente:


Saludos, suerte.

marialeqd 26/10/07 14:08:01

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:

Gregoryg 30/10/07 01:30:47

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

marialeqd 01/11/07 13:13:47

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.

seimeinomi 15/10/10 15:38:02

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 09:45:35.

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