FAB 3.2 Release Notes

FAB New Features

Release Notes

Release Notes

Custom Fiori Launchpad can be configured from the FAB Workbench which is useful for users who do not have SAP Standard Fiori Launchpad.

For more information, see documentation:
Custom Fiori Launchpad

The Attachments button in the FAB Footer Toolbar has been updated to make use of the SAPUI5 Upload Collection control for attachment management that provides the ability to upload, download or delete attachments.

For more information, see documentation:
Tasks

Added new parameters in the FAB JavaScript Utility function fabUpdateProcessFlowDiagram that controls whether a busy dialog or a success MessageToast will be shown when updating the Process Flow diagram.

For more information, see documentation:
https://fioriqas.iqxbusiness.com/sap/bc/ui5_ui5/iqx/FAB_HELP_S2/index.html#File:fab.js:fabUpdateProcessFlowDiagram

Changes to the Task is now determined based on the changes in the hash of Agents or the Task Detail. 

Added Comment feature in FAB Action.

Added an Approvers option in the FAB Process Flow control to display the list of approvers for open or pending Roles and Tasks. Alternatively, the approvers can also be viewed from the Diagram option in the FAB Process Flow. Whenever the Task is selected, the approver will be displayed in a pop-up dialog.

For more information, see documentation:
Process Flow

The Process Flow Diagram in the FAB Process Designer was improved so that connections between Actions and Outcomes can be better visualized. When the button Show Action Connections is selected and the Process Flow is zoomed at level 1 or level 2,  the connection lines will be displayed.
Green arrows show Forward Outcomes.
Red arrows show Backward Actions.
Blue arrows show Actions that stay on the same Task.

For more information, see documentation:
Process Flow

Added a new setting in the FAB Process Designer to configure Role Agents.
Go to Roles > Agents and the User, Personnel No., Position, and Org Unit can be configured.

For more information, see documentation:
Roles

Improvements have been made in the FAB Workbench for the generation of stand-alone apps and its integration into the Fiori Launchpad.

A Utility Transaction /IQX/FAB_SETUP was created to allow all the URLs and other settings in /IQX/FAB_CONFIG > General Configuration and Editors to be automatically generated. The user specifies the main server URL and a few options, and the URLs can be generated and copied into /IQX/FAB_CONFIG.
The maintenance dialogs in /IQX/FAB_CONFIG have also been converted to two-step screens so that it is easier to make the settings.

For more information, see documentation:
Editor Configuration

A default window size was defined for the FAB Workbench Process Designer and Advanced JavaScript editor to ensure that the content is useable and readable during the initial access of the transaction.

Cache Buster URL for Anonymous Apps that use cache-busting techniques added to the /IQX/FAB_CONFIG > General Configuration.

For more information, see documentation:
General Configuration

Added an optional parameter I_USE_URL_PARAMETERS to the utility method /IQX/CL_FORMS_ASSIST>GET_FORM_URL. This allows the retrieval of the FAB App URL that uses URL parameters instead of the # Route Navigation parameters.

Added a new activity "05 - Display in Data Report" to Auth. Object /IQX/FAB. This provides the authorization to access the data from FAB Data Report and FAB Data Analysis Report. 

Streamlined the registration of the OData Models and Services in the FAB Entity Set Designer. Created two Generate buttons to make it a one-step registration that requires minimal user interaction for each step.

Added a new utility structure /IQX/FAB_SYSTEM_FIELDS that holds the data for IQX FAB System Fields.
It mirrors the System Fields in a FAB Data Model that is useful when copying from a data model in ABAP MOVE-CORRESPONDING operations.

For more information, see documentation:
FAB Data Types

The Wizard for Table Columns can now be used for Tables bound to OData Entity Sets.

Added a flag called No HR Personnel in the Project Properties. When this flag is ticked, it allows the system to bypass operations related to the HR Personnel such as retrieving the Personnel Number for a user. This can be used in systems or applications where HR Personnel numbers (PERNR) are not used. 

Added 2 new options in the Project Properties: Classification and Use SAP Substitutions.

In the field Classification, an application can be classified using the same SAP Task Classifications that can be applied to standard SAP Workflow Tasks and Templates.

The flag Use SAP Substitution allows the automatic application of SAP Substitutes to approvers. This works in conjunction with the classifications, as it can be configured in a Substitution Profile.

The method GET_LAST_MODIFIED of the Model Provider Class was enhanced to automatically update when changes are made in the Entity Set. As a result, the application loads the most recent version of the metadata from the server.

Constants used in Search Help configurations and Filters can be specified by placing the value in single quotes, like '1000' or 'X'.

The SAP Type property of a Data Model Field can be declared using form STRUCTURE-FIELD.

For example: T001W-WERKS

SAP Search Help and SAP Table Search Help have a new option to sort search results by Id, by Description, or none.

For more information, see documentation:
Input Search Help and Definition

If an Approval Matrix application is used, the data is passed to the method REQUIREMENTS_EVALUATE, and in user-exits such as VALIDATIONS_ON_SAVE, PERFORM_ACTION_ON_STATUS_CHANGE.

Direct Type Declaration property was added to Structure Type Nodes in the Data Model. It is now possible to set the Direct Type Declaration to true or false.
If set to true, the structure is declared in the implementation class (Deep structure GS_DATA) and it assumes all the properties of the specified data type.
If set to false, the structure is declared as a custom type.

For more information, see documentation:
FAB Data Model

The method REQUIREMENT_EVALUATE of the base class /IQX/CL_FORMS_BASE_CLASS now passes the workflow Node_ID or the Task ID that is useful for retrieving other task properties.

Comments can be added when new Iterations of FAB Apps are created in the Workbench. The comments are visible when choosing an Iteration to open in the Workbench.

An option called No Preview in Workbench was added to Settings > Options that disables the preview of the App in the FAB Workbench. To reflect the changes in the Settings, it is necessary to restart the FAB Workbench or start a new session.

The method DETERMINE_FORM_URL of the implementation class can be used to define the Form URL of the application.

An internal improvement was made to improve data load times when an Approval Matrix app is used to determine Roles for Processes.

To allow enhanced authorization checks per application, a parameter E_NOT_AUTHORISED was added to the method DETERMINE_DATA_ON_LOAD. If this parameter is set, it will not allow the data to be passed to the frontend side and the user will be prompted by a warning message "Not Authorised".

Email Templates and Notifications can be configured in the Notifications Tab of the FAB Process Designer.

Added new configurations for the FAB Launchpad in transaction /IQX/FAB_CONFIG > App Configuration:
Disable Browser Back
Launchpad FAB App
My Forms Title
New Forms Tile Title
New Forms FAB App
See App Configuration in Confluence for more information.

For more information, see documentation:
App Configuration

When the Object Page Section is added in FAB, the following sub-nodes are now auto-generated:

  • SubSections

  • Object Page SubSections

  • Vertical Layout  

Two-column suggestion items for Inputs can be easily configured by adding a child-node of core:ListItem.

This control can be added as a child of an Input control.

For a Data Model Field that is not based on an SAP Type, the Field Name will be assigned as the default Description which can be modified based on the user's preference.

Added a new setting in the Workflow View Variables called Auto. Set to false at each new Level. If turned on, it automatically clears the View Variable when the Form loads. The View Variable is then set according to the rules defined in the View Control.

For more information, see documentation:
View Variables

Modified the Information text in the Workflow Levels tab.

The Project Properties Dialog now displays the User who last modified the FAB Project and the date and time it was modified.

Wizard buttons added in the Project Properties, Form Life-Cycle dialog, and in the Entity Set Designer to auto-generate FAB Implementation Class Name and Entity Set related object names, such as Data Provider Class Name, Model Provider Class Name, Model Name, and Service Name.

An option called Auto Copy to Client on Save was added to Settings > Options that enables a FAB Project to be copied automatically to another client upon saving.

Editable property added to major Input-type controls:

Select, Checkbox, Radio Button Group, Radio Button, Date Picker, Date Time Picker, Text Area

Growing property added to Text Area control.

The FAB License Report outputs the FAB platform application usage that is useful when performing auditing tasks related to product licensing. It can be accessed in transaction SE38 /IQX/FAB_LICENSING_REPORT or in transaction /IQX/FAB using the FAB Standard Application IQX_LICENSING_REPORT.

Updated the JavaScript Editor Help Screen.
See Editor Configuration in Confluence for more information.

For more information, see documentation:
Editor Configuration

In the Fiori Launchpad, it is now possible to navigate to a given instance of a FAB application using the instance parameter of the URL.

For example:

instance=000D3AA3EB421EDA97B45EB6835920CA

Multiple RFC destinations between gateway and backend (ERP/CRM) is now supported and can be configured in transaction /n/IQX/FAB_CONFIG > General Configuration and Backend RFC Destination.

It is now possible to deploy and run FAB in a Frontend Gateway system without having any dependencies on a Backend system. It also has the ability to connect to multiple systems like CRM or ERP system via RFC. 

Added RFC Dev Master as a new configuration in transaction /IQX/FAB_CONFIG > General Configuration to facilitate the saving of enhanced workflow definitions in a multi-client development environment.

For more information, see documentation:
General Configuration

GridTable Column Headings are automatically escaped and treated as literal.

When the Enabled property of the Grid Table is set to true or blank, it will not be wrapped in a Vertical Layout.
When the Enabled property of the Grid Table is set to false, it will be wrapped in a Vertical Layout where the Enabled property of the layout is set to false.

For more information, see documentation:
Grid Table

FAB Workbench can now generate Progressive Web Applications that allows offline capability. For more information on how to implement this, please contact IQX Business Solutions.

An IQX-branded favourites icon (favicon) was configured for FAB. This appears next to the website title in the browser and in the favourites toolbar when the URL is bookmarked.

A nested form structure can be created when the ctrl key is pressed while dragging and dropping a child control onto a parent control.

For more information, see documentation:
Controls

Import and Export Workflow function added to the FAB Process Designer. The Export function generates a text file that contains the definition of the process design. The Import function creates the process design using the definition contained in the imported file.

For more information, see documentation:
Import and Export of Workflow

Disabled the mouse scrolling zoom on the FAB Process Flow Diagram and replaced it with Zoom In and Zoom Out buttons.

Added a Device Emulator in the FAB Workbench to emulate the screen size of the mobile device.
To configure this setting in the FAB Workbench, go to View > Emulate On / Off
To emulate a specific device, go to View > Device > Select a Device
See Editor Configuration in Confluence for more information.

For more information, see documentation:
Editor Configuration

Made the following improvements on the functionality and processing of the BDC Recording in FAB Workbench:

  1. BDC Recordings can be configured in the new Enhanced Workflow.

  2. Recording a BDC on a remote system via RFC.

  3. Multiple BDC recordings can be made within one application.

Improved the performance of FAB Action by using HTTP POST instead of HTTP GET.

Added an error message when the ABAP exit does not return a success flag.

The System Roles in the FAB Process Designer are no longer editable.

For more information, see documentation:
Roles

When defining the IDs or Names in the FAB Process Designer, leading or trailing spaces and special characters are no longer allowed. Only underscore and alphanumeric characters are allowed.

Improved the performance of the FAB Workbench Live View and made it more reliable in a greater variety of use cases.

Added a new FAB JavaScript Utility function fabCheckMandatory that validates mandatory fields when the function is called during runtime. This also provides the ability to validate all the child controls of the given parent control.

For more information, see documentation:
https://fioriqas.iqxbusiness.com/sap/bc/ui5_ui5/iqx/FAB_HELP_S2/index.html#File:fab.js:fabCheckMandatory

Configuration entries are now client independent. The installation package should contain these entries without the need of copying across clients.

For more information, see documentation:
FAB Tables

Added a loading spinner to indicate the progress during the initial loading of the FAB application.

Import and Export function added to the Form Life-Cycle dialog in FAB Workbench. The Implementation Class and its associated objects can now be easily exported and imported as a Nugget file.

For more information, see documentation:
Create an Implementation Class

Style Class property was added to Responsive Table control.

For more information, see documentation:
Table

The system does not allow the sharing of class between projects. New validation was added to prevent the usage of the same implementation class in different projects.

For more information, see documentation:
Create an Implementation Class

Pending status added to the Workflow to indicate the current status of the next task while waiting for the approval outcome of the preceding task.

OneList New Features

Release Notes

Release Notes

Added Enhancement-Section/Point to support custom logic in the core Adapter classes:

Class: /IQX/CL_SAP_WL_ADPT

Methods: GET_NEW_WI, GET_DONE_WI, GET_MONITORING_WI, SYNC_ACTIONS

Class /IQX/CL_FAB_ADPT_V2, /IQX/CL_FAB_ADPT

Methods: EXECUTE_ACTION, SYNC_ACTIONS

  1. Function Module: /IQX/OL_EXECUTE_ACTION

  2. Report: /IQX/ONELIST_EXECUTE_FAB_TASK

Changes to the Task is now determined based on the changes in the hash of Agents or the Task Detail. 

The method SYNC_ACTIONS in class /IQX/CL_SAP_WL_ADPT was enhanced to perform an additional validation to check if the current task has recent changes before scheduling an action request.

The method GET_MONITORING_WI in class /IQX/CL_SAP_WL_ADPT was enhanced to query work items with status READY or STARTED before synchronizing to OneList.

The API key is now displayed as a password field in transaction /IQX/OL_ENDPOINT.

Consolidated method names in User Sync Adapter.
Implemented new methods for sync users by Email ID in User Adapter.

Updated the OneList Adapter for FAB

  • Created new FAB adapter class /IQX/CL_FAB_ADPT_V2 to push deep structure data model of the FAB Form to OneList.

  • Updated the pagination sync for triggering method SYNC_CHANGED_TASK_LIST

  • Added a triggering method SYNC_ACTIONS_BY_LINE to handle line action request from OneList in the SAP Workflow Adapter

  • Response logs from failed executions in the OneList REST API / POST method calls are recorded in SLG1.

  • User Adapters with the following methods are marked as deprecated:

Adapter Method: SYNC_USER_MAPPINGS, GET_USER_MAPPING_REQUEST, EXECUTE

OneList API: /SyncUserMapping, /GetUserMappingRequests

The date field serialized in JSON from the adapter is in format YYYY-MM-DD. In the OneList configuration, please use the Date Time converter instead of SAP Date Converter.

Bug Fixes

Release Notes

Release Notes

The Table in the Data Model can now be declared directly using a structure from the ABAP DDIC Object.

Fixed an issue in transaction /n/IQX/FAB (FAB Workbench) where the Live View of the application is not displayed.

Fixed an issue in the Table Search Help where the Remove Leading Zeros function still keeps the leading zeros.

Fixed an issue in Parallel tasks where the data gets overwritten when two users action the task at the same time.

Fixed an issue in a model-based Table control using model = '_rootModel', where it is not possible to add and remove entries from the table because the standard FAB Table Toolbar is not visible.

Fixed an issue in the FAB Process Designer where the View Control can only display up to 100 entries.

Fixed an issue when dragging and dropping controls in the Form Structure. Another control gets updated when changing the property of the dragged control.

Fixed the date conversion issue in the Audit Log and in transaction /IQX/FAB_DATA_REPORT. Incorrect timestamps were being recorded when the Server Time Zone is different from the User Time Zone.

Fixed an issue in the FAB Open Items API where completed tasks are not being removed from the Open Work List.

Updates in the Endpoint configuration are now recorded in an SAP transport request.

Fixed the runtime error triggered when using the Show/Hide System Fields in Data Model Tree where the Root Node does not have any sub-nodes.

Fixed an issue in the SAP Search Help and Table Search Help where the translation logic in the Conversion Exit is showing incorrect results. 

Fixed an issue in the error logging when an email fails to send. The Utility method  /iqx/cl_forms_assist->send_email now returns messages using the new parameter ET_RETURN which contains a more descriptive error message.

Fixed an issue in the MyForms Administrator filtering to support different versions of UI5 libraries.

Fixed an issue when adding a Description field in the SAP Search Help and SAP Table Search Help. The field is automatically added to the Data Model tree but the properties do not show. When changing its position from the Data Model tree, it disappears.

Fixed an issue in the Grid Table table control where the data is not being displayed when it is bound to an Odata Model. The ID is no longer required to display the Table data.

Fixed an issue with the case conversion that is causing the Process Flow not to render properly in older SAP systems.

Fixed an issue in the FAB Process Flow where the Status Override option does not work when more than one Action leads to the same Task.

Fixed an issue in the List control that is bound to Odata Models where Filters were not automatically applied upon the loading.

Fixed an issue in the List control where the binding to a local JSON Model does not work using the > syntax.

Fixed an issue in the Pie / Donut Chart control where it does not render properly when the Model attribute is set to _rootModel.

Fixed an issue in the API Function Module /IQX/HANDLE_FORM_ACTION where the Table-Type data could not be set or changed using the IT_CHANGED_DATA parameter.

Fixed an issue in the Actions on Select property of the Tab Bar control where the actions configured in the dialog do not work. As a fix, the user can now configure a JavaScript function for this property.

The Editable property was added to the Date Picker and Date Time Picker controls. This property defines whether the control can be modified by the user or not by setting the value to true or false.

For more information, see documentation:
Date Picker

Fixed an issue with the case conversion where the table /IQX/FORMS_INST does not get populated with the Form data in older SAP systems.

The Project Properties "Do not save to Tables" and "Keep Data Revisions" is mandatory for a Project that uses an Enhanced Workflow (Workflow Mode = Process). These properties can no longer be modified once the Enhanced Workflow project is created.

Fixed an issue in the JavaScript Editor where the script is not being saved.

Added a Column Footer in the Table control. To add a Column Footer, select Table > Table Columns > Add a Table Column > Add a Footer.

For more information, see documentation:
Table

Fixed an issue when using the 'Add Fields from SAP Structure' option in the Data Model where fields with a Predefined Type were not added in the model.

Fixed an issue found during Data Model saving where fields are missing in internal tables CR_DATA and GS_DATA. Added new logic to sort the entries by sequence number when selecting from /IQX/FORMS_ELEM table to solve the issue.

Fixed an issue in the manifest.json file where the Dependencies are not compatible with older versions of  UI5. This resulted in errors being triggered in the Fiori Launchpad. Updated the Dependencies to make it compatible even to older versions.

The flag "Copied Project uses Data Model" is no longer displayed in the Copy Project dialog when the source project is using a Data Model. 

Fixed an issue in deeply nested Date fields in the Data Model where dates may not be valid when reloading an App Instance.

Fixed an issue where Workflow Escalations were not being saved correctly when setting two escalation levels.

Fixed the runtime error encountered when running the escalation process by deleting orphan entries from /IQX/ESCAL_LOG table.

Fixed an issue in the Administrator section of MyForms where the Submitted Date value can be a day behind depending on the timezone.

Improved the performance when Tasks with requirements are not needed and a Completion field has also been set.

Fixed an issue where the Export to Spreadsheet feature in the Table control does not work when the binding is changed dynamically at run time.

Fixed an issue when using the copy and paste function in the FAB Workbench where the original order of the nodes is not kept after pasting.

Duplicate Field Name error is no longer triggered when changing the case of the data model field name.

Fixed an issue where FAB actions do not execute correctly in Hub Deployments.

Fixed an issue in the FAB Process Flow where submitting parallel tasks at the same time results in the data getting overwritten.

Fixed an issue found when entering a space into the Text field binding of a Search Help that results in the entire Data Model getting cleared during runtime. Added a validation in the JavaScript function setField to make sure that the Text field is not set with space or blank.

Fixed the JSON Parse error that is triggered when a negative float value is entered for a field that is mapped to a data model with a Float data type. 

The App ID (Project Name) can no longer be modified in Project Properties once the project has been created.

For more information, see documentation:
Project Properties

Fixed an issue where the JavaScript does not load successfully from the Script Node when it has long lines of code. 

The validation engine is now ignoring validation failures on invisible and uneditable controls.
Validation can also be limited to the screen elements which is useful when the control is in a Dialog. A new FAB JavaScript Utility function fabValidateOnScreenElementsOnly was created for this functionality.

For more information, see documentation:
https://fioriqas.iqxbusiness.com/sap/bc/ui5_ui5/iqx/FAB_HELP_S2/index.html#File:fab.js:fabValidateOnScreenElementsOnly

The Ellipsis button under the More column gets highlighted when More Task Settings are defined for a specific Task. 

For more information, see documentation:
Tasks

Removed the functions that are no longer in use to optimize the /IQX/ESCALATIONS_PROCESS program.

For Central Hub deployment, it is now possible to access the available Search Helps from SAP ECC by configuring the Backend RFC Destination in the SAP Gateway using transaction /IQX/FAB_CONFIG > General Configuration.

For more information, see documentation:
Input Search Help and Definition

Fixed an issue in the stand-alone apps where the function getControlOfTableRow does not work as expected.