X-UP Model

This chapter describes the X-UP model policy and multiple services for collecting and amalgamating data from defined data sources in an X-UP model.

An X-UP model is developed through X-UP Builder. An X-UP model is composed of metadata and logic classes. Metadata has information on the inputs/outputs and a logic class while a logic class is used for the actual operation of a model. As a certain logic class is stably structured with same interfaces, users can develop multiple applications of equal quality without advanced knowledge.

Automation Model

An automation model expresses the logic for a service as a diagram using a GUI editor. Each expressed diagram is referred to as an invoke, and it obtains data from any data source. The data information for obtaining data is created using the editor and properties view in X-UP Builder. Java class code is automatically generated when an automation model is saved and automatically reflected in the class code when a model is modified in the GUI editor.

The following invokes are provided for automation models in X-UP Builder:

Invoke

Description

SAP RFC Invoke

Module for SAP RFC.

SAP Table Invoke

Module for invoking SAP tables.

DB Select Invoke

Module for DBMS selection.

DB Modify Invoke

Module for inserting, updating, and deleting a DBMS.

DB Procedure Invoke

Module for DBMS procedures.

OpenApi Invoke

Module for processing OpenApi

X-UP Invoke

Module for invoking remote X-UP models.

Model Invoke

Module for invoking X-UP models.

OData Invoke

Module for invoking OData.

In addition, the following frequently-used functions are provided:

Function

Description

User Method

Create Java source code that cannot be expressed in the editor.

Quick Merge

Merge two datasets into a single dataset.

Merge

Merge two or more datasets into a single dataset.

XML Parser

Easily parse a particular XML code in the editor.

Extract DataSet

Combine multiple variables to create a single dataset.

Extract Variable

Separate a column in a dataset and extract as a single variable.

DataSet Loop

Process an iterative control statement with respect to a particular row value of a dataset.

Furthermore, the following branch processing control functions are provided:

Branch processing

Description

Decision

Perform branch processing according to specific conditions in the editor. (if)

Break

Stop iterative tasks in the editor. (break)

Continue

Skip an iterative task according to specific conditions in the editor. (for, continue)

Common Invoke Properties

Click the invoke above X-UP Editor to view detailed information in the properties view. All common invoke properties used in an X-UP Builder automation model are shown below.

General

Click the [General] tab in the properties view to see the following screen:

Name

Description

Alias

Set the alias.

Name

Set the name.

Visible

Enable/disable 'show alias.'

Description

Add a description for the corresponding alias.

Input Binding / Output Binding

The function of InputBinding/OutputBinding is to bind input/output parameter names and names of parameters determined in a model when executing Invoke diagrams.

 Ex> A parameter name "VAR_IN" can be replaced with "var01" within a model. The name will be changed to "VAR_IN" when calling the procedure. The name will return to "var01" after the procedure invocation.

The input binding and output binding features only apply to the following invokes.


The user can define a desired parameter name even if an in-out parameter name is fixed. A connection that is created with invoke cannot be deleted. To connect with another parameter, it can be changed through reconnection.

What is reconnection?

"Reconnection" means changing the connection order drawn on the editor. With the mouse button held down, drag the end of a line connected to an input or output and drop it at the desired destination to change the parameter connection.

BeforeDataSource

The user can add a desired logic with Java code for just before a legacy connection is established by a data source that's used by the respective invoke.

Rick-click the source view and click the [Edit] button on the context menu to add Java code.

AfterDataSource

The user can add a desired logic with Java code for just after a legacy connection is established by a data source that's used by the respective invoke.

Rick-click the source view and click the [Edit] button on the context menu to add Java code.

Exception

The [Exception] tab is a step for performing an invoke's exception handling. The user can add a desired logic with Java code.

Rick-click the source view and click the [Edit] button on the context menu to add Java code.

Parameter

Data type used in X-UP.
The parameter types are as follows:

Common Properties

The data types used in X-UP have the following basic common properties.

General

The name, alias, visibility, and description can be defined as common elements for all nodes.

General

Type

Description

Alias

Define an alias. (Korean input available.)

Name

Define a dataset name. The dataset name can only be defined in English with a name that does not overlap with any other parameter in the editor.

Visible

Define whether the name or alias will be visible in the editor.

Description

Enter a model description.

InOut

Select a parameter type as a common element for all parameters.

Type

Description

normal

General parameter only to be used internally in a model.

in

Set as a model's input parameter and registered as the input parameter of the model metadata.

out

Set as a model's output parameter and registered as the out parameter of the model metadata.

in + out

Set as a model's input + output parameter and registered as the input + output parameter of the model metadata.

In or in + out parameters must be input when a model is run.

Normal or out generate parameters initialized internally when a model is run.

Variable

The variable parameter generates the same type of parameter as an X-API variable.

Schema

Schema has the same properties as other parameters by default, and only the [Schema] tab is defined differently.

The following items can be set in the [Schema] tab under Variable:

DataSet

The dataset parameter generates the same type of parameter as an X-API dataset.

Schema

Type

Description

DB Table

Generate column information from the database table that exists in a registered data source.

X-UP Model

Retrieve dataset column information from the other generated models.

XML File

Generate dataset column information from a PlatformData xml file that exists on a local PC.

Type

Description

Enable First Row

Enable first row functionality.

First row count

When first row is enabled, the user can directly specify the first row count. (The default value is 10000)

What is First Row?

First row is a function used when large amounts of data are called in Nexacro Platform to divide and transmit the data in a user-defined number of first rows for performance improvement and error prevention. For example, 1,000 units of data can be divided into units of 200 over five transmissions or units of 500 over two transmissions.

Data is continuously transmitted according to the number of user-defined first rows, and the remainder is sent when the service is terminated. For example, if 1,000 units of data are divided into units of 300 using first row, three transmissions of 300 unit are sent, and the remaining 100 is sent in another transmission for a total of four data transmissions.

When transmitting data as first row, a variable cannot be transmitted after a dataset is sent.

File

The file parameter defines file I/O.

Schema

Schema has the same properties as other parameters by default, and only the [Schema] tab is defined differently.

The following items can be set in the [Schema] tab under File:

MIME Type

File Extension

application/pdf

pdf

image/jpeg

jpeg

text/html

html

text/css

css

Header

The header parameter manages HTTP header I/O information.

Schema

Schema has the same properties as other parameters by default, and only the [Schema] tab is defined differently.

The following items can be set in the [Schema] tab under Header:

Field Name

Example

Accept

Accept: text/plain

Accept-Charset

Accept-Charset: utf-8

Content-Type

Content-Type: application/x-www-form-urlencoded

User-Agent

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/21.0

SAP RFC Invoke

SAP RFC Invoke is a component for generating SAP RFC information in a parameter format. When called, the information is retrieved in a variable or a dataset format.

To quickly create an SAP RFC invoke, click [SAP RFC] from the palette. Alternatively, you can click [SAP DataSource] from the X-UP DataSource view and drag and drop a specific function into the editor.

The SAP RFC Invoke dialog (for invoke creation) and the following property tabs are available for an SAP RFC invoke.

SAP RFC Invoke Dialog

The following dialog is displayed when creating an SAP RFC invoke.

Type

Description

DataSource

Select an SAP RFC data source. (You can create a new data source if none exists.)

Function List

Retrieve the function list from a selected data source.

Input Parameter

Input parameter is automatically generated from the selected function.

Test

Output test results.

The results are generated in an output variable format.

InvokeInfo

InvokeInfo displays the information required to run an invoke.

Only the information is output if the in-out information for running an invoke is already fixed like other invokes.

The following information is output in InvokeInfo for SAP RFC invokes.

Type

Description

DataSource

Selected data source. (The data source editor is opened when clicked.)

Group

Defined SAP RFC function group.

Function

Selected SAP RFC function.

Select Invoke

A select invoke performs the select function of a database.

To quickly create a select invoke node in X-UP Builder, choose [Select] from the palette. Alternatively, you can click [Table] from the X-UP DataSource view and drag and drop a specific item into the editor.

The following property tabs are available for a select invoke.

InvokeInfo

All Invoke nodes have an InvokeInfo property tab. InvokeInfo contains information required to run an invoke. The data source name and SQL are entered into Select Invoke.

SQL Input

X-UP automatically generates SQL statements to retrieve data. The generated Select SQL statements retrieve all columns without a where condition. You can automatically modify generated SQL statements as required and retrieve any data. Binding variables in SQL are expressed with a "#" before and after a parameter name.

Parameter Code Assist

When an input parameter is linked to an invoke in the editor, you can use parameter assists in the SQL Edit window.

Parameter assists are automatically displayed when Ctrl + Space or "#" is entered.

Data Type Mapping by DBMS

Java

Platform

Oracle 10g

Mysql 5.0

Mssql 2008

DB2 9.0

HANA 1.0

String

STRING

CHAR

VARCHAR

VARCHAR2

NCHAR

NVARCHAR2

XML

CHAR

VARCHAR

char

nchar

varchar

nvarchar

CHAR

VARCHAR

GRAPHIC

VARGRAPHIC

CHAR

VARCHAR

TEXT

SHORTTEXT

NCHAR

NVARCHAR

ALPHANUM

Boolean

BOOLEAN


BIT

BOOL

BOOLEAN

bit



Bigdecimal

BIGDECIMAL

NUMBER(p)

INTEGER

INT

SMALLINT

DECIMAL

DEC

NUMERIC

DECIMAL

numeric

decimal

money

smallmoney

DECIMAL

NUMERIC

DECIMAL

SMALLDECIMAL

int

INTEGER


INTEGER

MEDIUMINT

TINYINT

tinyint

int

smallint

INTEGER

SMALLINT

INTEGER

float

FLOAT

NUMBER(p,s)

BINARY_FLOAT

FLOAT

real

REAL

REAL

double

DOUBLE

DOUBLE PRECISION

FLOAT

BINARY_DOUBLE

DOUBLE PRECISION

DOUBLE

float

DOUBLE

DOUBLE

FLOAT

long

LONG

LONG

BIGINT

bigint

BIGINT

TINYINT

SMALLINT

BIGINT

Date

DATE

DATE

DATE

YEAR

date

DATE

DATE

Time

TIME


TIME

time

TIME

TIME

Timestamp

DATETIME

TIMESTAMP

TIMESTAMP

DATETIME

datetime

samlldatetime

datetime2

datetimeoffset

TIMESTAMP

TIMESTAMP

SECONDDATE

Blob

BLOB

BLOB

BLOB

TINYBLOB

MEDIUMBLOB

LONGBLOB

image

BLOB

BLOB

Clob


CLOB

NCLOB

TEXT

LONGTEXT

text

ntext

CLOB

DBCLOB

CLOB

NCLOB

TEXT

BINTEXT

byte[]




timestamp


BINARY

XML




XML

XML


CDATA Support

If special characters are used in an SQL statement, the entire statement is wrapped in a CDATA element when 'Enable Surround CDATA' is selected.

What is CDATA?

CDATA sections are used in XML and Javascript. after creating XML code, CDATA tells the XML parser "There are no tags for the code contained within a CDATA section. Ignore and proceed."

Errors occur when commonly-used elements such as &, >, and < are included in XML code, because the XML parser recognizes them as tags. Thus, a CDATA section wraps code that contains special characters to prevent such incidents. Doing so allows the XML parser to recognize the code as strings instead of tags.

Dynamic SQL Support

iBATIS provides dynamic SQL elements that can be used within mapping syntax to improve the reusability and flexibility of SQL.

Because X-UP supports iBATIS, existing dynamic SQL queries can be used in iBATIS without modification.

Please refer to Dynamic SQL for more information on a variety of dynamic SQL elements.

Event Handler

The event handler is provided in a select invoke and modify invoke, and additional desired logic can be defined in an event by the user.

To add an event handler, right click on the desired node, and then select [Add Event]. The event start and end nodes are added to the respective node when the desired event is selected.

The event handler for a select invoke are as follows:

Modify Invoke

A modify invoke performs SQL insert, update, and delete functions with an input parameter.

X-UP looks at a dataset's row type during a modify invoke and determines whether to insert, update, or delete the respective row. Although a dataset's row type can be forcibly set, it's generally automatically determined when a row is added, edited, or deleted in a dataset.

The criteria for performing a write in a row are follows:

If a particular row in a dataset is present in a table according to these standards, the row is updated. Otherwise, it's inserted. Records that correspond to rows deleted by calling removeRow() or clearData() in the dataset are targeted for deletion.

To quickly create a modify invoke node in X-UP Builder, select [Modify] from the palette. Alternatively, you can click [Table] from the X-UP DataSource view and drag and drop a specific item into the editor.

The following property tabs are available for a modify invoke.

InvokeInfo

InvokeInfo contains information required to run a modify invoke.

SQL delete, insert, and update will be unconditionally executed once in order if a target dataset is not selected. (This is used when you do not want to follow the type of the dataset row)

SQL Input

Modify Invoke automatically generates SQL statements for insert, update, and delete.

CDATA Support

If special characters are used in an SQL statement, the entire statement is wrapped in a CDATA element when 'Enable Surround CDATA' is selected.

What is CDATA?

CDATA sections are used in XML and Javascript. after creating XML code, CDATA tells the XML parser "There are no tags for the code contained within a CDATA section. Ignore and proceed."

Errors occur when commonly-used elements such as &, >, and < are included in XML code, because the XML parser recognizes them as tags. Thus, a CDATA section wraps code that contains special characters to prevent such incidents. Doing so allows the XML parser to recognize the code as strings instead of tags.

Dynamic SQL Support

iBATIS provides dynamic SQL elements that can be used within mapping syntax to improve the reusability and flexibility of SQL.

Because X-UP supports iBATIS, existing dynamic SQL queries can be used in iBATIS without grammar modification.

Please refer to Dynamic SQL for more information on a variety of dynamic SQL elements.

SqlTypeBinding

SqlTypeBinding binds a dataset's row type with an SQL syntax.

Filtering

Filtering is defined when an input parameter value satisfies a particular condition and is to be excluded from a modify action.

Event Handler

Procedure Invoke

A procedure invoke calls a database's procedure and function. The invoke inputs datasource and entity information to run a test, and then automatically sets the input and output parameters based on the actual results of the database procedure and function calls.

To quickly create a procedure invoke in X-UP Builder, select [Procedure] from the palette. Alternatively, you can click [Procedure] or [Function] from the X-UP DataSource view and drag and drop a specific item into the editor.

The Procedure Invoke dialog (for invoke creation) and the following property tabs are available for a procedure invoke.

InvokeInfo

InvokeInfo displays the information required to run an invoke.

Only the information is output if the in-out information for running an invoke is already fixed like other invokes such as procedure and model invokes.

The following information is output in InvokeInfo for procedure invokes.

Procedure Invoke Dialog

The following dialog is displayed when creating a procedure invoke.

OpenApi Invoke

OpenApi Invoke is designed to generate HTTP information in the form of a parameter. It fetches information on HTTP headers and HTML bodies as parameters.

You can create OpenApi Invoke easily in X-UP Builder by dragging the OpenApi item into the editor.

OpenApi Invoke comes with OpenApi Invoke Dialog as well as the following property tabs.

OpenApi Invoke Dialog

The following dialog is launched when you creates OpenApi Invoke.

Sub-path and Input Parameter

The entire URL used to scrape data from OpenApi represents the following composition.

<Data source HTTP URL> + <SubPath> + <Data source parameter> + <input parameter>

Normally, one site provides the same location for the OpenApi URL and base URL while sub-paths may differ according to services. The base URL is defined in the data source while the sub-paths are defined in each Invoke. Such as a license key, parameters are designed to be defined in a data source if they must be delivered for the invocation of OpenApi but are not input by clients. The parameters input by clients are defined in each Invoke.

Result

Data scraped from OpenApi will become a parameter named "BODY." Moreover, the HTTP header values obtained in response to the data collection will become parameters named "HEADER"+ index. (However, those values will be output as defined in HTTP Response Headers.)

InvokeInfo

Necessary pieces of information for executing an Invoke will be output.

Similarly to other types of Invoke, OpenApi Invoke will output only In-Out information to execute Invoke when the information is predetermined.

The following items are output by the InvokeInfo of OpenApi Invoke.

X-UP Invoke

The X-UP invoke is a component for calling an X-UP model already created and deployed on another server.

The invoke calls a model on a remote X-UP Server, obtains data, and then creates a new parameter.

The following property tabs are available for an X-UP invoke.

InvokeInfo

InvokeInfo displays the information required to run an invoke.

Only the information is output if the in-out information for running an invoke is already fixed like other invokes.

The following information is output in InvokeInfo for X-UP invokes.

Model Invoke

The model invoke is a component for calling an X-UP model already created on another server.

To quickly create a model invoke in X-UP Builder, select [Model] from the palette. Alternatively, you can drag and drop a specific model from X-UP Explorer into the editor.

The X-UP Model List dialog is displayed when creating a model invoke from the palette, and the following property tabs are available.

InvokeInfo

InvokeInfo displays the information required to run a model invoke.

The model editor is opened when the name is clicked.

If the invoked model's information was changed, it can be updated using the refresh function in the upper-right corner.

OData Invoke

OData invoke utilizes HTTP(S)-based OData to consume data. Data is consumed by the entity set and function import based on CSDL and then retrieved in a parameter format.

OData : The Open Data Protocol is a RESTful-type web protocol for queries and data updates.

OData version 2.0 is supported.

To quickly create an OData invoke in X-UP Builder, select [OData] from the palette. Alternatively, you can click [OData DataSource] from the X-UP DataSource view and drag and drop a specific service into the editor.

The OData Invoke dialog (for invoke creation) and the following property tabs are available for an OData invoke.

InvokingInfo

InvokingInfo displays the information required to run an invoke.

Only the information is output if the in-out information for running an invoke is already fixed like other invokes.

The following information is output in InvokeInfo for OData invokes.

OData Invoke Dialog

The following dialog is displayed when creating an OData invoke.

HTTP Method

When an invoke is executed, it's bound with a RESTful HTTP method. The following HTTP methods are supported.

  1. GET: Retrieve data. The invoke is bound with the GET HTTP method. Additional settings are available when retrieving data.

If the retrieval target is an entity set, the respective data must be inserted into the corresponding identifier.

  1. POST: Adds data.

POST only adds data if the dataset's row type is INSERT.

  1. PUT: Modifies data.

PUT only adds data if the dataset's row type is UPDATE.

  1. DELETE: Deletes data.

DELETE only adds data if the dataset's row type is DELETE.

Batch requests are only performed for multiple dataset rows or if multiple HTTP methods are selected.

Batch Request Support

OData can make REST-type single requests and BATCH-type multiple requests.

A single operation is executed for X-UP, and data is transmitted in REST form only for the GET HTTP method. Otherwise, it is treated as a BATCH form.

Batch-form multiple requests in will be made depending on the number of rows in a dataset even in a single operation.

In/Out Parameter Information

A selected operation’s I/O information can be displayed. The information is bound to an HTTP method, and it's in an output form if the GET method is selected and in an input form if POST, PUT, or DELETE is selected.

The relationships between OData data types and converted X-UP data are as follows:

User Method Function

The User method allows you to directly write user-defined code when developing a model. The model is actually created in a Java source method, and the desired Java code can be freely defined and added to a model without a Java file.

The following User method properties are provided:

DataSetRowLoop Function

When a single dataset is linked to the DataSetRowLoop function in X-UP Builder's automation model editor, the function repeats (loops) a number of times equal to the number of linked dataset rows and generates events.

After linking a dataset to the DataSetRowLoop function, right-click the DataSetRowLoop component and select [AddEvent > loopEvent] to show the event (Start, End). The Variable-type rowIndex and DataSet-type dataset are extracted as parameters in the Start event.

The dataset and rowIndex are regional variables and not included in the globalParameterSet. In addition, datasets will only contain data from a row in which an event occurred. In other words, the dataset only contains a single row.

The following DataSetRowLoop function properties are provided:

Quick Merge Function

The quick merge function is a component for generating a new dataset from two datasets.

Two datasets is the standard, and the datasets are amalgamated through sort merge or hash join algorithms.

The following quick merge function properties are available:

The amalgamation model development procedure is as follows:

Set a target dataset

Set a target dataset to be used for amalgamation. An X-UP model dataset or a dataset passed as a parameter by the user can be set as the target.

Implement amalgamation logic

Amalgamation is available in two forms; One method utilizes the sort merge algorithm, and the other utilizes the hash join algorithm.

Sort Merge: Two datasets are sorted according to the key column input, and amalgamation is performed thereafter. The join type (inner join or outer join) option is provided, and duplicate columns can be excluded from amalgamation. If the two target datasets have already been sorted, the sort option can be disabled.

Data is sorted according to the designated sort type. If the data is already sorted, you must set the corresponding sort type.

Hash Merge: A hash table is generated with the two target datasets according to the key column settings, and amalgamation is performed according to the respective values. A join type option is provided similar to the sort merge method.

Quick Merge API

The quick merge API performs in the same manner as its equivalent function.
The following API classes are provided:

Please refer to the X-UP API documentation for detailed information.

Merge Function

The merge function is a component for generating a new dataset from multiple datasets.

These types of functions are executed by multiple canonicalized datasets with logic expressed by a built-in DBMS as SQL query statements.

X-UP utilizes an internal memory database system to implement amalgamation models.. Therefore, the memory and performance of a WAS operating an X-UP Server can be affected when models that output large amounts of data are amalgamated.

The following merge function property tabs are available:

The amalgamation model development procedure is as follows:

Set a target dataset

Set a target dataset to be used for amalgamation. An X-UP model dataset or a dataset passed as a parameter by the user can be set as the target.

Implement an amalgamation logic and SQL query

A built-in DBMS is used for amalgamation in X-UP, and the logic is implemented using the SQL Select syntax. X-UP transmits developer-implemented SQL and a target dataset to the built-in DBMS and processes return values resulting from an SQL retrieval to generate amalgamated raw data.

Generate a new dataset

The raw data amalgamated by the built-in DBMS is converted into a newly-generated dataset rather than simply being returned.

XML Parser Function

The XML Parser function is a component for parsing information to be generated in a parameter format. When called, the information is retrieved in a variable or a dataset format.

The XML Parser Function dialog (for invoke creation) and the following property tabs are available for the XML parser function.

InvokeInfo

InvokeInfo displays the information required to run an invoke.

Only the information is output if the in-out information for running an invoke is already fixed like other invokes.

The following information is output in InvokeInfo for the XML parser function.

XML Parser Function Dialog

The following dialog is displayed when creating an XML parser function.

Extract DataSet Function

The Extract DataSet function automatically generates a single dataset from multiple variables linked to the Extract DataSet function as input parameters.

In simpler terms, the function creates a dataset from variables.

If the Extract DataSet function is connected to multiple variables, a dataset is automatically generated and extracted as output values.

The following extract dataset function property tabs are available:

Extract Variable Function

The Extract Variable function easily generates output-type variable parameters using a dataset's column values such as column name, column value, and column size.

In simpler terms, the function creates variables from a dataset.

Values of the first row of a dataset will be used.

If the Extract Variable function is linked to a dataset, output values (column number, name, type, and size) are automatically extracted from the dataset.

For example, if a dataset contains four columns, four variables are output. Each variable name, type, size, and value correspond to the dataset's column name, type, size, and value.

The following extract variable function property tabs are available:

Decision

The Decision function allows for conditional branch processing. A particular process can be executed if a condition is satisfied.

If, else if, and else conditions are available, and the user can select a connection and modify its condition type.

The following conditional connection properties are available:

General

The alias, visibility, and description information can be defined in the General property of a conditional connection.

The Visible option does not contain name and alias information unlike the Visible option in other components. Therefore, the option determines whether the alias will be displayed in the middle of the connection.

Connection Info

The Connection Info property is common for all connections, and so the conditional connection is also the same.

Routing: Determines connection routing type. (The lower right image represents the "enabled" setting.)

The user can define the connection shape for a bendpoint routing connection.

Binding: Determines whether a condition type name is displayed for a conditional connection. When unchecked, the if, elseif, and else strings on the connection are hidden.

Condition Type

The user can directly select the condition type.

Source

The user can define a desired condition logic for the condition code using Java code.

All parameters present on the editor exist in the global parameter set, and therefore, a desired parameter can be retrieved to define a condition logic.

True or false must be returned as a resulting value of the logic.

All Java code editing windows within a property feature the same assist popups and Java grammar error checking functionalities commonly provided in the Java editor.

Repeat Task

The Repeat Task function uses a decision node to implement repeat statements.

A repeat connection is automatically generated when a Decision end node is linked to a Decision start node. Only one condition must exist in such instances. A repeat connection is not established if more than one conditional connection exists.

The break and continue nodes are only available for use in a repeat syntax and can be used at any point in time to continue or stop a loop.

The source code is displayed in “Condition Code” under [Properties] when a break or continue node is selected. The user can define the condition code by right-clicking on the source code and selecting [Edit] from the context menu.

Debug and Break Point

A breakpoint can be added directly into a node from the editor for automation model debugging. When a breakpoint is added to a node, it's automatically registered in a line when the editor generates the source.

Breakpoints can be added individually after selecting each node or added at once by selecting multiple nodes.

Added breakpoints can be deleted using [Remove BreakPoint] from the menu.

Automation model debugging can be mainly conducted in two ways.