SAP Analytics Cloud Calendar Features and API’s
Workflow Organization (Calendar)
Use the SAP Analytics Cloud calendar to organize your workflows with calendar events: You can create different types of tasks and assign people to work on them and others to review the work. You can use processes to manage multiple events.
You can use your calendar in the following ways:
- Create tasks, assign them to users, set due dates, and monitor the progress.
- Create processes, and add tasks or other processes to them. A process is an aggregation of all the events that it contains, these can be tasks or other processes. The process gives a high-level view of how much work is completed and how much remains.
- Schedule automatic tasks for system activities like data locking, data actions, or multi actions.
In SAP Analytics Cloud, you can organize your workflows with calendar events: View, create and manage your processes and tasks in your calendar.
SAC Calendar Workspaces
There are two workspace views in the calendar interface, List workspace and calendar workspace.
The Calendar consists of a List workspace and a Calendar workspace. Both workspaces let you create and monitor tasks and processes, as well as view and do some changes to your input tasks and publications.
The workspaces let you display your calendar events in different formats.
List workspace lets you see your calendar events in a customizable table with a Gantt chart next to it that you can push to the side or hide. You can change the list workspace to show the following time ranges: Day, Week, Month, or Year.
You can create, monitor, and manage your calendar events in the SAP Analytics Cloud calendar list workspace. This workspace displays your calendar events in a customizable table with a Gantt chart next to it, which you can push to the side or hide.
By default, your calendar opens in the List workspace displaying your events in a table with a Gantt chart next to it:
Calendar workspace lets you see your calendar events in a standard calendar layout (Day, Week, Month).
The Calendar workspace displays the events without any hierarchical grouping: The links between child events and parent processes aren’t visible. Use the List workspace to see these relationships.
In the Calendar workspace, events are displayed with a minimum length of 30 minutes.
SAP Analytics Cloud calendar features:
- Create tasks
- Assign tasks to users
- Set due dates
- Monitor progress
- Create processes, add tasks or other processes to them (Processes are integrations of all events the process contains, whether tasks or other processes; a process provides a high-level view of work completed and work remaining)
- Schedule automatic system activity tasks, such as data locking, data actions, or multi actions
Calendar events
Use the calendar events to organize your workflows, structure and monitor the collaborative planning processes, and use some event types for any other workflow the user would like to manage with the calendar.
You can create different types of tasks and assign people to work on them and others to review the work. You can use processes to manage multiple events.
The following events are displayed in the calendar:
- General tasks
General tasks have one or more assignees tasked with data entry in your planning process, or with any other work you want to organize in the calendar.
In your planning process, general tasks let assignees enter data directly in the story or analytic application that the task owner attached as a work file. Alternatively, the owner can also add any URL to the task to gather information.
- Review tasks
Review tasks have one or more assignees to approve or reject a work result.
They usually check the results of a general task. If they’re reviewing a task that was carried out in a story or analytic application, they can approve or reject it there too.
- Composite tasks
General-purpose task including assignees and optional reviewers.
You can use this task to collect data in your planning process, or use it for any other workflow you’d like to manage in the calendar.
- Data locking tasks
In your planning process you want to create a task where you can specify a data slice of your model as the data locking context and the target lock state.
If you’re the data locking owner of a specific region (or data slice) of a model, you can schedule automatic data locks, and the system will set the locks at the specified time. If someone else is responsible, you can set up the task and assign it to the responsible persons.
This task type lets you decide what data is involved, whether to lock or unlock it, when to make the change, and who’s responsible for changing the lock state.
- Data action tasks
To automate your planning process, you want to schedule a data action to run automatically at a specific time.
Besides setting the start time of the data action, this task type lets you decide how to set parameter values, and whether others can view this task.
- Multi action tasks
To automate your planning process, you want to schedule a multi action to run automatically at a specific time.
Besides setting the start time of the multi action, this task type lets you decide how to set parameter values, whether others can view this task, and whether to publish the target version automatically when the multi action finishes running.
- Processes
To structure your planning process, or any other workflow, you can create a process to group together several steps.
This event type lets you manage your tasks in one parent event. The child events can be tasks or even other processes with their child events.
- Publications (Publications can be created in stories and analytic applications, or from the file repository. In the calendar you can view or change them.)
You want to schedule the automatic publication of a story or an analytic application as a document and display it in the calendar.
Besides setting the start time, publication schedules let you specify the email recipients, different formats, and customized views of the story or analytic application to be published.
- Input tasks (Input tasks can only be created in stories, but you can view them in the calendar and make certain changes there)
In a story based on a planning model you want to gather data from a group of assignees responsible for specific data slices.
Each assignee enters values for a data slice in a private version of the story. Once the owner of the input task approves their input, the data is transferred to the original story and the owner can publish the version to let others view the collected data.
Calendar Roles
The calendar provides following features to view, create, and manage your tasks:
- Collaborate
- Set and track status
- Schedule tasks
- Assign reviewers
- Add reminders
- View due dates
You use the calendar to view, create, and manage your processes and tasks. Directly integrated applications in the calendar make it easier for you to accomplish your due tasks and receive an overview of your data.
If you are an assignee and you access an application from a task, you can submit, reject, view, or set the progress of your task.
If you are a reviewer and you access an application from a task, you can perform the accept or resend actions from within your application.
Each role associated with a task or a process has a specific set of actions:
- Owner: The person who creates the task or process, or a person who is assigned the same rights. For example, you can assign a colleague or assistant as additional owner.
- Assignee: The person doing the work.
- Reviewer: The person who is checking the work of the assignees.
- Viewer: The person who only has read rights for the task or process.
- None: The person filtering for events where they don’t have any role.
All roles can be transferred to different persons except for None; however, the person who created a task or a process can’t be removed as owner.
Most fields can be edited; however, once the start date has passed, that field can no longer be changed.
Calendar-integration API’s
There are two types of APIs for calendar with SAP Analytics Cloud, Component class, and Enumeration class, the Enumeration class allows you to define an abstract type that holds a list of values of the same primitive Java type that are logically related in a given context. An enumeration type is said to have a base type. Here the base type refers to the type of data that this enumeration type can hold.
- CalendarCompositeTask
- CalendarCompositeTaskCreateOptions
- CalendarCompositeTaskCreateProperties
- CalendarCompositeTaskReviewersProperties
- CalendarGeneralTask
- CalendarIntegration
- CalendarReviewTask
- CalendarTask
CalendarTaskStatus
CalendarTaskType
CalendarTaskUserRoleType
- CalendarTaskWorkFile
CalendarTaskWorkFileType
SAC Calendar API Summary list
1- CalendarCompositeTask (extends CalendarTask)
Inherited from CalendarTask
activate, getDescription, getDueDate, getId, getName, getProgress, getStartDate, getStatus, getType, hasUserRole
- approve(): boolean: Approves the calendar task. Requires the user role “Reviewer”. If this operation was successful, then true is returned, and false if it wasn’t.
- canUserApprove(): boolean: Returns whether the current user can approve the task. A task can be approved if the reviewer has their turn in the reviewer round and the status is “In Progress” or “Open”.
- canUserDecline(): Boolean: Returns whether the current user can decline the task. A task can be declined if the assignee can still work on their task and the task isn’t final yet.
- canUserReject(): Boolean: Returns whether the current user can reject the task. A task can be rejected if the reviewer has their turn in the reviewer round and the status is “In Progress” or “Open”.
- canUserSubmit(): Boolean: Returns whether the current user can submit the task. A task can be submitted if the assignee has their turn and the status is “In Progress” or “Open”.
- decline(): Boolean: Declines the calendar task. Requires the user role “Assignee”. If this operation was successful, then true is returned, and false if it wasn’t.
- reject(): Boolean: Rejects the calendar task. Requires the user role “Reviewer”. If this operation was successful, then true is returned, and false if it wasn’t.
- submit(): Boolean: Submits the calendar task. Requires the user role “Assignee”. If this operation was successful, then true is returned, and false if it wasn’t.
2- CalendarCompositeTaskCreateOptions (can be passed as a JSON object to method arguments. An object specifying calendar task create options)
- autoActivate: boolean: Specifies whether the task should automatically be activated when the start date is reached.
3- CalendarCompositeTaskCreateProperties
- assignees: string[]: Assignees of the calendar task
- description: string: Description of the calendar task
- dueDate: Date: Due date of the calendar task
- name: string: Name of the calendar task
- reviewers: CalendarCompositeTaskReviewersProperties: Reviewers of the calendar task
- startDate: Date: Start date of the calendar task
- workFiles: CalendarTaskWorkFile[] JSON: Work files of the calendar task
4- CalendarCompositeTaskReviewersPropertie (is an object<string[]>)
Reviewers information for a calendar composite task
5- CalendarGeneralTask (extends CalendarTask)
Inherited from CalendarTask
activate, getDescription, getDueDate, getId, getName, getProgress, getStartDate, getStatus, getType, hasUserRole
- canUserDecline(): boolean: Returns whether the current user can decline the task. A task can be declined if the assignee can still work on their task and the task isn’t final yet.
- canUserSubmit(): Boolean: Returns whether the current user can submit the task. A task can be submitted if the assignee has their turn and the status is “In Progress” or “Open”.
- decline(): Boolean: Declines the calendar task. Requires the user role “Assignee”. If this operation was successful, then true is returned, and false if it wasn’t.
- submit(): Boolean: Submits the calendar task. Requires the user role “Assignee”. If this operation was successful, then true is returned, and false if it wasn’t.
6- CalendarIntegration
- createCompositeTask (createCompositeTask(taskProperties: CalendarCompositeTaskCreateProperties JSON, createOptions?: CalendarCompositeTaskCreateOptions JSON): CalendarCompositeTask), (Returns: CalendarCompositeTask)
Creates a composite task specified by the task properties and the create options. If this operation was successful, then the composite task is returned, and undefined if it wasn’t.
Parameters: taskProperties: CalendarCompositeTaskCreateProperties JSON
createOptions Optional: CalendarCompositeTaskCreateOptions JSON
- getCalendarTaskById (getCalendarTaskById(taskId: string): CalendarTask), (Returns: CalendarTask)
Returns the calendar task specified by the task ID. If no calendar task was found, then undefined is returned.
- getCurrentTask (getCurrentTask(): CalendarTask), (Returns: CalendarTask)
Returns the calendar task with which the analytic application was started. If the analytic application isn’t associated with a calendar task, then undefined is returned.
- getRelatedTaskIds (getRelatedTaskIds(): string[])
Returns an array of task IDs for which the analytic application is a work file. Recurring composite tasks are excluded from the result.
7- CalendarReviewTask (extends CalendarTask; Inherited from CalendarTask)
activate, getDescription, getDueDate, getId, getName, getProgress, getStartDate, getStatus, getType, hasUserRole
- approve(): boolean: Approves the calendar task. Requires the user role “Assignee”. If this operation was successful, then true is returned, and false if it wasn’t.
- canUserApprove(): Boolean: Returns whether the current user can approve the task. A task can be approved if the reviewer has their turn in the reviewer round and the status is “In Progress” or “Open”.
- canUserReject(): Boolean: Returns whether the current user can reject the task. A task can be rejected if the reviewer has their turn in the reviewer round and the status is “In Progress” or “Open”.
- reject(): Boolean: Rejects the calendar task. Requires the user role “Assignee”. If this operation was successful, then true is returned, and false if it wasn’t.
8- CalendarTask (is abstract. An object representing a calendar task)
Direct Subclasses
CalendarCompositeTask, CalendarGeneralTask, CalendarReviewTask
- activate(notify?: boolean): Boolean: Activates a task. Optionally, all the users that have a role on the task are notified when the task is activated. If this operation was successful, then true is returned, and false if it wasn’t.
- getDescription(): string; Returns the description of the calendar task.
- getDueDate(): Date; Returns the due date of the calendar task.
- getId(): string; Returns the ID of the calendar task.
- getName(): string; Returns the name of the calendar task.
- getProgress(): integer; Returns the progress of the calendar task. The progress is specified as an integer number between 0 and 100.
- getStartDate(): Date; Returns the start date of the calendar task.
- getStatus(): CalendarTaskStatus; Returns the status of the calendar task.
- getType(): CalendarTaskType; Returns the type of the calendar task.
- hasUserRole(calendarRoleType: CalendarTaskUserRoleType): boolean; Returns whether the current user has the specified role of the calendar task.
8.1- CalendarTaskStatus (Sub API of Calendar Task)
- Accomplished: CalendarTaskStatus; Deprecated This status is deprecated, use “Successful” instead. The calendar task is in status “Accomplished”.
- Canceled: CalendarTaskStatus: The calendar task is in status “Canceled”.
- Inactive: CalendarTaskStatus: The calendar task is in status “Inactive”.
- InProgress: CalendarTaskStatus: The calendar task is in status “In Progress”.
- NoAssignee: CalendarTaskStatus: The calendar task is in status “No Assignee”.
- OnHold: CalendarTaskStatus: The calendar task is in status “On Hold”.
- Open: CalendarTaskStatus: The calendar task is in status “Open”.
- Successful: CalendarTaskStatus: The calendar task is in status “Successful”.
8.2- CalendarTaskType (Sub API of Calendar Task)
- CompositeTask: CalendarTaskType; Composite task
- GeneralTask: CalendarTaskTyp; General task
- ReviewTask: CalendarTaskTyp; Review task
8.3- CalendarTaskUserRoleType (Sub API of Calendar Task)
- Assignee: CalendarTaskUserRoleType; The person who processes the calendar task
- Owner: CalendarTaskUserRoleType; The person who created the calendar task
- Reviewer: CalendarTaskUserRoleType; The person who supervises the work of the assignee
9- calendarTaskWorkFile (can be passed as a JSON object to method arguments. An object specifying a calendar task work file)
- id: string; ID of the work file
- type: CalendarTaskWorkFileType; Type of the work file
9.1- CalendarTaskWorkFileType
- AnalyticApplication: CalendarTaskWorkFileType; The work file is an analytic application.
- Story: CalendarTaskWorkFileType; The work file is a story.