# Number Server

## Key Features

| The number server provides the following functions: Open Number Server Define the Enumeration Circle Integration of the Number Server
| ### Open Number Server
| The number server is called up from the Manager menu: Manager > Tools > Number Server. This menu is only available for users that are logged in with manager privileges.
| ### Define the Enumeration Circle
| Individual enumeration circles can be defined for all masks and functions. Enumeration circles may consists of different ranges. Each range can have a fixed or variable size. Any combination of characters and/or digits is possible.
| Function of the number server fields
| Once the number server has been called up it is displayed as a combined mask with two parts: general information (form) enumeration ranges (list) the individual fields are defined as follows:
| Enumeration circle | The name of the enumeration variant. This name must be assigned in the corresponding field of the mask as a standard value.
| Cyclic Counter | This flag defines if cyclic counting is enabled. If activated, the numbers are reassigned with a negative stepping once the maximum or minimum value is reached. No further records can be created if the flag is deactivated.
| Step | The enumeration stepping (positive or negative) for IDs.
| Cur.no. | The current start ID for this variant. This is where you define the start value of a variant.
| Minimum | The lowest ID of the enumeration variant.
| Maximum | The highest ID of the enumeration variant.
| Alarm number | Once this number has been reached, the system generates a message informing the owner that the enumeration circle is about to be filled.
| Column | The start position of a range within the ID.
| Width | The width of the range.
| Text | This flag defines if the field (range of values) contains a fixed text or a value range.
| Length | This flag defines if the value range is displayed with a fixed or variable length, e.g. leading zeros are suppressed if the flag is not set but will be displayed if the flag is active.
| Value range | Value range or fixed text of this range.
| IDs may be assigned in descending order (with a negative stepping). However, negative start values are not permitted.
| ### Integration of the Number Server
| In order to integrate the number server into an Agile e6 mask, the following conditions must be met and some actions may have to been taken. In order to integrate the number server, the user must be logged in with customizing privileges. The field containing the enumeration circle that is to be incremented automatically by the number server must have the suffix "_ID", e.g. table and field name: „T_MASTER_DAT.PART_ID". An enumeration circle with the syntax of the number server must be defined. In the mask from which the number server is to be called, the "nsv_usx_pra" must be entered as "Edit-Action-Userexit". If there is already a userexit present at this location, LIST_A must be added to the userexit text (e.g. LIST_A xartic_action (/FIELD_TYPE = ENTITY) & nsv_usx_pra). For the Field from which the number server is to be called, the default setting for the name of the enumeration circle must be entered with a leading hash sign (#) (e.g. #SNR1). Once the range settings are defined, the number server will be activated automatically to generate a valid ID whenever a record is added.
| Combining multiple variants in one field
| Multiple enumeration variants can be combined with a fixed text. To this end, enumeration variants must be enclosed by hash signs (x). The hash sign (#) is used as a delimiter defining the beginning and end of an enumeration variant, e.g. to combine the variants SNR1 and SNR2. #SNR1##SNR2 Important: Note the 2 # in the center of the string! OR use #SNR1#TEXT#SNR2 When combining variants, both variants are incremented simultaneously.