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




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 16/08/11, 22:45:21
jossnet jossnet is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 61
Haz hecho un debug de tu aplicación?,postea tu código,no deberia haber problema si lo lanzas desde un dynpro.
Responder Con Cita
  #2  
Viejo 17/08/11, 14:32:34
marianoboni marianoboni is offline
Member
 
Fecha de Ingreso: abr 2008
Mensajes: 75
Codigo de mi aplicacion

Este framgmento de codigo lo saque de un report: BCS_EXAMPLE_7


form send.
data send_request type ref to cl_bcs.
data document type ref to cl_document_bcs.
data recipient type ref to if_recipient_bcs.
data bcs_exception type ref to cx_bcs.

data main_text type bcsy_text.
data binary_content type solix_tab.
data size type so_obj_len.
data sent_to_all type os_boolean.
data mailto type ad_smtpadr.

mailto = 'mariano.boni@aguasdesantafe.com.ar'.
try.

* -------- create persistent send request ------------------------
send_request = cl_bcs=>create_persistent( ).

* -------- create and set document with attachment ---------------
* create document object from internal table with text
append 'Hello world!' to main_text. "#EC NOTEXT
document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = main_text
i_subject = 'Test Created By BCS_EXAMPLE_7' ). "#EC NOTEXT

* add the spread sheet as attachment to document object
document->add_attachment(
i_attachment_type = 'xls' "#EC NOTEXT
i_attachment_subject = 'ExampleSpreadSheet' "#EC NOTEXT
i_attachment_size = size
i_att_content_hex = binary_content ).

* add document object to send request
send_request->set_document( document ).

* --------- add recipient (e-mail address) -----------------------
* create recipient object
recipient = cl_cam_address_bcs=>create_internet_address( mailto ).

* add recipient object to send request
send_request->add_recipient( recipient ).

* ---------- send document ---------------------------------------
sent_to_all = send_request->send( i_with_error_screen = 'X' ).

commit work.

if sent_to_all is initial.
message i500(sbcoms) with mailto.
else.
message s022(so).
endif.

* ------------ exception handling ----------------------------------
* replace this rudimentary exception handling with your own one !!!
catch cx_bcs into bcs_exception.
message i865(so) with bcs_exception->error_type.
endtry.
endform. "send
Responder Con Cita
  #3  
Viejo 17/08/11, 15:18:43
jossnet jossnet is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 61
En document->add_attachment... estas intentando adjuntar algo pero las variables que pasas estan vacias, comenta esa parte si solo vas a enviar el mensaje.
Responder Con Cita
  #4  
Viejo 18/08/11, 13:15:01
marianoboni marianoboni is offline
Member
 
Fecha de Ingreso: abr 2008
Mensajes: 75

Tenés razón. Motivado por esa falta hice lo siguiente:

1) reemplace el form por el form del ejemplo BCS_EXAMPLE_1
que es un envío simple.

2) invoque desde mi programa via sentencia y funciono.

FORM send .

SUBMIT ZBCS_EXAMPLE_1
AND RETURN.

ENDFORM.

3 ) reemplace la llamada del mencionado reporte y ¡no funciono!

FORM send.

DATA: send_request TYPE REF TO cl_bcs.
DATA: text TYPE bcsy_text.
DATA: document TYPE REF TO cl_document_bcs.
DATA: sender TYPE REF TO cl_sapuser_bcs.
DATA: recipient TYPE REF TO if_recipient_bcs.
DATA: bcs_exception TYPE REF TO cx_bcs.
DATA: sent_to_all TYPE os_boolean.
TRY.
* -------- create persistent send request ------------------------
send_request = cl_bcs=>create_persistent( ).

* -------- create and set document -------------------------------
* create document from internal table with text
APPEND 'Hello world!' TO text.
document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = text
i_length = '12'
i_subject = 'test created by BCS_EXAMPLE_1' ).

* add document to send request
CALL METHOD send_request->set_document( document ).

* --------- set sender -------------------------------------------
* note: this is necessary only if you want to set the sender
* different from actual user (SY-UNAME). Otherwise sender is
* set automatically with actual user.

sender = cl_sapuser_bcs=>create( sy-uname ).
CALL METHOD send_request->set_sender
EXPORTING
i_sender = sender.

* --------- add recipient (e-mail address) -----------------------
* create recipient - please replace e-mail address !!!
recipient = cl_cam_address_bcs=>create_internet_address(
'mariano.boni@aguasdesantafe.com.ar' ).

* add recipient with its respective attributes to send request
CALL METHOD send_request->add_recipient
EXPORTING
i_recipient = recipient
i_express = 'X'.

* ---------- send document ---------------------------------------
CALL METHOD send_request->send(
EXPORTING
i_with_error_screen = 'X'
RECEIVING
result = sent_to_all ).
IF sent_to_all = 'X'.
WRITE text-003.
ENDIF.

COMMIT WORK.

* -----------------------------------------------------------
* * exception handling
* -----------------------------------------------------------
* * replace this very rudimentary exception handling
* * with your own one !!!
* -----------------------------------------------------------
CATCH cx_bcs INTO bcs_exception.
WRITE: text-001.
WRITE: text-002, bcs_exception->error_type.
EXIT.

ENDTRY.

ENDFORM.
Responder Con Cita
  #5  
Viejo 18/08/11, 18:27:34
marianoboni marianoboni is offline
Member
 
Fecha de Ingreso: abr 2008
Mensajes: 75
Logica del programa

Mi programa es invocado por una trx la cual llama a un metodo de una clase.
Dicho metodo llama al DYNPRO.
Luego hay un boton que ejecuta un procedimiento dentro del dynpro.
Este es el contexto donde se ejecuta el codigo copiado del Standar.
Lo unico que se me ocurre es que puede haber algun tipo de control, que por algun motivo no esta saltando como excepcion.

Adjunte el log al cual accedo a través de la SOST.
En el mismo archivo va la primer corrida que pertenece al programa estructurado como indico arrriba.
La segunda corrida es la copia del ejemplo de sao, ejecutada desde la SE38.
Archivos Adjuntos
Tipo de Archivo: txt log_sost.txt (10.0 KB, 16 visitas)
Responder Con Cita
  #6  
Viejo 19/08/11, 13:26:06
marianoboni marianoboni is offline
Member
 
Fecha de Ingreso: abr 2008
Mensajes: 75
Talking Problema Solucionado

Luego de renegar durante 4 días ayer encontré un nota ( 717265 ) que reconoce este error en la versión 6 de SAP.
Aconseja como primera aproximación que se cree una función RFC y se encapsule el código en ella.
Cuando hice pruebas invocando a los programas usando SUBMIT funcionaban, evidentemente se ejecutan en un espacio deferente de la misma manera que la RFC.
Saludos.
Responder Con Cita
  #7  
Viejo 14/09/11, 14:26:29
Avatar de ing_Gmaurisio
ing_Gmaurisio ing_Gmaurisio is offline
Junior Member
 
Fecha de Ingreso: may 2009
Mensajes: 15
Sendmail

Maria, podras ayudarme,, no he logrado configurar el correo en sap. ???????
Responder Con Cita
Respuesta


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 05:18:31.


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