Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Problem With Email body while sending PDF.

Former Member
0 Likes
804

Hello Experts,

I want to send a smartforms as PDF with some dynamic email-body. The email functionality is working fine but the Email body is coming same for all the email.

Details Scenario --> I have a report where i am giving Delivery Group where we have more than one delivery number . Now i want to send different mail for   different delivey number and Delivry number should be printed on Email body .

Probelm : Email with correct attachment is sending to the correct person but in the every email body the delivery is coming same which should be different .I am giving the code please have a look into it and let me know if i missed something .

    swc_clear_container container.

    CLEAR l_text.

    CONCATENATE 'STO No.:'(003) vbdkl-vgbel

             INTO l_text SEPARATED BY space.

    ls_body-tdline = l_text.

    APPEND ls_body TO lt_email_body_tab.

 

    CLEAR l_text.

    CONCATENATE 'Shipping From'(004) vbdkl-vstel 'To'(005) vbdkl-werks

                              INTO l_text SEPARATED BY space.

    ls_body-tdline = l_text.

    APPEND ls_body TO lt_email_body_tab.

 

    CLEAR: l_text,

           l_date.

    WRITE vbdkl-lfdat TO l_date.

    CONCATENATE 'Delivery date:'(006) l_date INTO l_text SEPARATED BY space.

    ls_body-tdline = l_text.

    APPEND ls_body TO lt_email_body_tab.

     CLEAR l_text.

    CONCATENATE 'Group No.:'(007) vbsk-sammg INTO l_text SEPARATED BY space.

    ls_body-tdline = l_text.

    APPEND ls_body TO lt_email_body_tab.

 

    CLEAR l_text.

    IF l_cust_email_not_maintained = gc_x.

      CONCATENATE 'Email not maintained for Customer'(008) l_kunnr INTO l_text SEPARATED BY space.

      ls_body-tdline = l_text.

    ELSE.

      IF vbdkl-werks CP lc_u OR  vbdkl-werks CP lc_a.

        CLEAR l_text.

        CONCATENATE 'Stock Transport Order to be dispatched by'(011) vbdkl-vstel INTO l_text SEPARATED BY space.

        ls_body-tdline = l_text.

        CLEAR l_text.

      ELSE.

        ls_body-tdline = 'Please prepare this load to be collected.'(009).

      ENDIF.

    ENDIF.

    APPEND ls_body TO lt_email_body_tab.

    swc_set_element container 'NOTETEXT' lt_email_body_tab.

    swc_call_method ls_recipient 'ADDNOTE' container.

 

* Persistent RECIPIENT object

    swc_object_to_persistent ls_recipient ls_mail_rec_obj.

 

* Prepare Subject and PDF name.

    CONCATENATE 'Delivery:'(010) vbdkl-vbeln INTO l_subject

                                        SEPARATED BY space.

 

    gs_output_options-tdtitle = l_subject.

 

    gs_control_parameters-device = gc_mail.

  

     CALL FUNCTION gv_fm_name

      EXPORTING

        mail_recipient     = ls_mail_rec_obj

        mail_sender        = ls_mail_sen_obj

        control_parameters = gs_control_parameters

        output_options     = gs_output_options

        user_settings      = ''

        gv_version         = gv_version

        g_trade            = g_trade

        g_unnum            = g_unnum

        g_dg_class         = g_dg_class

        gv_text2           = gv_text2

        gs_emergency_no    = /lgc/sdtdelivery-zemergency

        gs_vbdkl           = vbdkl

        gs_vbsk            = vbsk

        gs_sdtvadd         = /lgc/sdtvadd

        gs_sdtvadd_s       = */lgc/sdtvadd

        gv_text1           = gv_text1

        gs_sdtms71         = /lgc/sdtms71

        gs_vbdpl           = gt_tvbdpl

        gs_sadr_s          = *sadr

        gs_sadr            = sadr

        gs_vbco3           = vbco3

        g_dgs_flg          = gs_dgs_flg

      TABLES

        gt_item_data       = gt_item_data_ct

        gt_item_data_pl    = gt_item_data_pl

      EXCEPTIONS

        formatting_error   = 1

        internal_error     = 2

        send_error         = 3

        user_canceled      = 4

        OTHERS             = 5.

    IF sy-subrc =  0.

* commit work is required to send the email for these custom programs.

      IF sy-tcode = gc_tcode

      OR sy-tcode = gc_tcode1 .

        COMMIT WORK.

      ENDIF.

Thanks,

Satya

Hello Experts,

I want to send a smartforms as PDF with some dynamic email-body. The email functionality is working fine but the Email body is coming same for all the email.

Details Scenario --> I have a report where i am giving Delivery Group where we have more than one delivery number . Now i want to send different mail for   different delivey number and Delivry number should be printed on Email body .

Probelm : Email with correct attachment is sending to the correct person but in the every email body the delivery is coming same which should be different .I am giving the code please have a look into it and let me know if i missed something .

    swc_clear_container container.

    CLEAR l_text.

    CONCATENATE 'STO No.:'(003) vbdkl-vgbel

             INTO l_text SEPARATED BY space.

    ls_body-tdline = l_text.

    APPEND ls_body TO lt_email_body_tab.

 

    CLEAR l_text.

    CONCATENATE 'Shipping From'(004) vbdkl-vstel 'To'(005) vbdkl-werks

                              INTO l_text SEPARATED BY space.

    ls_body-tdline = l_text.

    APPEND ls_body TO lt_email_body_tab.

 

    CLEAR: l_text,

           l_date.

    WRITE vbdkl-lfdat TO l_date.

    CONCATENATE 'Delivery date:'(006) l_date INTO l_text SEPARATED BY space.

    ls_body-tdline = l_text.

    APPEND ls_body TO lt_email_body_tab.

     CLEAR l_text.

    CONCATENATE 'Group No.:'(007) vbsk-sammg INTO l_text SEPARATED BY space.

    ls_body-tdline = l_text.

    APPEND ls_body TO lt_email_body_tab.

 

    CLEAR l_text.

    IF l_cust_email_not_maintained = gc_x.

      CONCATENATE 'Email not maintained for Customer'(008) l_kunnr INTO l_text SEPARATED BY space.

      ls_body-tdline = l_text.

    ELSE.

      IF vbdkl-werks CP lc_u OR  vbdkl-werks CP lc_a.

        CLEAR l_text.

        CONCATENATE 'Stock Transport Order to be dispatched by'(011) vbdkl-vstel INTO l_text SEPARATED BY space.

        ls_body-tdline = l_text.

        CLEAR l_text.

      ELSE.

        ls_body-tdline = 'Please prepare this load to be collected.'(009).

      ENDIF.

    ENDIF.

    APPEND ls_body TO lt_email_body_tab.

    swc_set_element container 'NOTETEXT' lt_email_body_tab.

    swc_call_method ls_recipient 'ADDNOTE' container.

 

* Persistent RECIPIENT object

    swc_object_to_persistent ls_recipient ls_mail_rec_obj.

 

* Prepare Subject and PDF name.

    CONCATENATE 'Delivery:'(010) vbdkl-vbeln INTO l_subject

                                        SEPARATED BY space.

 

    gs_output_options-tdtitle = l_subject.

 

    gs_control_parameters-device = gc_mail.

  

     CALL FUNCTION gv_fm_name

      EXPORTING

        mail_recipient     = ls_mail_rec_obj

        mail_sender        = ls_mail_sen_obj

        control_parameters = gs_control_parameters

        output_options     = gs_output_options

        user_settings      = ''

        gv_version         = gv_version

        g_trade            = g_trade

        g_unnum            = g_unnum

        g_dg_class         = g_dg_class

        gv_text2           = gv_text2

        gs_emergency_no    = /lgc/sdtdelivery-zemergency

        gs_vbdkl           = vbdkl

        gs_vbsk            = vbsk

        gs_sdtvadd         = /lgc/sdtvadd

        gs_sdtvadd_s       = */lgc/sdtvadd

        gv_text1           = gv_text1

        gs_sdtms71         = /lgc/sdtms71

        gs_vbdpl           = gt_tvbdpl

        gs_sadr_s          = *sadr

        gs_sadr            = sadr

        gs_vbco3           = vbco3

        g_dgs_flg          = gs_dgs_flg

      TABLES

        gt_item_data       = gt_item_data_ct

        gt_item_data_pl    = gt_item_data_pl

      EXCEPTIONS

        formatting_error   = 1

        internal_error     = 2

        send_error         = 3

        user_canceled      = 4

        OTHERS             = 5.

    IF sy-subrc =  0.

* commit work is required to send the email for these custom programs.

      IF sy-tcode = gc_tcode

      OR sy-tcode = gc_tcode1 .

        COMMIT WORK.

      ENDIF.

Thanks,

Satya

3 REPLIES 3
Read only

Former Member
0 Likes
736

Hello Satya,

Are you storing multiple delivery number in an internal table.

If not store it in internal table , loop it and pick one by one delivery number and then form mssage body then send the email.

Happy coding

Regards

Sandeep

Read only

0 Likes
736

Hi Sandeep,

Yes i am doing the same. But still i am not getting the body correctly.

Thanks,

Satya

Read only

0 Likes
736

Hello Satya

Are you passing the work area of an internal table?

Can you paste your code from Loop statement to endloop.?

Thanks

Sandeep