msg.Free Time Ticket - Presentation Page

Application Requirements

For the msg employees, the start and end time when they do have to work is flexible. However, every msg Romanian employee has to be present at work in on a so-called “Core Time”. The core time is defined as a specific time interval, which can be defined, based on the company regulations.

The msg.Free Time Ticket App (msg.FTT) brings the benefit to an employee to be excused in this core time for a maximum amount of time also defined based on internal regulations.

This S/4HANA-like app will provide the necessary means to create such free time tickets and to send them for approval to the corresponding unit manager.

Free Time Ticket Management

Employee

Overview of free time tickets

The application will offer to the user as first page a list overview of all free time tickets, which he created.

Create new free time ticket

By selecting the “+” button the employee will be able to enter the unavailability/absence time interval.

Input Example:
Begin Data: 20.10.2017
Begin Hour: 14:00
End Hour: 16:00
[Optional] Reason: Personal Reason
[Optional] Replacement: < person>>

By pressing the “Save” button, all the entered information in the free time ticket will be validated (according to the internal defined regulations) and in case that no inconsistencies occur, the free time ticket will be persisted in the database with “Pending” status. The unit manager or the responsible human capital manager will be informed via email about the newly created free time ticket, which need to be approved or rejected.

For an employee the Approve/Reject actions will not be visible.

Withdraw free time ticket

The creator will be able to change the status to “Withdrawn” if due to some reasons the absence is not any more required, respectively needed. In this case, the approver cannot approve/reject such free time ticket anymore. Any further action will not be possible for “Withdrawn” tickets, but they will be visible in the free time ticket overview/dashboard.

Unit Manager/Human Capital Manager

Approve/Reject free time ticket

The Unit Manager or responsible Human Capital Manager will be able to approve/reject a free time ticket. The overview will contain all the free time tickets from the subordinate employees.

Reporting

The Unit Manager and Human Capital Managers will be able to list all free time tickets created on company level. The application will provide filter capabilities by Date, by User Name etc.

Application Architecture

Technology

UI

In the initial phase of the project, the whole UI was automatically generated by using CDS annotations on CDS View level. In the end of the project, the generated UI was enhanced in order to cover additional aspects, which could not be covered by UI annotations.

SAP Fiori Launchpad

UI Application (generated from backend via UI annotations)

- msg.Free Time Ticket for Manager

- msg.Free Time Ticket for Employee

Extended UI Application

- msg.Free Time Ticket for Manager (Extended)

- msg.Free Time Ticket for Employee (Extended)

UI Extensions on Smart Templates

On top of the automatically generated UI, the following enhancements were implemented on UI level:

- msg.Free Time Ticket App for Unit Manager

+ automatic triggering of data loading from backend when the application is started. (“Go” action not needed in that case and it was hidden)
+ multiple selection enabled for free time tickets
+ the actions “Approve” and “Reject” moved inline on each free time ticket in part. In case that the free time ticket has the status “Withdrawn”, the actions are not available.


- msg.Free Time Ticket App for Employee

+ automatic triggering of data loading from backend when the application is started. (“Go” action not needed in that case and it was hidden)
+ the action “Edit” on Object Page will be hidden in case that the free time ticket status has the status “Withdrawn”.

Backend

The backend was implemented using the new S/4HANA concepts: CDS Views (for read access), BOPF (for transactional processing) and OData/SAP Gateway (to expose the backed functionalities to the UI5 application).

As recommended by SAP, the OData Service generation and also the BOPF model was done based on the CDS Annotation as much as possible. Any special action (except CRUD which is fully supported by BOPF out of the box) will be implemented as BOPF actions

* Source: SAP
* Source: SAP

BOPF and BRFplus Integration

In a simplistic approach, one can just call a BRFplus function from BOPF, but what if we “outsource” the logic for BOPF validations and determinations to BRFplus? We provided support for such a scenario by using the BRFplus API to partially automate the artifact creation process. This enables developers to focus more on the actual decision logic instead of the BRFplus artefacts needed to deliver it.

Below, the supporting tools for this scenario are mentioned:

• Custom BOPF V&D Utilities - A framework, which facilitates implementing BOPF validations and determinations:

+ reduces V&D implementation effort by handling common functionality centrally
+ encourages a uniform approach for implementing V&D functionality
+ provides a good overview of a BO's V&D functions
+ options for setting up validations/ determinations:

 static ABAP-based
 static BRFplus-based
 dynamic BRFplus-based


• Custom BOPF/BRFplus Generator - A design-time tool which automatically creates BRFplus artifacts to be used with the Custom BOPF V&D Utilities:

+ generates a BRFplus V&D microframework tailored to each specific BOPF object
+ reduces implementation overhead, enabling focus on the actual business logic
+ allows for the business logic definition in BRFplus to be delegated to a business expert (who doesn't need ABAP skills)

Use Cases

Create free time ticket

Step 1: The msg Employee actor triggers the creation of a free time ticket from the Free Time Ticket List Overview.

Step 2: The unavailability/absence time interval and other information (reason, representative) are maintained within the free time ticket.

Step 3: Save action is triggered. All the entered information in the free time ticket will be validated and in case that no inconsistencies occur, the free-time ticket will be persisted in the database with “Pending” status.

Approve free time ticket

Step 1: The msg Unit Manager acknowledge (via email) that a new free time ticket was created and is pending for approval.

Step 2: The msg Unit Manager approves the free time ticket.

Reject free time ticket

Step 1: The msg Unit Manager acknowledge (via email) that a new free time ticket was created and is pending for approval.

Step 2: The msg Unit Manager rejects the free time ticket due to tight project deadline (reason required here).

Withdraw free time ticket

Step 1: The msg Employee selects the free time ticket, which he wants to withdraw.

Step 2: The msg Employee withdraws the free time ticket.

Conclusion

Having the msg.Free Time Ticket app as an example, S/4HANA programming model proves once again how easy can be to create Fiori like applications with the smallest development effort. Besides the possibility to generate a complete UI5 application via CDS View UI Annotations without having any Java Script or SAPUI5 knowledge, there are also enhancement options possible on top of the generated UI5 applications. Last but not least, S/4HANA can integrate also other technologies, like BRFplus in order to “outsource” the business logic to experts which may not have ABAP knowledge.