Number range

Number ranges provide unique numbers or strings, e.g. to use as barcodes or IDs.

These unique identifiers can be generated and assigned automatically in Lobster Data Platform / Orchestration. Event actions (Generate barcodes (Order), Generate barcodes (Shipment), etc.) assign barcodes to business objects or their line items, based on a configurable reference to a specific Number range type.

Besides, the Number range value resolver can be used to request values from a Number range type, e.g. as input for a Set value event action.

Since the capacity of a number range is always technically limited, Lobster Data Platform / Orchestration provides mechanisms to ensure an organized changeover from one number range to a follow-up of the same type.

For each number range, an alarm threshold for percentage of spent capacity can be defined, e.g. to trigger notifications by mail (see Number range (Events)).

Dynamic determination of the number range 'in charge'

Upon each request for a number of a certain Number range type, the number range 'in charge' is determined dynamically.

This process starts by evaluation of the following criteria to identify qualified candidates among all number ranges:

  • A number range must be configured to match the requested Nummernkreistyp.

  • The number range must be flagged as Active in its configuration.

  • At least one of the Association criteria assigned to the number range must be true and readable in the given context.

►NOTE◄ Permission to read a matching association criterion is sufficient to request numbers from a number range. Permissions for the 'number range' itself are not required as they only concern the context of configuration.

  • If more than one number range qualifies by the above criteria, the choice is further restricted to the one(s) referring to the association criteria with the highest priority value ('best-matching', see Association criteria).

  • Only if this constraint still renders multiple candidates is the Priority configured via the Number range tab considered.

Configuration of number ranges

images/download/attachments/62850144/image2018-11-26_12-46-9-version-1-modificationdate-1603450999656-api-v2.png

The subcategory Details features the basic operations New, Delete, Copy, Save as well as the Begin test button (see Tests).

The Clear and Search buttons in the subcategory List (3) control the list area (10).

The Assign (3) button opens a sub-menu for adding or deleting assignments for Association criteria.

The subcategory Number range (4) features specific operations for number ranges:

  • The Preview button populates the preview window in the Number parts tab (see below) with a set of sample data sized by Count.
    ►NOTE◄
    Previews can also be generated in the test mode (see the Begin test button and Tests).

  • The Show latest value button indicates the latest number issued by a number range in a message box.

A Name (5) for the number range must be indicated, but is not required to be unique, since number range configurations are identified by ID and requests to number ranges only specify a Number range type (6).

For each number range a Number range type – see Type (6) – must be selected, which is matched against a request for numbers by Event handling.

The checkbox Active (7) specifies whether a number range is considered at all when a request is processed. In case a number range fails to generate a number, it is automatically deactivated (see Number range (Events)).

The Priority (8) value is considered by the dynamic determination process as the least significant of all criteria (see above). Priority can be used to control an automatic switch from one number range to another, when the capacity of the current number range is exhausted. For this purpose, the successor should be configured with a lower priority than the number range it is going to replace, assigned to the same association criteria (see above section 'Dynamic determination ...') and activated.

The Alarm threshold (9) indicates the percentage of exhaustion for the capacity of the number range, at which the action event 'Alarm threshold exceeded' (see Number range (Events)) should be triggered. Actions for this case must be specified by Event handling.

The list area (10) in the lower section of the view shows all number ranges visible in the context of the current session.

►NOTE◄ This list does not necessarily show all number ranges that are relevant for number range operations in the current context, since read-access to the configurations is not required for number requests, as long as association criteria can be 'read'.

Number parts

images/download/attachments/62850144/image2018-11-26_14-22-39-version-1-modificationdate-1603450999653-api-v2.png

The tree view (1) to the left shows a hierarchical representation of the elements configured for a number range.

The hierarchy of the number parts is visualized in a linear sequence in the top section of the editor (2). The order of the number parts in this hierarchy can be rearranged by drag & drop.

Number parts can be added by clicking the + symbol (3) and deleted by clicking the trash can symbol (4). Available number part types depend on licensed/installed modules.

Configuration parameters for the selected number part – Checksum (5) in the image – are available in the details section (6).

The preview area to the right of the editor can be updated by the Preview button (described above).

Number part types configuration

The following parameters are available for all types of number parts:

  • A description to characterize and identify the number part in plain text.

  • If a reference to a dynamic number part (see Dynamic (Number part)) is provided by selection for Part triggered by, the current number part will only be triggered when an overflow of the referenced number part occurs (see example below).

Details per number part type are describe in the following pages:

Example for conditional triggering of one number part by another

A number range shall be configured to issue IDs representing the seating plan of an airliner, on the simplifying assumptions that rows use (all) ascending numbers from 01 to 32 and are all equipped with 6 seats identified by the letters A, B, C, D, E and F.

The 'seat numbers' should be issued by the number range, populating the rows front-to-back and within each row from A to F.

A combination of two dynamic number parts (see Dynamic (Number part)) linked by a trigger will do as follows:

images/download/attachments/62850144/image2018-11-27_11-43-24-version-1-modificationdate-1603450999641-api-v2.png

images/download/attachments/62850144/image2018-11-27_11-43-51-version-1-modificationdate-1603450999631-api-v2.png

  • For 'rows' a dynamic counter uses a Start value of 1 and an End value of 32. Width 2 (characters) and Fill character '0' ensure leading zeros for the first ten rows.

  • The symbolic letters for seat positions within the row are generated as hexadecimal numbers (A=10, ..., F=15), by setting a Start value of 10, an End value of 15 and a Base of 16.

  • The setting for Part triggered by for the 'row' number part is important, as it defines the overflow of the number part for 'position' as a trigger for moving to the next 'row'.

Results: (preview for the first 20 seats)

images/download/attachments/62850144/image2018-11-27_11-27-7-version-1-modificationdate-1603450999645-api-v2.png