REPORT zappointment_clear_allday_flag.PARAMETERS: id TYPE crmd_orderadm_h-object_id OBLIGATORY DEFAULT '26641',type TYPE crmd_orderadm_h-process_type OBLIGATORY DEFAULT 'ZAP0'.DATA: lt_appointment TYPE crmt_appointment_comt,ls_appointment LIKE LINE OF lt_appointment,lt_changed_fields TYPE crmt_input_field_tab,ls_changed_field LIKE LINE OF lt_changed_fields,lt_exception TYPE crmt_exception_t,ls_field_name LIKE LINE OF ls_changed_field-field_names,lt_save TYPE crmt_object_guid_tab,lt_not_saved LIKE lt_save,lv_guid TYPE crmd_orderadm_h-guid,lt_saved TYPE crmt_return_objects.START-OF-SELECTION.SELECT SINGLE guid INTO lv_guid FROM crmd_orderadm_h WHERE object_id = id AND process_type = type.IF sy-subrc <> 0.WRITE:/ 'invalid appointment id or type'.RETURN.ENDIF.ls_appointment-ref_guid = lv_guid.ls_appointment-ref_kind = 'A'.ls_appointment-appt_type = 'ORDERPLANNED'.ls_appointment-mode = 'B'.APPEND ls_appointment TO lt_appointment.ls_changed_field-ref_handle = '0000000000'.ls_changed_field-ref_guid = ls_appointment-ref_guid.ls_changed_field-ref_kind = ls_appointment-ref_kind.ls_changed_field-objectname = 'APPOINTMENT'.ls_changed_field-logical_key = ls_appointment-appt_type.ls_field_name-fieldname = 'DOMINANT'.APPEND ls_field_name TO ls_changed_field-field_names.APPEND ls_changed_field TO lt_changed_fields.CALL FUNCTION 'CRM_ORDER_MAINTAIN'EXPORTINGit_appointment = lt_appointmentIMPORTINGet_exception = lt_exceptionCHANGINGct_input_fields = lt_changed_fieldsEXCEPTIONSerror_occurred = 1document_locked = 2no_change_allowed = 3no_authority = 4.WRITE: / 'result: ' , sy-subrc.IF sy-subrc <> 0 OR lt_exception IS NOT INITIAL.WRITE: 'all day checkbox changed failed.'.RETURN.ENDIF.CLEAR: lt_exception.APPEND ls_appointment-ref_guid TO lt_save.CALL FUNCTION 'CRM_ORDER_SAVE'EXPORTINGit_objects_to_save = lt_saveiv_update_task_local = abap_trueiv_no_bdoc_send = abap_trueIMPORTINGet_saved_objects = lt_savedet_objects_not_saved = lt_not_savedet_exception = lt_exceptionEXCEPTIONSdocument_not_saved = 1.IF sy-subrc = 0 AND lt_exception IS INITIAL.WRITE:/ 'change saved successfully'.ELSE.WRITE:/ 'change not saved'.ENDIF.COMMIT WORK AND WAIT.BREAK-POINT.