What To Do When a Business Uses Multiple Barcode Prefixes And How To Handle It In SAP EWM
Introduction/Business Case: –
We frequently receive requests for any SAP EWM S4 HANA transformation or implementation project where the business uses more than one type of barcode and does not want to change the barcode because it is necessary for their operations. In such cases, it is important to understand the barcode types being used and their compatibility with SAP EWM S4 HANA. Depending on the specific requirements of the business, this may involve custom development or configuration of existing solutions.
Since SAP EWM supports GS1 128/EAN128 barcode types, recently we came across a client where they are using 2D barcode as well as Linear barcode with different prefixes, this blog will give an idea how we can utilize 2 different types of barcode prefixes in one warehouse (Changing the prefix at runtime), The Honeywell CK65 Device has been put through testing.
SAP EWM configuration: –
Maintain Bar code specification.
Path: SPRO>SCM Extended Warehouse Management>Extended Warehouse Management> Mobile Data Entry> Maintain Bar Code Specification
Here we can only maintain one type of Application Identifier Type
Since our both our barcode identifiers is 2 char, and BADI check box should be checked.
Assigning the AI type to Warehouse
Now the question is how you are going to change the prefix at run time, to do so we need to implement BADI- /SCWM/EX_BARC_DECODE~DECODE(SAP provide this BADI which can be used based on customer logic, for more details please check the Snote- 3096657), this BADI will be called if the scanning field detects barcode string with prefixes.
in our example we are using below prefixes in the Barcode
3SXXXXXXXXXXXXXXXXXXX (here where 3S is an identifier for the HU no, where we are Splitting the prefix inside BADI and getting rest of the data as HU no and passing it the BADI returning field structure)
In code We can tweak it based on the condition
For Pick HU Verification, the above BADI will not work, you need to implement BAdI: /SCWM/EX_RF_HU_VERIF.