Función SO_DOCUMENT_REPOSITORY_MANAGER para enviar por correo mails con archivos

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • jordiC77
    Junior Member
    • nov
    • 13

    #1

    Función SO_DOCUMENT_REPOSITORY_MANAGER para enviar por correo mails con archivos

    Hola!!

    Estoy intentando enviar correos con archivos anexados con la función SO_DOCUMENT_REPOSITORY_MANAGER. He encontrado un ejemplo, pero lo que me pasa es que va bien, pero se me para en la pantalla de enviar. No sé si os habéis encontrado con este problema y lo habéis solucionado. ¡¡Ya no sé qué más mirar ni qué más hacer, de verdad!! ¡¡Desesperación absoluta!!

    El código que tengo es:

    data method1 like sy-ucomm.
    data g_user like soudnamei1.
    data g_user_data like soudatai1.
    data g_owner like soud-usrnam.
    data g_receipients like soos1 occurs 0 with header line.
    data g_document like sood4 .
    data g_header like sood2.
    data g_folmam like sofm2.
    data g_objcnt like soli occurs 0 with header line.
    data g_objhead like soli occurs 0 with header line.
    data g_objpara like selc occurs 0 with header line.
    data g_objparb like soop1 occurs 0 with header line.
    data g_attachments like sood5 occurs 0 with header line.
    data g_references like soxrl occurs 0 with header line.

    data g_authority like sofa-usracc.
    data g_ref_document like sood4.
    data g_new_parent like soodk.
    data: begin of g_files occurs 10 ,
    text(4096) type c,
    end of g_files.

    data : fold_number(12) type c,
    fold_yr(2) type c,
    fold_type(3) type c.

    parameters ws_file(4096) type c default 'c:\debugger.txt'.
    * Can me any file fromyour pc ....either xls or word or ppt etc ...
    g_user-sapname = sy-uname.
    call function 'SO_USER_READ_API1'
    exporting
    user = g_user
    * PREPARE_FOR_FOLDER_ACCESS = ' '
    importing
    user_data = g_user_data
    * EXCEPTIONS
    * USER_NOT_EXIST = 1
    * PARAMETER_ERROR = 2
    * X_ERROR = 3
    * OTHERS = 4
    .
    if sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.

    fold_type = g_user_data-outboxfol+0(3).
    fold_yr = g_user_data-outboxfol+3(2).
    fold_number = g_user_data-outboxfol+5(12).
    clear g_files.


    refresh : g_objcnt,
    g_objhead,
    g_objpara,
    g_objparb,
    g_receipients,
    g_attachments,
    g_references,
    g_files.

    method1 = 'SAVE'.
    g_document-foltp = fold_type.
    g_document-folyr = fold_yr.
    g_document-folno = fold_number.
    g_document-objtp = g_user_data-object_typ.
    g_document-objdes = 'Titulo'.
    g_document-folrg = 'O'.
    g_document-objlen = '0'.
    g_document-file_ext = 'TXT'.

    g_header-objdes = 'Titulo'.

    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
    exporting
    method = method1
    office_user = sy-uname
    ref_document = g_ref_document
    new_parent = g_new_parent
    importing
    authority = g_authority
    tables
    objcont = g_objcnt
    objhead = g_objhead
    objpara = g_objpara
    objparb = g_objparb
    recipients = g_receipients
    attachments = g_attachments
    references = g_references
    files = g_files
    changing
    document = g_document
    header_data = g_header
    * FOLMEM_DATA =
    * RECEIVE_DATA =
    .

    ************************************************** **********************

    * File from the pc to send...
    method1 = 'ATTCREATEFROMPC'.

    g_files-text = 'C:\importacio J-01127.xls'.
    append g_files.

    g_files-text = 'C:\debugger.txt'.
    append g_files.

    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
    exporting
    method = method1
    office_user = g_owner
    ref_document = g_ref_document
    new_parent = g_new_parent
    importing
    authority = g_authority
    tables
    objcont = g_objcnt
    objhead = g_objhead
    objpara = g_objpara
    objparb = g_objparb
    recipients = g_receipients
    attachments = g_attachments
    references = g_references
    files = g_files
    changing
    document = g_document
    header_data = g_header.


    ************************************************** **********************

    method1 = 'SEND'.

    g_receipients-recnam = 'U-'.
    g_receipients-recesc = 'U'.
    g_receipients-sndex = 'X'.
    g_receipients-sndart = 'INT'.
    g_receipients-sndpri = 1.
    g_receipients-RECEXTNAM = 'jordi.casanovas-angelet@upcnet.es'.
    append g_receipients.


    call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
    exporting
    method = method1
    office_user = g_owner
    ref_document = g_ref_document
    new_parent = g_new_parent
    importing
    authority = g_authority
    tables
    objcont = g_objcnt
    objhead = g_objhead
    objpara = g_objpara
    objparb = g_objparb
    recipients = g_receipients
    attachments = g_attachments
    references = g_references
    files = g_files
    changing
    document = g_document
    header_data = g_header.

    Me puede alguien hechar una mano??!!? Le estaré eternamente agradecido!!

    Muchas gracias por todo,
    Jordi.
Trabajando...