cancel
Showing results for 
Search instead for 
Did you mean: 

smartforms and emails

Former Member
0 Kudos

Hi! my question is about marketing campaign/ How can I send an emails to client, created by segmentation, with the help of smartforms? How to attach smartform to email?

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member206650
Active Participant
0 Kudos

Hi,

you can directly send the forms without downloading..

DATA: RECIPIENT TYPE SWC_OBJECT

        SENDER TYPE SWC_OBJECT.

DATA: MAIL_REC_OBJ TYPE SWOTOBJID,
           MAIL_SEN_OBJ TYPE SWOTOBJID,

*sender source code.

SWC_CONTAINER  CONTAINER.

SWC_CLEAR_CONTAINER  CONTAINER.

SWC_CREATE_OBJECT  SENDER 'RECIPIENT' SPACE.

SWC_SET_ELEMENT CONTAINER ‘ADDRESSSTRING’ SY-UNAME.

SWC_SET_ELEMENT CONTAINER  'TYPEID'  'B'.

SWC_CALL_METHOD SENDER ‘CREATEADDRESS’ CONTAINER.

IF SY-SUBRC NE 0.

MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO.

ENDIF.

SWC_OBJECT_TO_PERSISTENT SENDER MAIL_SEN_OBJ.

* Recipient source code .

SWC_CLEAR_CONTAINER CONTAINER.

SWC_CREATE_OBJECT RECIPIENT 'RECIPIENT' SPACE.

SWC_CLEAR_CONTAINER CONTAINER.

SWC_SET_ELEMENT CONTAINER 'ADDRESSSTRING' <sender email id>'

SWC_SET_ELEMENT CONTAINER 'TYPEID' 'U'.

SWC_CALL_METHOD RECIPIENT 'CREATEADDRESS' CONTAINER.

IF SY-SUBRC NE 0.

MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO.

ENDIF.

SWC_OBJECT_TO_PERSISTENT RECIPIENT MAIL_REC_OBJ.

OUTPUT_OPTIONS-TDTITLE = 'SMARTFORMS TO MAIL'.

CONTROL_PARAMETERS-DEVICE = 'MAIL'.

CALL FUNCTION l_FMNAME // use the standard FM for calling ie SSF_FUNCTION_MODULE_NAME to get  fm_name  into  l_fmname

EXPORTING

CONTROL_PARAMETERS            =   CONTROL_PARAMETERS

MAIL_RECIPIENT                =   MAIL_REC_OBJ

MAIL_SENDER                    =   MAIL_SEN_OBJ

OUTPUT_OPTIONS                 =    OUTPUT_OPTIONS

USER_SETTINGS                  =   SPACE

X_SHIP_FROM                    =   X_SHIP_FROM_PARTY

X_SHIP_TO                      =   X_SHIP_TO_PARTY

X_BILL_TO                      =   X_BILL_TO_PARTY

X_SHIP_DET                     =   X_VTTK

V_SALES_NO                    =   X_LIPS-VGBEL

V_DELIVERY_NO                        =   P_DELINO

V_CUST_PO                      =   X_CUPO-BSTKD

V_PO_DATE                      =   X_CUPO-BSTDK

V_WADAT                        =   V_WADAT

v_dt                           =   l_d1

* IMPORTING

* DOCUMENT_OUTPUT_INFO =

* JOB_OUTPUT_INFO =

* JOB_OUTPUT_OPTIONS =

TABLES

T_ITEM           =   T_LIPS_ITEM

* EXCEPTIONS

* FORMATTING_ERROR = 1

* INTERNAL_ERROR = 2

* SEND_ERROR = 3

* USER_CANCELED = 4

* OTHERS = 5

IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

SUBMIT rsconn01 WITH mode EQ 'INT' AND RETURN.

COMMIT WORK.

Execute the Report Program.

Go to Business Workplace 'sbwp'

Look at OUTBOX

Former Member
0 Kudos

Hi Ayrat,

The below code will help you to send email using forms.

  p_form = 'MAIL_FORM_ID'.   ""Specify your form id.

    CREATE OBJECT lr_ref

      EXPORTING

        iv_mail_id     = p_form

      EXCEPTIONS

        mail_not_found = 1

        OTHERS         = 2.

""get form attributes to fill values in it.

    CALL METHOD lr_ref->get_variables

      RECEIVING

        rt_variable = lt_variable.

    lv_name = 'testing'.

""Fill values in retrieved attributes.

    LOOP AT lt_variable INTO ls_variable.

      CASE ls_variable-name.

        WHEN 'CRMS_ERMS_AGENT_DATA-AGENT_FIRST_NAME'.

          ls_variable-value = lv_name.

        WHEN 'CRMS_ERMS_ESC_FIELDS-EMAIL_SUBJECT' OR 'CRMS_ERMS_SCENARIO_FIELDS-GENERIC_TRACKING_TEXT' .

          ls_variable-value = 'iv_complaint_id'.

      ENDCASE.

      INSERT ls_variable INTO TABLE lt_attr_variable.

    ENDLOOP.

""Create personalized mail reference.

    CALL FUNCTION 'CRM_IM_CREATE_PERS_MAIL'

      EXPORTING

        it_attribute_values  = lt_attr_variable

        iv_langu             = 'E'

        ir_exec_service      = lr_ref

      IMPORTING

        ev_subject           = lv_subject

        et_personalized_mail = lt_personalized_mail

        et_picture_key       = lt_picture_key

        et_attachment_key    = lt_attachment_key

        et_messages          = lt_messages

        ev_pers_mail_type    = lv_pers_mail_type

      EXCEPTIONS

        mail_empty           = 1

        OTHERS               = 2.

    ls_adsmptp-e_mail = 'admin@abc.com'.  ""receiver mail address

    ls_adsmptp-std_no = 'X'.

    INSERT ls_adsmptp INTO TABLE lt_adsmptp.

""send mail

    CALL FUNCTION 'CRM_IM_SEND_PERSONALIZED_MAIL'

      EXPORTING

        iv_device            = 'MAIL'

        iv_sender            = 'sender@abc.com'

        iv_reply             = 'noreply@abc.com'

        iv_mailform          = p_form

        iv_pers_mail_type    = lv_pers_mail_type

        it_picture_keys      = lt_picture_key

        iv_subject           = lv_subject

        it_personalized_mail = lt_personalized_mail

        it_attachment_key    = lt_attachment_key

      IMPORTING

        er_document          = lr_document

        er_send_request      = lr_send_request

      TABLES

        it_smtp              = lt_adsmptp

      CHANGING

        cv_error             = l_error.

    COMMIT WORK.


Now look into 'sost' tcode. You will see that mail has been sent.


You can refer document http://scn.sap.com/docs/DOC-56874 for more details.


Thanks,

Ritu