Show TOC

App Extensibility: My Appointments Locate this document in the navigation structure

Extensibility information for SAP Fiori app.

You can extend the app according to your business needs for different aspects. For this purpose, the following extensibility options are available:
  • You can change which information should be displayed for the individual appointments on the overview page, and in which form.

  • You can add or change pushbuttons on the overview page.

  • You can adjust entire areas to your requirements for displaying the detail page, and add your own fields to the bottom of the page. In addition, you can add your own pushbuttons on the bottom right.

  • You can add your own fields in four places, for creating or changing the detail page. You cannot insert any new pushbuttons on the change page.

Change Overview Page

To change which information should be displayed for the individual appointments on the overview page, and in which form, the following extensibility entities are available on the different layers. You have to extend each of these entities according to your specific business needs:

UI

Back End/ABAP

View

Extension Point

Design Time: Gateway Entity

Design Time: Extension Include

Run Time: Superclass and Method to Be Redefined

AppointmentList.view.xml

extensionListItem

Appointment

CRM_APPOINT_ODATA_INCL

CRMS_APPOINTMENT_ODATA

Add or Change Pushbuttons on the Overview Page
The following extensibility entities are available on the different layers. You have to extend each of these entities according to your specific business needs:

UI

Back End/ABAP

View

Extension Point

Design Time: Gateway Entity

Design Time: Extension Include

Run Time: Superclass and Method to Be Redefined

AppointmentList.view.xml

extensionListItem

Appointment

CRM_APPOINT_ODATA_INCL

CRMS_APPOINTMENT_ODATA

Detail Page (Display): Add or Adjust Fields and Pushbuttons

To adjust entire areas to your requirements for displaying the detail page, add your own fields to the bottom of the page, and add your own pushbuttons on the bottom right, the following extensibility entities are available on the different layers. You have to extend each of these entities according to your specific business needs:

UI

Back End/ABAP

View

Extension Point

Design Time: Gateway Entity

Design Time: Extension Include

Run Time: Superclass and Method to Be Redefined

AppointmentDetail.view.xml

extensionDetail

(replace or adjust header area of page)

Appointment

CRM_APPOINT_ODATA_INCL

CRMS_APPOINTMENT_ODATA

extensionDetail2

(replace or adjust area Attendees)

Attendee

Appointment

CRM_APPOINT_ATTENDEE_INCL

CRM_APPOINT_ODATA_INCL

CRMS_ATTENDEE_ODATA

CRMS_APPOINTMENT_ODATA

extensionDetail3

(show additional fields at the bottom of the page)

Note that you need to have previously defined the additional fields in the OData service.

extensionFooterContentRight

(add additional pushbuttons)

Detail Page (Create or Change): Add Fields

On the detail page, you can add your own fields in four places. You cannot insert any new pushbuttons on the change page.

The following extensibility entities are available on the different layers. You have to extend each of these entities according to your specific business needs:

UI

Back End/ABAP

View

Extension Point

Design Time: Gateway Entity

Design Time: Extension Include

Run Time: Superclass and Method to Be Redefined

NewAppointment.view.xml

extensionEditHeader

(add additional attributes in the header area of the edit view)

Appointment

CRM_APPOINT_ODATA_INCL

CRMS_APPOINTMENT_ODATA

extensionEdit1

(add additional attributes in the section of the edit view)

extensionEdit2

(add additional attributes in the section of the edit view)

extensionEdit3

(add additional attributes in the section of the edit view)

Change Standard Values (Defaults) for Fields

To change the standard values (defaults) for fields, overwrite the function createAppointment in controller NewAppointment.

Further Extensibility Entities

Business Add-Ins (BAdIs)

The following Business Add-Ins are available for extensibility purposes:

  • CRM_APPT_ODATA_BD in enhancement spot CRM_APPT_ODATA_ENH.

    You can use this BAdI to define your own logic for reading, creating, or changing appointments. This is necessary if, for example, you want to add your own fields, or use different processing logic for existing fields.

    You open the BAdI by using transaction SE18.
    Note For create and update scenarios, use the new BAdI method UPDATE_APPOINTMENT_DETAILS instead of the old BAdI method UPDATE_APPOINTMENT.

Extension Includes

In addition to the extension includes described above, the following extension includes are available:

DDIC

Extension Include

Use

<DDIC>

<Extension include>

For more information about extension includes, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation Start of the navigation path Extensibility Information for SAP Fiori Next navigation step Extending the UI Layer Next navigation step UI Extensibility Workflow Next navigation step  Next navigation step Checking the SAP-Enabled Extension Options Next navigation step Extension Includes End of the navigation path.

Extension Points

For <business case>, for example, the following extension points are available:

View

Extension Point

Use

<DDIC>

<Extension point>

If there are additional fields available in the OData service, you can display these fields on the UI. For more information, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation Start of the navigation path Extensibility Information for SAP Fiori Next navigation step Extending the UI Layer Next navigation step UI Extensibility Workflow Next navigation step  Next navigation step Checking the SAP-Enabled Extension Options Next navigation step Extension Points End of the navigation path.

UI Controller Hooks

To plug in and execute custom code, the following hooks are available in the controller code:

Controller

Hook

Use

NewAppointment.controller.js

extHookCustomLogicOnRouteMatched

Allows you to implement additional logic when the new appointments page is loaded.

NewAppointment.controller.js

extHookCreateAppointment

Allows you to implement additional logic in the createAppointment function.

NewAppointment.controller.js

extHookEditAppointment

Allows you to implement additional logic in the editAppointment function.

NewAppointment.controller.js

extHookEnableSaveBtn

You can decide if the save pushbutton has to be enabled for the fields added by you to the new appointments page.

NewAppointment.controller.js

extHookValidateAdditionalFields

Allows you to handle client side validations of the fields added by you to the new appointments page.

NewAppointment.controller.js

extHookPrepareEntity

Allows you to provide additional properties that can be added to or removed from the Appointment entity JSON.

NewAppointment.controller.js

extHookSaveAppointmentOnEdit

Allows you add additional update requests to the custom fields added as a part of the $batch request. This is provided while editing an existing appointment.

NewAppointment.controller.js

extHookSaveAppointmentOnCreate

Allows you to add additional update requests to the custom fields added as a part of the $batch request. This is provided while creating an appointment.

AppointmentDetail.controller.js

extHookHandleOpen

Allows you to extend the Follow Up pushbutton.

If there are additional UI controller hooks available in the controller code, you can add own code. For more information, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation Start of the navigation path Extensibility Information for SAP Fiori Next navigation step Extending the UI Layer Next navigation step UI Extensibility Workflow Next navigation step  Next navigation step Checking the SAP-Enabled Extension Options Next navigation step UI Controller Hooks End of the navigation path.

Display of UI Controls

As an example, the following UI controls can be hidden from the app UI:

View

Control ID

Use

AppointmentDetail.view.xml

ohdetail

Allows you to add the object header in the detail view of an appointment.

AppointmentDetail.view.xml

ProcessTypeDescription

Allows you to add the process type description in the detail view of an appointment.

AppointmentDetail.view.xml

statusText_Detail

Allows you to maintain the status of an appointment.

AppointmentDetail.view.xml

prioText_Detail

Allows you to maintain the text for priority status.

AppointmentDetail.view.xml

pf_Detail

Allows you to maintain the status of the private flag.

AppointmentDetail.view.xml

accountField

Allows you to maintain the account field.

AppointmentDetail.view.xml

location

Allows you to maintain the location field.

AppointmentDetail.view.xml

responsibleField

Allows you to maintain the responsible field.

AppointmentDetail.view.xml

toDateInHeader

Allows you to maintain the end date in the appointment header.

AppointmentDetail.view.xml

externalAtt

Allows you to maintain an external attendee.

AppointmentDetail.view.xml

internalAtt

Allows you to maintain an internal attendee.

AppointmentDetail.view.xml

responsiveGrid_Detail

Allows you to display the notes tab in the appointment details screen.

AppointmentDetail.view.xml

transactionHistoryData

Allows you to display the transaction history panel.

AppointmentDetail.view.xml

DocHistory_Tab

Allows you to maintain the document history tab.

AppointmentDetail.view.xml

TransactionDesText

Allows you to maintain the text for transaction description.

AppointmentDetail.view.xml

CreatedOnText

Allows you to display the date on which the document is created in the transaction history table.

AppointmentList.view.xml

AppListItem

Allows you to display the header information of an appointment.

AppointmentList.view.xml

statusText

Allows you to display the status of an appointment.

AppointmentList.view.xml

attachmentIcon

Allows you to display an icon, if an attachment is available.

AppointmentList.view.xml

btnAdd

Allows you to create a new appointment.

For more information about hiding UI controls, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation Start of the navigation path Extensibility Information for SAP Fiori Next navigation step Extending the UI Layer Next navigation step UI Extensibility Workflow Next navigation step  Next navigation step Checking the SAP-Enabled Extension Options Next navigation step Hiding UI Controls End of the navigation path.

More Information

For a general description of the extensibility options and procedures of SAP Fiori apps, see http://help.sap.com/fiori_implementation Start of the navigation path Extensibility Information for SAP Fiori End of the navigation path.