advanced barcode strategies

39
PowerView is Off (0) Jose (Available) Contact Us Help APPLIES TO: Oracle Warehouse Management - Version 11.5.10 to 12.1.3 [Release 11.5 to 12.1] Information in this document applies to any platform. ABSTRACT Advanced Barcode Strategies To Make Barcode Scanning More Efficient And Accurate HISTORY Document History Author : Aditya Agarkar, Contributing Authors: Karun Jain, Wilson Lau, David Wertheimer Create Date : 01-MAY-2004 Last Update Date : 01-JUN-2005 Expiry Date : N/A Other Information : N/A DETAILS Table of Contents * Introduction * Data Field Identifier (DFI) Advanced Barcode Strategies (Doc ID 297992.1) To Bottom Modified: 11-Feb-2014 Type: WHITE PAPER Page 1 of 39 Document 297992.1 11/06/2014 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM ...

Upload: jose-duke

Post on 27-Dec-2015

92 views

Category:

Documents


2 download

DESCRIPTION

Advanced Barcode Strategies

TRANSCRIPT

Page 1: Advanced Barcode Strategies

PowerView is Off (0)Jose (Available) Contact Us Help

APPLIES TO:

Oracle Warehouse Management - Version 11.5.10 to 12.1.3 [Release 11.5 to 12.1] Information in this document applies to any platform.

ABSTRACT

Advanced Barcode Strategies To Make Barcode Scanning More Efficient And Accurate

HISTORY

Document History Author : Aditya Agarkar, Contributing Authors: Karun Jain, Wilson Lau, David Wertheimer Create Date : 01-MAY-2004 Last Update Date : 01-JUN-2005 Expiry Date : N/A Other Information : N/A

DETAILS

Table of Contents * Introduction * Data Field Identifier (DFI)

Advanced Barcode Strategies (Doc ID 297992.1) To Bottom

Modified: 11-Feb-2014 Type: WHITE PAPER

Page 1 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 2: Advanced Barcode Strategies

* Out of Order Scanning using DFI * Concatenated Barcode Symbol using Delimiters * Control Characters in Barcodes * Global Trade Item Numbers (GTIN) * Using Customized Bar Code Scanning * Summary * Appendix-A: Example GTIN Setup for Various EAN.UCC Barcodes * Appendix-B: Customized Bar Code Scan Example #1 * Appendix-C: Customized Bar Code Scan Example #2 INTRODUCTION Barcodes can be thought of as a font for information on a label. Using barcodes as part of any operation has many advantages over other labeling methods. â ¢ High Data Accuracy: Barcodes virtually eliminate data entry errors due to labels being misread or typographical errors. Information is entered exactly the way it appears on the label all the time, every time. If a barcode is illegible (or mis-scanned), the system will not recognize it and generally requires manual keyed input or a valid scan. â ¢ Efficient Data Entry: Barcodes significantly increase the speed of data entry, as it is no longer necessary to carefully type information into a keyboard. The barcode immediately transmits all encoded information directly to the computer. â ¢ Efficient Tracking and Monitoring: Barcodes make higher levels of information tracking possible. Information such as serial number may be difficult to track, if efficient data collection is not possible using barcodes. This document contains useful techniques to make barcode scanning more efficient and accurate. The techniques covered in detail are as follows: â ¢ Data Field Identifiers (DFI) â ¢ Barcodes for Global Trade Item Numbers (GTIN) â ¢ Control Characters in Barcodes â ¢ Concatenated Barcode Symbol â ¢ Customized Barcode Scanning Using these advanced techniques the following business requirements can be addressed â ¢ Out of Order Scanning: This technique involving bar code scanning allows data entry on the correct field in Oracle mobile application (including WMS and MSCA) irrespective of the cursor position on the mobile form. Out of order scanning can improve worker productivity in the warehouse as scrolling through the form and identifying the correct field is not required. Out of Order scanning feature is enabled using Data Field Identifiers (DFIs). â ¢ Taking Advantage of Compliance Labeling: A compliant label usually has barcodes with DFIs as specified by the standards. Two of the most popular standards are ANSI/FACT and EAN/UCC. ANSI/FACT Data field identifiers (DFI) or EAN/UCC Application Identifiers (AI) can be modeled using the DFI functionality. Defining ANSI/FACT Data field identifiers (DFI) or EAN/UCC Application Identifiers (AI) as DFI in Oracle allows you to take advantage of compliance labeling on products and shipments. Thus if a warehouse receives items from its vendor with labels that are complying to certain standards, its possible to use these labels in a more effective manner.

Page 2 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 3: Advanced Barcode Strategies

Global Search

â ¢ Use of Concatenated Barcodes: Concatenated bar codes can improve worker productivity by populating multiple fields in a single scan of barcode. Concatenated barcodes comprising of Item-Revision, Sub-inventory-Locator and PO-Line are supported using a delimiter character. However more complex concatenated requirements can be addressed using control characters or customized bar code scanning techniques. â ¢ Translation Requirements: This could be required when a particular barcode field has a value that needs to be translated before it can be entered into the system. For example, a warehouse receives items from a vendor with barcodes comprising of vendor item numbers. A scan of vendor item barcode in item field should populate the internal item using vendor item cross-reference. Such requirements can be addressed using customized bar code scanning techniques involving a PL/SQL call-out. â ¢ Avoid Item Re-Labeling: Wide adoption of GTIN standards have resulted in most products and their packaging configurations having one of the GTIN data structures such as 12-digits (the U.P.C.), 14- digits (SCC-14), 13-digits (EAN-13) or 8-digits (EAN-8) in a bar coded form. Usually one of these data structures are applied the item at the point of manufacture such as UPC Barcode on loose items sold through retail outlets or EAN/UCC-14 barcode on corrugated cartons. Therefore if the product already has a UPC, EAN-8, EAN-13 or EAN/UCC-14 barcode assigned either by the manufacturer there should not be a need to re-label the item with an internal SKU number. This requirement is addressed using the GTIN functionality available in Oracle WMS and MSCA from 11.5.9 and onwards. â ¢ Identification of Item and its packaging level: As per EAN/UCC-14 standards each standard pack configuration of the item is assigned a distinct 14-digit number. Warehouse operations can be vastly simplified if the warehouse operator can transact based on standard pack quantities (i.e. Pick 2 Cases, 3 Pallets, etc.) rather than entering transaction quantities in primary UoM (e.g. 20 EA for 2 Cases or 3000 EA for 3 Pallets). This requirement can be addressed using GTIN enhancements in 11.5.10 DATA FIELD IDENTIFIER (DFI) DFI functionality in Oracle Mobile Applications (MSCA and WMS) allows identification of the type of data that is embedded within a barcode. DFI usually consists of one to three characters that precede the value of the data that is encoded in the barcode. For instance, a DFI for Part Number might be â P+â . If the part number that were encoded in a given barcode were â AS54888â then the barcode would encode the value â P+AS54888â to indicate that the barcode is for a Part Number and that Part Number is â AS54888â . Since barcode on products and containers are often used across organizations in a supply chain, standards have evolved for DFI usage. Popular standards are ANSI/FACT, EAN/UCC, etc. Oracle Applications are seeded with ANSI/FACT DFI standards. However this functionality can also be used to support Application Identifiers belonging to EAN/UCC standards. DFIs offer the following advantages: â ¢ Out of order scanning: Operator need not place the cursor in the field where data is being entered. For example, the cursor could be on PO field while the item barcode is being scanned. The DFI ensures that correct field is populated. â ¢ Data Accuracy. DFIs are useful in reducing error caused by scanning the wrong barcode into a field on a mobile device. DFI Scanner Configuration In order to use the DFI functionality in Oracle, the scanning device must be setup to always prefix the Data Stream Indicator on every scan. Oracle certified scanning devices must allow this configuration. Refer to the Userâ s Guide for the scanning devices for details on configuring the Prefix (or Preamble). DFI MWA Configuration Once the device has been configured to prefix the Data Stream Indicator, the mobile server must be configured to recognize the appropriate Data Stream Indicator. Each device configuration can have a different Data Stream Indicator to support the varying capabilities of different mobile devices. The configuration setting is located in the device configuration file. The default device configuration setting (default_key.ini) that ships with the mobile server has the Data Stream

Page 3 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 4: Advanced Barcode Strategies

Indicator set to the default: ASCII 28. The character that the device prefixes on scanned entry must match with the entry in the .ini file for the device configuration being used in order for DFIs to be fully supported. For more information on mobile device configurations and the configuration .ini file refer to the Oracle Mobile Server Userâ s Guide. Application Setup DFI information is stored in the same place that the field labels for the mobile forms are stored â the AK Dictionary. This is the same place that changes can be made to the field labels that show up on the mobile forms if larger, smaller, or more descriptive field labels are required. To access the AK Dictionary, you must log onto Oracle Applications on the desktop and access the responsibility Application Common Developer. Contact your system administrator if this responsibility is not assigned to your user. Verifying DFI Setup 1. Create an LPN with name DFITEST01A using LPN generation concurrent request. Alternatively you can generate this LPN during miscellaneous receipt transaction on mobile. 2. Navigate to Warehouse->Inquiry->LPN. Scan Barcode in Figure 1. If the scanner is configured correctly, the DFI for LPN field (â Jâ ) will be stripped from the barcode and LPN details would be displayed. If the scanner is not configured properly, message â Invalid LPNâ will be displayed. 3. Scan of barcode in Figure 2 will work correctly even when the scanner is not configured for DFI because the barcode itself has the data stream indicator (ASCII 28) prefixed to it. Please see the Bar Coding Standards chapter in WMS implementation guide for additional details on DFI. Figure 1: Barcode without prefixed Data Stream Indicator Barcode without embedded Data Stream Indicator (ASCII-28) JDFITEST Figure 2: Barcode with prefixed Data Stream Indicator Barcode with embedded Data Stream Indicator (ASCII-28) JDFITEST Fig 1&2 OUT OF ORDER SCANNING USING DFI When a barcode with a DFI is scanned out of order, the Oracle mobile applications framework detects the field where the scan was intended using the DFI. The field corresponding to DFI is populated with the scan value irrespective of the current field on the page (i.e. the field on the page where the cursor is placed for user input). Once the scan is performed, the placement of cursor and field validations depends on the placement of field corresponding to DFI relative to the current field on the page: If out of order scan occurs for a field that is above the current field on the page the following actions are performed: â ¢ Field validation is performed for the field being scanned out-of-order â ¢ The cursor is placed on the immediate next editable field on the page.

Page 4 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 5: Advanced Barcode Strategies

If out of order scan occurs for a field that is below the current field on the page the following actions are performed: â ¢ No field validation is performed for the field being scanned out-of-order â ¢ The cursor remains on the current field Example of Out of Order Scan The following example illustrates an out of order scan using DFI. In the following example, the user scans a sub-inventory barcode with DFI out of order i.e. the current field is â Reasonâ and instead a sub-inventory barcode is scanned. The scanned value is populated in the sub-inventory field on the mobile page. Since the sub-inventory field is placed above the current field, field validation on sub-inventory will be performed and the immediate next user-enterable field on the form becomes the current field. In this example, the cursor is placed on locator field. Fig 3 Recommended Patches Following is a list of patches that are required for out of order scanning of barcodes to work correctly: Fig 3p CONCATENATED BARCODE SYMBOL USING DELIMITERS Concatenated bar code symbol enhances operator productivity by populating multiple fields in a mobile screen using a single bar code scan. Oracle WMS supports concatenated bar code symbol using a delimiter character Using Delimiter Characters Use of a field delimiter is the simplest way to encode a concatenated bar code symbol. However the support for this feature is limited to a few fields. A delimiter character is defined in profile option. Subsequently a single bar code can be encoded comprising of the following fields with the delimiter character separating the fields. a. Item and Revision (Profile Option WMS: Item/Revision Delimiter) b. Sub Inventory and Locator (WMS: Subinventory/Locator Delimiter) c. PO and Line (Profile Option WMS: PO Number/Line Delimiter) Example: A concatenated bar code symbol for Sub-inventory BULK, Locator B1.1.1 and delimiter character â #â (without the prepended ASCII-28) Fig 4 The delimiter character # is entered in profile option WMS: Subinventory/Locator Delimiter DFIs and Concatenated Barcode Symbol with Delimiters DFIs can also be used within concatenated bar code symbols having a delimiter character. To enable out of order scanning of fields, you only need the DFI for the first field in the barcode. For example, the single bar-code field comprising of sub-inventory and locator is encoded as follows:

Dashboard Service RequestsKnowledge

Page 5 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 6: Advanced Barcode Strategies

"1L" & Sub & â #â & locator Where 1L is the DFI for sub- inventory and â #â is the delimiter character stored in the profile option WMS: Sub-Inventory Locator delimiter. This approach will work only if the following conditions are met: a. Delimiter character is different for PO-Line, Item-Revision and Sub-Inventory Locator b. Parsing of concatenated barcode into individual fields will not happen if the fields in the concatenated barcode is above the current field e.g. Sub-Inventory and Locator will not be populated in a miscellaneous receipt page if the following barcode is scanned when the current field is item. Please note that item field is below the sub-inventory field on this page. Fig 5 Other Techniques to Handle Concatenated Barcode Concatenated barcode using a delimiter will only work for the following set of fields: â ¢ Item and Revision â ¢ Sub Inventory and Locator â ¢ PO and Line In order to support concatenated barcodes consisting of other fields the following techniques can be used: â ¢ Embed Control Character in Barcode â ¢ Customized Barcode Scanning These techniques are covered in detail in the following section. CONTROL CHARACTERS IN BARCODES Auto Carriage Return Scanning efficiency can be greatly enhanced by configuring the scanner to append a carriage return. This implies that the user need not hit the return key after every scan. Most commonly used scanners allow this configuration using a â Suffixâ setup. The suffix must be set to ASCII-13. Some scanners require the suffix to be set to 1013 or 7013. Please refer to the users manual for a particular device for steps required for this configuration. Embedded Control Characters in Barcode Bar codes labels can be designed with embedded control characters such as Carriage Return (CR or ASCII 13), Group Separator (GS ASCII 29), File separator (FS ASCII 28) and Horizontal Tab (HT or ASCII 9). Control characters can be encoded in barcodes when they always occur in a particular sequence. For example the

Page 6 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 7: Advanced Barcode Strategies

WMS login can be simplified using a bar code. The bar code can be designed to have an embedded Return after user ID and another return after entry of password and finally selection of a responsibility. A single scan of this barcode will perform a login and select the first responsibility in the list of responsibilities available to the user. In Loftware, the bar-code field is encoded in a formula field as follows: User & CR() & Password & CR() & 1 Similar functionality can be developed elsewhere within WMS using other label printing packages. However this technique will work well only for fields that appear in the exact same sequence in all the forms. Out of Order Scanning of Barcodes with Control Characters DFIs can be used within concatenated bar code symbols with embedded characters. To enable out of order scanning of fields within the concatenated bar code symbol, the data stream indicator should also be embedded within the barcode. The data stream indicator is maintained in the .ini file associated with the mobile device. The default Data Stream Indicator is ASCII 28 â File Separator. The advantage of this method is that the barcode is independent of the sequence of data fields in the mobile form e.g. a concatenated barcode with Item and UoM can be defined and this barcode can be used to perform out of order scan of both item and UoM fields. It should be noted here that Item and UoM are not adjacent fields in the Receipt form however they are adjacent fields on the pick load form. In Loftware, the bar-code field comprising of DFI for item and UoM is encoded as follows: "P+" & Item & CR() & FS() & "3Q+" & UoM

Where â P+â is the DFI for Item and â 3Q+â is the DFI for UoM field. Oracle mobile applications will ensure that a scan of the concatenated bar code symbol shown in Figure 6 will correctly populate the item (CM10) and UoM (BX5) irrespective of the order of these fields on the mobile form Fig 6 GLOBAL TRADE ITEM NUMBERS (GTIN) Global Trade Item Number (GTIN) is a unique number assigned to a product within the EAN/UCC framework for standard product identification. The product could be a physical item or different packaging configurations of the item. Pre-defined information for the item such as item description, manufacturer, etc. can be retrieved at any point in the supply chain using the GTIN. The GTIN is defined as a 14-digit number to accommodate the different structures existing within EAN/UCC system for standard product identification. The existing EAN/UCC standard data structures such as 12-digits (the U.P.C.), 14- digits (EAN/UCC-14), 13-digits (EAN-13) or 8-digits (EAN-8) will be accommodated within GTIN. These data structures provide unique identification when they are right justified and zero padded in a 14-digit reference field, called the GTIN. Please see the Global Trade Item Number chapter in WMS implementation guide for additional details on GTIN. GTIN and Standard Packs GTIN functionality in 11.5.9 allows Oracle mobile applications to resolve the internal SKU using GTIN. However since each standard pack configuration of an item

Page 7 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 8: Advanced Barcode Strategies

is a separate GTIN, resolution of only internal SKU is not enough. The exact packaging configuration of the item being transacted is also required. This requirement has been addressed using the GTIN functionality in 11.5.10. This enhancement recognizes multiple standard packs of the same base item. In this framework, each standard pack of the item is modeled as a Unit of Measure. The quantity of item in the standard pack is specified in the UoM conversion setup. The Item cross-reference relationship has been enhanced for EAN/UCC-14 to include an item, revision and standard pack (i.e. UoM). The revision and UoM are optional fields and not required for UCC-12, EAN-8 or EAN-13 data structures. Using these guidelines, a UoM is defined for each standard pack of the item i.e. pallet, inner pack, master cases, etc. A separate entry in the cross-reference table would be needed for each standard pack of the item. In this case cross-reference codes corresponding to the EAN/UCC-14 would be associated with the same item and different UoM for the item. Appendix-A shows sample GTIN configuration for different EAN/UCC data structures. Transactions and GTIN GTIN allows Oracle Mobile transactions to be carried out by scanning one of its constituent data structures in bar coded format. Whenever a GTIN data structure (i.e. UCC-12, EAN-8, EAN-13 or EAN/UCC-14) is scanned in the item field, Oracle mobile application converts it into GTIN by right justifying and zero padding into a 14-digit field. This 14-digit number is used to lookup for the item, revision and its packaging configuration in the GTIN cross-reference relationship table. If a match exists for the GTIN, the referenced item is substituted in the item field and revision if any is populated. In 11.5.10, if a EAN.UCC-14 barcode is scanned, the transaction Unit of measure is also substituted with the UoM from the cross-reference table. In case of pick tasks, the suggested pick quantity is recomputed in terms of the transaction unit of measure. GTINs in 11.5.9 and 11.5.10 The following table summarizes the features related to GTIN that are available in release 11.5.9 and 11.5.10: GTIN 1 GTIN Example Item NA100AX (UPC: 012345678905) comes in two standard pack configurations, a master case (EAN.UCC-14: 20012345678909) containing 10 EA and a pallet (EAN.UCC-14: 50012345678900) containing 100 EA. The GTIN cross reference setup for this item will be as follows: GTIN 2 GTIN 3 USING CUSTOMIZED BAR CODE SCANNING The customized bar code scanning functionality available in 11.5.9 allows customization of logic to handle scanned data. In order to use customized scan, profile option â MWA: Pre- process scanned inputâ must be enabled. Oracle provides two ways of implementing a user-defined logic to handle concatenated bar

Page 8 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 9: Advanced Barcode Strategies

code symbol. Customized bar code scanning functionality enables a scanned input to make either a PL/SQL or a java custom class callout. The java custom class is more scalable and will perform better. Java Call Out This option involves creation of a java class with embedded user defined logic. Make sure that this class is compiled with Oracle apps.zip in the classpath. After compilation make sure that a file CustomScanManager.class is created. Move this file to $CUSTOM_DIRECTORY/xxx/custom and add $CUSTOM_DIRECTORY to the classpath of your mobile server. $CUSTOM_DIRECTORY, can be any directory on the file system. Please see the white paper on EAN/UCC-128 for a sample java code that implements customized bar code scanning. In appendix A there is another example that explains how this feature was used to increase the scanning efficiency on one of the transactions. PL/SQL Call Out This option involves modifying the package INV_PREPROCESS_SCAN. This package also takes in the current_page_name and the value scanned and should return the value to replace the scanned value with. However, unlike the java example, this package does not have access to the other fields but the current field.

Therefore itâ s not possible to modify the values of any other field other than the current field based on the scanned input. It therefore lacks the flexibility provided with the implementation of the above java class file. SUMMARY This section summarizes the interplay of various techniques discussed in this document. Figure 7 shows the sequence in which scanned data is interpreted and used by the application. Fig 7 The following table summarizes some common barcode related requirements and techniques used to address them: Table 1 Table 2 APPENDIX A EXAMPLE GTIN SETUP FOR VARIOUS EAN.UCC BARCODES The following table shows sample GTIN configuration for different EAN/UCC data structures. These data structures could be stored in different bar-code symbology. Appendix A APPENDIX B CUSTOMIZED BAR CODE SCAN EXAMPLE #1

Page 9 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 10: Advanced Barcode Strategies

This sample java code example shows how a user can use the Java callout for a scanned input to increase Picking efficiency. Please note that the following code has been provided to demonstrate the customizable bar code scanning functionality. Oracle will not be responsible for maintaining it. The following code can be modified and distributed without permission from Oracle. Problem Detail In the Pick Load page for a lot and serial controlled item the cursor is on the confirm subinventory field and expecting the subinventory to be scanned. The user scans the subinventory, locator barcode and wants the cursor to move to the field after locator, which is the item field. Also then the user scans the lot number and wants the item, unit of measure and lot number to be defaulted and move the cursor to the serial number field. This is useful in situations where you have a lot number tied to one and only one item and also you are always dealing in one of the UOMs for that item. PL If the page is not Pick Load page, the callout routine needs to make a call to the PL/SQL callout routine. If you have created the Java callout then by design, the server will not make a callout to the PL/SQL routine. However, if you have a lot of code implemented already in the PL/SQL routine and want to utilise it without having to rewrite it in Java for all other pages other than the Pick Load page, the call out to the same PL/SQL routine can be made from this java call out very easily as you would see in this example. Code Logic The first part where the user wants to default the subinventory/locator in one scan can be implemented in one of the three ways: c. One of the ways would be to have a concatenated barcode which has subinventory value followed by a carriage return followed by the locator value followed by another carriage return. d. The other way is by using delimiter characters as explained in this document above. e. A third way is how it is implemented in this Java callout. In this we insert a session variable, AUTO_ENTER as TRUE. This method is particularly useful if you do not want to change all the barcodes in your facility, as both the first two methods would require you to put the barcodes in a special way. In our example the barcode being scanned is simply Subinventory DFI followed by Subinventory Value followed by locator seperator â .â followed by Locator DFI and then the Locator Value with a carriage return appended by the gun. AUTO_ENTER processes the code as if one and only one carriage return was scanned after processing the current scanned value. PL2 Next the user scans the Lot Number when in the item field. In the example you will se that the suggested value of the item is populated in the item field, the cursor is moved to the next field (UOM Field) because of the carriage return scanned as part of the lot number scan, the AUTO_ENTER is used to take it past the UOM Field and also the lot number is entered in the lot number field. One additional thing the code needs to do is take the user past the Lot Number field as well. Now since AUTO_ENTER behaves as if one carriage return was scanned, we need to find a way to reset the AUTO_ENTER variable to TRUE when it is processing the carriage return in the UOM Field. For this if you look at the code, we have added a simple field listener to the UOM Field and all it does is reset this variable in the session.

Page 10 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 11: Advanced Barcode Strategies

So on processing the first AUTO_ENTER, the server fires the field exit in the UOM field and while it is doing that, because another AUTO_ENTER exists in the session, it processes another carriage return and fires the field exit of the next field (Lot Number) in this case. PL3 Code 1 Code 1.1 Code 1.2 Code 1.3 Code 1.4 Code 1.5 Code 1.6 Code 1.7 Code 1.8 Code 1.9 APPENDIX C CUSTOMIZED BAR CODE SCAN EXAMPLE #2 This sample java code example shows how a user can use the Java callout for a scanned input to avoid having to relabel the warehouse or perform multiple scans if locator-only labels are applied to all the locators. This is different from the first example in that this behavior will apply to all mobile pages, not just the pick load, and it automatically populates the subinventory by just scanning the locator field, rather than requiring a concatenated subinventory / locator field. Please note that the following code has been provided to demonstrate the customizable bar code scanning functionality. Oracle will not be responsible for maintaining it1. The following code can be modified and distributed without permission from Oracle. Problem Detail Although MSCA in a non-WMS enabled organization supports non-locator controlled subinventories, the greater inventory visibility required for a WMS enabled organization means that all subinventories should be locator controlled. Indeed, with very limited exceptions, all mobile screens that request stock location information does so in two fields, by requesting first the subinventory and then the locator within that subinventory. While many workarounds to allow both the subinventory and locator field to be populated in a single scan were presented earlier in this paper (concatenated barcodes with DFIs, special characters configured by profile options, embedded carriage returns, etc.), all of the solutions required some form of special labeling of the locators. This is reasonable if warehouse re-labeling was necessary for some other reason, or for a new warehouse, but this is a costly proposition if re-labeling was not already in the project plan. Code Logic Thus, the desired functionality is to populate both the subinventory and locator if the locator is scanned while the active field is the subinventory field. Note that this can be used alongside DFIs as well for out-of-order scanning. The complete functionality is as follows:

Page 11 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 12: Advanced Barcode Strategies

1) If a non-subinventory value is scanned while in the subinventory field: a) Check if value is a locator defined in that organization & if so, find subinventory for loc

i) If no locator is found, show â No result is foundâ & exit b) Place subinventory associated to locator on subinventory field c) Perform subinventory field exit validation i) If subinventory fails validation, exit d) Place scanned locator on locator field e) Perform locator field exit validation i) If locator fails validation, exit f) Move active field to next field 2) If a subinventory value is scanned while in the subinventory field process scan normally With this logic, the user has the option of scanning either the subinventory or the locator in the subinventory field, with no changes to any of the locator labeling required. 1 Note: there is a known issue in the sample code whereby it will not auto-populate the from or to locator fields when doing a subinventory transfer of loose / non-LPN controlled material. Code 1.99 Code 2 Code 2.1 Code 2.2 Code 2.3

SUMMARY

SUMMARY

This section summarizes the interplay of various techniques discussed in this document. Figure 7 shows the sequence in which scanned data is interpreted and used by the application.

Page 12 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 13: Advanced Barcode Strategies

The following table summarizes some common barcode related requirements and techniques used to address them:

Page 13 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 14: Advanced Barcode Strategies

Page 14 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 15: Advanced Barcode Strategies

Page 15 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 16: Advanced Barcode Strategies

APPENDIX A EXAMPLE GTIN SETUP FOR VARIOUS EAN.UCC BARCODES

The following table shows sample GTIN configuration for different EAN/UCC data structures. These data structures could be stored in different bar-code symbology.

Page 16 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 17: Advanced Barcode Strategies

Page 17 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 18: Advanced Barcode Strategies

APPENDIX B CUSTOMIZED BAR CODE SCAN EXAMPLE #1

This sample java code example shows how a user can use the Java callout for a scanned input to increase Picking efficiency. Please note that the following code has been provided to demonstrate the customizable bar code scanning functionality. Oracle will not be responsible for maintaining it. The following code can be modified and distributed without permission from Oracle.

Problem Detail

In the Pick Load page for a lot and serial controlled item the cursor is on the confirm subinventory field and expecting the subinventory to be scanned. The user scans the subinventory, locator barcode and wants the cursor to move to the field after locator, which is the item field. Also then the user scans the lot number and wants the item, unit of measure and lot number to be defaulted and move the cursor to the serial number field. This is useful in situations where you have a lot number tied to one and only one item and also you are always dealing in one of the UOMs for that item.

If the page is not Pick Load page, the callout routine needs to make a call to the PL/SQL callout routine. If you have created the Java callout then by design, the server will not make a callout to the PL/SQL routine. However, if you have a lot of code implemented already in the PL/SQL routine and want to utilise it without having to rewrite it in Java for all other pages other than the Pick Load page, the call out to the same PL/SQL routine can be made from this java call out very easily as you would see in this example.

Page 18 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 19: Advanced Barcode Strategies

Code Logic

The first part where the user wants to default the subinventory/locator in one scan can be implemented in one of the three ways: c. One of the ways would be to have a concatenated barcode which has subinventory value followed by a carriage return followed by the locator value followed by another carriage return. d. The other way is by using delimiter characters as explained in this document above. e. A third way is how it is implemented in this Java callout. In this we insert a session variable, AUTO_ENTER as TRUE. This method is particularly useful if you do not want to change all the barcodes in your facility, as both the first two methods would require you to put the barcodes in a special way. In our example the barcode being scanned is simply Subinventory DFI followed by Subinventory Value followed by locator seperator â .â followed by Locator DFI and then the Locator Value with a carriage return appended by the gun. AUTO_ENTER processes the code as if one and only one carriage return was scanned after processing the current scanned value.

Next the user scans the Lot Number when in the item field. In the example you will se that the suggested value of the item is populated in the item field, the cursor is moved to the next field (UOM Field) because of the carriage return scanned as part of the lot number scan, the AUTO_ENTER is used to take it past the UOM Field and also the lot number is entered in the lot number field. One additional thing the code needs to do is take the user past the Lot Number field as well. Now since AUTO_ENTER behaves as if one carriage return was scanned, we need to find a way to reset the AUTO_ENTER variable to TRUE when it is processing the carriage return in the UOM Field. For this if you look at the code, we have added a simple field listener to the UOM Field and all it does is reset this variable in the session.

Page 19 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 20: Advanced Barcode Strategies

So on processing the first AUTO_ENTER, the server fires the field exit in the UOM field and while it is doing that, because another AUTO_ENTER exists in the session, it processes another carriage return and fires the field exit of the next field (Lot Number) in this case.

Page 20 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 21: Advanced Barcode Strategies

Page 21 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 22: Advanced Barcode Strategies

Page 22 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 23: Advanced Barcode Strategies

Page 23 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 24: Advanced Barcode Strategies

Page 24 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 25: Advanced Barcode Strategies

Page 25 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 26: Advanced Barcode Strategies

Page 26 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 27: Advanced Barcode Strategies

Page 27 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 28: Advanced Barcode Strategies

Page 28 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 29: Advanced Barcode Strategies

Page 29 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 30: Advanced Barcode Strategies

Page 30 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 31: Advanced Barcode Strategies

APPENDIX C CUSTOMIZED BAR CODE SCAN EXAMPLE #2

This sample java code example shows how a user can use the Java callout for a scanned input to avoid having to relabel the warehouse or perform multiple scans if locator-only labels are applied to all the locators. This is different from the first example in that this behavior will apply to all mobile pages, not just the pick load, and it automatically populates the subinventory by just scanning the locator field, rather than requiring a concatenated subinventory / locator field. Please note that the following code has been provided to demonstrate the customizable bar code scanning functionality. Oracle will not be responsible for maintaining it1. The following code can be modified and distributed without permission from Oracle.

Problem Detail

Although MSCA in a non-WMS enabled organization supports non-locator controlled subinventories, the greater inventory visibility required for a WMS enabled organization means that all subinventories should be locator controlled. Indeed, with very limited exceptions, all mobile screens that request stock location information does so in two fields, by requesting first the subinventory and then the locator within that subinventory. While many workarounds to allow both the subinventory and locator field to be populated in a single scan were presented earlier in this paper (concatenated barcodes with DFIs, special characters configured by profile options, embedded carriage returns, etc.), all of the solutions required some form of special labeling of the locators. This is reasonable if warehouse re-labeling was necessary for some other reason, or for a new warehouse, but this is a costly proposition if re-labeling was not already in the project plan.

Page 31 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 32: Advanced Barcode Strategies

Code Logic

Thus, the desired functionality is to populate both the subinventory and locator if the locator is scanned while the active field is the subinventory field. Note that this can be used alongside DFIs as well for out-of-order scanning. The complete functionality is as follows:

1) If a non-subinventory value is scanned while in the subinventory field: a) Check if value is a locator defined in that organization & if so, find subinventory for loc

i) If no locator is found, show â No result is foundâ & exit b) Place subinventory associated to locator on subinventory field c) Perform subinventory field exit validation i) If subinventory fails validation, exit d) Place scanned locator on locator field e) Perform locator field exit validation i) If locator fails validation, exit f) Move active field to next field

2) If a subinventory value is scanned while in the subinventory field process scan normally

With this logic, the user has the option of scanning either the subinventory or the locator in the subinventory field, with no changes to any of the locator labeling required.

1 Note: there is a known issue in the sample code whereby it will not auto-populate the from or to locator fields when doing a subinventory transfer of loose / non-LPN controlled material.

Page 32 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 33: Advanced Barcode Strategies

Page 33 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 34: Advanced Barcode Strategies

Page 34 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 35: Advanced Barcode Strategies

Page 35 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 36: Advanced Barcode Strategies

Page 36 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 37: Advanced Barcode Strategies

Copyright © 2003 Oracle Corporation. All rights reserved. Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners.

Disclaimer: This document is provided for information purposes only and the contents hereof are subject to change without notice. Oracle Corporation does not warrant that this document is error-free, nor does it provide any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. Oracle Corporation specifically disclaims any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the prior written permission of Oracle Corporation.

Page 37 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 38: Advanced Barcode Strategies

<>

Attachments

Appendix A (70.18 KB)

Code 1 (48.33 KB)

Code 1.1 (75.55 KB)

Code 1.2 (75.2 KB)

Code 1.3 (70.33 KB)

Code 1.4 (46.16 KB)

Code 1.5 (87.05 KB)

Code 1.6 (81.39 KB)

Code 1.7 (87.34 KB)

Code 1.8 (60.83 KB)

Code 1.9 (33.93 KB)

Code 1.99 (43.11 KB)

Code 2 (65.86 KB)

Code 2.1 (81.31 KB)

Code 2.2 (35.35 KB)

Code 2.3 (39.77 KB)

Fig 1 and 2 (24.19 KB)

Fig 3 (29.96 KB)

Fig 3p (11.9 KB)

Fig 4 (15 KB)

GTIN 2 (6.99 KB)

GTIN 3 (17.82 KB)

GTIN 1 (18.11 KB)

PL2 (18.34 KB)

PL3 (19.76 KB)

Related

Products

Page 38 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...

Page 39: Advanced Barcode Strategies

Oracle E-Business Suite > Logistics > Logistics > Oracle Warehouse Management > Materials Management > Materials Management•

Keywords

BARCODE; BARCODES; GTIN; MSCA; WHITE PAPER

Back to Top Copyright (c) 2014, Oracle. All rights reserved. Legal Notices and Terms of Use Privacy Statement

Page 39 of 39Document 297992.1

11/06/2014https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=339019086799426&id=297992.1&displayIndex=2&_afrWindowM...