scanlink hibc s only error enWhen decoding a HIBC structure without lot and with an extended serial field, the error message to the right arrised.

This could be tested with the data:


This bug is corrected in version 5.0.3101

scanlin hibc iac

HIBC labelers with LICS not starting with "E" were not displayed in clear text and the corresponding variables were not set.

The upper bug was corrected, see sketch to the right.

In addition, the corresponding fields were adjusted in accordance to the configured HIBC IAC mode (here "force EHIBCC"). All fields are set to IAC "LH", even if the LIC is issues by "HIBCC".

Corrected in ScanLink 5.0.3074

Elmi-Scanlink and Elmi-TSLink are now available for the following platforms:

  • Windows CE 5-7
  • Windows Mobile 5-7

An internal scanner is verified to work for the devices:

  • Datalogic Falcon

Further may be verified on request.


The available features are:

  • Keyboard emulation
  • Scan processing
  • file processing
  • web service client


Currently not available are:

  • Active-X Server
  • Service execution
  • Data base support


Supported applications are off-line applications (with ScanLink) or Terminal Server applications (with TSLink).

scanlink web service call enThe KSP Programs Elmi-ScanLink Integration, Elmi-PortLink Server and Elmi-PrintLink Enterprise now feature a Web Service call step (from Version x.x.2983).

This allows to call methods in ERP systems like SAP to gain informations like an internal article number or to invoke functions like a data base storage.

The Web-Service call step type may send and receive scalar values, lists and even Tables of data. Also the binary data types are supported.

If a replacement tag is used to fill the output with leading zeros like <Name:018>, the input data may be truncated before filling.

Applies to: all products with KSP technology: ScanLink, PrintLink, PortLink

Fixed in: x.x.2949 (2015-04-06)


Data: Name: "ABC", Tag: <Name:018>, Result: "00000000000000000C" (AB was removed).


For truncation, the number was interpreted as octal, if there is a leading zero. As 8 is not a valid octal character, only "01" was taken. Thus the string was truncated to 1 character before filling.


As the programs envolve, the number of available step type growed now over 30.

Winthin version x.0.2938, the new step menu may be structured into 4 or 5 sub-menus, as shown to the right.

There are two settings supported:

  • Group the advanced steps in the advanced menu or in the corresponding type menus
  • Minimum number of menu entries where the submenus are shown. If this limit is not reached, a flat menu is shown.

scanlink step add submenus en
New step menu with sub-menus

scanlink options processui add menu en
Options for the new step menu

scanlink webservice clientWeb Service Calls may be invoked using the step type 'Web Service Call'.

This step supports input and output data with (nested) values and lists and matrixes.

A matrix is an array of a complex type with only single types as members.

Basic authentication is supported.

The purpose of the module is to call methods of SAP. Nevertheless, it may be used with many other Web Services.

This step type is available for ScanLink Integration, PortLink Server and PrintLink Enterprise from Version x.x.2919.

scanlink 34l

The DI's "33L", "34L" (see picture) and the AI "8020" are now supported by scanlink and contain or generate an URL.

In the analysis window (see picture), a browser may be opened by clicking on the URL.

The example to the right show, how the "Pointer to Process (P2P DI)" works:

  • A base URL is given as data to DI 34L: "HTTP://ELMICRON:DE/S="
  • All other data contained in the same code symbol is attached after the base URL as variable data. This is the article number (25P) and the serial number (S) of the device.

This functionality is only available for ScanLink Version 5.

elmiware multiple start abort

A check for multiple execution was included into ScanLink/PortLink/PrintLink from Version.

If an existing program is used which uses the same configuration, the vitality of the program is checked. Within this check, a small message is shown. If the program answers, the newly started program stops with the message shown to the right.

This action is triggered by a run file 'running.txt' saved in the config folder. It might be activated, desactivated or moved to the temporary folder in the program configuration.

This feature is present for program versions x.x.2735


scanlink paperedi xml


The Paper-EDI scanning of Elmi-ScanLink is now extended by a new module called "Paper-EDI In".


If this module is loaded, the structure of Paper-EDI codes is checked deeply and this process step is called on terminated scan sequence. If not loaded, Paper-EDI codes invoke the step "Scan In".

It provides the head fields like delivery note number as single fields and a matrix with the table data like article numbers, lot numbers and quantities.

CSV File

This data may be directly saved as a CSV table file or saved in a data base.


The new step "XML generation" allows in addition to transform the data in a hirarchical xml structure to save the data for example similar to an SAP IDOC.

The new functionality is available for Elmi-ScanLink Version 5.0.2628, XML output also for Elmi-PrintLink 3.0.2628

scanlink bug raw curly en

Elmi-ScanLink showed an error box for raw structures when the data contained curly braces "{".

This is fixed in version x.0.2571.

Sorry for the issue.

scanlink hibc2.4 en

The extensions of HIBC Provider Standard 2.4 were implemented in Elmi-ScanLink including:

  • Optional Lot and Serial Number in one code
  • Optional Production date
  • Other DIs may be activated by a configuration option (experimental)

This enhancement applies to:

  • Elmi-ScanLink Check/Verify/Integration from Version x.0.2523
  • Elmi-Scanlink Embedded from Version 2.8

On the screenshot to the right, a HIBC 2.4 code is analyzed by Elmi-ScanLink Integration.

scanlink issuing agency missing en

The following bugs were fixed today in ScanLink x.0.2515:


  • A Data Identifier with no found issuing agency code gave an error with an empty error message. This is corrected, as seen in the screen-shot to the right.
  • The Scan Data Capture of the raw structure wizard did not work
  • The Datamatrix Symbology name for OPOS was "DataMatrix" and not "Datamatrix".


In addition, the device data base was fixed to reinclude the scale and the waiter lock as normal devices, which is mainly important for Elmi-TSLink. Those definitions were overwritten by definitions for the process step "port".

tslink thinclient deElmi-TSLink allows to forward a bar code scanner attached to a terminal client to an application on the terminal server (ex:Elmi-ScanLink).

Elmi-TSLink was adopted to the Linux Thin Client HP T5570 with ThinPro Operating system (Linux 32 bit).

The screenshot to the right shwos Elmi-TSLink as a window on the ThinPro Desktop.

tray ready

The tray icon for the state "Ok and transmittable" was changed from the green "O" to a yellow "O".

The reason is that this is visually closer to the yellow "C" (for "continue") which is more often the meaning, that the user should scan another code. The former green "O" did not ask to continue.

This is changed from ScanLink 5.0.2410.

All file steps (file in, lookup, file variable, file out) has two modifications:

  • - Byte order mark (BOM) may be read or written when file encoding is unicode (utf-8, utf-16)
  • - The column separator for CSV files may now also be a control character like a tabulator

Those enhancements apply from ScanLink/PrintLink x.x.2409

Within keyboard-emulation, shift and number block keys like up, down, PageUp etc. did not work.

Unfortunately, SAP uses CONTROL-SHIFT-DOWN

This is fixed in ScanLink x.0.2406

Terminal Server Support was enhanced by two methods to bring the data of a local bar code scanner to an Elmi-ScanLink running in the terminal session.

Method 1: Elmi-ScanLink contacts bridge program on users local computer

Within Method 1, Elmi-ScanLink opens a client socket to the client machine to contact the bridge program "Elmi-TSLink" which has a bidirectional communication to the Barcode scanner.

This is usable within a company network and allows to connect to any type of device with a bridge program installed. This are typically PC's on Windows, Linux or MAC-OS or mobile AIDC-devices using Windows Mobile.


conf port terminal server client en

Ilustration of method 1: Elmi-ScanLink contacts bridge program on users local computer



Method 2: Bridge program contacts right Elmi-ScanLinks on Terminal Server

Within Method 2, the Bridge program "Elmi-TSLink" contacts all Elmi-ScanLinks on the Terminal Server (there is one per session) and asks, if the session name matches. If yes, the connection is established.

This method compares as follows to method 1:

  • - Also works if the client computer is behind a NAT router and may not be reached from the terminal server
  • - Link time is increased due to required session search
  • - In the client, it is necessary to configure the terminal server name.


These methods are available from Elmi-ScanLink version x.0.2404.

The bridge program "Elmi-TSLink" is available for different platforms and requires an extra licence.


conf port terminal server server en

Ilustration of method 2: Bridge program contacts right Elmi-ScanLinks on Terminal Server

The following bug was fixed in Elmi-ScanLink 5.0.2374: The program did not restore minimized if closed minimized. It started as a normal window.

elmi-scanlink url code string case en

Two new step types are added to Elmi-ScanLink and Elmi-PrintLink:


String Case

Strings may be transformed to upper case, title case or lower case strings.


(De)code URL


Strings containing URLs may be coded to a restraint character set using '%xx' sequences and changing the case of case-insensitive parts like the scheme and the host name.

This is helpful to put an URL on an RFID-Chip using 6 bit coding.


The module may also decode those URL's.


Both modules are available from version x.0.2376.

conf port wizard portlink main de

New application 'PortLink Mobile' allows to bridge a ScanLink on a terminal server to a Scanner on the client computer without any static configuration like IP-Adresses etc.

The new terminal functionality is available for ScanLink and PrintLink from Version x.0.2346.

elmiscanlink step condition output enElmi-ScanLink and Elmi-PrintLink step 'Conditional Branch' may now save results of subexpressions to fields.

The fields are only set, if the branch is executed.

To the right, there is an example, where the first character of 'Article' is saved in 'ArticleGroup' and 'Lot' is split after the 10th character to 'Lot10' and 'Serial'.

This functionality is available for ScanLink 5.0.2317 and PrintLink 3.0.2317



elmiscanlink windowin en

Within the RFID applications "Electronic type plate" and "Personal Protection Equipment", Elmi-ScanLink RFID now offers a Read/Write solution complying ISO15961 data structure.

Three step types got enhancements:


Window Input

Window Input may have a custom company logo in the upper corner. Entry fields may also be set by a Scan or by an RFID read. The window is now resizeable and a scrollbar apears if the size is not sufficient. Full-Screen mode (without any Frame and Title bar) is available to. Those extensions are also available for Elmi-ScanLink Verify/Integration and any Elmi-PrintLink Version.


The RFID control widget may be shown below the entry fields.


ASC Formatting

The formatter for Data structures using DI's may deal with tag matrixes and may prepare to lock only certain fields.


RFID-Tag writing

HF RFID Tag data may be locked per row.



An example combining all those possibilities is shown to the right. All fields are set if a tag is read. One may choose, if a the mandatory fields are locked on write. The RFID control is showen above the buttons.



elmiscanlink gs1 weight enElmi-ScanLink 4/5.0.2246 show GS1 values with AI 31.. to 36xx in a different way:


      • The field "Unit" holding the 2nd and 3rd digit of the AI is not shown any more in the analysis screen. It is renamed to "_Unit".


      • The ID contains the first 4 character of the data, and is composed of "3", _Unit and the mantissa.


The example on the right shows the result for the scan data "]C13102000001".

elmiprintlink db output enElmi-ScanLink and Elmi-Printlink now feature highly extended data base support.

There are two new step types, data base input and output.

In addition, step type "DB Lookup" was extended to smoothly go with the others.

New functionality include:

  • Start a process on any data base query result and modify the data base on the process result (ok/error).
  • Insert,Update or Remove records.
  • Allows to use DB Transaction in any situation, including automatic rollback on error.
  • Unicode support

Features are available with Elmi-ScanLink 5.0.2242 and Elmi-PrintLink 3.0.2242.


scanlink error only branch de

An error box appeared when the branch display should be displayed, but there are no U-Shaped arrows (thus no branch targets set).

This bug was introduced in ScanLink/PrintLink Version x.0.2145 dated 2013-02-26 and was fixed today in Version x.0.2207.

Sorry for the error.

elmilog emblem 76

Elmicron desktop products may suffer of a bug when the product uses a client socket to connect to a device like a bar code scanner, printer or portable. The bug degraded performance heavily and wrote the following many times in the log file:

2013-03-15 13:22:07 2 Error check error on connection 1.0: key "1.0" not known in dictionary (::port::ReadEvent 1)
2013-03-15 13:22:07 2 Error deleting write file event from port 1.0: key "1.0" not known in dictionary (::port::WriteEvent 1 0)

The bug was observed with Elmi-PrintLink and is fixed in revision x.x.2183 of all products.

Elmi-ScanLink prior to x.0.2168 showed an error box, when the "Device Support" Module was removed when the program was started with "Device User Interface" configuration on.

The error box arised when and an item of the main menu should be shown. This is fixed in the current version.

The branch display in the process step edit window allows to follow the step order. The shown arrows are now optimized to minimize crossings allowing a simpler overview. The images on the right show an example of the current and new display.

This applies to Elmi-ScanLink 5.0.2145 and Elmi-PrintLink 3.0.2145.

In addition, a framework bug was fixed, that the Configuration export may export old configuration files. It is assured, that the configuration is saved before a Config save or export.

This applies to Elmi-ScanLink 4.0.2159, 5.0.2159 and PrintLink 3.0.2159.

elmiscanlink branch display old


elmiscanlink branch display new

elmiscanLink_upos_gdmElmi-ScanLink uses the USB OPOS interface to use VCOM-like USB without the requirement of a windows driver.


The OPOS specification had one caveat in Symbology type transmission: no difference between Datamatrix and GS1-Datamatrix.


The new OPOS Specification V2.4 makes this difference and was implemented within Elmi-ScanLink.


The screenshot shows a Datalogic GD4400 scanning a GS1-Datamatrix. The symbology type is transmitted by the OPOS symbology ID '$36' and detected as such.



  • OPOS does not use AIM Symbology IDs.
  • OPOS is here the same as UPOS and JavaPOS
  • Datalogic, GS1, OPOS, UPOS and JavaPOS are propably tradmarks of Datalogic, GS1, Toshiba and ARTS.

elmiprintlink_pfilein_err_no_openThe error box on the right appeared when a data file read by the process step "File in" was not readable.

  • Introduced in x.0.1936
  • Fixed in x.0.2055
  • New feature for persistent mode: temporarly not accessable files are now accessed when they get available.
scanlink_conf_script_enscanlink_conf_wait_enTwo new step types were added in version x.0.2023 to Elmi-ScanLink and Elmi-PrintLink:
  • Wait: to wait a fix or calutated amount of milliseconds syncroneously or delaying while other actions may run.
  • Tcl script: the advanced step allows to evaluate arbitrary scripts to perform advanced tasks not jet present as standard steps.

elmiprintlink_webservice_en Elmi-ScanLink and Elmi-Printlink may be used as SOAP Web Service following WSDL 1.1.

Each start step "Webservice server" defines a Webservice Operation.

In the example to the right, the Paper-EDI generator of Elmi-PrintLink is invoked using a web service call. The code data for all delivery note pages is generated calling the web service with a table of delivery note items.

Elmi-ScanLink and Elmi-PrintLink have a new step type "Create matrix". Within its help, it is possible to create a matrix from cells, rows or columns.

The use-case is to facilate COM clients to set a matrix by its components, for example to create a Peper-EDI Symbol.

scanlink_active-xIt is now possible to use Process Chains in ScanLink or PrintLink from a COM CLient.


The new step "Active-X server" may be used to start a process chain from a COM Client.


Fields may be set by the client before the start and may be retrieved after the run.


Supported envirements are 32 bit Windows Clients with local or remote binding.


Server COM objects may be created or a present one may be used to connect to.


The example to the right uses Elmi-PrintLink to format a Paper-EDI data structure for a COM client.

scanlink_pfile_exit_enThe following errors are fixed in Elmi-ScanLink 5.0.1937, when a file input step is deleted:

  • Processing error message
  • Error on any main menu entry when last file input step is deleted.
The following modifications apply:
  • A warning message is added to the log (see screenshot)
  • The File->Open menu is cleared on deletion of the last file input step

Standard sequence state for GS1 data structure is as follows:

  • Expiry date(AI 17), lot or serial number(AI 10,21) (and other AIs but not 01,02,8003) -> ready to transmit
  • Expiry date, lot or serial number and a GTIN (AI 01), contained GTIN (AI 02) or GRAI (AI 8003) -> transmit
  • Any other -> transmit


The change in version 5.0.1934 was to add AI 02 to the list which transmits a lot, serial or expiry date.

scanlink_paths_enElmicron products now feature 3-level configuration file processing.

The following folders exists which may contain module config files:

Level Command Line Default folder Description
Prefered Config -prefconf config/cconf/preferedconfig

Values overwrite any other setting.

May only be set manually.




config/<Computer name>



2nd priority settings.

Values are saved into this folder.

Initial config -iconf config/cconf/init

3rd priority settings.

Primary used, if no custom settings are saved jet.

The contents is not any more copied to the Config folder.


Each level may be disabled by setting its path to the empty string.

Config is save to Config level, but may be directed to another folder using "-saveconf". If -saveconfig is set empty, no configuration is saved (as shown in the about->main info tab to the right).

Module config files for one module may exist in all levels. The contents shimmers from lower to higher priority settings.


In addition, it is possible, to configure and overwrite the command line parameters by the file '<initial config>/main_param.tcl'.

The file gets the current command line parameters in the array param and may modify values.

Example: Set conf parameter to the empty string:

set param(conf) ""

scanlink_adc_heuristic_messagesElmi-Scanlink fault-tolerant ADC-structure(ISO 15434) did correct any errors without any comment.


Now, there are comments added and the state of the scan changes to "Non-standard".


  • Control characters RS,GS and EOT may be replaced by other characters (in the example, all by the at-sign)
  • The final EOT may be omitted, if the RS is not replaced. This is helpful with scanners which may transmit RS but not EOT.
  • Other enhancements include the support of free text segments and the correct treatment of binary segments.
  • Standard ASC, GS1 and TEI fields without contents are not accepted any more. They cause an error with a hint to eventually remove the field. Nevertheless, the rest of the code is accepted.

scanlink_identifier_reStandard fields are configured with the file "cconf/identifier.csv". There is a new column "RE" which allows to specify a regular expression.


Using this regular expression, the following aims might be acheved:

Empty field contents may be reallowed using an accept all regular expression: ".*"
    • Field contents may be checked and invalid contents may be rejected. A rejected field will invalidate the whole code.
    • A subexpression may be specified within the regular expression. The subexpression value is taken as data.


The example expression only allows data "CMD" plus 2 letters. The given code contains 4 letters.


The example expression extracted the last 2 letters in the field "Command".

scanlink_dynamic_language_enNew step "Set language" allows to change the current user language.

The purpose is to have analysis reports in different languages.


A side effect may be seen in the log to the right: the log language changed within the log.

scanlink_installer_enScanLink installer has an option to remove the configuration of an eventual former installation of scanlink.


This deletes the folders "C:\Program files\scanlink\config\<computer name>" and C:\ProgramData\scanlink\config\<computer name>" before installation.


Using image scanner E1900 in POS mode resulted in an endless error beep after each scan.

This was due to the fact, that the scanner send a dummy scan after the emission of the beep which is interpreted by scanlink as errorneous data.

To cure this, the dummy messages must be listed as 'no read' bar codes.

The file 'c:\program files\scanlink\config\cconf\devices\index.csv' must contain a column 'lNoRead' with the following contents:

DeviceName InterfaceType Mode lCommands lNoRead lUSBSpecs
Elmiscan E1902_POS usb hid 2 trigger \4\4 transmit \4\x40 ready \4\x40 more \4\x40 ignored \4\x20 error \4\x20 fail \4\x20 ]Z6BEPEXE1\6\x2e ]Z6BEPEXE4\6\x2e type 2 vendorid 3118 productid 2343 order 10 auto 1

The minimum port module version is 5.5. ScanLink from 4/5.0.1889 supports this column.

Windows 7 did not detect german language on some swiss computers.

English language was shown.

This was due to unreliable older Windows APIs using CLID instead of the newer LocaleName.

Now, LocaleName (de_CH) is used in preference.

The error 'node "10x" already exists' arised withhin tree views with more than 10 parent nodes.

This issue was present in all scanlink versions and is fixed in 4/5.0.1871.

In 5.0.1868 corrected bugs:

  • Windows Vista/ Win 7 64bit: config folder moved to AppData\ScanLink. Before it was put in compatibility data. This might be checked in the About->Info main page looking at the config path.
    To access the virtual config folder manually, use the following path:

C:\Users\<current user>\AppData\Local\VirtualStore\Program Files\scanlink\config


  • Step: Branch on focus: find subwindows with Control ID = 0


  • Tag replacement wizards in all steps: Escape specials in default prefix and postfix strings using the "&xx" syntax.
  • "Output Box" and "Window in" steps: Insert new line using the special tag '<br/>'.

scanlink_raw_wizardIt is straitforward to define custom data structures using the raw wizard.

Specially the test pane to enter and test a regular expression describing the raw data is quite useful (shown to the right).


The ScanLink 5 wizard was still using non-themed widgets and showed a processing error if the button of a combo-box was pressed.

This is fixed in version 5.0.1794.

scanlink_buttonsscanlink_buttons_configWithin the config page "Tk GUI", one may set the list of shown buttons.


In addition, the following optional buttons are available. They are specially useful if no menu is shown:

- Exit program

- Show program configuration

- clear log window

scanlink_graiApplication identifiers treatment was enhanced:

- Lot(10). Serial(21): Check character set

- GRAI (8003) Check Issuer and checksum

- GIAI (8004):  Check issuer

sl5m_menuThere are many steps missing on this blog. ScanLink 5 is out for almoust one year now. So lets restart with the work of the last days:


ScanLink 5 was adopted to Windows Mobile 5 and 6.

- windows mobile menu

- function key bindings editable

The following features apply to all versions:

- Full-Screen-mode

- Menu-free mode with optional exit button

- New keybindings testpad in the about box (card 'gui info')

scanlink_unitData Identifiers (7Q) and Application Identifiers (3xx) with Units are shown in a different way.

There is a new field "Unit".

The measurement remains in the field "Quantity_<Unit>". In the example to the right, the field name is "Quantity_NetWeightKg".


The format of the configuration file "cconf/unit.csv" has changed. There are now 3 columns Table, Code, Unit, Name_de and Name_ROOT.

Table may by "X12" or "GS1", Code is the Measurement code, Unit is the Unit Index and Name_de and Name_ROOT are the display labels in german and default language.

Example contents to get the result on the right is:


Table Code Unit Name_ROOT Name_de
X12 58 NetWeightKg Net Weight[kg] Nettogewicht [kg]
GS1 10 NetWeightKg

scanlink_about_main_infoOn the program configuration page 'Main', one may specify a name for the current configuration. This name is shown in the about box on the "Info Main" page.


In the example on the right, the name "BC 1.0" was given.


The purpose of this feature is to manage multiple configurations.

The incrementing Elmi-ScanLink build number is now appended to the Elmi-ScanLink version number and shown in the about dialog box on the product page. In the image to the right, the build number is 1446 which results in a version number of 5.0.1446.


This version number is also included in the string resource of the executable file and thus displayed by the windows explorer.

Remark that the string version number is shown by any windows but Vista SP2 or SP3. See here for an explanation.

Each date was formatted with an appended hour: "2011-09-06 23".

"23" was set if no hour was specified.


From now on, the hour is only appended, if there was really an hour specified.

Otherwise, it is omitted.

As a client reported today, that it was only possible to open a serial link forwarded by RDP when the parameter 'serial buffer size' is set to 0.


This parameter was added to the wizard, asit was only awaylable from the general program config.


scanlink_send_own_errorWhen a keyboard rule fires, Scanlink does not send the data if one of its windows has the input focus.


Instead, a state message is shown as on the screenshot.

The data structure TEI (Text identifiers) is now implemented in a basic manner. This structure is only detected within a mode 12 segment of a ADC structure.


Here is a scan of a TEI UID construct 1:




Additional ASC (DI's), GS1 (AI's) and TEI Identifiers may now be set by the file:


This file is comma separated (and not ';') and utf-encoded.

It contains the columns Structure (e.g. ASC, GS1, TEI), Index, Name, Name_en and Name_de.

The last three columns represent the shown name and may be given as one for all localisations (Name) or different for the current localisations en (English) or de (German).

If no name is given, a default or an internal name is used.

scanlink_state_ignoredIf there are any selector rules and none catches a scanned code sequence, the ignored state may be shown in the tray and in the ok window.

This functionality is disabled by default and may be activated by a checkbox in the program configuration - card: selector.

When defining keyboard emulation output, current fields may be included using <Field name>.

Example: <Article>


There might be additional formatting options added after the field name using the separator ':':


<Field name{:{DDefault:}{PPrefix:}{XSuffix:}{SStart:}{Ma_b_c_d:}{LZ}{{-}{0}Length}}>


Curly braces are used to show optional parts.


The following table explains all formatin options.

The example output is used in the context, that only the field 'Article' exists with the contents 'ABC'.












Set a default string if the tag does not exist. Without default string, a nonexistent tag is an error. Special characters may be inserted by its hex code using &xx.






If variable exists (e.g. no default), prefix the value by this string. Special characters may be inserted by its hex code using &xx.






If variable exists (e.g. no default), postfix the value by this string. Special characters may be inserted by its hex code using &xx.

S<Start>: <Article:S1:> BC Start output at given character index (first has index 0).
M<S1>_<R1>: <Article:MA_Q_B_R:> QRC Replace strings <Sx> by strings <Rx>. Special characters may be used by its hex code using &xx.
L<C> <Article:LA> BC Left trim by character 'C'.



'ABC '


Left align instead of right align.

May only be used with an output size.

0 <Article:04> 0ABC

Fill with 0 instead of spaces.

May only be used with an output size.




' ABC'


Set output size.

An eventual Prefix or Postfix string is not included.


In addition, a long standing bug was fixed.

When the current string was shorter than the specified length, it was cut at the wrong side.

The errors may be illustrated by the second examples of row '-' and '<Length>'. The wrong output was:

<Article:-2> -> BC

<Article:2> -> AB


At the moment, a HIBC code might correspond to the IAC (Issuing Agency Code) 'RH' or 'LH'.

An option within ScanLink treats this fact:

The reflected HIBC issuer may be chosen:

- HIBCC: Always use "RH" for any variable output

- EHIBCC: Always use "LH" for any variable output

- both: Look to the labeler data base. If Labeler not found, use "LH" if LIC starts with "E" and "RH" otherwise.












In the following example, the setting was set to "HIBCC", so "RH" is reflected even for known "EHIBCC" members:



The Product ElmiPrint is close to its 3rd release with an Aero user interface and an action processing chain.

Those points will be migrated to ScanLink in some months.


Here is a screenshot of ElmiPrint:


The configuration of the lookup page uses the table widget now.

It is not necessary any more to enter all table values in one row with additional quotes.



New feature: In addition to the autogenerated query, a raw SQL query may be used for the lookup.


Fixed bug: fix table creterias are now SQL-decorated, e.g. embraced with '[column]' and prefixed by the table owner (owner.column).




Parser Module 7.4 has the following bug fixed:

- A syntax error occured when the Structure type was changed within a scan form HIBC to GS1.

ScanLink Integration supports a tray icon with state feedback.


Tray Icon


The Tray Icon may be activated on the config page "Generic GUI", checkbox "Tray Icon".




There are 3 Window states with the following visual elements:

Tray) only tray icon

Application) tray icon and application window with its taskbar entry

Iconified) tray icon and taskbar entry (application window is iconified)


Klick on the tray icon to pass from (Tray) to (Application).

Klick on the applications titlebar X-button to change from (Application) to (Tray).

Klick on the applications titlebar minimize button to change from (Application) to (Iconified).


To really exit the program, one may use the tray icon menu or the application file menu entry: quit.

The last state is restored on next program start.


Tray Icon with Scan State


The tray icon scan state feedback may be activated on the config page "Tk GUI", checkbox "Scan state in Tray".


The tray icon and its context changes with the current scan state in a similar way as the Ok page.

Here are the possible states:


New sequence


Scan ok

Continue sequence


Errorneous scan ignored

Continue sequence


Scan ok

Scan sequence complete


Errorneous scan

Scan sequence failed



Change scan sequence state by selector rules

Selectors on single scans may now change the state of the current scan.

The last page of the wizard shows the possible options:




This feature is still half baken, because it gives only access to the variables of the current scan.

This might be changed.


Sequence end may depend on current focus

This new feature influences the logic of an end scan sequence detection.

The end sequence detection may be set in the program configuration->Parser->Processing->Transmit (ready). Two new variables are available which reflect the current focus window class and title.

Regular expressions may be used to make those dependent on a windows focus.



The windows editor has the windows class "Notepad" (might be found out be the select wizard).

The following added rows in the Transmit rule will terminate a scan if NotePad has the focus and if a serial number is scanned:




The added lines are

|| : or with the other rules

Serial : transmit if serial exists

_WinFocusClass "^Notepad$" : and if Window with class "Notepad" has the focus


Alternatively, the title variable might be used: "_WinFocusTitle".

Raw structures were present for a long time within ScanLink.

The drawback was the configuration which was always a painful task.


A new raw structure wizard allows to create raw structures in a comfortable way.


There are 4 Key steps:


Code symbology selection


A set of symbologies might be chosen from a list:



Expression editing


The raw structure expression may be entered and tested against test data.

The test data might be captured with the scanner.



Choose output variables


The output variables and comments may be chosen from a predefined list or entered manualy






In the last step, the structure definition might be inserted in the active structure list.

This was already possible within the parse structures menu.

As this is the logical last step, it is repeated here by a wizard page.



Update labeler data base


The labeler data base may now be updated from the internet using corresponding the parse menu entry.

The news of ScanLink from 2010-10-12:

  • The new ASC Identifier 25H for a unique User ID was added
  • The german pharma code (PZN) containes a check digit. It is now verified


MSI Installation of ScanLink Integration is now available for automated distribution

Configuration pages redesign


The configuration pages now features separator lines and chapter titles:






















The so called multi widget to edit a list is now replaced by a set of widgets to edit (sorted) tables and lists.

Within those widgets, each row may have its own config page.

In addition, a file, folder and color picker was added.


New Icon

The icon shows a plug and is part of the new Elmicron Icon set:







There are now two modes to invoke actions

- After a complete validated scan sequence

- After each physical scan to give feedback to the user via actions




Windows service installation via option in config menu




Structure type "EAN" was renamed to "GS1" (These therms might be tradmarks of GS1 GmbH).


Elmicron Dr. Harald Oehlmann GmbH - Kösener Str. 85 - 06618 Naumburg - Sachsen-Anhalt - Tel.: 03445 - 78112-0