Special signs inside item number
Special characters are not allowed in article numbers. This is due, among other things, to "old" BEAS objects, which cannot handle commas and equals signs (=) in article numbers.
For example, because calls look like this:
object.method=Parameter1=Parameter2
If there is a comma in Parameter1, the call is misinterpreted.
However, BEAS is often not the primary system or is implemented later, resulting in article numbers with commas.
The old calls MUST be revised so that at least the most important special characters, such as commas, equals signs (, =), #, and spaces, are allowed.
The same applies, of course, to batch numbers and serial numbers.
-
I've already modified the product setup process for one client to allow special characters. This client already has several thousand products containing special characters.
We had previously reviewed all the processes the client requires and found no issues.
artikel_new.src
// ******* Event dw_1_item_itemcode_itemchanged ********
// Created 2026/01/06 by Martin Heigl
global function dw_1_item_itemcode_itemchanged
// delete spaces left and right side:
setitem=itemcode=<itemcode>
// return false: don't execute standard script
return false
end global
// ******* Event dw_master_item_button_createitem_click ********
// Created 2026/01/06 by Martin Heigl
global function dw_master_item_button_createitem_click
if <itemcode> = "" then
messagebox=error$please define item code
return false
end if
// check with lower -> HANA!!!
select count(*) from "OITM" where lower("ItemCode")=lower(<itemcode,dbstring>)
if <wert1> n> 0 then
messagebox=error$Item existing
return false
end if
setvar=e_itemcode=""
declare=myitem=ue_itemtools
myitem.newitem=fromitem=<str_parm.art_id><tab>toitemcode=<itemcode>
if <e_itemcode> = "" then
return false
end if
// load bom & routing
destroy=bom
declare=bom=ue_api_bom
bom.import.loadbom=<str_parm.art_id>
bom.load_or_new=<itemcode>
bom.import.import.replace
bom.update
destroy=routing
declare=routing=ue_api_routing
routing.import.loadrouting=<str_parm.art_id>
routing.load_or_new=<itemcode>
routing.import.import.replace
routing.update
if <str_parm.s_parm2> = opennewitem then
parent=post=post=event=receipted:retrieve
parent=post=post=post=openwindow=artikel_edit.psr<tab>s_parm1=<e_itemcode><tab>s_parm2=newitem
else
parent.setvar=e_itemcode=<e_itemcode>
form.close
end if
// return false = ignore standard
return false
end global
Please sign in to leave a comment.
Comments
1 comment