Skip to Content
avatar image
Former Member

Send PO via email to multiple recipient

Hi,

We are using the standard output type NEU, medium 5 (external send). But the standard PO process will send email to only 1 recipient. The email will be taken from the vendor master where email is flagged as Standard.

Is there any other way (or any user exit) to send PO to a multiple recipient (TO and COPY-TO)? We are planning to maintain other email address from the contact persons address in vendor master.

Appreciate your input.

Thanks

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • avatar image
    Former Member
    Jan 18, 2007 at 11:12 AM

    hi the following are the two scenarios defined plz look in

    Hi ,

    call the following function module in a loop and pass the values in the reciever list table with the no. of email ids and check the output .hope it works

    • Creating the entry for the compressed document

    CLEAR gs_objpack-transf_bin.

    gs_objpack-head_start = 1.

    gs_objpack-head_num = 0.

    gs_objpack-body_start = 1.

    gs_objpack-body_num = gv_tab_lines.

    gs_objpack-doc_type = 'RAW'.

    APPEND gs_objpack TO gt_objpack.

    • Entering names in the distribution list

    IF p_plist IS NOT INITIAL.

    gs_reclist-receiver = p_plist.

    gs_reclist-rec_type = gc_c.

    APPEND gs_reclist TO gt_reclist.

    CLEAR gs_reclist.

    ENDIF.

    • Populating the reciever list

    gs_reclist-receiver = p_plist.

    gs_reclist-rec_type = gc_u.

    APPEND gs_reclist TO gt_reclist.

    • Sending the document

    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

    EXPORTING

    document_data = gs_doc_chng

    put_in_outbox = gc_x

    commit_work = gc_x

    TABLES

    packing_list = gt_objpack

    object_header = gt_objhead

    contents_bin = gt_objbin

    contents_txt = gt_objtxt

    receivers = gt_reclist

    EXCEPTIONS

    too_many_receivers = 1

    document_not_sent = 2

    operation_no_authorization = 4

    OTHERS = 99.

    CASE sy-subrc.

    WHEN 0.

    WRITE: 'eMail sent successfully'(005).

    WHEN OTHERS.

    WRITE: / 'eMail could not be sent'(008).

    ENDCASE.

    in order to change that u have to alter ur print program and use condition value of nacha ...on the other side u have to configure the nace output type and make the scot settings.

    for this use the following code.

    &----


    *& Form nacha_5

    &----


    • Send the Form as an Email

    ----


    • -->P_FOUND Flag 'X' if sub routine is found

    ----


    FORM nacha_5 USING write_out TYPE xfeld

    CHANGING p_found TYPE xfeld.

    DATA : lv_mail_id TYPE so_name,

    lv_mail_tp TYPE so_escape VALUE 'U',

    l_subrc TYPE sy-subrc.

    p_found = 'X'.

    • Get the Mail ID from the Control Table

    lv_mail_id = t_ctrl_app-recipient.

    • Create The Recipient Object

    CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF'

    EXPORTING

    ip_mailaddr = lv_mail_id

    ip_type_id = lv_mail_tp

    IMPORTING

    ep_recipient_id = w_recipient

    EXCEPTIONS

    invalid_recipient = 1

    OTHERS = 2.

    IF sy-subrc NE 0.

    IF write_out = 'X'.

    FORMAT COLOR 6.

    WRITE AT /5 text-001.

    ENDIF.

    RAISE other.

    ENDIF.

    • Create The Sender Object

    CALL FUNCTION 'CREATE_SENDER_OBJECT_PPF'

    EXPORTING

    ip_sender = sy-uname

    IMPORTING

    ep_sender_id = w_sender

    EXCEPTIONS

    invalid_sender = 1

    OTHERS = 2.

    IF sy-subrc NE 0.

    IF write_out = 'X'.

    FORMAT COLOR 6.

    WRITE AT /5 text-002.

    ENDIF.

    RAISE other.

    ENDIF.

    • Populate the Control Data & Title

    w_sf_control-device = 'MAIL'.

    w_sf_control-no_dialog = 'X'.

    w_sf_control-langu = t_ctrl_app-spras.

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

    Nacha = 2

    • Populate the Fax Number and the country.

    Data : lv_fax_tp TYPE so_escape VALUE 'F',

    lv_fax = t_ctrl_app-recipient.

    lv_land1 = t_ctrl_app-country.

    • Create the Recipient Object

    CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF'

    EXPORTING

    ip_country = lv_land1

    ip_faxno = lv_fax

    ip_type_id = lv_fax_tp

    IMPORTING

    ep_recipient_id = w_recipient

    EXCEPTIONS

    invalid_recipient = 1

    OTHERS = 2.

    IF sy-subrc NE 0.

    IF write_out = 'X'.

    FORMAT COLOR 6.

    WRITE AT /5 text-004.

    ENDIF.

    RAISE other.

    ENDIF.

    • Create The Sender Object

    CALL FUNCTION 'CREATE_SENDER_OBJECT_PPF'

    EXPORTING

    ip_sender = sy-uname

    IMPORTING

    ep_sender_id = w_sender

    EXCEPTIONS

    invalid_sender = 1

    OTHERS = 2.

    IF sy-subrc NE 0.

    IF write_out = 'X'.

    FORMAT COLOR 6.

    WRITE AT /5 text-003.

    ENDIF.

    RAISE other.

    ENDIF.

    • Populate the Control Data

    w_sf_control-device = 'TELEFAX'.

    w_sf_control-no_dialog = 'X'.

    w_sf_control-langu = t_ctrl_app-spras.

    • Populate the Output Options.

    w_output_options-tdteleland = lv_land1.

    w_output_options-tdtelenum = lv_fax.

    w_output_options-faxformat = 'PS'.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 27, 2008 at 10:07 AM

    Hi Jhon,

    Did you manage to solve this? We have the same requirement. Hope you can help.

    Thanks.

    Nene

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 01, 2008 at 04:31 PM

    Nene-

    Did you try creating a distribution list comprising all the intended recepients? Maintaining the email address of the distribution list on the vendor master should send the PO to the list thereby reaching multiple recepients. This would need some assistance from your client's infrastructure/technology team, though.

    I have a different question though...

    Can the sender of the purchase order be UNIQUE irrespective of the creator of the purchase order? Unfortunately, I can't change the email address in all the user master records to a common address.

    Thanks,

    M

    Add comment
    10|10000 characters needed characters exceeded