Editing, Placement, and other Block Actions
  • 28 Jul 2021
  • 9 Minutes to read
  • Contributors
  • Dark

Editing, Placement, and other Block Actions

  • Dark

Editing, Placement, and other Block Actions

Placement of blocks: 

Block ActionsScreen on Canvas

Blocks can be dragged and dropped inside a particular lane. When dragged, an outline of the region is displayed inside the lane to indicate where the block can be placed. The region can be displayed above, below, or between existing blocks. 

If there is no outline displayed, it means the block does not logically fit into the particular lane and placing it will display an error. 

For example, when an SAP lane is dragged and dropped inside an on-cloud lane without a plugin, it displays an error message on the bottom right of the page.

Also, the block that is being dragged displays a shadowy version of how it will appear on the canvas. 


Editing of Blocks: (Highlighter)

At any given time, the blocks or variables or dynamic content within the block can be selected and deleted using the delete key. On selection, an outline is displayed on the block indicating that the block can be deleted. 


Normal Block:

Selected Block: (Displays a yellow outline) - Indicating that it can be copied or deleted. 


Also, in addition, to delete, the standard ctrl+C and ctrl+V actions work when the block is selected. 

Block Actions: 

On clicking the empty input space, a shortcut block to the math operator or function-related operations can be accessed. 



In some cases, variables can also be selected using shortcuts by a single click. Additionally, some of the operations like Ascending/Descending, inequalities/equalities, Base/Hex operations are available as dropdowns along with the select option inside the blocks.


BOS Calling BOS:

When a particular functionality is required at multiple instances, the user can use the BOS calling BOS feature to call the same BOS again and again without having to create a new BOS every time with the same input and output parameters.  

For example, if an App is created in Offline mode and requires a Data Sync to be triggered when the device is online is done using the BOS calling BOS block. This way the data is transported from a 3rd party lane (on-cloud or on-premise) and transported to on-device lane without creating a new BOS. 

BOS Block

BOS Calling BOS 

The BOS can be selected from available BOS in the dropdown. These BOS are created in the Business Functions Lane for the particular project. 

The respective Input and Output values can be given and a BOS calling BOS event can be triggered when Sync is enabled. 

The input and output parameters can be added using variable mapping. 

Input,Output, & Local Variables

By default, all variables in the Integration Builder are local variables. They cannot be used externally outside the builder. These local variables are used either as input or output variables to populate the blocks in the Integration builder. 

For each service, a set of inputs and their output values are displayed on the right side. The outputs are displayed to the user once the service is complete after data is fetched from the backend system. The contents of the variables are mapped to the output using variable mapping

When the + button is clicked, it displays a list of all available variables (addition to the variables from the App process modeler). New variables can be created by clicking the Add Variable option at the bottom of the list. 

The local variables are programming variables that are used to build logic inside the builder. They are selected intermediately while the service is being executed. They are temporary and not externally available in the UI. 


Variables and their Properties: 

  • Input and output variables can be dragged and dropped into the canvas blocks. 


  • When a table variable is dragged and dropped into the storage block, a popup appears that requests users for column values to be copied from one table to another. 
  • All tables can be created and retrieved in the Database option of the Project Menu. 

This option is only available when the output table is empty. The Copy Table option is only available in the output table and not for the input table.

Variable Mapping:

  • Once the input and output variables are dragged and dropped into a particular block, a button appears that denotes that the variables are available for mapping.
  • On clicking the button, a popup appears that denotes the table and column values that can be mapped appropriately. 
  • Variable mapping can be done in the Match Fields popup by selecting the variable on the canvas. If the contents of a table need to be mapped in another, then the contents are mapped appropriately using variable mapping. 
  • This technique is applicable for almost all the block functionalities in the IB for both the EdgeReady DB and other External DB. 

Once the fields are matched, the save button will automatically map all the columns from one table to another. 

Testing the Variables 

  • Once a particular block has appropriate variables mapped onto them, it can be tested in the BOS section. 
  • On clicking Test, the variables are given input parameters and output is displayed in an output window. 
It is recommended to check the debug option while testing in order to fetch a detailed description of the output. If the debug option is unchecked, the execution message is system generated and becomes difficult to interpret.  


Session Variables

Apart from the local variables, the BOS also has Session variables. 

The options are: 

  1. HostUser - Gives details about the SAP user with their respective credentials in the SAP system. 
  2. AppName - When multiple EdgeReady Apps are run under a single Container App, the AppName variable is used to show a particular EdgeReady App. 
  3. LoginID - Shows the user ID of the user who is currently accessing the SAP system to fetch data.
  4. SyncDateTime - Used for offline Apps to sync data for a particular Date and Time. It displays the past device usage time for a particular user. 
  5. Response - Denotes the success and failure of any action block. It has a + which helps select the relevant response required. 

For example, the response message type is displayed as select options in the below block. The response message is only captured for the last block that is selected. It does not show the response for the entire set of blocks within the lane. 

Also, the Response option is block-specific such that for every block that is executed, the response message is refreshed. The response is displayed in the UI and the success message can be verified readily. 


These environments are used when multiple services are repeatedly declared by several users for the same or different apps. They are also used when there are any errors in the service during execution within the particular block. 

Logic & Utilities:

While the servers are used to access the data, the Logic and Utilities block help perform necessary actions and modifications to the data before storing them in the EdgeReady Drive. 


The logical operations with respect to the variables declared are decided by the logic blocks. Logic and utilities are available in all the 3 lanes. 

Features: Configuration UI, Details, Execution. 

Logic Blocks Description

Logical Blocks on Canvas

Repeater: When multiple rows, columns of a particular table, or multiple variables need to be populated within a single table, then a repeater block is used. The contents of the particular table cannot be directly accessed without a repeater. 

For Example, within a given BOS, if a particular Table’s data is repeatedly accessed, we use the repeater block. The Data fetched repeatedly is saved in the EdgeReady DB.

Loop Until: When looping occurs and a particular value goes beyond the threshold of requirement, then loop until the condition is used to get the desired results. This helps to regulate the data flow and is triggered only until a particular action is attained. 

If, If...Else Condition: They establish a condition for data population within a particular table.

Inequality, AND/OR Expression: They help compare two values and populate them in the table.  

Break/Terminate: Break temporarily stops a particular operation and skips to the next step within a loop. It is usually used within Repeater actions and Looping actions. 


Terminate stops the action once and for all and exits the loop. Terminate is done for irrelevant actions triggered. 

Add Row: When new values are needed to be populated into the table, then Add Row option is used. The addition of new Rows is also done using variable mapping. 

A Sample block within a Salesforce server that has all the logical operations. 


Utilities help with sorting of data that has been fetched. They have download, generate, and merge options. There is also a parse .csv option where the data can be parsed as a .csv file and uploaded into the table. 

The Utility Blocks are explained below: 

Utility Blocks Description

Utility blocks on Canvas


Helps to sort the columns in either ascending or descending order for a selected table. Available on all 3 lanes.

Download File: 

The download helps the BOS to download Files from the Drive. (Drive is accessible from the Menu options of each project). The download is done by giving a path to the file. It is mainly done for offline Apps. (Sync BOS will be triggered). Available in on-device and on-cloud lanes. 

Generate File: 

It is used to transfer a file from a location in the Drive to the ER DB. There is a Filename with extension and URL given for File transfer. Available only on-cloud lane.

Parse CSV: 

Used to parse the current table into CSV format. (Commas are common delimiters in CSV) It is given a URL with header options. This is done by giving a file pathname.


Additionally, there is also a comment block where data is included in the form of comments. This is mainly implemented for the modernizer (More details coming soon)

Mapping using Arithmetic operators:

Utility Blocks on Canvas:

Notifications Block:

They are used to provide bulk notifications to users. (Mass Mailing) This is done in case of changes in the App Functionality. 

  • This block enables notifications once the service is complete. 
  • All notifications work on-device lanes. 
  • They have mail, push user, device sync user options. 


Notification on Canvas 

Mail to: 

Sends mail to registered users. The mails are pre-set in the mail configuration settings. It frequently occurs during updates and changes.

Push User:

The push messages while using the App. It requests an App name with a message. The Link and BOS are specified. 

Device Sync User: 

Device Sync occurs when the device is functioning in offline mode and a trigger needs to be scheduled. This is done using the BOS scheduler. (Trigger can be time-based or event-based).


The scheduler is available in the Library section in the main menu. 


These blocks help decide all actions that can be done with respect to data retrieved from a particular system. They also have blocks for set and append operations. 


Function Blocks in SAP

These are service-specific functions with each carrying individual code blocks to perform a particular operation within a service. 

  • Set: Converts a particular variable into another
  • Append: Adds/Merges two inputs and produces an output. 
  • Split: Helps to split the table components for a particular File
  • Length: Shows the table length (rows & columns)
  • Substr: Displays the substring characters present in the table
  • EscapeSQL/Unescape SQL: Used on special characters present in the table
  • CurrentDate: Displays current date in which data is populated into the table
  • Dateformat: Displays date format
  • XMLtoTable: Converts XML file to table
  • Encode/Decode: Convert one type of data into another and vice versa
  • ToLowerCase/ToUpperCase: Convert Uppercase to Lowercase and vice versa
  • TabletoStr: Converts Table values to Strings
  • Lookup: Helps to filter relevant data from table columns.

How these operations are displayed on canvas within an SAP BAPI/RFC is shown below: 


Drive Blocks:

  • These blocks are the services that pertain to the EdgeReady drive itself. Drive can be accessed in the Project Menu. 
  • The Upload, Download, Copy, Move, Delete, and List operations are done for any service. 
  • Drives have various formats in which files can be saved. (CSV, PDF etc)


Drive Blocks on Canvas


Used to upload a file into the Drive. Requests for Source, Destination, and permission to overwrite. 


Download a File from the Drive.Requests for Source, Destination with URL


Copy File from one Folder to Another. Requests for Source, Destination.


Move File from one Folder to Another. Requests for Source, Destination.


Delete File from the Drive. Requests for Source.


Fetch all Data from the Drive in the required format. Requests for list properties and threshold (min & max values) The properties are: path, display name, createdon, mimetype, size, extension, type, createdbyname

Refer Administrator Workbench for more information on Notifications, Drive, and Plugins. 

Was this article helpful?