# 1 Connection groups

Databases / Connection groups
The connection group is a set of specifications used to make the physical connection to the databases assigned to this group. In order for users to access the databases, they will be assigned the connection group corresponding to their functional profile.

The Copy function allows the creation of a new connection group using the reference group from which we have made the request as a reference model. That is, they will have the same options, databases and permissions (except for the password, which automatically changes and needs to be modified).

IMPORTANT: this function also copies the physical user of the connection group. To avoid traceability issues when changes to the database are performed through this new connection group, it is mandatory to modify the physical user and the password.

This change can only be made using the menu option Database server/Database server.

wic_database_group
Label Description
Code Database connection group code
Access If access to the secondary server is allowed, read-only objects (which do not allow transactions) are automatically redirected to the secondary server defined in the main server specification.

• Default: 0
• Values:
• 0: Only primary.
• 1: Allow secondary.
Synchronous closure

The closure of a connection can be synchronous or asynchronous (thread independent)

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Protocol Indicates allowed access protocols:
• HTTP: users of this group can only access via HTTP, that is, through a browser interactively.
• SOAP: users of this group can only establish WebServices calls using SOAP protocol.
• ALL: users of this group can access through both protocols.

• Default: 0
• Values:
• 0: HTTP.
• 1: SOAP / REST.
• 2: ALL.
Show secondary In case the group allows access to the secondary servers, enabling this option, databases of the secondary servers (mirror) will be displayed in the Applications menu to facilitate direct selection by user.

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Minimum number of active connections If this number is greater than 0, the system will keep in the connection pool, for this user, as many connections as indicated. When the activity goes down and they expire due to time, the system will close the available connections until reaching this minimum.

• Default: 0
Maximum number of active connections

Maximum number of simultaneous connections allowed to all users who belong to this group. When the user requires a new connection, if there is no free one, the system will create it, but this maximum will never be exceeded.

• Default: 5
Minimum number of active connections for TX Si este número es mayor de 0, el sistema mantendrá en el pool de conexiones para este usuario, tantas conexiones como se indique para operaciones transaccionales.

• Default: 0
Maximum number of active connections for TX Este número indica el número máximo de conexiones permitidas para operaciones transaccionales. 0 indica que las operaciones transaccionales utilizan las mismas conexiones que las no transaccionales.

• Default: 0
Time in seconds that can wait to acquire a connection When the server has to take a new connection for this group, if there is no free connection, it will wait for this time indicated in seconds. In case of exceeding the time without having finished successfully, an exception will be generated.

• Default: 10
Maximum number of rows displayed in query This number sets a limit to the number of maximum records displayed when making a system query. If the value 0 is reported, we are indicating that for this connection group there is no limit in this regard.

It is advisable to set a limit based on the volume of information required for each group or category of users. This parameter can be adjusted to the extent necessary.

The fact of establishing a limit in this regard, avoids overloads of queries to the system, especially when they are unnecessary or have been made by mistake.

This limit will also be used during printing of unformatted lists using Ascii production.

• Default: 1000
Maximum number of rows displayed in an auxiliary query. Maximum number of rows returned in an auxiliary query (Helpers, Soft-Reference, Pick-List).

• Default: 500
Maximum number of rows displayed by a channel (portal) Maximum number of rows displayed by a channel in the Desktop portal.

• Default: 100
Maximum number of rows printed in lists (FOP)

It sets a limit to the maximum number of records returned in the issuance of formless documents using XSL Formatting Objects transformers. If a negative value (-1) is reported, we are indicating that for this connection group there is no limit in this regard.

#### List without form

These documents are lists of record by record, balance sheet reports, etc. In definitive, they are all the reports that do not require specific submission form.

#### XSL Formatting Objects (FO)

Using the FO language, the application server will perform the relevant transformations for each type of producer.

Some of the most usual producers that can be used to issue documents without form are:

• PCL
• Postscript
• XML
• Excell
• Word
• CSV
• SOAP

It is very important to set a reasonable limit to the number of records that can be processed in a single request, so we avoid overloading application server. This parameter can be adjusted to the extent necessary.

If the number of rows to be printed exceeds this limit a warning will be issued.

For the issuance of larger lists, users must use production printers Ascii - PCL . This type of production will only be limited by the value reported in Max read (group_maxqrows) field because they do not require transformation of type FO .

• Default: 500
Maximum number of documents printed in PDF

It sets a limit to the maximum number of registers returned in form-based issues, using transformers XSL Formatting Objects .

#### Documents with form

Most of the application dictionary objects incorporate forms, depending on:

1. Forms for representation or printing of documents, for example, order orders, invoices, contracts, etc.
2. Data entry forms.
The application allows automatic generation of representation pages for printing.

Each selected record will usually generate a printing form of one or more pages.

Forms can be used, however, for the issuance of simple relationship listings. In that case, the limit of emission volume control that would be applied would be the one reported in FO Print Listed (usr_maxfrows) .

#### XSL Formatting Objects (FO)

Using the language FO the application server will perform the relevant transformations for each type of producer.

The types of producers that can be used for the issuance of pages of documents with form are:

• PCL
• Postscript
• XML

It is very important to establish a reasonable limit to the number of records that can be processed in a single request, so we avoid overloading the application server. This parameter can be adjusted to the extent necessary.

• Default: 10
Maximum number of ResultSets in cache Maximum number of ResultSets stored in cache

• Default: 100
Maximum number of rows cached per ResultSet Maximum number of rows cached per ResultSet

• Default: 1000
Store cached ResultSets on disk Stores cached ResultSets on disk instead of, by default, on memory.

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Time (seconds) of life of an object in memory Expiration time (seconds). (DEPRECATED)

• Default: 900
Maximum number of cursors stored in cache Maximum number of cursors (main SQL Objects) stored in cache

• Default: 10
Cursor persistence (sec) Maximum time in seconds for a cursor to remain in cache memory

• Default: 300
Maximum number of alive objects in memory Max number of dictionary lisits. (DEPRECATED)

• Default: 25
Life time (seconds) of an object in memory Expiry time of a list (seconds)

• Default: 900
Maximum query time in seconds before cancel Maximum number of seconds that a statement can be run before being canceled

• Default: 300
Time (seconds) of delay pre-closure socket Permite especificar un tiempo de protección para la cancelación de un socket de lectura. Si se indica 0 no hay límite de tiempo. Este valor permite proteger el sistema contra fallos esporádicos en las comunicaciones entre el servidor de aplicaciones y el agente de base de datos, debidos al layer de más bajo nivel (adaptadores de red, sistema operativo, etc). Si el valor es positivo, indica el número de segundos tras los cuales, el socket se dará por cerrado. Nunca ponga este valor inferior al valor de tiempo de cancelación de una consulta dado que esto provocará un ruptura del "hilo" en el tiempo especificado. Un valor recomendable para el caso en que fuera necesario sería el valor del intervalo de cancelación de consultas (usr_qtimeout) + 30.

• Default: 0
Maximum time in seconds to pass query to background If the execution time of an object exceeds that indicated in this field, it would be run in the background. This implies that its result will no longer be displayed on the screen, but that a control record will be created in JREP Jobs of the task monitor.

A zero value in this field will prevent execution control from transferring to the background.

• Default: 0
Minimum time (seconds) to execute a query to be reported Tiempo (segundos) de espera de una consulta para ser reportada en la salida estándar o en el fichero catalina.out
Maximum idle time in seconds before closing connection For performance purposes, idle connections exceeding this limit will be automatically closed

• Default: 300
Maximum number of check-outs before closing connection For performance purposes connections are automatically closed after a predefined number of utilizations. If required new connections will be opened automatically. Minimum value is 100.

• Default: 1000
Maximum number of historic data records Maximum number of SQL sentences during the connection lifetime (FIFO)
Test on borrow connection Indicates if it performs a test on each reused connection

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Number of rows in init fetch Number of rows load in the buffer in init fetch. (DEPRECATED)

• Default: 10
Rows in buffer

Size of the "buffer" where the query logs are loaded.

The intermediate storage files facilitate the paging of the information generated by the database query cursors.

The size of each file (buffer) will correspond to the product between the number of records specified in this field and the size of the record returned by the query cursor, being this variable depending of its characteristics. In addition, special records of totals for breakout groups and global totals, required in most reports, should also be considered.

Cursor cache configuration examples
Type Expire
objects
in seconds
(usr_jreptime)
Number of
objects
(usr_jrepsize)
Number of
records
per chunk
(usr_fetchbufsize)
Refresh in
transactional
objects
(usr_refreshdelay)
Low 300 10 55 30
Medium 600 25 105 30
High 900 50 205 30

Buffer file size

It is very important to ensure that the number of records in the intermediate files (buffer) is a multiple value of the number of display records of our users plus a reduced number of records for prospecting continuity.

Number of records in the buffer files = Number of page display records per user * (n> = 1) + 5 records for query continuity survey.

The 5 records reserved for consultation continuity prospecting should allow the application server to know a priori the existence of extra information beyond the page that the user is viewing at a given time.

Examples of intermediate storage file management
Type Maximum number of viewable records per page Read ahead Calculation Number of records per chunk (usr_fetchbufsize)
Low 20 2 20 x 2 + 5 45
Low 50 1 50 x 1 + 5 55
Medium 100 1 100 x 1 + 5 105
Medium 50 2 50 x 2 + 5 105
High 100 1 100 x 2 + 5 205
High 50 4 50 x 4 + 5 205

Clob type columns are serialized in intermediate files (chunks). However, blob type columns are not.

This is because the content of the clob columns is the text type and its information must be displayed online, but not the blob columns, which are binary information that can only be represented or expressed in specialized applications that will be called on demand by the user.

• Default: 55
Time in seconds to delay before reload row Minimum time, in seconds, that has to pass from the completion of the query for row reload on transactional objects.

Recommended values are between 30 and 60 seconds. Lower values should be for special cases in which it is considered that lower performance may occur.

• Default: 30
Verify integrity before updating This indicator, if active, causes the server to check that the record data displayed and those in the database are the same before modifying this record.

It checks that the data displayed from the client (browser) are the same as in the database, to avoid modifying a record that has been modified by a second user, after the the first one had made the query.

This is useful, for instance, in forms where an operation can be done only once, such as making payment, closings ...

1. User A makes a query.
2. User A has the result of the query in his browser.
3. User B makes a modification to a record that user A is displaying.
4. User A is about to modify the registry that, in the meantime, has been modified by user B.
• If this indicator is not active, the modification of user A is carried out without problems.
• If this indicator is active, modification of user A is not allowed.
5. Forcing a data updating, the existing data in the database is returned to the screen.

• Default: 1
• Values:
• 1: Yes.
• 0: No.
Counter It shows in the header of each SQL object, the number of rows of each of table involved in the selection SQL statement

• Default: 1
• Values:
• 1: Yes.
• 0: No.
Maximum number of concurrent running cursors for the user session
Max number of cached cursors for the user session
Maximum number of seconds a cursor is kept alive while idle
Queries This flag establishes if queries made in the system will be saved for this database connection group. Queries are stored in the wic_user_qrylogs table of the wic_conf configuration database. If the indicator is enabled, users belonging to this group will be allowed to retrieve queries previously made from the input screen to the documents. Additionally, the historical display of the last used objects will also be activated.

• Default: 1
• Values:
• 1: Yes.
• 0: No.
Transactions This indicator establishes, in case of this connection group, transactions (insert, delete, update) that are made in the system will be recorded. The transaction logs are stored in the table wic_user_trxlogs of the configuration database wic_conf.

• Default: 0
• Values:
• 1: Yes.
• 0: No.
group_enable_xsllogs

• Default: 0
• Values:
• 1: Yes.
• 0: No.
XSQL-Scripts This field indicates if XSQL-Scripts executions that are made to the system will be recordered for this database connection group. The XSQL-Scripts execution logs will be recorded in the table wic_user_xsqllogs of the configuration database wic_conf.

• Default: 0
• Values:
• 1: Yes.
• 0: No.
SOAP request This field indicates if for this database connection group the requests that are made via SOAP will be recorded. Logs are saved in the table wic_user_soaplogs of the configuration database wic_conf.

• Default: 0
• Values:
• 0: None.
• 1: Basic.
• 2: Extended.
Api logs API logs

• Default: 1
• Values:
• 1: Yes.
• 0: No.
Tables of Database configuration available for SELECTs Regular expression that determines which are the available tables for SELECT's operations on wic_conf database for this group. This field allows this group to make SELECTs on the wic_conf database via XSQL-Script programs, using the tag select with the attribute config='true, as for example: ]]> If the table wic_mobile_devices is defined in this field, then the SELECT will be done. If it is not included in the available table list, an exception occurs. The field value must be a regular expression to indicate the pattern of table names. For example: (wic[_]mobile[_][\w\.]+$) to indicate tables that start with the pattern wic_mobile_ or (wic[_]mobile[_][\w\.]+$)|(wic[_]cal[_][\w\.]+\$) to indicate tables that start with the pattern wic_mobile_ and wic_cal_ as well.
Description Description of the connection group
Actions
Button Title Notes
BUT_COPY Copy Realiza la copia de un grupo de conexión a base de datos tomando de referencia a otro grupo de conexión.
BUT_CHECK_CONNECTIONS Check connections Invoca un objeto con xsql embebido y devuelve una tabla virtual con el resultado de los test de conexión.

## 1.1 Database

List of Databases managed by this group. For each Data Base the group defines:

• Transactional authorizations
• Available SOAP services
• Global security roles
wic_database_group_objects
Label Description
Group BD connection group
Database Database code
DB user Database connection user
Access from DBStudio Indicator that allows access from the DBStudio tool to this database.

• Default: 0
• Values:
• 0: None.
• 1: Full (primary and secondary).
• 2: Mirror (only in secondary).
Insert It indicates if the user can insert rows in this Data Base It doesn't override the global database Insert flag.

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Delete Enable / disable authorization to delete rows. It doesn't override the global database Delete flag.

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Update It indicates if the user can update rows in this Data Base It doesn't override the global database Update flag.

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Processes Enable / disable execution of process on this Data Base. It doesn't override the global database Process flag.

• Default: 0
• Values:
• 1: Yes.
• 0: No.
APP Access authorization from mobile clients via SOAP

• Default: 0
• Values:
• 1: Yes.
• 0: No.
OBJ Authorization to execute SQL Objects via SOAP

• Default: 0
• Values:
• 1: Yes.
• 0: No.
XML It indicates if the Data Base allows execution of XML code

• Default: 0
• Values:
• 1: Yes.
• 0: No.
SQL Authorization to execute SQL statements via SOAP

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Cataloged SQL Preferred option to execute SQL statements (more secure)

• Default: 0
• Values:
• 1: Yes.
• 0: No.
API API

• Default: 0
• Values:
• 1: Yes.
• 0: No.
Aplications Code of the Role used to define the list of allowed or denied objects / Channels

• Case: Upshift
Desktop
Not well formed content
Security Code of the Role used to define semantical security restriction. (through a piece of SQL statement to be injected)

• Case: Upshift
Transaction Code of the Role used to define transaction authorizations at Table level.

• Case: Upshift
Default values Code of the Role used to define the default values to be used in forms.

• Case: Upshift
Lock objects Code of the Role used to define temporarily blocks for objects.

• Case: Upshift
OLAP The indicated code must be the same used in OLAP XML Schema
API REST functional role

# 2 Home URL

Definition of the initial panel that is showed when the database is selected. The panel for the browser and mobile environments can be diffent. It is possible to define a particular panels for differents database connection groups.

wic_dbms_homeurls
Label Description
obj_code
obj_user
obj_tab_html
obj_tab_soap
obj_url_html
obj_url_std