Skip to main content

Barcode Assignment

One document per company. One line per screen. The line says whether that screen scans and whether it prints. Behind the line, the Actions say what a scan does there and the Template says how a code is built there.

Where
Barcode Assignment (OSBB)
Who uses it
The implementation consultant
When
At setup, and each time another screen should scan or print
Needs first
Legal Entity, Barcode Nomenclature, Barcode Identity

What it is for​

This is where barcode behaviour is switched on screen by screen. It has the same shape as Process Number Range assignment: a header that names only the Legal Entity, and below it a grid of processes.

Each grid line is one screen, named by its process code. Two link columns on the line, Actions and Template, each open a sub-grid that belongs to that line.

A screen without an active line here has no barcode behaviour at all for that company: no Scan barcode button, no Generate barcode button, no Print links, and the scanner is not listened to.

Company and screen together pick the line

The engine looks for the line by the legal entity the user is logged in to and the screen he is on. A company gets exactly one document, and a screen appears on it at most once. Saving a second line for the same screen is refused.

Every field, in plain words​

FieldWhat it meansWhat to put in itNotes
Legal EntityThe company this assignment belongs toThe companyRequired. One document per company

Process grid: one line per screen​

FieldWhat it meansWhat to put in itNotes
ScreenThe process code of the screenICPL, PCPORequired. Once per document
PurposeWhy this screen is hereScan batches while pickingFor the next consultant
NomenclatureThe rule book this screen reads and builds withA nomenclature, or emptyEmpty when scanning means DEFAULT. Empty when generating means the company default on Legal Entity, then DEFAULT
Scan EnabledThe screen accepts scansTick to scanShows the Scan barcode button and starts listening for the scanner. Off, a scan is answered "scanning is switched off"
Generate EnabledThe screen may produce codesTick to printShows Generate barcode, or, when the line has PRINTCELL action lines, their Print links instead of it. Off, generation is answered "generation is switched off"
ActiveThe line is in forceTick itAn inactive line is the same as no line
Capture ModeHow scans reach the screenLeave empty, or fieldWith field, the screen does not listen to the keyboard for a scanner. Scans come through the Scan barcode button only. Any other value listens for the scanner while the screen is the open tab
Prefix CharacterA character the scanner sends before every codeUsually emptySet it only if the scanner is programmed to send one
Suffix CharacterThe character the scanner sends after every codeUsually emptyEmpty means Enter, which is what scanners send out of the box
Inter-key (ms)The longest gap between two characters that still counts as a scannerUsually emptyEmpty means 30. A scanner types far faster than a person, and this is how the two are told apart. Raise it for a slow scanner
Target FieldThe field the cursor returns to after a scanA field idUsed together with Refocus After Action
Target GridRecorded on the lineUsually emptyNot read by the scan handling today
Target ColumnRecorded on the lineUsually emptyNot read by the scan handling today
Refocus After ActionPut the cursor back in Target Field once the action has runTick for continuous scanningLets the user scan again without touching the mouse
Allow Unknown CodeLet a code through even when it cannot be read or foundUsually offOff, an unreadable code is refused and an unknown one is answered nothing matched. On, the scan carries on to the actions without a record
SymbologyThe printed form of the codes this screen producescode128, code39, ean13, upca, qrEmpty means code128
Auto GenerateRecorded on the lineUsually emptyNothing generates a code by itself from this today. A code is produced when Generate barcode or a Print link is pressed
ActionsLink. Opens the Actions sub-grid of this lineWhat a scan does on this screen
TemplateLink. Opens the Template sub-grid of this lineHow a code is built on this screen

Actions sub-grid: what a scan does on this screen​

FieldWhat it meansWhat to put in itNotes
SequenceThe order actions are considered in1, 2, 3Lowest first
Context ActivityWhen the action appliesview, create, edit, list, or emptyEmpty or any means always. list is the document list, before a record is open
Scanned Entity TypeThe kind of thing scanned that this action is forITEM, LOT, EMPLOYEE, or emptyEmpty or any means every kind. Must match the Entity Type from the nomenclature rule or the resolver
ActionWhat to doOne of the action codes below
TargetA value the action needsDepends on the actionFor RUNTOOLBAR the button. For PRINTCELL the prefix of the label
Field IdThe header field the action works onA field idFor SETFIELD, OPENHELP, and a PRINTCELL line that prints a header field
GridThe grid the action works onA grid numberFor SETGRIDCELL, ADDGRIDLINE, PRINTCELL. Empty on a PRINTCELL line that prints a header field
ColumnThe column the action works onA column idFor ADDGRIDLINE this is the key column, the one the scanned record's code goes into
Quantity ColumnThe column that counts repeatsA column idFor ADDGRIDLINE and SETGRIDCELL. With it, scanning the same thing again adds one to this column instead of adding a line or filling the cell again
ReportThe report to openA report numberFor OPENREPORT
Object NoThe screen action to runAn action objectFor RUNACTION
Help ObjectThe lookup to openA help objectFor OPENHELP. Empty uses the one from the resolver
Action LabelThe words shown for this action when the user must chooseAdd to lines, Open the itemEmpty shows a standard name for the action
Confirm FirstRecorded on the lineUsually offSent to the screen with the action. No confirmation is asked for today
Confirmation TextRecorded on the lineUsually emptyAs above
Stop AfterRun this action and consider no othersTick for the normal caseSee how one action is chosen, below
ActiveThe action is in forceTick it

The action codes​

  • SETFIELD - writes the code of the record that was found, or the scanned code itself when no record was found, into the header field named in Field Id.
  • LINK - records the scanned code in the Barcode Register against the record that is open, so a later scan of that code finds this record. It is for a code that is already on the goods, such as a supplier's or a carton's barcode. The record must be saved first. A code already registered to another record is refused.
  • SETGRIDCELL - writes the same value into Column of Grid, on the line that is selected, the same as if it had been typed there. The grid needs a line: with none, the user is asked to add one first. If Quantity Column is set and a line already holds the scanned value, that line's quantity goes up by one instead, the selected line first. An empty selected line always takes the value.
  • ADDGRIDLINE - adds a line to Grid and writes the found record's code into Column, the same as if it had been typed there, so the screen fills the name, unit and price as usual. If Quantity Column is set and the record is already on a line, that line's quantity goes up by one instead. A carton or pallet code, one whose line in the Barcode Register has a Unit, gets a line of its own in that unit, and scanning it again adds one to that line.
  • OPENDOC - opens the record that was scanned.
  • OPENREPORT - opens the report named in Report.
  • OPENHELP - opens the lookup on the field named in Field Id.
  • RUNACTION - runs the screen action named in Object No.
  • RUNTOOLBAR - presses the toolbar button named in Target.
  • CALLMETHOD - hands the scan to the screen's own scan handling. If the screen has none, the user is told so.
  • NAVIGATE - with Target MENU, goes back to the document list.
  • NEWDOC - starts a new document on the screen whose process code is in Target.
  • SHOWINFO - shows what was scanned and does nothing else. This is also what an unrecognised action code does.
  • PRINTCELL - not something a scan does. It puts a Print link on a grid column, or a print icon beside a header field. See below.

How one action is chosen​

The engine keeps the active actions whose Context Activity and Scanned Entity Type fit the scan, in Sequence order. PRINTCELL lines are left out.

  • None fit: the scan is answered "nothing is configured to happen here".
  • A code that is found nowhere is still let through when a LINK action fits, because recording an unknown code is what LINK is for.
  • One fits, or the first one has Stop After ticked: it runs at once.
  • Several fit and the first does not stop: the user is shown the list and picks. Action Label is what he reads.

A document can be given a barcode from its header with Generate barcode. Some things worth labelling are not header fields. A batch number lives on a line of a grid, and one document can have many.

A PRINTCELL action line answers that by configuration. Fill it like this:

FieldWhat to put in it
ActionPRINTCELL
GridThe grid that holds the column
ColumnThe column whose values are to be labelled
TargetThe prefix printed in front of the value, such as 06 for a batch

Every non-empty cell of that column then shows a Print link. Pressing it opens the barcode label dialog for that one value. The code on the label is the prefix followed by the cell value, and the readable text under it is the cell value alone. The printed form is the Symbology of the process line.

To print a header field instead, leave Grid empty and put the field in Field Id. When that field holds a value, a barcode icon, Print barcode, shows beside it and works the same way.

Three things to know:

  • The links appear only when Generate Enabled is ticked on the process line.
  • Context Activity and Scanned Entity Type are not used on a PRINTCELL line.
  • While the line has any PRINTCELL action, the screen does not show Generate barcode.
  • The labels are counted. The first print of a value adds it to the Barcode Register as a label, and each print adds the number of labels sent to its Print Count. The code is still read back by the nomenclature rule for its prefix, not by the register.

Template sub-grid: how a code is built on this screen​

The Template is used by Generate barcode on the document. Each line is one segment. The segments are built in Sequence order and joined.

FieldWhat it meansWhat to put in itNotes
SequenceThe position of the segment in the code1, 2, 3
SegmentThe kind of segmentOne of the segment kinds below
Application IdentifierThe GS1 identifier this segment is announced by01, 10For an AI segment
Field IdThe field of the record the value is taken fromA field idFor FIELD and AI
Segment ValueFixed text, or text with placeholders06, or text containing a field id in bracesFor LITERAL, EXPRESSION and URL
Pad LengthThe length the segment is filled out to0 for noneFilled on the left
Pad CharacterWhat it is filled withUsually emptyEmpty means 0
RequiredThe segment must have a valueTick for the keyIf the field is empty the code is not built, and the user is told which field
ActiveThe segment is usedTick it
  • LITERAL - the fixed text in Segment Value.
  • FIELD - the value of the record's field named in Field Id.
  • AI - a GS1 element: the Application Identifier followed by the field's value, laid out by the nomenclature's rule for that identifier.
  • EXPRESSION and URL - Segment Value with each {fieldid} replaced by that field's value. URL is for a QR code that opens a link.
  • CHECKDIGIT - a check digit calculated over the code built so far. The code must be all digits.
  • NUMBER - reserved for a running number. It is not available yet, and a template using it does not build.

A code built from a template gets the company's Barcode Prefix in front, is written to the Barcode Register, and is shown in the label dialog. Pressing Generate barcode again on the same record returns the same code, and the dialog is headed Existing barcode.

The label dialog​

Generate barcode, a Print link and the print icon all open the same dialog. It shows the code and asks Labels to print, 1 unless changed. Print opens the browser's print window with one 70 x 40 mm page per label. The tab then says how many labels were sent to print and how many have been printed so far for that code.

Opening the dialog counts nothing. Print Count goes up only by the labels sent to print.

How to configure it​

  1. Create the document and choose the Legal Entity. If the company already has one, open it instead: a second is refused.
  2. Add a line for the screen. Put its process code in Screen and say why in Purpose.
  3. Tick Scan Enabled if the screen should read codes, Generate Enabled if it should print them, and Active.
  4. Leave Nomenclature empty to use DEFAULT, or choose another.
  5. Leave Capture Mode, Prefix Character, Suffix Character and Inter-key empty for an ordinary scanner.
  6. Click Actions on the line. Add one action per thing a scan should do, and tick Stop After on each unless you want the user to choose. A screen that handles scans itself needs no action lines.
  7. Click Template on the line if the document itself should get a barcode. Add the segments in order.
  8. Save, then close and reopen the screen you configured.

Scenarios​

Scan items into an order's lines​

On the order screen's line tick Scan Enabled. In Actions add one line: Scanned Entity Type ITEM, Action ADDGRIDLINE, Grid the lines grid, Column the item column, Quantity Column the quantity column, Stop After ticked. Each scan adds the item. Scanning it again raises the quantity by one.

On the production order's line tick Generate Enabled. In Actions add one line: Action PRINTCELL, Grid flexproductionorderbombatchbalancing, Column batchnumber, Target 06. Walked through in full in Print a batch label on the production order, scan it on Picking List Registration.

Record a supplier's or a carton's barcode on the item​

On the item screen's line, Screen PIPL (Release Item In Legal Entity), tick Scan Enabled. In Actions add one line: Action LINK, Stop After ticked. Open a saved item and scan the code printed on the goods. The tab says the code is now linked to the item.

From then on the code stands for the item. On an order screen set up as in the first scenario, scanning it adds the item as if its own code had been scanned. For a carton or pallet code, open the code in the Barcode Register and put the carton's unit in Unit. A scan of it then adds a line in that unit, and scanning it again adds one more carton to that line.

A screen that only needs to listen​

Picking List Registration knows what a scanned batch means. It needs a line with Scan Enabled and Active, and no action lines at all.

Offer the user a choice​

Add two action lines for the same Scanned Entity Type and leave Stop After unticked on the first. After the scan the user sees both Action Labels and picks one.

What it is connected to​

  • Legal Entity owns the document, and its Barcode Enabled switch gates Generate barcode.
  • Barcode Nomenclature is named on each process line.
  • Barcode Identity supplies the Entity Type that action lines are matched on.
  • Barcode Register receives every code built from a Template, every code recorded with LINK, and every label printed from a PRINTCELL link.

If something looks wrong​

  • "no barcode assignment for" followed by the screen - the company the user is logged in to has no active line for that screen. Check the Legal Entity on the document first.
  • "scanning is switched off for" the screen - the line exists but Scan Enabled is off.
  • "generation is switched off for" the screen - Generate Enabled is off.
  • "no payload template is configured for" the screen - Generate barcode was pressed and the Template sub-grid has no active lines.
  • "nothing is configured to happen here for a" kind of thing - the code was read and found, but no active action line fits that Scanned Entity Type in this activity.
  • "No Print link on the column" - Generate Enabled is off on the line, or Grid and Column on the PRINTCELL line do not match the grid and column exactly, or the cell is empty.
  • "No Generate barcode button" - Generate Enabled is off, or the line has a PRINTCELL action. A screen prints either its document or its cells and fields, not both.
  • "Add a line first, then scan onto it." - a SETGRIDCELL scan on a grid with no lines.
  • "Save the record first, then scan the code." - a LINK scan on a record that has not been saved.
  • "That code already belongs to" another record - a LINK scan of a code registered to a different record. Void it in the Barcode Register first.
  • "Print Count went up but nothing was printed" - the count is taken when the print window opens, even if it is then cancelled.
  • "The scanner types into a field instead of being caught" - the scanner is slower than Inter-key, or it does not send Enter and Suffix Character is empty.
  • "Nothing happens when I scan" - the screen is not the open tab, Capture Mode is field, or the screen was open before the assignment was saved. Reopen it.
  • "I am asked to choose every time" - Stop After is not ticked on the first action that fits.