Quantcast
Channel: SCN: Message List - SAP CRM: Webclient UI - Framework
Viewing all articles
Browse latest Browse all 7775

Re: Issue with Appointment fields CRM_ORDER_MAINTAIN

$
0
0

I think this sample code will help you for sure.

 

CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'

                EXPORTING

                  date_external            = ls_leaddata-startdate

                IMPORTING

                  date_internal            = lv_date

                EXCEPTIONS

                  date_external_is_invalid = 1

                  OTHERS                   = 2.

              CONVERT DATE lv_date TIME sy-timlo INTO TIME STAMP lv_timestamp TIME ZONE sy-zonlo.

 

                CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'

                EXPORTING

                  date_external            = ls_leaddata-enddate

                IMPORTING

                  date_internal            = lv_date

                EXCEPTIONS

                  date_external_is_invalid = 1

                  OTHERS                   = 2.

              CONVERT DATE lv_date TIME sy-timlo INTO TIME STAMP lv_timestamp1 TIME ZONE sy-zonlo.

*ls_appointment-ref_handle     = 0000000000.

ls_appointment-ref_guid       = lv_hguid.

ls_appointment-ref_kind       = 'A'.

ls_appointment-appt_type      = 'LEAD_END'.

ls_appointment-timestamp_from = lv_timestamp1 ."'20150415220000'.         "20150415220000 DOMINANT  DURATION  RULE_NAME  SHOW_LOCAL TIMESTAMP_FROM TIMEZONE_FROM TIME_UNIT

ls_appointment-timezone_from  = 'CET' .

ls_appointment-timestamp_to   = lv_timestamp1 .           "'20150415220000'.

*ls_appointment-mode           = 'B'.

APPEND ls_appointment TO lt_appointment.

 

ls_appointment-ref_guid       = lv_hguid.

ls_appointment-ref_kind       = 'A'.

ls_appointment-appt_type      = 'LEAD_START'.

ls_appointment-timestamp_from lv_timestamp .  "'20150415220000'.         "20150415220000 DOMINANT  DURATION  RULE_NAME  SHOW_LOCAL TIMESTAMP_FROM TIMEZONE_FROM TIME_UNIT

ls_appointment-timezone_from  = 'CET' .

ls_appointment-timestamp_to   = lv_timestamp . "'20150415220000'.

*ls_appointment-mode           = 'B'.

APPEND ls_appointment TO lt_appointment.

 

* LT_NAMETAB

ls_fieldname-fieldname = 'DOMINANT'.

APPEND ls_fieldname TO lt_fieldname.

ls_fieldname-fieldname = 'DURATION'.

APPEND ls_fieldname TO lt_fieldname.

ls_fieldname-fieldname = 'RULE_NAME'.

APPEND ls_fieldname TO lt_fieldname.

ls_fieldname-fieldname = 'SHOW_LOCAL'.

APPEND ls_fieldname TO lt_fieldname.

ls_fieldname-fieldname = 'TIMESTAMP_FROM'.

APPEND ls_fieldname TO lt_fieldname.

ls_fieldname-fieldname = 'TIMEZONE_FROM'.

APPEND ls_fieldname TO lt_fieldname.

ls_fieldname-fieldname = 'TIME_UNIT'.

APPEND ls_fieldname TO lt_fieldname.

ls_input_field-field_names = lt_fieldname.

APPEND ls_input_field TO lt_input_field .

 

* LT_INPUT_FIELDS

*ls_input_field-ref_handle    = 0000000000.

ls_input_field-ref_guid      = lv_hguid.        "uniq guid 16-bit

ls_input_field-ref_kind      = 'A'.

ls_input_field-objectname    = 'APPOINTMENT'.

ls_input_field-logical_key   = 'LEAD_END'.

ls_input_field-field_names = lt_fieldname.

APPEND ls_input_field TO lt_input_field .

 

ls_input_field-logical_key   = 'LEAD_START'.

APPEND ls_input_field TO lt_input_field .

 

 

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

 

After this step call CRM_ORDER_MAINTAIN....

 


CALL FUNCTION 'CRM_ORDER_MAINTAIN'
  EXPORTING
    it_lead_h         = lt_lead_h
    it_orgman         = lt_orgman
    it_appointment    = lt_appointment
    it_partner        = lt_partner
    it_status         = lt_status
    it_service_os     = lt_service_os
*                             IMPORTING
*   ET_EXCEPTION      =
  CHANGING
    ct_orderadm_h     = lt_orderadm_h
    ct_input_fields   = lt_input_field
*   CT_PARTNER_ATTRIBUTES         =
  EXCEPTIONS
    error_occurred    = 1
    document_locked   = 2
    no_change_allowed = 3
    no_authority      = 4
    OTHERS            = 5.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
IF sy-subrc NE 0.
ENDIF.
CLEAR ls_orderadm_h.
READ TABLE lt_orderadm_h
INTO ls_orderadm_h
INDEX 1.
IF sy-subrc = 0.
  ls_object_to_save = ls_orderadm_h-guid.
  INSERT ls_object_to_save INTO TABLE lt_object_to_save.
  CALL FUNCTION 'CRM_ORDER_SAVE'
    EXPORTING
      it_objects_to_save   = lt_object_to_save
    IMPORTING
      et_saved_objects     = lt_saved_objects
*     et_exception         = t_exceptions
      et_objects_not_saved = lt_objects_not_saved
    EXCEPTIONS
      document_not_saved   = 1
      OTHERS               = 2.

 

  IF sy-subrc EQ 0.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
     EXPORTING
       WAIT          = 'x'
           .


Viewing all articles
Browse latest Browse all 7775

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>