cancel
Showing results for 
Search instead for 
Did you mean: 

IC Manager Transporting Stuff (CRM 2007)

Former Member
0 Kudos

Hi,

Would like to ask on how can  to transfer stuff like rules/policies, mail forms, alerts and IDI rules to from one box to another. Example dev -> QC -> prod?

Regards,

Marc

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Marc,

1. Mail form

use program CRM_PML_MAIL_FORM_TRANSPORT, you need to create destination RFC first. Also you can only transport one mail form one time. I created a LSMW to transport more mail forms.

2. alert

tcode CRMD_IC_TRANS_ALERT

3. IDI rule

CRMD_ERMS_TRANS_RULE

4. rule/policies

please try CRM_FDT_TRANS. not 100% sure.

Thanks,

ZJ Kong

Former Member
0 Kudos

Hi ZJ,

Thanks for the info!

One thing I noticed is that the program for transporting the mail form cannot be found on our system. I think it only exists on CRM 7.0 (700) and above? What we are using right now is CRM 2007 (600).

Can we just create a program of our own using the codes of that program? If possible, can you share us the code for the program?

Thanks!

Former Member
0 Kudos

Hi Marc,

Sorry forgot you are using 2007.  Below is the program code:

  &---------------------------------------------------------------------*
*& Report  CRM_PML_MAIL_FORM_TRANSPORT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  crm_pml_mail_form_transport.

TYPE-POOLS: icon.

DATA:
  lv_mail_form_guid     TYPE crmt_pml_guid,
  lt_messages           TYPE bapiret2_t,
  lv_check_failed       TYPE crmt_boolean,
  lv_runtime            TYPE f.

FIELD-SYMBOLS:
  <fs_message>          TYPE bapiret2.

PARAMETER:
  p_form  TYPE crmt_pml_id OBLIGATORY MATCHCODE OBJECT crm_mail_form,
  p_rfc   TYPE rfcdest                MATCHCODE OBJECT crmci_fc_sh_rfcdest,
  p_repl  TYPE crmt_boolean,
  p_chck  TYPE crmt_boolean.



START-OF-SELECTION.

  WRITE: / 'Transport of mail form '(006), p_form COLOR 5.

* get mail form GUID
  cl_crm_pml_mail_form_exec=>exchange_guid_id(
       EXPORTING
         iv_id     = p_form
       IMPORTING
         ev_guid   = lv_mail_form_guid
       EXCEPTIONS
         not_found = 1
         OTHERS    = 2 ).
  IF sy-subrc <> 0.
    WRITE: / icon_led_red AS ICON, 'Mail Form does not exist.'(008).
    EXIT.
  ENDIF.

* No RFC destination selected -> same system
  IF p_rfc IS INITIAL.
    p_rfc = 'NONE'.                                         "#EC NOTEXT
  ENDIF.

  CALL METHOD cl_crm_pml_mail_form_api=>transport
    EXPORTING
      iv_mail_form_guid = lv_mail_form_guid
      iv_rfc_dest       = p_rfc
      iv_check_only     = p_chck
      iv_replace        = p_repl
    IMPORTING
      et_messages       = lt_messages
      ev_check_failed   = lv_check_failed
      ev_runtime        = lv_runtime
    EXCEPTIONS
      not_transported   = 1
      OTHERS            = 2.
  IF sy-subrc <> 0 OR lv_check_failed = abap_true.
    WRITE /.
    WRITE: / icon_led_red AS ICON, 'Not transported.'(001).
  ELSE.
    WRITE /.
    WRITE: / icon_led_green AS ICON, 'Successfully transported.'(007).
  ENDIF.

  IF lv_check_failed = abap_true.
    ULINE.
    WRITE: / icon_led_red AS ICON, 'Check failed.'(002).
  ENDIF.

  IF lt_messages IS NOT INITIAL.
    ULINE.
    WRITE / 'Messages:'(004).
    LOOP AT lt_messages ASSIGNING <fs_message>.
      CASE <fs_message>-type.
        WHEN cl_crm_pml_message=>gc_error.
          WRITE: / icon_led_red AS ICON, <fs_message>-message(132).
        WHEN cl_crm_pml_message=>gc_warning.
          WRITE: / icon_led_yellow AS ICON, <fs_message>-message(132).
        WHEN cl_crm_pml_message=>gc_info
          OR cl_crm_pml_message=>gc_success.
          WRITE: / icon_led_green AS ICON, <fs_message>-message(132).
        WHEN OTHERS.
          WRITE / <fs_message>-message.
      ENDCASE.
    ENDLOOP.
  ENDIF.

  ULINE.

  WRITE: / 'Duration of transport:'(003), lv_runtime DECIMALS 2, 'msec'(005).

There are also some standard class used in this program. You need to verify whether these classes existing in 2007.

Thanks,

ZJ Kong

Former Member
0 Kudos

Hi ZJ,

The class that the program use does exist on CRM 2007, but the problem that I encounter now is that the method transport, does not exist. Can you also share that to us?

Thanks so much!!

Regards,

Marc

Former Member
0 Kudos

below is the method transport:

   METHOD transport.

* *******************************************************************
* This method transports a mail form from a source to a target system
* via an RFC-Create call
*
* Steps:
* 1. Check authorization
* 2. Perform consistency check (customizing settings in source and
*     target system)
* 3. Serialize mail form (read all parts of a mail form)
* 4. Create in target system via RFC call
*********************************************************************


  DATA:
        ls_check_data       TYPE crms_pml_transp_check_data,
        lr_log              TYPE REF TO cl_crm_pml_log,
        ls_adm              TYPE crmt_pml_adm,
        lt_descriptions     TYPE crmt_pml_descr_tab,
        lt_el_descriptions  TYPE crmt_pml_descr_tab,
        lt_el_adm           TYPE crmt_pml_el_adm_tab,
        lt_attachment       TYPE crmt_pml_el_attachment_tab,
        lt_subject          TYPE crmt_pml_el_subject_tab,
        lt_text             TYPE crmt_pml_el_text_tab,
        lt_condition        TYPE crmt_pml_el_condition_tab,
        lt_plist            TYPE crmt_pml_plist_tab,
        lt_plist_t          TYPE crmt_pml_plist_t_tab,
        lt_url_cat          TYPE crmt_pml_url_cat_tab,
        lt_picture_cm       TYPE crmt_pml_cm_data,
        lt_attachment_cm    TYPE crmt_pml_cm_data,
        lt_loios            TYPE skwf_ios,
        ls_pic_key          TYPE sibflporb,
        ls_picture_cm       TYPE crms_pml_cm_data,
        ls_attachment_cm    TYPE crms_pml_cm_data,
        ls_attach_bo        TYPE sibflporb,
        lt_doc_key          TYPE skwf_ios,
        lt_attach_prop      TYPE sdokproptys,
        lt_picture_prop     TYPE sdokproptys,
        lt_messages         TYPE bapiret2_t,
        ls_message          TYPE bapiret2,
        lv_msg              TYPE bapi_msg,
        lv_message          TYPE bapi_msg,
        lv_authcheck_result TYPE crmt_boolean,
        lv_error            TYPE crmt_boolean,
        lv_runtime_start    TYPE i,
        lv_runtime_end      TYPE i.

  FIELD-SYMBOLS:
        <fs_el_adm>         TYPE crmt_pml_el_adm,
        <fs_attachment>     TYPE crmt_pml_el_attachment,
        <fs_attach_id>      TYPE skwf_io,
        <fs_property>       TYPE sdokpropty,
        <fs_loio>           TYPE skwf_io.

  CONSTANTS:
        lc_component        TYPE dlvunit    VALUE 'BBPCRM',
        lc_mail             TYPE sibftypeid VALUE 'CRM_MAIL',
        lc_mail_n           TYPE sibftypeid VALUE 'CRM_MAIL_N',
        lc_bo               TYPE sibfcatid  VALUE 'BO',
        lc_filename         TYPE string     VALUE 'FILE_NAME',
        lc_filesize         TYPE string     VALUE 'FILE_SIZE',
        lc_mimetype         TYPE string     VALUE 'MIME_TYPE',
        lc_extension        TYPE string     VALUE 'EXTENSION'.





* Initialization ====================================================

  ev_check_failed = abap_false.
  lv_error = abap_false.
  ev_runtime = 0.

* Prepare logging
  lr_log = cl_crm_pml_log=>get_instance( iv_guid = iv_mail_form_guid ).
  ls_message = cl_crm_pml_log=>create_bapi_message(
                         iv_msgno        = 158
                         iv_msgid        = cl_crm_pml_message=>gc_pml_msgcl
                         iv_msgty        = cl_crm_pml_message=>gc_info ).
  lr_log->add_bapi_message( is_message = ls_message ).
  lr_log->save( ).

* Prepare performance measurement
  GET RUN TIME FIELD lv_runtime_start.


* authority check for 'TRANSPORT' ===================================

  cl_crm_pml_mail_form_api=>check_authority(
    EXPORTING
      iv_transport = abap_true
    IMPORTING
      ev_allowed   = lv_authcheck_result
      et_messages  = et_messages ).

* 'transport' allowed?
  IF lv_authcheck_result = abap_false.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

* Check consistency and mail form ID via RFC call ===================

* get adminstrative data --------------------------------------------

  cl_crm_pml_mail_form_api=>read_adm_single(
    EXPORTING
      iv_mail_guid = iv_mail_form_guid
    IMPORTING
      es_mail_adm  = ls_adm
      et_messages  = lt_messages
  EXCEPTIONS
    not_found    = 1
    not_read     = 2
    OTHERS       = 3 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.

* Release infos -------------------------------------------------------

  CALL FUNCTION 'DELIVERY_GET_COMPONENT_RELEASE'
    EXPORTING
      iv_compname    = lc_component
    IMPORTING
      ev_compvers    = ls_check_data-release
      ev_patchlvl    = ls_check_data-extrelease
    EXCEPTIONS
      comp_not_found = 1
      OTHERS         = 2.
  IF sy-subrc <> 0.
*   warning will be created during RFC check
  ENDIF.

* Attribute contexts --------------------------------------------------

  SELECT *
    FROM crmc_im_scen
    INTO CORRESPONDING FIELDS OF TABLE ls_check_data-context_data. "#EC CI_NOWHERE

* URL categories ------------------------------------------------------

  SELECT *
    FROM crmc_im_cat
    INTO CORRESPONDING FIELDS OF TABLE ls_check_data-url_cat_data. "#EC CI_NOWHERE

* CHM content types ----------------------------------------------------

  cl_crm_chm_content_type=>crmc_chm_ctype_read_all(
        IMPORTING
          et_crmc_chm_ctype    = ls_check_data-chm_ctype_data ).

* Perform check ---------------------------------------------------------

  CALL FUNCTION 'CRM_PML_MAIL_FORM_TRANSPORT' DESTINATION iv_rfc_dest
    EXPORTING
      iv_check_only         = abap_true
      iv_replace            = iv_replace
      is_check_data         = ls_check_data
      is_adm                = ls_adm
    IMPORTING
      ev_check_failed       = ev_check_failed
      ev_error              = lv_error
      et_messages           = et_messages
    EXCEPTIONS
      system_failure        = MESSAGE lv_msg
      communication_failure = MESSAGE lv_msg
      OTHERS                = 3.
  IF sy-subrc <> 0 OR lv_error = abap_true.
    IF lv_msg IS NOT INITIAL.
      cl_crm_pml_message=>create_message(
              EXPORTING
                iv_msgid   = cl_crm_pml_message=>gc_pml_msgcl
                iv_msgty   = cl_crm_pml_message=>gc_error
                iv_msgno   = 157
                iv_msgv1   = lv_msg(50)
                iv_msgtxt  = lv_msg
              IMPORTING
                ev_message = ls_message ).
      APPEND ls_message TO et_messages.
    ENDIF.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  IF iv_check_only = abap_true.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RETURN.
  ENDIF.



* Serialize mail form ===============================================


* get mail form descriptions ----------------------------------------

  cl_crm_pml_mail_form_api=>read_description(
    EXPORTING
      iv_mail_guid   = iv_mail_form_guid
    IMPORTING
      et_description = lt_descriptions
      et_messages    = lt_messages
    EXCEPTIONS
      mail_not_found = 1
      not_read       = 2
      OTHERS         = 3 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* get element data --------------------------------------------------

  cl_crm_pml_mail_form_api=>read_elements_adm(
    EXPORTING
      iv_mail_guid   = iv_mail_form_guid
    IMPORTING
      et_el_adm      = lt_el_adm
      et_messages    = lt_messages
    EXCEPTIONS
      mail_not_found = 1
      not_read       = 2
      OTHERS         = 3 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* get element descriptions ------------------------------------------

  LOOP AT lt_el_adm ASSIGNING <fs_el_adm>.

    cl_crm_pml_mail_form_api=>read_description(
      EXPORTING
        iv_mail_guid   = iv_mail_form_guid
        iv_el_guid     = <fs_el_adm>-el_guid
      IMPORTING
        et_description = lt_el_descriptions
        et_messages    = lt_messages
      EXCEPTIONS
        mail_not_found = 1
        not_read       = 2
        OTHERS         = 3 ).
    IF sy-subrc <> 0.
      APPEND LINES OF lt_messages TO et_messages.
      lr_log->add_bapi_messages( it_messages = et_messages ).
      lr_log->save( ).
      RAISE not_transported.
    ENDIF.

    APPEND LINES OF lt_el_descriptions TO lt_descriptions.
    APPEND LINES OF lt_messages TO et_messages.

  ENDLOOP.


* get attachments ---------------------------------------------------

  cl_crm_pml_mail_form_api=>read_attachment(
    EXPORTING
      iv_mail_guid   = iv_mail_form_guid
    IMPORTING
      et_attachment  = lt_attachment
      et_messages    = lt_messages
    EXCEPTIONS
      mail_not_found = 1
      not_read       = 2
      OTHERS         = 3 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* get subject contents ----------------------------------------------

  cl_crm_pml_mail_form_api=>read_subject(
    EXPORTING
      iv_mail_guid   = iv_mail_form_guid
    IMPORTING
      et_subject     = lt_subject
      et_messages    = lt_messages
    EXCEPTIONS
      mail_not_found = 1
      not_read       = 2
      OTHERS         = 3 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* get text contents -------------------------------------------------

  cl_crm_pml_mail_form_api=>read_text(
    EXPORTING
      iv_mail_guid             = iv_mail_form_guid
      iv_with_pic_conversion   = abap_false
    IMPORTING
      et_text                  = lt_text
      et_messages              = lt_messages
    EXCEPTIONS
      mail_not_found           = 1
      not_read                 = 2
      OTHERS                   = 3 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* get conditions ----------------------------------------------------

  cl_crm_pml_mail_form_api=>read_condition(
    EXPORTING
      iv_mail_guid     = iv_mail_form_guid
    IMPORTING
      et_conds         = lt_condition
      et_messages      = lt_messages
    EXCEPTIONS
      mail_not_found   = 1
      wrong_parameters = 2
      not_read         = 3
      OTHERS           = 4 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* get product list data ---------------------------------------------

  cl_crm_pml_mail_form_api=>read_plist(
    EXPORTING
      iv_mail_guid    = iv_mail_form_guid
    IMPORTING
      et_plist_t      = lt_plist_t
      et_plist        = lt_plist
      et_messages     = lt_messages
    EXCEPTIONS
      mail_not_found  = 1
      not_read        = 2
      OTHERS          = 3 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* get URL data ------------------------------------------------------

  cl_crm_pml_mail_form_api=>read_url_cat(
    EXPORTING
      iv_mail_guid   = iv_mail_form_guid
    IMPORTING
      et_url_cats    = lt_url_cat
      et_messages    = lt_messages
    EXCEPTIONS
      mail_not_found = 1
      not_read       = 2
      OTHERS         = 3 ).
  IF sy-subrc <> 0.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* get CM data -------------------------------------------------------

* pictures

* get all picture keys for mail form
  ls_pic_key-instid   = iv_mail_form_guid.
  ls_pic_key-typeid   = lc_mail.
  ls_pic_key-catid    = lc_bo.

  cl_crm_documents=>get_info(
    EXPORTING
      business_object = ls_pic_key
    IMPORTING
      loios           = lt_loios ).

* retrieve content from CM
  LOOP AT lt_loios ASSIGNING <fs_loio>.

    CLEAR ls_picture_cm.
    ls_picture_cm-ref_object = iv_mail_form_guid.
    MOVE-CORRESPONDING <fs_loio> TO ls_picture_cm-key.

    cl_crm_pml_mail_form_exec=>get_attachment_doc_content(
            EXPORTING
              is_attach_id    = <fs_loio>
            IMPORTING
              et_properties   = lt_picture_prop
              et_attach_ascii = ls_picture_cm-content_text
              et_attach_bin   = ls_picture_cm-content_bin ).

    READ TABLE lt_picture_prop  WITH KEY name = lc_filename
         ASSIGNING <fs_property>.
    IF sy-subrc = 0.
      ls_picture_cm-description = <fs_property>-value.
    ENDIF.
    READ TABLE lt_picture_prop  WITH KEY name = lc_filesize
         ASSIGNING <fs_property>.
    IF sy-subrc = 0.
      ls_picture_cm-size = <fs_property>-value.
    ENDIF.
    READ TABLE lt_picture_prop  WITH KEY name = lc_mimetype
         ASSIGNING <fs_property>.
    IF sy-subrc = 0.
      ls_picture_cm-mimetype = <fs_property>-value.
    ENDIF.
    READ TABLE lt_picture_prop  WITH KEY name = lc_extension
         ASSIGNING <fs_property>.
    IF sy-subrc = 0.
      ls_picture_cm-extension = <fs_property>-value.
    ENDIF.

    APPEND ls_picture_cm TO lt_picture_cm.

  ENDLOOP.


* attachments

  LOOP AT lt_attachment ASSIGNING <fs_attachment>.

    ls_attach_bo-instid = <fs_attachment>-cm_instid.
    ls_attach_bo-typeid = <fs_attachment>-cm_typeid.
    ls_attach_bo-catid  = <fs_attachment>-cm_catid.

    CALL METHOD cl_crm_documents=>get_info
      EXPORTING
        business_object = ls_attach_bo
      IMPORTING
        loios           = lt_doc_key.

    READ TABLE lt_doc_key INDEX 1 ASSIGNING <fs_attach_id>.

*   get content + metadata
    IF sy-subrc = 0.

      CLEAR ls_attachment_cm.
      ls_attachment_cm-ref_object = <fs_attachment>-el_guid.
      MOVE-CORRESPONDING <fs_attach_id> TO ls_attachment_cm-key.

      cl_crm_pml_mail_form_exec=>get_attachment_doc_content(
        EXPORTING
          is_attach_id    = <fs_attach_id>
        IMPORTING
          et_properties   = lt_attach_prop
          et_attach_ascii = ls_attachment_cm-content_text
          et_attach_bin   = ls_attachment_cm-content_bin ).

      READ TABLE lt_attach_prop WITH KEY name = lc_filename
           ASSIGNING <fs_property>.
      IF sy-subrc = 0.
        ls_attachment_cm-description = <fs_property>-value.
      ENDIF.
      READ TABLE lt_attach_prop WITH KEY name = lc_filesize
           ASSIGNING <fs_property>.
      IF sy-subrc = 0.
        ls_attachment_cm-size = <fs_property>-value.
      ENDIF.
      READ TABLE lt_attach_prop WITH KEY name = lc_mimetype
           ASSIGNING <fs_property>.
      IF sy-subrc = 0.
        ls_attachment_cm-mimetype = <fs_property>-value.
      ENDIF.
      READ TABLE lt_attach_prop WITH KEY name = lc_extension
           ASSIGNING <fs_property>.
      IF sy-subrc = 0.
        ls_attachment_cm-extension = <fs_property>-value.
      ENDIF.


      APPEND ls_attachment_cm TO lt_attachment_cm.

    ELSE.

      lr_log->add_bapi_messages( it_messages = et_messages ).
      lr_log->save( ).
      RAISE not_transported.

    ENDIF.

  ENDLOOP.



* Transport via RFC =================================================

  CALL FUNCTION 'CRM_PML_MAIL_FORM_TRANSPORT' DESTINATION iv_rfc_dest
    EXPORTING
      iv_check_only         = abap_false
      iv_replace            = iv_replace
      is_adm                = ls_adm
      it_description        = lt_descriptions
      it_el_adm             = lt_el_adm
      it_attachment         = lt_attachment
      it_subject            = lt_subject
      it_text               = lt_text
      it_condition          = lt_condition
      it_plist              = lt_plist
      it_plist_t            = lt_plist_t
      it_url                = lt_url_cat
      it_picture_cm         = lt_picture_cm
      it_attachment_cm      = lt_attachment_cm
    IMPORTING
      ev_check_failed       = ev_check_failed
      ev_error              = lv_error
      et_messages           = lt_messages
    EXCEPTIONS
      system_failure        = MESSAGE lv_msg
      communication_failure = MESSAGE lv_msg
      OTHERS                = 3.
  IF sy-subrc <> 0 OR lv_error = abap_true.
    IF lv_msg IS NOT INITIAL.
      cl_crm_pml_message=>create_message(
              EXPORTING
                iv_msgid   = cl_crm_pml_message=>gc_pml_msgcl
                iv_msgty   = cl_crm_pml_message=>gc_error
                iv_msgno   = 157
                iv_msgv1   = lv_msg(50)
                iv_msgtxt  = lv_msg
              IMPORTING
                ev_message = ls_message ).
      APPEND ls_message TO et_messages.
    ENDIF.
    APPEND LINES OF lt_messages TO et_messages.
    lr_log->add_bapi_messages( it_messages = et_messages ).
    lr_log->save( ).
    RAISE not_transported.
  ENDIF.

  APPEND LINES OF lt_messages TO et_messages.


* Performance measurement
  GET RUN TIME FIELD lv_runtime_end.
  ev_runtime = ( lv_runtime_end - lv_runtime_start ) / 1000.

* Save log
  lr_log->add_bapi_messages( it_messages = et_messages ).
  CLEAR lv_msg.
  MESSAGE ID cl_crm_pml_mail_form_api=>gc_msg_id
          TYPE cl_crm_pml_message=>gc_info
          NUMBER 156 WITH ls_adm-mail_id ev_runtime
          INTO lv_msg.
  lr_log->add_sy_message( iv_detail_level cl_crm_pml_log=>gc_log_all ).
  lr_log->save( ).

ENDMETHOD.

Hope this will work for you!

Thanks,

ZJ Kong

Answers (1)

Answers (1)

former_member187490
Active Contributor
0 Kudos

Hello,

I’ve just published this blog with some collected info on
transporting Mail Forms.

http://scn.sap.com/people/john.burton/blog/2013/10/25/using-the-new-crm-70-ehp1-mail-form-transport-...

Best regards,

John