pellus
9th May 2007, 20:45
I have a problem that probably is simple but I don't get it right.
(LN fp3)
The user has a sheet with barcodes, like a form type 3. On top a sls order number, and then rows with serial numbers.
The scanning equipment is programmed to deliver data+tab to baan.
The input screen should look like the barcode sheet, i.e. type 3. A header with the sls order and lines with serial numbers.
Now I want to fill in a table from this sheet, using the barcodes. The user should only have to scan, no keying at all.
Main problem: I can get the header field (sls order) to be ready for input when starting the session. But then the 'tab' from the barcode, after getting the sls order in, should make the lines on the screen (serial numbers) ready to take the next scan. How to do this.
csecgn
16th May 2007, 10:47
I use such a system as part of our freight management. The user has to scan barcodes (EAN13 and CR as endchar) on the packages to build SSCCs. No keying is required.
A snapshot of the form is attached.
This is the part of the code for the barcode-scanning:
|****************************** field section *********************************
field.modus.f:
before.display:
if isspace(modus.f)
then
modus.f = "Bereit" |* Ready
endif
attr.cf = 4
|****************************** function section ******************************
functions:
function start.input.data()
{
long i
string keyin.char(1)
domain tcbool exit.loop
exit.loop = false
| Bildschirm anzeige
modus.f = "Datenerfassung ein" |* Ready for automatic input
display("modus.f")
repeat
for i = 1 to 14
refresh()
keyin.char = keyin$()
if keyin.char = chr$(27)
then
exit.loop = add.new.nve()
break
else
if keyin.char <> chr$(13)
and i < 14
then
if keyin.char = "a"
or keyin.char = "A"
then
add.whole.delivery()
result.string = ""
exit.loop = FALSE
break
else
result.string(i;1) = keyin.char
endif
else
exit.loop = false
break
endif
endif
endfor
| Eingabe beenden oder Datensatz erzeugen
if not exit.loop
then
in.eanc = result.string
if not isspace(in.eanc)
then
add.new.package(
in.eanc)
endif
endif
result.string = ""
until exit.loop
modus.f = ""
display("modus.f")
}
Escape cancels the input, a or A adds all packages of a delivery to a SSCC (in german NVE).
Hope this helps
Regards
Christof
pellus
17th May 2007, 17:39
Thanks for your input Cseqgn. In fact I think I did the screen-handling anyway but your reply triggs another question: What do you mean by building SSCC. (I don't know what SSCC is). I have the feeling we are doing about the same thing. Do you use SSA LN "Handling Units"?
csecgn
18th May 2007, 15:45
No, I'm on Baan IV. We've written our own freight management (it started a few years ago with: I only need 4 lists and we are not a transportation company... . :D ).
SSCC means Serial Shipping Container Code, an standardized, worldwide unique international package code.
Sorry, I cannot explain it well in english, for further information take a look at wikipedia (http://en.wikipedia.org/wiki/Serial_Shipping_Container_Code).
Regards
Christof
pellus
20th May 2007, 13:58
Yes, now I am educated on the matter, after some more googling. Thanks.