Refer to documentation Implementation
The definition of a request is made over three tabs. The first tab is used to define the information to be printed. When the request is simple, it will be sufficient to enter the information in this tab. The second tab, called Advanced, makes it possible to cerate a more sophisticated report, by specifying the table join conditions and by giving additional information for the display and printing. The third tab is used if necessary to define in a more sophisticated fashion the access rules for the request.
Presentation
The header contains an identifying code for the request, an indicator that makes the request active or not.
Close
Fields
The following fields are present on this tab :
Block number 1
| This code is used to identify a request. |
| It used to define a name associated with each record. |
| This title, which provides a description of the record, is used in some screens or records when there is not enough space to visualize the long title. |
Characteristics
| This check box is used to activate or deactivate the current record without losing its content. A deactivated record cannot be used (by calling its code) in other records (documents, setups, etc.) or during mass processings. The authorizations for a given function can prohibit the creation of an active record. In this case, the box is cleared by default and it can only be modified by an authorized user or via a signature circuit defined by Workflow. |
|   |
| This indicator defines the fashion in which the representation of the data will be made in the screen. The possibilities offered are as follows :
|
| Used to organize the relationship between the character and the graphic, when the presentation mode for the data allows both. According to the case :
|
Close
Presentation
The grid entered here is used to define the information that will appear in the request. In the case of simple requests, the entry of this tab will be sufficient to express the request. The order of the fields defines the :
order of the columns
the grouping and page breaks that are to be carried out (from general to detail)
The information entered is as follows :
the name of table from where the information is extracted. This field is mandatory, even if searching to print an expression combining several fields coming from different tables (in this case, one of the tables concerned will be entered).
the name of the field and the title that will appear in the enquiry screen (by default it is the title from the dictionary). When this field is empty, a calculated expression will have to be entered in the next column. The field can be written in the form FIELD(index), index being a constant, if a field is being entered with several occurrences. This is the case for the CCE field in the BPCUSTOMER table; it is then possible to write CCE(2) in the grid of fields.
a calculated expression (that can only be entered if no field name has been given). It can include all the fields for one of the linked tables in the request, the constants, the functions and the global variables... The formula editor is accessible in order to facilitate the definition of the formula.
a data type that is used to specify how the data will be presented.. In the case of a field, the type associated with the field is proposed by default (but can be modified). In the case of an expression, it must be specified (it can be a generic type such as a string of characters A, a local menu M, a short integer C, a date D, a decimal DCB, a long integer L...). In the case of a string of characters, its maximum length will be specified in the Length field that follows ; in the case of a local menu, both the length of the display and the local menu number to be used are specified. If the data type used is linked to an object, it will be possible to use a tunnel to the object management during the enquiry.
a range field, that can take the value Yes, No, or Criterion. If this field is set to Yes, the column appears in the printout, and it is possible during the enquiry, to enter the value ranges to limit the enquiry to the lines for which the value in the column falls within the range. If this field is set to No, the column will not be available as a possible range. If this field is set to Criterion, it will be possible to enter the range during the launch of the request, but the corresponding field will not be displayed. In this case, the following fields will not be entered (because the column is not displayed). It should also be noted that the Criterion choice is not possible if an expression has been defined on the line.
a Total field. This field can only be entered if the field is numeric. In this case, a total of this value will not be displayed for the different page break levels introduced by the grouping criteria.
a Sort field. This field can be set to No (no sort on the information on this field), or to set the value Ascending or Descending. In this case, a sort will be carried out during the execution of the request. This sort will be carried out successively on the sorted fields in the screen presentation order. In this way, if there are three successive fields, for example country code, customer code, order number and the sort is defined for these three fields, the extraction information will be sorted by country, then by country by customer code, then a customer code given by the order number.
a Group field, which can be carried out at a break level. This field is only entered if the field Sort field is not set to No ; in this case, if the response is Yes for this field, the grouping of fields that follows can be made by break on the current field. Thus, in the previous case, if a break is defined for the country code and customer code fields, it is possible to view all the orders by customer and by country, but it is also possible to aggregate all the orders to display one line by customer, then move up another level to see a single line by country. If the total fields have been defined in the fields coming from the order details, the totals will be displayed by customer, then by country.
a Level field, which corresponds to the desired detail level for the display of the information. Level 1 signifies that the information is displayed at level one aggregation (the highest) and all the successive levels, level 2 signifies that the information will not be displayed for level 1, but at level 2 and at all the more detailed levels etc... This level is assigned by default to 1 on the first line and incremented each time a break is requested (Group=yes) for the previous field. It can be modified in order to display an amount at a different aggregation level. For example, when sorting and grouping the information by a code such as the customer code and the customer name is required in the next column, it is clear that this name must be displayed at the same level as the customer code and not only at the more detailed levels.
Close
Fields
The following fields are present on this tab :
| This is the name of the table from which the information will be extracted. An entry is mandatory even if you plan to display an expression combining several fields related to different tables, or to no table at all. In this case, just enter the code of any one of the tables used in the inquiry. (This implies that the first line of a User-defined Inquiry cannot be such an expression.) |
| This is the code of the Field that contains the data that will be displayed in the inquiry. Your selection is conditioned by the specific table that you chose in the previous field. |
| Used to define the title of the column as it will be displayed on the execution of the request. By default, when a field in a table is used, its title (as it is stored in the dictionary) is proposed. In a multilingual context, this title is displayed during the execution in the connection language of the user, the dictionary texts being managed in all the connection languages. This assumes that it is possible to define the translations for a modified title or corresponding to an expression calculated for which no translation has been defined. In translatable fields such as this one, you can enter a description in a language other than the connection language: Click On line translations from the Actions menu. |
| This is the Expression, composed in the Adonix Language, with the help of the Formula Editor if required, that must be entered if no Field name was assigned on the inquiry line. The expression can integrate fields from any of the available tables, plus constants, operators, functions, and other variables that are needed. |
| This data type is used to specify how the data will be presented.. In the case of a field, the type associated with the field is proposed by default (but can be modified). In the case of an expression, it must be specified (it can be a generic type such as a string of characters A, a local menu M, a short integer C, a date D, a decimal DCB, a long integer L...). In the case of a string of characters, its maximum length will be specified in the Length field that follows ; in the case of a local menu, both the length of the display and the local menu number to be used are specified. If the data type used is linked to an object, it will be possible to use a tunnel to the object management during the enquiry. |
| Used to define the length of a field when this field uses a generic data type where the length is not fixed. This is notably the case for the types A and DCB. |
| Defines the local menu number associated with the field defined on the line. When a field is of the type local menu (from 1 to 255) corresponding to the rank of a title in a table named local menu, stored in the messages table APLSTD. On entry or on display, the following are displayed according to the choices made in the user interface :
The interest of this type of entry is that the list of choices is displayed in the user connection language. Each local menu number characterises the list of available titles. For example, the local menu 1 corresponds to the choice No / Yes in this order. In this particular case, the user interface can also be a check box. |
| When you execute a User-defined Inquiry, you may often want to change the data selection criteria, so that you end up seeing exactly what you want, and not all of the data. To do this, simply enter "Yes" for those critical fields. |
| This field can be assigned only if the line contains a numerical data element. If set to "Yes", it allows you to roll up totals to higher "Groups" in the inquiry display (i.e., at higher break levels). |
| This field allows you to sort the data elements that will be displayed in the inquiry - in the order in which they appear on the lines in this table. Sorting may be either done Ascending or Descending. |
| This field is used to create a break level. If this field has the valueYes, a group of fields that follow can be made by break in the current field and potentially any totaled values will be displayed at the group level. This field can only be entered if a sort has been defined on the current line (Ascendingor Descending according to choice). For example, if a list of users is defined by profile, a break by profile can be used to group on a single line all the users linked to a profile and to display totaled data linked to the group (for example their number of there is a field equal to 1 that is accumulated). |
| Corresponds to the level of detail desired for the display of the information. Level 1 signifies that the information is displayed at level one of the aggregation (the highest) and all the successive levels, level 2 signifies that the information will not be displayed at level 1 but at level 2 and all the more detailed levels etc. The highest level therefore corresponds to the most detail level of the inquiry, that which is displayed by default when launching the inquiry. This level is assigned by default to 1 on the first line and incremented each time a break is requested (Group=yes) for the previous field. It can be modified in order to display an amount at a different aggregation level. For example, when sorting and grouping the information by a code such as the user code and the user name is required in the next column, it is clear that this name must be displayed at the same level as the user code and not only at the more detailed levels. |
|   |
| This field can only be entered if the representation mode selected in the header is not Character. It is used to specify the fashion in which the graphical representation will be used. It can take the following values:
|
| This field can only be entered :
It is used to manage the graph combinations if the graphic type defined in the graphical parameters is used to make several series appear, independently of different types (it is ignored in other cases). In practice, the usable combinations are as follows :
The rule is as follows :
|
|
|   |
Close
Functions accessed by right click on the grid
Presentation
This tab is used to enter additional information. On one hand, the information necessary for the use of the request :
a number of lines and a fixed number of columns that serve to define the vertical and horizontal pagination characteristics for the enquiry screen generated by the requester.
a maximum number of lines and a maximum time, which can be entered as required for instance for test purposes, to limit the machine load when the request is launched. The maximum number of lines corresponds to a request parameter (maxrows) that stops the search once the number of lines satisfies the conditions that have been found in the database (these lines will then be sorted, but the database does not guarantee that the N lines found are the first N in the sort order). The second parameter limits the time in seconds for the construction of the table that will then be interrogated. Warning, this time is not the execution time for the request.
the code of a report that will be associated with the File / List function from the requests enquiry. If this is not entered, the report ALISTE is used, which will propose a default page format. It is possible to duplicate this generic report (in principle it will then only be necessary to modify the page format) to create reports perfectly defined for the request defined in this way.
On the other hand the additional conditions linked to the request :
the selection criteria, which are the logical expressions applied to the fields in the table, and can include constants, functions and operators. Only the lines in the table that satisfy these conditions will be extracted. The formula editor is used to simplify the writing of such expressions.
the conditions for the link between the different tables in the request. In the absence of conditions, the requestor searches for the possible links itself. But in certain cases, there may be multiple links and in this case the link that is chosen is randomly : for example, from the order header to the customer, there are 4 different links to the customer (sold-to, paying, bill-to, group). Thus it is preferable, in the complex cases, to define the links explicitly.
The definition of a link is made with the help of the syntax [F:ABV1]CLE=expression1 ; expression2 ..., or :
[F:ABV1]CLE is the key of the linked table. Using the right click, there is access to the Table choice function, which proposes the list of all the tables presented in the first tab. The selection of a table leads to display a first index in the table. If another index is required, the function Choice of an index is also accessible via right click, which will propose the choice from amongst the list of all the indexes for the table previously selected.
expression1, expression2 are the expression are used to give the values to the different fields the key previously defined (if the key is made up of a single part, there is only one expression, if not the expressions are separated by a semi-colon). Also available is the Choice of field function, which can be used to enter the different values for the key in the fields for one of the tables concerned. After the choice of the key, which displays the number of semi-colons defining the sections of the key to be entered, this function is used to successively fill all the missing sections. It should be noted that it is also possible to enter the constant sections of the key (for example, it is possible to imagine a link to the analytical dimensions table by fixing the first field to a given analytical dimension).
Close
Fields
The following fields are present on this tab :
Block number 1
| Used to define a logical number of lines by page in the inquiry screen generated by the query designer. If this number of lines exceeds the number of physical lines that can be displayed, a scrolling bar appears on the righthand side of the grid. Buttons located in the upper part of the screen will enable navigation between logical pages (view next, previous, last, first page). |
| The maximum number of lines corresponds to a query parameter (maxrows) that stops the search once the number of lines meets the conditions that have been found in the database (these lines will then be sorted, but the database does not guarantee that the N lines found are the first N in the sort order). This represents an optimization used to limit the database load. |
| Makes it possible to fix the first x columns of a grid in the case of horizontal paging. |
| Allows the stopping of the search after this period of time. (expressed in seconds) This makes it possible to avoid waiting too long a time, namely in the case where a new query is being set up. Note: Contrary to the maximum number of lines, this information is not transmitted to the data base. The maximum time can be exceeded if the duration of the inquiry is too long. |
| It defines the code of a report that will be associated with the File / List function from the query inquiry. If this is not entered, the report ALISTE is used, which will submit a default page format. It is possible to duplicate this generic report (in principle it will then only be necessary to modify the page format) to create reports perfectly defined for the query thus defined. The report code entered here can be associated with a set of print codes via the dedicated function. |
Selections
| Used to enter selection criteria, which are logical expressions applied to table fields, and that can include constants, functions and operators. Only the lines in the table that meet these conditions will be extracted. The formula editor is used to simplify the writing of such expressions. |
Links
| It is necessary to define here the links that have not been defined in the dictionay or which have to be used in priority. The link structure must correspond to the key of the file to be linked. It must have as many fields separated by semi-colons as key parts. In effect, the exact syntax is the following: [F:ABV1]CLE=expression1 ; expression2..., where: [F:ABV1]CLE is the key of the linked table. Using the right click provides access to the Choose a table function, which submits the list of all the tables presented in the first tab. Selecting a table leads to the display of the first index in the table. If another index is required, the function Choose an index is also accessible via right click, which will make it possible to choose from amongst the list of all the indices for the table previously selected. expression1, expression2 represent the expressions used to give values to the various fields of the previously defined key (if the key has only one part, there is only one expression, otherwise, the expressions are separated by a semi-colon). There is also the Choose a field function, used to enter the various values of the key with fields of one of the tables concerned. After the choice of the key, which displays the number of semi-colons defining the sections of the key to be entered, this function is used to successively fill all the missing sections. It should be underlined that constant key parts can be defined. From the database perspective, this syntax defines left outer joins. It should be noted that a second syntax enables strict joins to be created (which can be interesting from a performance point of view). A tilde (~) is then added to the syntax which becomes: [F:ABV1]CLE=expression1 ; expression2... |
Close
Presentation
This tab is used to enter the information linked to the access management :
an access code is used to control the access to this request : the right to modify or execute that is used to establish the access control in the request management function. The enquiry right is also used to make it possible to view the result for a request that has previously been executed (in the case of a shared request, for example). The execution right controls who can execute the request in question (by refreshing the request or by modifying the parameters and then re-executing it).
A Shared request flag. If this flag is ticked, a request executed by a given user is visible by default to all the users that have access to it. If the box is not ticked, each user launching the request creates a set of data that belongs to them and which cannot be viewed by anyone else. Shared requests are useful in that when a large request is launched at a given moment by a single user, a group of users can then access the common information. It is recommended, for this type of request, that only one user can execute the request, the others having enquiry access. In addition, it is preferable to run this type of request in batch mode if it is of particularly large ; the corresponding batch task code is called CALALH.
An object code and a function code used to determine the authorisation filters applied when constructing the request. These filters are the filters by site, by role and by access code. The principle is as follows : The object code is used to define the access code and the site code on which the filter will be made. This filter is then carried out as a function of the authorised sites and the access rights assigned to the user executing the request. Similarly, the filter on the roles, defined by the object code, is also applied. This of course supposes that the table on which the filters are carried out is part of the generated request. This means the table containing the access code, site site fields, and when necessary the field defined by the roles assigned to the user. This is not necessarily the principal table in the request : for example, a request on the customer order lines can be filtered with respect to the given authorisations in the customers.
Warning, these filters are only applied during the execution of the request and not during enquiry. This is important if the request is shared, for example or if the filters by site for a user have changed between the time when the request has been calculated and the time when it is viewed.
It should be noted that, if a function is mentioned in the request definition, this function is checked to ensure it is authorised for the user on starting the enquiry (for at least one site, if its authorisation is made by site) only when the request is not shared. If it is shared, the authorisations of the person that executed the request are applied and shared with all those that have the right to view it. It is therefore necessary to be very careful when defining the authorisations of the shared requests if they concern sensitive data. This is done using the access code located in this tab.
Close
Fields
The following fields are present on this tab :
| Used to manage the display of a query in inquiry mode, with the following behaviors:
|
| Used to make a classification criterion available for requests. |
| This access code is used to to limit access to the current record for certain users. The execution right controls who can execute the query in question (by refreshing the query or by modifying the parameters and then re-running it). |
| Used to determine the authorization filters applied to the forming of the query. These filters are the filters by site, by role and by access code. The filtering principles are the following:
This of course supposes that the table on which the filters are carried out is part of the generated query. What is meant here is the table containing the access codeand site code fields, and, when necessary, the field defined by the roles assigned to the user. This is not necessarily the main table in the query: for instance, a query on document lines can be filtered with respect to authorizations given for the fields of tables linked to the document header. Warning, these filters are only applied during the running of the query and not during inquiry. This is important if the query is shared, for instance, or if the filters by site for a user have changed between the time when the query has been calculated and the time when it is viewed. |
| Used to link the authorizations to access the query with those authorizations granted on the function. The principle is as follows: upon entering the query, it is checked that the linked fucntion is authorized to the user (for at least one site, if the authorization on said function is granted by site). This is checked only in the case when this query is not shared. In effect, if the query is shared, it is admitted that the authorizations of the person that run the query are applied and shared with all those that have the right to view it. It is therefore necessary to be very careful when defining the authorizations of the shared queries if they concern sensitive data. This is done using the access code located in this tab. |
Close
Fields
The following fields are present on this tab :
Graph
| This field is used once there is more than one numeric value in the grid that is likely to be presented in a graphical form. It can take one of two values :
|
| When several series are presented in the graph (provided that the presentation of all the series is identical and is not by sector type), it is possible to specify how the series values are combined in the display, by entering the following value :
|
| Defines the graphical representation used for the data to be presented (from the choices Bars, Lines, Area, Sectors). An image is displayed as a function of the choice made illustrating the type of presentation obtained. If only one series of values is available, the graphical representation is by default fixed by this parameter. If several series of values are presented, it is possible to mix the presentation modes (one series in the form of bars, another in the form of lines for example). In this case, each series of values is represented as a function of the field Representation located in the grid of fields :
When used, if the representation of the series is homogenous (that is there is only one series in the graph), there is a graph type selector for the user to select a different mode of presentation. |
Block number 3
| Image explaining the information previously entered. |
Block number 2
Block number 4
Close
This button is used to copy the request to a folder accessible from the server where the current folder is located. |
This button is used to execute the current request. The execution triggers the update of a temporary table and links to the request display function, which is used to view the detail of the movements, but also to successively aggregate at the different break levels defined. |
This function is used to specify the logic for moving through the tables that are going to be used taking into account the selected tables and the links implicit from the dictionary. Displayed in an information box is the name of the principal table and the list of links used to access the other tables defined in the request.
In addition to the generic error messages, the following messages can appear during the entry :
There is no line in the requests grid.
The limits are exceeded in the request. The number of sort criteria is limited to 8 and the number of ranges and totals is limited to 10.
A calculation formula has been used in an expression that includes the fields for a table that is not linked.
The table or the field does not exist in the dictionary.
A field is indexed with a value that exceeds the dimension of the field.
The links between the tables could not be established from the dictionary. Either there is an error in the request, or it will be necessary to specify in a detailed fashion the links in the Advanced tab.