Representation management
Classic Function | Function code | GESASW |
---|
A representation is the description of a data structure dedicated to the user interface. A representation is always associated with a class. In this capacity, it can have its own elements such as properties, associated scripts, operations, and methods. These specific elements, added to those already owned by the associated class, support the user interface behavior related rules. An overview of the representation concept is described in the Developer Guide Representations document.
This workbench functionality enables users to create representations and update them. It feeds dictionary tables and generates code by validating representations. A representation already described in the dictionary will not be qualified as usable by the software unless it is validated.
To create or update a representation, it is necessary to enter information in several sections:
Header | General | Properties | Methods | Organization | Exposed properties | Links | Menus |
Additional information:
Global links available on the class management page | Errors list | Additional comments |
Contains information to identify the class:
It is a unique identification of the representation. It is used to generate automatic script names by the supervisor layer when a validation is performed.
It is the description of the representation.
Describes the main information about the representation. The following blocks of information are available in this section:
Defines the class associated with the representation. The class code is mandatory.
Defines the name of the property that identifies the class instance in the representation.
When this check box is selected, the representation will be selected by default to display the data detail by using the link on the search result page. For a given class and a given type, only one representation can be selected.
It is used to protect specific representations during the standard patching process (if starting by X, Y, or Z), or to make them optional. It behaves as all activity codes that are defined in dictionaries.
It indicates the technical module the representation is associated with.
This information is not mandatory. It allows the supervisor to check if the access is authorized to a user. The user profile defines for every user the functions that are allowed (and possibly filters by company and sites).
Take care that if the function is not filled, the representation will be available without restrictions to all the users that have access to the endpoint. If you want to allow the administration users to filter data for users, a function code must be given. This means that you might have to create a fictitious version 6 function code if the authorization don't derive from the access on a given version 6 function, an even a fictitious object if you want to control the access by companies or sites.
This information is not mandatory. It defines the Sage X3 version 6 function invoked in Classic mode when the user modifies a record in "$detail" mode while an "$edit" facet has not been specified for the representation.
Defines the type of device the representation has been created for. The values available are Desktop and Mobile. This may change in the future.
Reserved for the supervisor use and must not be selected for a normal representation.
This grid defines the list of facets that are supported for this representation. Detail, Edit, Query, Lookup, and Summary are the facets available. The check boxes are only displayed according to the behaviors that have been selected.
Defines generic behaviors that are managed for the representation. Below is a list of "built-in" links with a dedicated logic, as shown in the following table:
Action description | Presence on facets | Prototype characteristics | Comments | ||||||
---|---|---|---|---|---|---|---|---|---|
Action | Link label | Target facet | Query | Detail | Edit | Link | Media Type | Target | |
Display detail | Display | $details | ![]() |
$details | JSON | self | |||
List display | List | $query | ![]() |
$query | JSON | self | |||
Summary display | Summary | $summary | ![]() |
$summary | JSON | popup | |||
Create a record | Create | $edit | ![]() |
$create | JSON | self | |||
Quick edit | Modification of a quety line | $edit on a restricted list of fields | ![]() |
$edit | JSON | self (in a section that opens) | |||
Duplicate a record | Duplicate | $edit | ![]() |
$duplicate | JSON | self | |||
Update a record | Update | $edit | ![]() |
$edit | JSON | self | |||
Delete a record | Supprimer | $result | ![]() |
$delete | JSON | self | $result=message | ||
Display in Excel | Excel | $details | ![]() |
$excel | Excel | Excel | |||
List in Excel | Excel | $query | ![]() |
$excel | Excel | Excel | |||
List in PDF | PDF print | $query | ![]() |
blank | |||||
Display in PDF | PDF print | $details | ![]() |
blank | |||||
Mail merge in Word | Mailmerge | $query | ![]() |
![]() |
$wordmailmerge | Word | Wordmailmerge | ||
List in Word | Word | $query | ![]() |
$word | Word | Word | |||
Display in Word | Word | $details | ![]() |
$word | Word | Word | |||
Back | Back | ![]() |
$back |
In addition, the built-in links in the "$edit" facet are the following:
Action | Link label | Target facet | Target |
---|---|---|---|
Selection | Selection | $lookup | popup |
Creation | Creation | $edit | blank |
Navigation (tunnel) | $detail | blank |
Describes the collections defined at the representation level. The collections that have been defined in the class should be declared if one of the following conditions is fulfilled:
The following information must be filled in the grid:
This is a code that identifies the collection:
* If the collection is defined at representation level, it is a single name that cannot exceed a length of 12 characters.
* If the collection is defined at the class level or at a child class level, the path of the class must be given. For example, if a document has a line level in which a collection has been defined, the syntax would be "DOC.LINE.COLLECTION", where "DOC" and "LINE" are the instances of the nested classes. Declaring the collections present at the class level is only useful if additional fields that are present only in the representation must be added.
This is a single name that identifies the collection. For a representation collection, alias is the same as the collection name, and cannot be changed. It must be defined when a class path has been given, and must be unique for the representation.
Description of the collection.
Indicates how the property array is first allocated in memory instances. Can be 0, 1 or Maximum.
Activity code. If assigned, it must be a sizing activity code. This allows defining the maximum dimension of the collection according to the value of the activity code. As the memory allocation is now dynamic, it is no longer useful to optimize the memory spent to store documents during processing.
Is the maximum dimension of the collection. It can be entered only if no activity code is present on the collection, or it can be kept empty (the collection size will automatically grow without limit when new lines are created).
Refers to a property of the representation that stores the number of lines created in the collection. It is used when the number of lines of a document is stored in the header (used in version 6).
If these check boxes are selected then insertion of lines, deletion of lines, and sorting lines operations are possible on the collection. The check box values have the same value in representation if the collection has been defined in the class. You can clear the check box at the class level, but you cannot select the check box if the operation is not supported at the class level.
The corresponding methods are ADDLINE
, ADELLINE
, and ASORT
(ADDLINE
is also used for the addition of lines).
List of scripts in which "$PROPERTIES" and "$METHODS" labels are available for development partners who are prepared to add their own code associated with supervisor events (especially for CRUD management). See the event description for more information about the available events.
The following columns are available in this array:
Name of the script. The standard naming conventions are repr_Ryyyy
where:
Can be Standard, Specific, or Vertical:
Is the order in which the "$METHODS" or "$PROPERTIES" labels are called in the event.
Is used to protect the script during the standard patching process (if starting with X, Y, or Z), and to activate/deactivate the call of the script.
Describes the properties defined at the representation level. Properties that are defined at the class level must not be listed.
This grid defines the property list with the following information:
The name of the property as it will be used in the Sage X3 script.
This is an indicative order rank.
Describes the Property in the UI.
A short description of the property (can be used for personalization time when designing the UI).
A data type associated with the property. This refers to the data type dictionary. This field is mandatory.
Is useful only if the data type M
is used. It links to a numbered list that defines all available values for the property. For example, figure 1 corresponds to the local menu "No / Yes".
It is used when the data type does not determine the length. It can be either a number of characters (for string values), or a numbers of digits in N.M format, where N is the number of digits before the decimal position and M is the number of decimals.
Is used to protect specific property in standard classes during the standard patching process (type if starting with X, Y, or Z), or to make them optional depending on the activity code value given when configuring the Sage X3 folder. It behaves as all activity codes that are defined in dictionaries.
It is empty if the property is a single one. Otherwise, it refers to one of the collections defined in the first section of the class dictionary. It might then be either an array of child references (header / lines structure) or a denormalized array stored in several columns of a database.
When the data type is a "CLOB" or "BLOB" managed by the supervisor, this information indicates the table and column where the rich media element is stored. Depending on the table used, the key section will be filled so that the join can be done by giving the value of the key. If the data type is not managed by the supervisor, a program will handle the join and therefore, no information can be entered in these two fields.
When the data type is a "CLOB" or "BLOB" managed by the supervisor, this information displays the content type associated with the data type.
If Mandat is equal to 'Yes', then the field can be valid only if a value is present.
Refers to a control table that is used to perform additional consistency control defined through a simple setup.
Defines a property that is used when the control table is dependent from another table.
Refers to an access code that controls access to the property for a given user based on a setup. See Access code for more information.
If the check box is activated, a "Get" accessor calling code will be generated on the property. Otherwise, no code will be generated.
This value can be changed at any time in the dictionary, even in specific developments on standard classes. Once activated, it will not be deactivated by any patch at any time.
It is recommended to activate this check box only on properties where it is necessary since calling "Get" accessors on every property will have a negative impact on performances when running.
This section describes the current line on the property grid. If the property type is linked to a table (version 6 technology) or to a persistent class (version 7), the key components appear:
Is the column name of each segment key. It is presented in display-only mode.
Is the description of each segment key. It is presented in display-only mode.
Is the data type of each segment key. It can be any of the following: Char
, Integer
, Decimal
, Date
, Enum
, Uuident
, or Datetime
. It is presented in display-only mode.
Is the formula behind the value assigned to a key segment. If the key is made of several segments, every segment description is usually a property of the class (and frequently the current property). But when a multiple segment key is defined, some elements can be additional properties or constants. Only a subset of the Sage X3 scripting language is used for the formula. The rules are given in the Developer Guide Restricted Formula for Key and Parameter Values document.
This section describes the current line on the property grid: if the type of the property has rules requiring additional parameters, the parameter list will appear in this grid. Therefore, entering a value will then be required to call the rule with the right parameters according to the context.
Is the code of each parameter. It is presented in display-only mode.
Is the description of each parameter. It is presented in display-only mode.
Is the data type of each segment key. It can be any of the following: Char
, Integer
, Decimal
, Date
, Enum
, Clbfile
, Blbfile
, Instance
. Uuident
, or Datetime
. It is presented in display-only mode.
It is presented in display-only mode. It defines how the parameter is transmitted in the call. It can be:
By Address: A reference is sent to the call. Any modification done in the call on the variable will directly change the value of the parameter.
By Value: Parameter is copied and the value sent can be modified during the call with no impact on calling the parameter value.
Constant: A reference is sent to the call, but the parameter is in read-only mode. Any attempt to modify it during call execution will generate an error.
Is the formula behind the value assigned for the parameter. Only a subset of the Sage X3 scripting language is used for the formula. The rules are given in the Developer Guide Restricted Formula for Key and Parameter Values document.
Defines the methods for the representation. As the representation is linked to a UI process, only methods that are stateful can be available. Thus, being stateless, operations can only be defined for classes.
The following information is available in this section:
Gives the list of methods with the following information on every line:
Identifies the method name that can be called for the representation. Upon running, the 'ACTION' variable has this code as a value when the corresponding event is executed within the "$METHOD" label of the representation associated source files.
Describes the method.
Is the data type of the value returned by the method when called by Fmet
. This is the type of the ARET_VALUE variable available in the event associated with the method. It can be any of the following: Integer
, Date
, Char
, Decimal
, Clbfile
, or Blbfile
.
Allows disabling a method by assigning an activity code. At implementation time, if the activity code is not active, the method will not be available.
Gives the list of parameter associated with the current method (in the previous grid), with the following information on every line:
Is the name of the variable containing the parameter value, as it can be seen in the code called by the "$METHODS" event.
Is the data type of the parameter sent to the method. It refers to the keyword used for the variable declaration. Thus, it can be any of the following: Char
, Integer
, Decimal
, Date
, Enum
, Clbfile
, Blbfile
, Instance
. Uuident
, or Datetime
.
Is the description of the variable.
Defines how the parameter is transmitted in the call. It can be:
Defines if the sent parameter is an array and indicates its first index value. It can be:
Available only if the type is Instance
. It defines the class the parameter is an instance of.
This section specifies the default hierarchical organization that is set up for the representation, as well as additional information used for the query page. A representation defines:
Sections, blocks, and fields are placed by default in a page with an predefined algorithm. The personalization functions enable a user to change the layout without losing the hierarchical organization of the representation.
In this section, the following information can be found:
Refers to the list of sections for the page. The following information must be entered:
This code must be unique for a representation. It can have up to 12 upper case characters or digits.
This label is displayed in the page. It is mandatory.
This number gives the default input order of the sections. The rank may be discontinuous and can have up to 4 digits.
It is used to protect specific sections during the standard patching process (if starting with X, Y, or Z), or to make them optional. It behaves as all the activity codes that are defined in dictionaries.
Refers to the list of blocks for the page. The following information must be entered:
This code must be unique for a representation. It can have up to 12 upper case character or digits.
This label is displayed in the page. It is mandatory.
Indicates the section in which the block is located.
This number gives the default input order of the sections in the block. The rank may be discontinued and can have up to 4 digits.
Is used to protect specific blocks during the standard patching process (if starting with X, Y, or Z), or to make them optional. It behaves as all activity codes that are defined in dictionaries.
States the list of filters that can be used for the current representation. The filters present in this list are used in the query facet. A filter that is set as mandatory will always be applied on the query.
All the other filters are displayed as links on the right side of the page. Clicking such a link will refresh the query by applying the corresponding filter in addition to the mandatory one if it exists. No combination of filters is done when clicking several links: the new filter set replaces the previous one.
If there is at least a filter that is not the mandatory filter in the grid, an additional link called no filter will also be present to allow the user to query a list with no other filter than the default one. When entering in the query, the filter that has the default check box selected will apply by default, but it can be replaced by any other filter.
The following information is found in the filter grid:
Identifies the filter, must be unique. A selection action is available on this field to select a filter defined at the class level.
This check box is display-only. When selected, it indicates that the filter has been set at the class level.
This dictionary text (translatable) corresponds to the label displayed for the filtering link present on the page.
If selected, it indicates that the link is optional. It is present only if the activity code value is set to Yes. If starting with X,Y, or Z, it indicates that the link is not standard.
At most, one filter can be defined as mandatory. This filter will always be used and can be combined by one of the other filters listed in the grid.
At most, one filter can be defined as default. This filter is applied by default when using the representation where it is present in the corresponding list of links. However, the user can select another filter by right-clicking on the related link.
Defines the condition applied when the filter is set. It is a logical expression that can include operators, class properties, and constants.
This message is displayed when a filter has been set and an attempt to access a record that does not fulfill the filter conditions is made.
This section allows to define the default order used to display the query lines. If not filled, the default index for the main table associated to the class is used.
Allows to enter a default index used for the query. This index can only be one of the indexes present on the main table associated to the class.
This information can only be entered if no default index has been defined. A sorting description can be defined here on fields that are present in the quety facet with the usual syntax of keys, for instance:
-FIELD1+FIELD2-FIELD3+FIELD4
When such a syntax is used, the sorting order will be by FIELD1 in descending mode, then by FIELD2 in ascending mode, then by FIELD3 in descending mode, finally by FIELD4 in ascending mode.
This corresponds, in the URL, to the &OrderBy=FIELD1 Desc;FIELD2;FIELD3 Desc;FIELD4
additional variable in the URL.
A representation exposes on the device a list of properties that can be:
The properties grid lists all the available properties. It can be filled with a mouse right-click action. A window appears for the user to choose among different classes and child classes as well as the properties to be included. It is always possible to enter into a property in a line.
The information present in this grid is as follows:
This name must be unique in the representation. It is used to designate the property in the data feed exchanged with the client. It may have up to 30 characters length. The first character must be an upper case letter while the remaining should include upper case letters, digits, or underscore characters. No lower case letters are allowed in the alias.
This defines the path of the property, with the "dot path" syntax, which means:
If this field is filled, the property is a member of the collection that can be any one of the collections present either on the representation or on any class or child class whether they are used on the representation or not. The 'dot' notation is used to define the collection path, for example:
'SORDER.LINE.QTY' is the path for a collection in the child class 'ORDERLINE' (instance LINE) of the class 'SALESORDER' (instance SORDER) associated with the representation.
When a collection is present on a representation, the properties within this collection are shown in the user interface as a grid. The only exception is when there is only one member in the collection, it is then presented as a list.
The properties present in a collection must be ordered sequentially and in the same block. This means that a property can integrate a block only if it belongs to the corresponding collection. A foreign property whether it is independent or present in another collection, cannot be admitted among properties of a particular collection.
This defines the default block where the property is located in the user interface.
This is the input order for the property entry in the blocks. Ranks may be discontinued and can have up to 4 digits.
This indicates the label that can be used in the user interface. The defined label as well as its presence and its position can be changed in the personalization mode.
This activity code can be used to make the property optional (it will automatically disappear from prototype if the activity code is not active), to protect the properties characteristics if the activity code is a specific one.
If the property is a numeric value attached to a unit (for example, quantity and amount in currency), the property defining the unit used must be set. It has to be one of the properties of the representation. Only a property having a data type attached to a table that manages units can be selected.
If this check box is selected, the corresponding value constitutes a filter when invoking the query facet. For example, if the following case happens:
For the purpose of filtering on US country sales orders, the user selects the following option in the URL that calls the 'SORDER' representation in query mode:
...?url=http://myserver:8124/x3/$$prod/DEMO/SORDER?representation=SORDER.$query&where=COUNTRY_ORDER eq 'US'
Some characters should have been avoided.
It is not necessary to select this check box for all the properties of the query facet because the possibility to filter on the column values is implicit for them (the filter line allows entering values directly).
If this check box is selected, the corresponding value can be a filter whenever the edit or detail facet are called. This is important if one of the parameters is not present in the key.
These columns represent the different facets wherein the property can be used. When any column is selected, the property is present in the corresponding facet; otherwise, it is not.
Following every facet column, there is an Initial state that can be: Visible or Invisible; and set differently for every facet. This state can be changed dynamically later on by the development partner with a script using a 'ASETATTRIBUTE' method.
For the column Edit, an additional column called 'Input' indicates if the field is in a display-only mode or can be entered in edit mode. A filter can be set on properties that are present on the query facet whether these properties are entered.
This section defines links that are available at various places of the user interface to trigger operations or methods according to the context.
As the number of links in a representation can be many, the section presents a restricted list of the available links based on the following filters:
The generated links are inherited from the data type. Usually, they should not be modified; however, they can be deactivated if they should not be present. They can eventually be replaced by other links. This is especially useful for the links that are needed to be different from the default ones ( as in a selection or in a zoom).
When a patch changes the structure of a representation, for instance, by deleting some of its properties; some links may not work anymore. In order to keep the representation working despite this effect, links are marked as invalid. To remedy to this situation, invalid links must be validated again.
A link is attached to an element of the interface. It can be attached to:
A property. The anchor name is the property alias. It is directly near the property value. This type of link is related to the property. It enables to:
A collection line. The anchor name is the collection name. An icon is present at the beginning of the line to give access to the links. Usually, this type of link triggers an operation that applies to the entire line.
This grid contains the details of the existing links filtered according to the type and anchor given. The following information is available:
Defines the anchor in which the link is placed. The anchor is empty for _Page_or _Record_links.
Identifies the link. For a given anchor, only one link with a given name must exist. Dedicated codes exist for the standard links, for example:
This check box cannot be modified. It is set when the link is inherited from a data type. The characteristics of the link cannot be changed, though it can be deactivated or replaced by another link.
Modifiable only for generated links. It can be set to No if you want to deactivate the link.
This check box cannot be modified because it has been set when the link cannot be used due to the lack of some parameters on the corresponding facet. This may happen, for example, after installing a maintenance patch. A validation attempt will produce a log detailing the issues. The Invalid links only check box can be activated to display only the link concerned by this issue.
The issue must be addressed in order to have the link fixed; otherwise, it will not be used.
Corresponds to the text describing the link. It is a translatable text.
It states what will be executed when the link is triggered. The different types of links and their characteristics are as follows:
This link invokes another representation. The representation code is then given and an action code is associated. This action code can be one of the following: Create record, Display details, Modify record, Delete record, Display list, Display as Excel, List in Excel, Selection, Display Summary, Display in Word, List in Word, Mass-mail record, Mass-mail list. The action selected can only be those compatible with the behaviors that are supported by the representation.
If the behavior is working on a given record, the key has to figure on the key grid. For example,for Display details or Display Summary, while no key is expected when the Create a new record behavior is defined on the line. This type of link cannot be called on an edit facet.
A method is triggered when clicking this link. As it is related to a given context, a method can only be called on an edit facet. The instance that the method operates on and the method name have to be selected. Only the instances available on the line can be considered.
If the instance name is empty, the operating method is the representation method; otherwise, the instance path must be provided.
An operation is triggered by clicking this link. The instance and the operation name must be provided as well. For an operation, an additional information is provided in the Asynchronous column of the grid. If set to Yes, a dedicated session will execute asynchonously, otherwise the user will execute the operation and has to wait for its completion before he takes the hand. Dedicated methods are available to handle asynchronous operations. They are described in the following document.
A version 6 function page is opened in Classic mode using this link. The version 6 function name must be provided.
A link defined by its URL is opened by clicking this link. The URL must be provided.
A report execution will be launched when clicking this link. This kind of link is only possible on a query facet if defined at Record level, or on a detail facet if defined at Record level or at Page level.
The report code must then been entered. It refers to a Crystal Report definition (defined in the function GESARP). If a redirection has been established for the report through the GESARX function (print code), it will be used. This allows to associate by a single setup a report code either to a report, or to a query, to a SQL query, to an export template, or to a business object report. If several codes are associated to the same report code, a popup window will open to select the report to be printed. But in all the cases, a report code must exist otherwise it won't be possible to input it.
The associated action code can be Print or Print Direct. When Print Direct is selected, the reports parameters cannot be modified. This type is also used to filter the list of reports available for a given report code.
Once the report has been chosen, the parameter list of the record is displayed in the parameter grid, and it becomes possible to enter values path from the representation to fill the parameter values (they can be single values or expressed as a range).
Note that this kind of execution is using classic mode functions.
This choice can be entered only for a representation link, and defines the code of the representation used.
This choice describes the action available for the type of link. The choice depends on the type of link:
This choice can be entered only for a Representation link; it can have the following values: Default, New page, or Embedded:
This field describes the path on which methods or operations operate (if empty, it is the representation instance by itself).
This field displays the class code associated to the previous instance path.
You have to enter the operation or method to be called when a link has this type. Only the method or operation availables on the class associated to the instance path can be used.
This field defines if an operation is aynchronously executed or not. It can be entered only for Operation links.
You have to enter the code of the classic function associated to the link (only for this type of link).
You have to enter the URL associated to the Free type of links. This URL can either be:
http://www.google.com
/sdata
, for instance : /sdata/syracuse/collaboration/syracuse/users?representation=user.$query
to access to the users query in the administration page.{$baseUrl}/PROCESS(%27XXX%27)?representation=PROCESS~XXX.$details
, where XXX is the process code (note here that %27 escapes the "single quote" character).An URL link can include variable that are known in the current page. The syntax is {NAME}
, where NAME
is the name of the alias defined in the displayed properties tab. For example, if a representation has 3 lines of addresses followed by a postcode and a city name, a link to display a map could be (if the corresponding aliases are LINE1
, LINE2
, LINE3
, POSCOD
, CITY
):
https://maps.google.com/maps?q={LINE1}+{LINE2}+{LINE3}+{POSCOD}+{CITY}&t=k
You have to enter the Report code (or printing code) to be printed for Crystal Report typed links.
For Page or Record links, you can create a hierarchy of menus in the Menu tab. This field defines the menu the link is attached to. If it is empty, then the operation will be attached to the first level.
This defines the sorting order for the links in the menu hierarchies.
Note that this sorting order must be filled with a not zero value if you want to see the link in a mobile representation.
This information describes how the link appears on the UI. Its exact interaction depends on the type of device (mobile, tablet, or workstation). Attribute may have the following values:
Simple link:
This is a hyperlink that appears in a list associated with the element. This list is usually shown when hovering the mouse over an active place, or clicking a dedicated icon.
Detail:
This is a hyperlink associated with the field value by itself. Usually clicking a the field triggers the link.
Lookup:
This is a hyperlink associated with the "selection" action. It is usually used by clicking a magnifying glass located near the field.
Summary:
This is a hyperlink associated with the "summarized view" action. It is usually used by clicking a dedicated summary icon located near the field.
The purpose of this function is to replace the default link, which is manually created by an automatically generated one. Replacement is operational only on a generated link where a user indicates in the corresponding field the code of the manually created link (known as non-generated link) to be replaced. Both links (the generated and the non-generated) involved in a replacement operation should have the same type and anchor. A generated link can be deactivated if it should not be present.
This field allows to protect a specific link or to deactivate the link. It behaves as all the activity codes.
These check boxes define the facets in which the link is available. The check boxes must be selected to make the link available.
When a link requires a key to operate, this grid will be filled with the corresponding components, and the value will have to be filled with formulas (for example, for an operation operating on a class). Only a subset of the Sage X3 scripting language is used for the formula entered. The rules are provided in the Developer Guide Restricted Formula for Key and Parameter Values document.
When a link requires additional parameters to operate, this grid will be filled with the parameter list, and the corresponding values will have to be defined. For example, when a method requires an additional parameter.
This section defines menus that organize the global link section.
Two grids are present in this section.
The first grid provides, on every line, a menu definition with the following information:
The second grid allows you to define the default links that are presented for every facet in the first position with a dedicated style on the global link panel. The only information to enter is the menu or link code and an activity code (the other information is displayed).
Only the links other than the usual CRUD and automatic links (PDF rendering, Offices integration, and so forth) are described.
Performs a validation on the representation:
Note that the generated program must not be modified; it will be automatically recreated at every validation.
Performs a global validation on the representation:
This link that exists also in the class dictionary displays a graphical view of the class or the representation. The view presented looks like this picture (partial view based on a company class):
This view gives you the detailed list of collections, tables, children classes, scripts. The icons used are described in the following table:
Icons | Use case and information displayed | ||
---|---|---|---|
![]() |
Representation (node followed by the elements of the representation). | ||
![]() |
Class that has children elements (scripts, tables, collections or classes: this node followed by the embedded element list). | ||
![]() |
Table managed (node followed by a list of tables). | ||
![]() |
Collection of class instances or including several property collections (node followed by a list of classes or arrays). | ||
![]() |
Scripts list: this node followed by the corresponding scripts. | ||
![]() |
Elements that don't have additional children details: | Tables | property:description - table_code [abbreviation] Class class_name[cardinality] |
Collections | [dimensions] property_name property_description | ||
Scripts | Rank Type (Standard, Vertical, Specific) Script name | ||
![]() |
Class that has no children elements. | ||
![]() |
Recursive class (ie. reference to a class that has already been described in the hierarchy). |
At the bottom of the window, an array gives the list of the elements with the following information: level, class, parent class, collection, cardinality.
The total number of children class embedded in the class or the representation is displayed, as well as the maximum depth of the hierarchy.
This section provides the error messages that may occur when using the class management.
A collection or a property that has been used in a link is no longer available in the representation.
A generated link has a replacement link that is self-generated.
A replacement link must be consistent with the link it replaces (same anchor and anchor type).
A replacement link must be in the active status.
This message can appear in several cases:
The wrong type has been used.
The code entered does not correspond to a method of the class.
Note that modifications done on the representation might have an impact on other representations that have a link on a facet of this representation.
This explains why entering in the dictionary on a representation can trigger an automatic update on the links. A message is displayed when this happens, and the user is invited to save the updated representation. The link on the representations is also automatically done when a patch is installed or the folder is revalidated.