Edit Annotation page

The Edit Annotations page of the Define Service Interface wizard allows you to select a schema file for the selected ABL class or procedure file, and associate a Data Object operation with an ABL routine.

This page includes the following options:

Option Description
Select a file Displays a list of ABL classes and procedures selected in the Workspace resources list on the first page of the Define Service Interface wizard.
Main annotation
Enable Main Annotation Select to enable editing the Main Annotations page.
Execution mode Specify singleton as the execution mode from the drop-down. This is the only default execution mode for both the procedure and class files.
Return value Select this check box if the selected procedure returns a string value. A useReturnValue parameter is added with the Data Object interface annotations to the procedure file. By default, this option is not selected.
Note: The Return value check box is disabled for a class file.
Before-image Sets the writeDatasetbeforeImage parameter value to TRUE for the selected ABL routine. By default, this option is disabled for the Data Object resource.
Resource name Displays the name of the resource selected in the Select a file list. You can specify a different name for the resource.
Resource URI Specify a Uniform Resource Identifier (URI) to access a resource. By default, the resource name is displayed in the field with a prefix "/". You can enter a different URI name.
Schema file Specify a schema for the selected resource. The schema can either be a temp-table or dataset. Click Browse to select a schema file.
Note: You can select the schema file either from the workspace or file system. If the selected schema file is from your current workspace, only the relative path of the project is displayed in the Schema file field. If the selected schema file is from outside your workspace, then the absolute path is displayed.
Schema Displays a list of the temp-tables and datasets of the schema selected in the Schema file field.
Schema name Displays the schema definition selected from the Schema list.
Main annotation for the above selected file Displays the file-level Data Object interface annotations defined for the selected ABL class or procedure file.
CRUD annotations
Operation Displays the CRUD (Create, Read, Update, and Delete) and Submit operations that you can associate with ABL routines.

You can have only one-to-one association. For example, if there is an ABL routine defined as P1 and which you want to associate with a create operation, then select P1 in the Routine name drop-down for the create operation. You cannot associate the ABL routine P1 with any other CRUD operation when it is associated with one operation.

To associate an ABL routine with the Submit operation, you must select the Before-Image option.
Note: The Submit operation is only applicable to the datasets (not temp-tables) that you select in the Main Annotation tab.
Routine name Displays a list of ABL routines of the selected ABL procedure or class file.
Note: This list displays only the ABL routines selected in the ABL routines list on the first page of the Define Service Interface wizard.
Alias (Optional) Specify an alias for an operation.
Return value (Optional) Select this check box if the ABL routine selected in the Routine name field returns a string value. By default, this option is not selected.
Note: The Return value check box is enabled only for internal procedures. This is disabled for both the user-defined functions (UDFs) and methods.
Before-Image Sets the writeDatasetbeforeImage parameter value to TRUE for the selected ABL routine.
Note: This option only applies to datasets and not to temp-tables.
Data Object detail annotation Displays the ABL routine-level Data Object interface annotations.
Invoke annotations
Operation Displays invoke or count operation that you can associate with an ABL routine.
Note:

You cannot associate an ABL routine with an invoke or count operation, which is already associated with one of the CRUD operations.

You can not associate more than one count operation for the selected resource.

Routine name Displays a list of ABL routines of the selected ABL procedure or class file.
Note: This list displays the ABL routines selected in the ABL routines list on the first page of the Define Service Interface wizard.
Alias (Optional) Specify an alias for an operation.
Return value (Optional) Select this check box if the ABL routine selected in the Routine name field returns a string value. By default, this option is not selected.
Note: The Return value check box is enabled only for internal procedures. This is disabled for both the UDFs and methods.
Before-Image Sets the writeDatasetbeforeImage parameter value to TRUE for the selected ABL routine.
Data Object detail annotation Displays the routine-level Data Object interface annotations.
Field annotations
TempTable Displays the TempTables available for the class file. Select the required TempTable.
Field Select the field that you want to add annotations for.
Annotation type Select the type of annotation that you want to add. The valid values are Semantic type and Foreign Key.
Note: If you want to add multiple fields to the same Foreign key, edit the annotations in the business entity file manually.
Foreign Key Name If you selected Foreign key, provide a name for the Foreign key field.
Parent Schema File If you selected Foreign key, browse to the file that has the schema defined.
Note: Ensure that the selected file has file-level REST or DataObject annotations and Temp-table schema.
Parent Table If you selected Foreign key, select the table that displays the TempTables defined in the selected schema file.
Parent field If you selected Foreign key, select a field from the parent table that can be referred to as a parent for the selected field.
Finish The Data Object interface annotations are added to the selected ABL applications and closes the Define Service Interface wizard.
Note: When you add a Data Object interface annotations for ABL resources from a non-Data Object project, such as OpenEdge or AppServer project, the Data Object facet is enabled for the project and a Data Object service is created. The project behaves as a Data Object project, enabling you to develop Data Object Services. When you add annotations to any class or procedure file, if the AppServer facet is not available for the project, then the project is converted to an ABL Web App project with additional ABL REST Service and ABL Data Object Service facets, and a REST based ABL Data Object service is created. The Project Facets page (select Properties > Project Facets on the project context menu) displays the facets associated with your current project.