|
Options |
Name |
Purpose |
|
|
|
CHARACTER CanonicalListValue (character, character)
|
Returns the value in the casing of the list entry
Notes : ABL compares case-insensitive, the stored value should be the canonical one
@param pcValue The value
@param pcList The comma-delimited list of the valid values
@return The list entry matching the value, or the value itself when it is not in the list
*/
|
|
|
|
Progress.Json.ObjectModel.JsonObject CreateSmartRelation (character, character, character, character, character, character, character, character, character, character, logical, logical)
|
Creates a SmartRelation record including the referential integrity rule
Notes : The parent and child table are resolved from their qualified Database.Table
names; the validation of the RelationBusinessEntity applies. A relation
with the same parent table, child table and relation name must not exist
yet, as that triple identifies the relation in the MCP interface
@param pcParentTable The qualified name (Database.Table) of the parent table
@param pcChildTable The qualified name (Database.Table) of the child table
@param pcRelationName The name of the relation
@param pcRelationDescription The description of the relation
@param pcRelationFieldPair The comma-delimited field pairs (parent field, child field, ...)
@param pcParentRoleDescription The description of the role of the parent table
@param pcChildRoleDescription The description of the role of the child table
@param pcParentCardinality The cardinality of the parent table (1, 01, 01n, 1n), defaults to 1
@param pcChildCardinality The cardinality of the child table (1, 01, 01n, 1n), defaults to 01n
@param pcOnParentDelete The referential integrity rule (DoNothing, Cascade, Nullify, SetDefault, Restrict)
@param plDefaultParentRelation Logical value indicating if this is the default parent relation of the child table
@param plInactive Logical value indicating if the relation is inactive
@return JsonObject with the created SmartRelation record
*/
|
|
|
|
Progress.Json.ObjectModel.JsonObject DeleteSmartRelation (character, character, character)
|
Deletes a SmartRelation record
Notes : The relation is identified by parent table, child table and relation name
@param pcParentTable The qualified name (Database.Table) of the parent table
@param pcChildTable The qualified name (Database.Table) of the child table
@param pcRelationName The name of the relation
@return JsonObject describing the deleted relation
*/
|
|
|
|
Consultingwerk.SmartFramework.System.RelationDatasetModel FillRelations (character, character, character)
|
Returns a RelationDatasetModel filled with the SmartRelation records
matching the parent table, child table and relation name
Notes : The caller deletes the model
@param pcParentTable The qualified name of the parent table
@param pcChildTable The qualified name of the child table
@param pcRelationName The name of the relation
@return The RelationDatasetModel positioned on the first matching record (or not available)
*/
|
|
|
|
Consultingwerk.SmartFramework.System.RelationDatasetModel FindRelation (character, character, character)
|
Returns a RelationDatasetModel positioned on the single SmartRelation
record identified by parent table, child table and relation name
Notes : Throws a NotFoundException when no relation matches and an Exception
listing the candidates when the triple matches more than one record.
The caller deletes the model
@param pcParentTable The qualified name of the parent table
@param pcChildTable The qualified name of the child table
@param pcRelationName The name of the relation
@return The RelationDatasetModel positioned on the SmartRelation record
*/
|
|
|
|
Consultingwerk.SmartFramework.System.TableDatasetModel FindSmartTable (character)
|
Returns a TableDatasetModel positioned on the SmartTable record of the
given table
Notes : A qualified Database.Table name is resolved through the unique
DatabaseTable index. An unqualified table name is accepted when exactly
one SmartTable record carries that table name. Throws a NotFoundException
when the table is not registered. The caller deletes the model
@param pcTableName The qualified (or unqualified) name of the database table
@return The TableDatasetModel positioned on the SmartTable record
*/
|
|
|
|
CHARACTER GetQualifiedTableName (TableDatasetModel)
|
Returns the qualified Database.Table name of the SmartTable record the
model is positioned on
Notes :
@param poTableDatasetModel The TableDatasetModel positioned on the SmartTable record
@return The qualified table name
*/
|
|
|
|
Progress.Json.ObjectModel.JsonObject GetSmartTableResponse (TableDatasetModel)
|
Returns the response object for a SmartTable record: the identity of the
table and the SmartTable registration
Notes :
@param poTableDatasetModel The TableDatasetModel positioned on the SmartTable record
@return The JsonObject describing the SmartTable record
*/
|
|
|
|
Progress.Json.ObjectModel.JsonObject ImportDatabaseTables (character, character)
|
Registers database tables of a connected database in the SmartFramework
table maintenance (SmartTable)
Notes : Tables that are already registered are reported and left untouched. The
import reuses TableBusinessEntity:ImportDatabaseTables, restricted to the
named tables
@param pcDatabaseName The logical database name
@param pcTableNames The comma-delimited list of the tables to register
@return JsonObject with the created SmartTable records and the names of the tables that were already registered
*/
|
|
|
|
CHARACTER NormalizeTableNames (character, character)
|
Trims the entries of the comma-delimited table name list and verifies
that every table exists in the database
Notes : Throws a NotFoundException for a table that does not exist
@param pcDatabaseName The logical database name
@param pcTableNames The comma-delimited list of table names
@return The normalized comma-delimited list of table names
*/
|
|
|
|
RefreshRelationCache ()
|
Refreshes the relation cache of the IRelationService
Notes : The service evaluates the SmartRelation records (referential integrity)
from a session cache that it populates on first use - through the
RelationBusinessEntity. When that first use is the ProcessWrite /
ProcessDelete of a SmartRelation record, the RelationBusinessEntity is
saving that record at that moment and refuses to fetch data, so the
save fails. Therefore the cache is populated before every save of a
SmartRelation record, and refreshed afterwards so that the created,
changed or deleted relation takes effect in this session
*/
|
|
|
|
LOGICAL TableExists (character, character)
|
Returns if the table exists in the database
Notes : Creating a dynamic buffer for an unknown table raises an error, which is
turned into the logical result here
@param pcDatabaseName The logical database name
@param pcTableName The database table name
@return Logical value indicating if the table exists
*/
|
|
|
|
Progress.Json.ObjectModel.JsonObject UpdateSmartRelation (character, character, character, character, character, character, character, character, character, character, character, logical, logical)
|
Updates a SmartRelation record including the referential integrity rule
Notes : The relation is identified by parent table, child table and relation name.
Only the arguments that are passed (character arguments that are not empty,
logical arguments that are not unknown) are written
@param pcParentTable The qualified name (Database.Table) of the parent table
@param pcChildTable The qualified name (Database.Table) of the child table
@param pcRelationName The name of the relation
@param pcNewRelationName The new name of the relation, empty to leave the name unchanged
@param pcRelationDescription The new description, empty to leave the field unchanged
@param pcRelationFieldPair The new comma-delimited field pairs, empty to leave the field unchanged
@param pcParentRoleDescription The new parent role description, empty to leave the field unchanged
@param pcChildRoleDescription The new child role description, empty to leave the field unchanged
@param pcParentCardinality The new parent cardinality (1, 01, 01n, 1n), empty to leave the field unchanged
@param pcChildCardinality The new child cardinality (1, 01, 01n, 1n), empty to leave the field unchanged
@param pcOnParentDelete The new referential integrity rule (DoNothing, Cascade, Nullify, SetDefault, Restrict), empty to leave the field unchanged
@param plDefaultParentRelation The new DefaultParentRelation flag, unknown to leave the field unchanged
@param plInactive The new Inactive flag, unknown to leave the field unchanged
@return JsonObject with the updated SmartRelation record and the list of the updated fields
*/
|
|
|
|
Progress.Json.ObjectModel.JsonObject UpdateSmartTable (character, character, character, character, character, character, character, character, character)
|
Updates the description and the record key definition of a SmartTable record
Notes : Only the arguments that are passed (not empty) are written, all other fields
of the record are left untouched
@param pcDatabaseName The logical database name
@param pcTableName The database table name
@param pcTableDescription The new TableDescription, empty to leave the field unchanged
@param pcDescriptionFields The new DescriptionFields, empty to leave the field unchanged
@param pcDescriptionFormats The new DescriptionFormats, empty to leave the field unchanged
@param pcDescriptionSubstitute The new DescriptionSubstitute, empty to leave the field unchanged
@param pcUniqueKeyFields The new UniqueKeyFields, empty to leave the field unchanged
@param pcUniqueKeyFormats The new UniqueKeyFormats, empty to leave the field unchanged
@param pcUniqueKeySubstitute The new UniqueKeySubstitute, empty to leave the field unchanged
@return JsonObject with the updated SmartTable record and the list of the updated fields
*/
|
|
|
|
ValidateListValue (character, character, character)
|
Verifies that a value is one of the entries of a list
Notes : Empty values are accepted (they mean: not passed / unchanged). The
Business Entity validation rejects invalid values as well, this check
just produces the clearer message naming the parameter
@param pcParameterName The name of the parameter
@param pcValue The value to verify
@param pcList The comma-delimited list of the valid values
*/
|