Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

  CALL FUNCTION 'GUID_CREATE'
     IMPORTING
       ev_guid_16 = lv_guid.

   lr_header-guid  = lv_guid.
   lr_header-process_type = process_type."类型
   lr_header-object_id = object_id.
   lr_header-descr_language  = sy-langu.
   lr_header-langu_iso = sy-langu.
   lr_header-description = description."description
*日程
   IF process_type EQ 'ZSC1'.
     lr_header-category = 'Z01'.
*交互日志日报
   ELSEIF process_type EQ 'ZRB1' OR process_type EQ  'ZRB2'.
     lr_header-category = '201'."客户拜访
*预约
   ELSE.
     lr_header-category = '301'.
   ENDIF.
   lr_header-priority = priority.
   lr_header-posting_date = sy-datum.
   lr_header-mode = 'A'.
   lr_header-direction = 0.

   APPEND lr_header TO lt_header.

   lr_headerx-guid  = 'X'.
   lr_headerx-process_type = 'X'."类型
   lr_headerx-object_id = 'X'.
   lr_headerx-descr_language = 'X'.
   lr_headerx-langu_iso = 'X'.
   lr_headerx-description = 'X'."description
   lr_headerx-category = 'X'.
   lr_headerx-priority = 'X'.
   lr_headerx-posting_date = 'X' .
   lr_headerx-mode = 'A'.
   lr_headerx-direction = 0.

   APPEND lr_headerx TO lt_headerx.

*status
*-----------------------------------------------------------------
   lr_statusx-ref_guid = 'X'.
   lr_statusx-ref_kind = 'X'.
   lr_statusx-status = 'X'.
   lr_statusx-activate = 'X'.
   APPEND lr_statusx TO lt_statusx.

   lr_status-ref_guid = lv_guid.
   lr_status-ref_kind = 'A'.
   lr_status-status = act_status.            "状态
   lr_status-activate = 'X'.
   APPEND lr_status TO lt_status.

*TIME
*-----------------------------------------------------------------
   "时间戳转换
   CONVERT DATE date_from TIME time_from
   INTO TIME STAMP timestamp_from
   TIME ZONE zcl_common_object=>timezone.

   CONVERT DATE date_to TIME time_to
   INTO TIME STAMP timestamp_to
   TIME ZONE zcl_common_object=>timezone.

   lw_datex-ref_guid = 'X'.
   lw_datex-ref_kind = 'X'.
   lw_datex-appt_type = 'X'.
   lw_datex-mode = 'X'.
   lw_datex-timestamp_from = 'X'.
   lw_datex-timestamp_to = 'X'.
   lw_datex-timezone_from = 'X'.
   lw_datex-timezone_to = 'X'.
   APPEND lw_datex TO lt_datex.

   lw_date-ref_guid = lv_guid.
   lw_date-ref_kind = 'A'.
   IF process_type EQ 'ZRB1' OR process_type EQ 'ZRB2'.
     lw_date-appt_type = 'ORDERPLANNED'.
   ELSE.
     lw_date-appt_type = 'ORDERACTUAL'.
   ENDIF.
   lw_date-mode = 'A'.
   lw_date-timestamp_from = timestamp_from.
   lw_date-timestamp_to = timestamp_to.
   lw_date-timezone_from = zcl_common_object=>timezone.
   lw_date-timezone_to = zcl_common_object=>timezone.
   APPEND lw_date TO lt_date.

*note
*-------------------------------------------------------------------------
   IF gt_text IS NOT INITIAL.

     lr_textx-ref_guid = 'X'.
     lr_textx-ref_kind = 'X'.
     lr_textx-tdid = 'X'.
     lr_textx-tdspras = 'X'.
     lr_textx-langu_iso = 'X'.
     lr_textx-tdline = 'X'.
     lr_textx-tdstyle = 'X'.
     lr_textx-tdform = 'X'.
     lr_textx-tdformat = 'X'.
     lr_textx-mode = 'X'.
     APPEND lr_textx TO lt_textx.

     lt_text_app = gt_text.

     LOOP AT lt_text_app INTO lw_text_app.
       lr_text-ref_guid = lv_guid.
       lr_text-ref_kind = 'A'.
       lr_text-tdid = lw_text_app-ident.      "文本类型
       lr_text-tdspras = lw_text_app-langu.   "语言
       lr_text-langu_iso = lw_text_app-langu. "语言
       lr_text-tdline = lw_text_app-lines.    "文本内容
       lr_text-tdstyle = 'SYSTEM'.
       lr_text-tdform = 'SYSTEM'.
       lr_text-tdformat = '*'.
       lr_text-mode = 'A'.
       APPEND lr_text TO lt_text.
       CLEAR lr_text.
     ENDLOOP.
   ENDIF.

*change history
*----------------------------------------------------------------------
   IF gt_history[] IS NOT INITIAL.

     DATA:objtype_b TYPE swo_objtyp.
     DATA:objkey_a TYPE crmt_object_guid.

     SELECT SINGLE object_type
     INTO objtype_b
     FROM crmd_orderadm_h
     WHERE process_type = process_type.

     lt_history = gt_history.

     LOOP AT lt_history[] INTO lw_history.
       SELECT SINGLE object_type
       INTO lw_document_flow-objtype_a
       FROM crmd_orderadm_h
       WHERE process_type = lw_history-object_type.

       SELECT SINGLE guid
       INTO objkey_a
       FROM crmd_orderadm_h
       WHERE process_type = lw_history-object_type
         AND object_id = lw_history-object_id.

       IF objkey_a IS NOT INITIAL.
         lw_document_flow-objkey_a = objkey_a.
         lw_document_flow-objtype_b = objtype_b.
         lw_document_flow-objkey_b = lv_guid.
         lw_document_flow-ref_guid = lv_guid.
         lw_document_flow-reltype = 'VONA'.
         lw_document_flow-brel_kind = 'A'.
         lw_document_flow-ref_kind = 'A'.
       ENDIF.
       APPEND lw_document_flow TO lt_document_flow.
       CLEAR lw_document_flow.
     ENDLOOP.
   ENDIF.

*相关方
*------------------------------------------------------------------
   IF gt_partner IS NOT INITIAL.
     lt_partner_app = gt_partner.

     LOOP AT lt_partner_app INTO lw_partner_app.
       lr_partnerx-ref_guid = 'X'.
       lr_partnerx-ref_kind = 'X'.
       lr_partnerx-partner_no = 'X'.
       lr_partnerx-no_type = 'X'.
       lr_partnerx-display_type = 'X'.
       lr_partnerx-partner_fct = 'X'.
       lr_partnerx-kind_of_entry = 'X'.
       APPEND lr_partnerx TO lt_partnerx.
       CLEAR lr_partnerx.

       lr_partner-ref_guid = lv_guid.
       lr_partner-ref_kind = 'A'.
       lr_partner-partner_no = lw_partner_app-partner_no.
       lr_partner-no_type = 'BP'.
       lr_partner-display_type = 'BP'.
       lr_partner-partner_fct = lw_partner_app-partner_fct.
       lr_partner-kind_of_entry = 'A'.
       APPEND lr_partner TO lt_partner.
       CLEAR lr_partner.
     ENDLOOP.
   ENDIF.

*sales group
*------------------------------------------------------------------
   CLEAR:lr_organisation,lr_organisationx,lt_organisation,lt_organisationx.
   IF gt_salgroup IS NOT INITIAL.
     lr_organisationx-ref_guid = 'X'.
     lr_organisationx-ref_kind = 'X'.
     lr_organisationx-dis_channel = 'X'."分销渠道
     lr_organisationx-division = 'X'."部门
     lr_organisationx-sales_org = 'X'."销售组织
     lr_organisationx-sales_office = 'X'."销售办事处
     lr_organisationx-sales_group = 'X'."销售办事处

     APPEND lr_organisationx TO lt_organisationx.

     lr_organisation-ref_guid = lv_guid.
     lr_organisation-ref_kind = 'A'.
     lr_organisation-dis_channel = gt_salgroup-dis_channel."分销渠道
     lr_organisation-division = gt_salgroup-division."部门
     lr_organisation-sales_org gt_salgroup-sales_org_short."销售组织
     lr_organisation-sales_office = gt_salgroup-sales_office_short."销售办事处
     lr_organisation-sales_group = gt_salgroup-sales_group_short."销售组
     APPEND lr_organisation TO lt_organisation.

   ENDIF.


   CALL FUNCTION 'BAPI_BUSPROCESSND_PROCSETTINGS'
     EXPORTING
       process_settings_in = ls_process_settings
     TABLES
       return              = return.

*create actvity
*------------------------------------------------------------------

   CALL FUNCTION 'BAPI_ACTIVITYCRM_CREATEMULTI'
     TABLES
       header          = lt_header
       headerx         = lt_headerx
       partner         = lt_partner
       partnerx        = lt_partnerx
       organisation    = lt_organisation
       organisationx   = lt_organisationx
       date            = lt_date
       datex           = lt_datex
       text            = lt_text
       textx           = lt_textx
*     REASON          =
*     REASONX         =
*     OUTCOME         =
*     OUTCOMEX        =
       status          = lt_status
       statusx         = lt_statusx
*     LOCATION        =
*     LOCATIONX       =
       input_fields    = lt_input[]
       created_process = lt_create_process[]
       return          = lt_return[]
       document_flow   = lt_document_flow[]
*     JOURNAL         =
*     JOURNALX        =
*     MATERIAL        =
*     MATERIALX       =
*     EXTENSIONIN     =
     .


   IF sy-subrc EQ 0.

     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
       EXPORTING
         wait = 'X'
*   IMPORTING
*       RETURN        =
       .

   ENDIF.

Top kudoed authors