MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
 
 
Herramientas Buscar en Tema Desplegado
Prev Mensaje Previo   Próximo Mensaje Próx
  #4  
Viejo 09/07/13, 20:49:47
Mauricio Hidalgo Mauricio Hidalgo is offline
Senior Member
 
Fecha de Ingreso: may 2006
Localización: Santiago, Chile
Mensajes: 481
Fijar lo siguientes atributos a la estructura de control de salida del formulario, parámetros CONTROL_PARAMETERS y OUTPUT_OPTIONS en el llamado del formulario .


control-getotf = 'X'. "con esto tendras el OTF para poder enviar el PDF
control-no_dialog = 'X' "Sin dialogo para selección de impresora
output-tdnoprev = 'X'. "sin vista previa


Te adjunto rutina para armar el envio del correo.

FORM ENVIAR_MAIL_Usuario.
DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.
DATA: OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
DATA: OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
DATA: DOC_CHNG LIKE SODOCCHGI1.
DATA: TAB_LINES LIKE SY-TABIX.
DATA L_NUM(3).
DATA LARGO TYPE I.
DATA SYSUBRC TYPE N.

Data: v_ADDRNUMBER like ADRC-ADDRNUMBER,
v_PERSNUMBER like ADRP-PERSNUMBER.


DATA: BEGIN OF correo OCCURS 24.
DATA: linea(255).
DATA: END OF correo.

DATA filesize TYPE I.

* TOMAR OTF Y PASARLO A PDF
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
IMPORTING
BIN_FILESIZE = FILESIZE
TABLES
OTF = T_OTF
LINES = T_LINES
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1.

* File Name
DOC_CHNG-OBJ_NAME = 'MESSAGE'.
* Mail Subject
CONCATENATE 'Reclamo N° ' nast-objky
into DOC_CHNG-OBJ_DESCR
SEPARATED BY SPACE.

* PACKING INFO TEXT DATA
OBJTXT-LINE = 'Ver detalle de reclamo en Documento Adjunto.'.
APPEND OBJTXT.

DESCRIBE TABLE OBJTXT LINES TAB_LINES.
READ TABLE OBJTXT INDEX TAB_LINES.
DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).

* CLEAR OBJHEAD.
* OBJHEAD = 'MiPDF.PDF'.
* APPEND OBJHEAD.

clear OBJPACK.
OBJPACK-TRANSF_BIN = ''.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'RAW'.
APPEND OBJPACK.

CALL FUNCTION 'QCE1_CONVERT'
TABLES
T_SOURCE_TAB = T_LINES
T_TARGET_TAB = OBJBIN
EXCEPTIONS
CONVERT_NOT_POSSIBLE = 1.


DESCRIBE TABLE OBJBIN LINES TAB_LINES.
READ TABLE OBJBIN INDEX TAB_LINES.

clear OBJPACK.
OBJPACK-TRANSF_BIN = 'X'.
OBJPACK-head_start = 1.
OBJPACK-head_num = 0.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'PDF'.
OBJPACK-OBJ_NAME = 'COTIPDF'.

CONCATENATE 'Cotizac_' nast-objky Into OBJPACK-OBJ_DESCR.

* OBJPACK-OBJ_DESCR = 'Click para ver archivo'.
OBJPACK-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJBIN ).
APPEND OBJPACK.

* Completing the recipient list target recipent
clear RECLIST.
select single ADDRNUMBER PERSNUMBER
into (v_ADDRNUMBER, v_PERSNUMBER)
from USR21
where BNAME = sy-uname.

if sy-subrc eq 0.
select single SMTP_ADDR into RECLIST-RECEIVER
from ADR6
where ADDRNUMBER = v_ADDRNUMBER
and PERSNUMBER = v_PERSNUMBER.
if sy-subrc eq 0.
RECLIST-REC_TYPE = 'U'.
APPEND RECLIST.
Else.
* Si no encuentra el correo externo del usuario,
* mandamos al correo interno de SAP.
RECLIST-RECEIVER = sy-uname.
RECLIST-REC_TYPE = 'B'.
APPEND RECLIST.
endif.
ENDIF.

*
* Sending the document
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
TABLES
PACKING_LIST = OBJPACK
* OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
OTHERS = 99.
ENDFORM.

Con eso debería poder armar tu programa para que pueda correr en segundo plano.

Saludos
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 18:47:31.


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