Professional Documents
Culture Documents
Version 3.0
166 Corporate Drive, Portsmouth, NH 03801 U.S.A. Tel: (603) 766-3630 Fax: 603) 766-3631 E-Mail: sales@loftware.com www.loftware.com
Contents
INFORMATION AND INSTALLATION ..................................................................................... 1 Introduction ......................................................................................................................................... 1 Connector Console ........................................................................................................................ 1 Java API ........................................................................................................................................ 1 Loftware Oracle Connector ........................................................................................................... 1 Contacting Loftware............................................................................................................................ 3 Professional Services Group ......................................................................................................... 3 Technical Support ......................................................................................................................... 3 Customer Service .......................................................................................................................... 3 Traditional Mail ............................................................................................................................ 3 Technical Support ............................................................................................................................... 4 Licensing, Warranty, and Support....................................................................................................... 5 Installation ........................................................................................................................................... 6 Setup Procedure for Windows ....................................................................................................... 6 Setup Procedure for Linux or Unix ............................................................................................... 9 Important Notes ........................................................................................................................... 10 Uninstalling ................................................................................................................................. 10 Configuration .................................................................................................................................... 11 INTEGRATION AND DEVELOPMENT ................................................................................... 13 Print Request Procedures .................................................................................................................. 13 Integrating with Oracle PL/SQL ....................................................................................................... 15 Troubleshooting Information ............................................................................................................ 19 Oracle Trace File ......................................................................................................................... 21 Common Faults and Resolutions ................................................................................................. 22 Additional Information ................................................................................................................ 23 APPENDIX A ORACLE WMS AND MSCA.......................................................................... 25 Introduction to Appendix A .............................................................................................................. 25 Setup for MSCA or WMS ................................................................................................................. 26 Adding a Printer .......................................................................................................................... 27 Setting up Labels ......................................................................................................................... 28 Setting up Label Formats ............................................................................................................ 29 How to Define Label Field Variables.......................................................................................... 31 Associating Label Types to Business Flows ............................................................................... 34 Setting Up Label Format Assignment Rules ............................................................................... 37 Transactions to Trigger a Label................................................................................................... 40 Troubleshooting WMS and MSCA ............................................................................................. 41
Contents i
INDEX ...................................................................................................................................... 43
Connector Console
The Loftware Connector Console (LCC) is used to configure the Connector in both the Oracle and Java API modes. It is a browser based application that is installed separately and serves as the interface to access all Connector settings. See the Loftware Connector Console Guide for more information.
Java API
The Java API allows enterprise developers to harness the power of the Connector from their Java applications. Any Java application on any platform can use this API to print bar code labels and program RFID tags on a large scale. See the Loftware Java API Developers Guide for further information and setup instructions.
Figure 1. An Oracle Application Server using the LPS to generate labels and RFID tags.
Contacting Loftware
Professional Services Group
For consultation, implementation services, training or product optimization please contact Loftware's Professional Services Group. Phone +1.603.766.3630 x209 E-mail psg@loftware.com
Technical Support
For installation and configuration questions, please contact Loftware's Technical Support department. Visit www.loftware.com for Loftware's technical support policies. Phone +1.603.766.3630 x402 Fax +1.603.766.3635 E-mail techsupport@loftware.com
Customer Service
For licensing, product information, and ordering questions, please contact Loftware's Customer Service department. Please have your Serial Number and Registration information available, so we can provide service to you quickly and efficiently. Phone +1.603.766.3630 x401 Fax +1.603.766.3631 E-mail customerservice@loftware.com
Traditional Mail
If you need to contact Loftware via traditional mail, FEDEX, UPS, or other mail service carriers, please use Loftwares shipping address listed below: Loftware, Inc. 166 Corporate Drive Portsmouth NH 03801 U.S.A.
Technical Support
Software licenses purchased directly from Loftware include the first year of Technical Support. This initial 12-month support period starts on the day the product is shipped and invoiced from Loftwares factory. When needed, support recipients during this period are eligible to receive unlimited telephone support, access to software upgrades and enhancements and speak with our Systems Analysts.
2. 3. 4. 5.
6.
Automatically eligible to download software upgrades and service packs from our website Automatic e-mail notification when new versions of software become available When necessary, access to senior Loftware technical support staff, via phone and email Guaranteed software license replacement for accidentally damaged or malfunctioning
hardware keys
10. You have checked the Loftwares Knowledge Base articles on our website. Hundreds of frequently asked questions and typical problems are documented there in easy to read articles. 11. If you suspect that your problem is hardware related, try to first determine if it is a problem with your PC, Network, or printer and contact the appropriate company. Loftware does not sell or service any hardware products.
12. Have your serial number and version number of the product you are using ready. These numbers can be obtained by accessing the Help|About menu of the label design mode. 13. Think about how you are going to efficiently explain the problem prior to speaking with a technician. The better the description, the quicker the solution and/or resolution to your problem. 14. If this is a follow up call to a previous incident, please have the incident number ready. Phone 603-766-3630 x402 Fax 603-766-3635 E-mail techsupport@loftware.com
Loftware End User License Agreement Loftware Third Party Terms and Conditions Loftware Software Services Support Agreement
Installation
The Loftware Connector setup routine creates all required database objects in the Oracle database to operate and administer the Loftware Connector in the PL/SQL environment and if installed, updates the Oracle WMS label printing interface for printing via the Loftware Connector. In addition, related files, sample code, and documentation are installed. If the Loftware Connector is being installed for use with Oracle WMS/MSCA, see Appendix A for procedures to configure the WMS/MSCA application for label printing via the Loftware Connector. System Requirements The Loftware Oracle Connector can be installed from the console of the server running the Oracle Database or from a client (Windows, Linux, or UNIX) machine running SQLNet. The setup program verifies that all prerequisites have been met during installation. If any of the requirements are not met, an error message is displayed and the install exits. The following are required prior to installation:
Database account with DBA privileges for the target Oracle database. Target Oracle database must be v8.1.7x or higher. Oracle Java packages must be installed on the target database. A tablespace in the database should be identified or created for the Loftware Connector installation. In the case of installing from a client machine, network access to the Oracle server must be available. Must have a configured SQLNet connection to the target database. If running the install on the database server, have the database service name available. If running the setup from a Linux or UNIX machine, verify that the ORACLE_HOME environment variable is set. Must have the Oracle utility loadjava installed. Installation can be verified by checking the <ORACLE_HOME>/bin directory. Operating system must support running Java 1.5 or 1.6. Loftware Print Server version 8.1.x or greater must be on a computer accessible by the system running the Connector. It does not have to be running on the same system as the Connector.
2.
From the Welcome screen press Next > to start the installation or Cancel to quit.
3.
Enter the following: User: Enter an Oracle username that has DBA privileges. Password: Enter the password for the selected user. Host: Enter the hostname of the Oracle database server. Port: Enter the Oracle SQLNet Listener port for the database server (default: 1521). SID: Enter the SID of the database instance where the Loftware Connector is to be installed.
4.
Press Next > to connect to the selected database, verify database prerequisites, and create Loftware Connector database schema objects. Press Cancel to quit or < Back to select a different Loftware Connector install option. Note: An error message is returned for any of the following: - Invalid Oracle username and/or password - Invalid SID - Selected Oracle user does not have DBA privilege - Unable to connect to the database - Oracle Java packages are not installed on the selected database If database components were selected to be installed and the LOFTWARE user does not exist in the selected database, the tablespace screen is displayed prompting for the default tablespace for the LOFTWARE user.
5.
Enter a valid tablespace name and press Next > to create the Loftware user and schema.
After the Oracle Java has been verified and the Loftware Connector schema has been created, the install runs the Oracle loadjava utility to install the Loftware Connector Java components into the selected database.
To install the Loftware Connector Java components: 6. Enter Oracle Home Directory - By default, the value of the ORACLE_HOME environment value is displayed. If it is not displayed or if a different Oracle installation directory is to be used, enter the full path. Enter SQLNet service name or alias - If running the installation from a client, enter a valid SQLNet alias that has been set up for connecting to the selected database. If running the install directly on the database server, enter the Oracle service name of the database instance the Loftware Connector is being installed on. Press Next > to install the Loftware Connector Java components on the selected database or Cancel to quit. Press Finish to exit the setup program.
7.
8. 9.
10. Now, you must install the Loftware Connector Console in order to configure your instance of the Connector. Refer to the Loftware Connector Console guide for information on how to do this.
4.
6.
Next, enter a tablespace name for the LOFTWARE default tablespace. Loftware schema objects will be created in this tablespace. Press 1 for Next. (Press 2 for Previous, 3 to Cancel, or 5 to Redisplay.) Next, enter your ORACLE_HOME directory. This will be used to execute the Oracle loadjava utility. Press 1 for Next. (Press 2 for Previous, 3 to Cancel, or 5 to Redisplay.) When the Wizard has successfully completed the setup process, press 3 to finish and exit the Wizard.
7. 8.
Important Notes
Note 1: The LOFTWARE Oracle account is initially created with a password of loftware. The password can be changed after installation as required. Note 2: For UNIX and Linux installations, you have the option of running the install in console mode. From ssh, telnet or a similar prompt, run the appropriate setup executable on the install CD for your operating system. Note 3: The Connector Console must be installed in order to set up the Loftware Oracle Connector. Refer to the Loftware Connector Console guide for information on how to do this. Note 4: If you are running the Oracle WMS system, refer to Appendix A for additional setup information. Upgrading Prior versions of the Loftware Oracle Connector are automatically upgraded by the setup routine if detected on the selected database during install. Existing LPS server and printer entries are preserved. Label printing applications should continue to function without any additional configuration changes. Repairing and Reinstalling If setup is run and Version 3.0 is detected, the installation can be automatically repaired, replacing missing files and database components. Existing LPS server and printer entries are preserved.
Uninstalling
The database components can be uninstalled by running the uninstall program for the Loftware Connector. The uninstall program is located in the _uninstall directory of your Loftware Connector installation, e.g. C:\Program Files\Loftware Labeling\Connector\Oracle for Windows or /opt/loftware/connector/oracle for Linux/UNIX. To uninstall the Loftware Connector: 1. Login using an account with local administration rights for Windows.
2.
Double-click uninstall.exe for Windows. For Linux/UNIX, from a shell prompt run ./uninstall or ./uninstall console to run from a shell (ssh, telnet).
DBA privilege is required to uninstall the Loftware Connector. The uninstall drops the LOFTWARE user and all related schema, Loftware Connector Java objects and related public synonyms from the selected database.
Configuration
Beginning with version 2.5, the Connector requires that the Connector Console be installed. The Console (shown in the following figure) is a browser based application which allows you to set up and test all aspects of the Connector. Refer to the Loftware Connector Console guide for complete documentation on how to set up and use the Console.
x_printer_status OUT VARCHAR2 the printer status associated with the request (e.g. Online, Out of Stock). The status type argument indicates if the error is a printer error. x_status_type OUT NUMBER the severity of the status (0 = SUCCESS, 1 = WARNING, 3 = ERROR, 5 = Printer Error)
CLOB_SYNC_PRINT_REQUEST.SYNC_PRINT_REQUEST (argument list) This is an alternative Loftware Connector print request procedure when the print request is greater than 32Kbytes in size. Arguments:
1. 2. 3. 4. p_xml_content IN CLOB XML print request (any size) x_printer_status OUT VARCHAR2 the printer status associated with the request (e.g. Online, Out of Stock). The status type argument indicates if the error is a printer error. x_status_type OUT NUMBER the severity of the status (0 = SUCCESS, 1 = WARNING, 3 = ERROR, 5 = Printer Error) x_job_status OUT VARCHAR2 the status of the request (SUCCESS or ERROR)
Creating XML Requests Request variables are the primary method of supplying data to the Loftware Connector. They are supplied in an XML document, which is subsequently parsed by the target Loftware Print Server. Request variables are mapped to label fields at print time. Most of the variables required for a print request are supplied at print time in an XML document generated by your application. You can simply include all of the data in your XML request or generate a very minimal XML request and use the Filtering feature of the Connector. Refer to the LPS User's Guide for exact syntax requirements of the XML document. In an XML print request, request variable elements are defined by:
<variable name="variable name">variable value</variable>
e.g.: <variable name="partNumber">12345-123</variable> At print time, a label with a variable field named partNumber is populated with the 12345123 value. Variable names that do not have a corresponding label variable are ignored at print time.
else select * into testdata from lps_test_data where id = testID; end if; xmldata := '<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE labels SYSTEM "C:\Program Files\Loftware Labeling\Batch\label.dtd">'; xmldata := xmldata || '<labels _FORMAT="' || testdata.format; xmldata := xmldata || '" _JOBNAME="' || testdata.jobname; xmldata := xmldata || '" _PRINTERNAME="' || testdata.printername; xmldata := xmldata || '"><label _QUANTITY="' || to_char(testdata.printqty); xmldata := xmldata || '"><variable name="PartNumber">' || testdata.partnumber; xmldata := xmldata || '</variable><variable name="Quantity">' || to_char(testdata.partqty); xmldata := xmldata || '</variable><variable name="Supplier">' || testdata.supplier; xmldata := xmldata || '</variable><variable name="SerialNumber">' || testdata.serial; xmldata := xmldata || '</variable><variable name="Barc0019">' || testdata.barc0019; xmldata := xmldata || '</variable><variable name="RCode">' || testdata.rcode; xmldata := xmldata || '</variable><variable name="Text0027">' || testdata.text0027; xmldata := xmldata || '</variable></label></labels>'; INV_SYNC_PRINT_REQUEST.SYNC_PRINT_REQUEST(xmldata, jobstatus, printerstatus, statustype); linepos := 0; dbms_output.put_line('jobstatus:'); while length(jobstatus) > linepos loop if length(jobstatus) - linepos > 254 then linelen := 254; else linelen := length(jobstatus) - linepos; end if; dbms_output.put_line(substr(jobstatus, linepos, linelen)); linepos := linepos + linelen; end loop; dbms_output.put_line(' '); linepos := 0; dbms_output.put_line('printerstatus:'); while length(printerstatus) > linepos loop if length(printerstatus) - linepos > 254 then linelen := 254; else linelen := length(printerstatus) - linepos; end if; dbms_output.put_line(substr(printerstatus, linepos, linelen)); linepos := linepos + linelen; end loop; dbms_output.put_line(' '); dbms_output.put_line('statustype: '||to_number(statustype)); end;
Printing via CLOB_SYNC_PRINT_REQUEST.SYNC_PRINT_REQUEST If XML processing is required or preferred, or if the print request exceeds 32 Kbytes in size, the CLOB_SYNC_PRINT_REQUEST package must be used. The example below utilizes Oracles XDK and XSU to create and modify an XML print request and invoke the CLOB_SYNC_PRINT_REQUEST.SYNC_PRINT_REQUEST package procedure. An XML stylesheet (XSLT) is used to format the XML request for use by the Loftware Connector. The stylesheet is applied to the XSU query results. See Oracles XDK documentation for further discussion of XSU and other XML utilities.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="labels"> <xsl:copy><xsl:apply-templates select="label"/></xsl:copy> </xsl:template> <xsl:template match="label"><xsl:copy> <xsl:apply-templates select="./*"/></xsl:copy> </xsl:template> <xsl:template match="label/*"> <variable name="{name(.)}"><xsl:value-of select="."/></variable> </xsl:template> </xsl:stylesheet>
The top level element labels is copied from the query result. Each label element (one or more) is copied from the query result. For each variable under label, a variable element is created with its name attribute set to the query result column name and the value set to the value returned in the query.
create or replace procedure write_label( key in number, printerName in varchar2, labelFormat in varchar2 := 'AIAGSAMP.lwl', qty in number := 1, tray in number := 0 ) as queryCtx dbms_xmlquery.ctxType; result CLOB; xslt CLOB; p xmlparser.parser; doc xmldom.DOMDocument; labels xmldom.DOMElement; jobstatus varchar2(500); printerstatus varchar2(500); statustype number; xslt_str varchar2(500) := '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="labels"><xsl:copy><xsl:apply-templates select="label"/></xsl:copy></xsl:template><xsl:template match="label"><xsl:copy><xsl:apply-templates select="./*"/></xsl:copy></xsl:template><xsl:template match="label/*"><variable name="{name(.)}"><xsl:value-of select="."/></variable></xsl:template></xsl:stylesheet>'; procedure show(buf in varchar2) is linepos number := 0;
linelen number := 0; begin while length(buf) > linepos loop if length(buf) - linepos > 254 then linelen := 254; else linelen := length(buf) - linepos; end if; dbms_output.put_line(substr(buf, linepos, linelen)); linepos := linepos + linelen; end loop; end; procedure showclob(lobloc in clob) is buffer varchar2(32000); amount number := 32000; ix number := 1; len number; begin len := dbms_lob.getlength(lobloc); dbms_lob.read(lobloc, amount, 1, buffer); while ix < len loop dbms_output.put_line(substr(buffer, ix, 254)); ix := ix + 254; end loop; end; begin -- build the xslt dbms_lob.createTemporary(xslt, false, dbms_lob.CALL); dbms_lob.writeAppend(xslt, length(xslt_str), xslt_str); dbms_output.put_line('XSLT'); showclob(xslt); -- set the query context. queryCtx := dbms_xmlquery.newContext( 'select po_no barc0019, line_no text0027, part_no partnumber, serial_no serialnumber, category rcode, vendor_no supplier, qty quantity from vendor v, item i, purchase_order po, purchase_order_line where v.id = vendor_id and i.id = item_id and po.id = purchase_order_id and purchase_order_id = :key' ); dbms_xmlquery.setBindValue(queryCtx, 'key', key); dbms_xmlquery.setRowSetTag(queryCtx, 'LABELS'); dbms_xmlquery.setRowTag(queryCtx, 'LABEL'); dbms_xmlquery.setDateFormat(queryCtx, 'MM/dd/yyyy'); dbms_xmlquery.useNullAttributeIndicator(queryCtx, false); dbms_xmlquery.setRowIdAttrName(queryCtx, null); dbms_xmlquery.setTagCase(queryCtx, dbms_xmlquery.lower_case); dbms_xmlquery.setXSLT(queryCtx, xslt); -- get the initial document from the query result := dbms_xmlquery.getXML(queryCtx); dbms_output.put_line('Initial XML'); showclob(result); dbms_xmlquery.closeContext(queryCtx); -- get DOM representation of document p := xmlparser.newParser;
xmlparser.setPreserveWhiteSpace(p, false); xmlparser.setValidationMode(p, false); xmlparser.parseClob(p, result); doc := xmlparser.getDocument(p); -- add label attributes to the document labels := xmldom.getDocumentElement(doc); xmldom.setAttribute(labels, '_FORMAT', labelFormat); xmldom.setAttribute(labels, '_PRINTERNAME', printerName); xmldom.setAttribute(labels, '_QUANTITY', to_char(nvl(qty,1))); if nvl(tray, 0) > 0 then xmldom.setAttribute(labels, '_TRAY', tray); end if; -- save back to clob xmldom.writeToClob(doc, result); --xmldom.writeToFile(doc, 'C:\temp\lwsampl.xml'); dbms_output.put_line('Updated XML'); showclob(result); xmldom.freeDocument(doc); xmlparser.freeParser(p); dbms_lob.freeTemporary(xslt); -- print the label CLOB_SYNC_PRINT_REQUEST.SYNC_PRINT_REQUEST(result, jobstatus, printerstatus, statustype); -- display the results of the print job dbms_output.put_line('jobstatus:'); show(jobstatus); dbms_output.put_line(' '); dbms_output.put_line('printerstatus:'); show(printerstatus); dbms_output.put_line(' '); dbms_output.put_line('statustype: '||to_number(statustype)); end;
Troubleshooting Information
Troubleshooting is divided into two sections: Installation and Printing. Going back through the previous documentation may also be helpful to double-check any steps that may have been missed or for any information that was not quite understood during the first read.
Troubleshooting Installation
The setup program updates the loftwareconnector.log during any installation, upgrade, and repair or uninstall. The log is updated for each operation and maintains a detailed history of all setup tasks on the machine. A loftwareloadjava.log file created each time the Oracle loadjava utility is run by the setup program. For Windows, both log files are located in <SystemDrive>\Windows\System32.
Troubleshooting Printing
Loftware Connector Console Refer to the Connection Screen section of the Loftware Connector Console users guide for information on testing several important areas of functionality. Loftware LPS Status Client The LPS Status Client can be used to monitor status of all available LPS servers, including server status, printer status and print job status. Failed print jobs can be re-submitted from the Status Client. (See the following figures.) In most cases when there is a printing error/failure, the Status Client should be checked first. Information on the Status Client is found in the LPS User's Guide.
Invalid SQLNet alias Verify SQLNet connection to or service name. database using SQLPlus.
Printing
Symptom Possible Error(s) Resolution Verify LPS is running on target machine and start service if necessary. Verify host is reachable with ping or nslookup. Have administrator setup appropriate host or dns entries. Verify firewall configuration and enable socket connection to specified LPS port (default 2723) from Loftware Connector host. More Info Oracle trace file
Print returns a LPS server not running. Connection Host not reachable. Refused Firewall blocking error connection on LPS port.
Save copy of selected label with appropriate printer type selected. Verify label format is available at the label Label format not found. format path specified in the request. Save label format in correct location. Printer not configured. Verify selected printer is configured and available; replace label stock or ribbon as Printer not available. required. Loftware Connector error. Verify XML request format, modify application as required. If using Oracle WMS/MSCA, verify label printing configuration.
Additional Information
Be sure to refer to the two other guides that come with the Connector: the Java API Developers Guide and the Connector Console Users Guide. Loftware LPS
http://loftware.com/webhelp_lps/lps.htm
Documentation for configuration and administration of Loftwares LPS server can be found at
Oracle WMS/Mobile Supply Chain Documentation for Oracles WMS/Mobile Supply Chain applications can be found at the Oracle Technology Network: http://download-west.oracle.com/docs/cd/B11454_01/11.5.9/acrobat/115wmsig.pdf and http://download-west.oracle.com/docs/cd/B11454_01/11.5.9/acrobat/115wmsug.pdf Note: Membership in Oracle Technology Network (OTN) is required for access. Oracle XML Developers Kit Documentation for the installation and usage for Oracles XML Developers Kit (XDK) can be found at http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96621/toc.htm Note: Membership in Oracle Technology Network (OTN) is required for access.
If you have access problems with either, please see the troubleshooting section at the end of this appendix, as some configuration of permissions may be required. PL/SQL experience and access may be needed to troubleshoot some situations as necessary. Note: Point of Clarification-The MSCA (Mobile Apps) product does NOT have separate setups. It uses the WMS profiles, i.e. for Label Print Mode, and if Asynchronous, Label Output Director. (Thus, when you query for profile options, you query WMS%.) The MSCA product does NOT include the Compliance Labeling Rules Engine or LPNs, that is WMS ONLY. At time of printing, MSCA has 9 label types, WMS has 3 additional LPN type labels for 12 base labels, and the Compliance Labeling Rules Engine allows you to create variations of those base labels based on variables you specify (i.e. different shipping label for different ship to addresses). Please refer to Metalink Oracle Warehouse Management Product Documentation for more information on MSCA & WMS including user and implementation guides. Refer to Metalink Oracle Warehouse Management System White Papers for more information on rules and label customization. Please note that the Telnet session is also included in the WMS product and still requires setup and configuration; please see Metalink document MWA Server and Dispatcher Configuration Quick Start Reference.
(loftwms/loftware)
Click on System and in the find system profile values enter WMS% in the Profiles box. Click Find. Note: If this is the first time you have accessed the Oracle Applications, you may have ActiveX errors or jinitiator may need to be installed; see troubleshooting section for more information. Profile: WMS: Label Print Mode = Asynchronous for non-Oracle Connector or file drop method Profile: WMS: Label Print Mode = Synchronous for Oracle Connector or SQL API method See the following figure:
4.
After selecting the correct mode for your instance, save your work and exit form. Note: If Asynchronous, then output directory must be specified. Profile: WMS: Label output directory = (i.e. /dbfiles/applcsf/outbound) Whatever the path specified is, as in the example shown above /dbfiles/applcsf/outbound, this directory MUST have write permissions by the Oracle Apps. See tech note in the troubleshooting section to determine if you have proper permissions.
Adding a Printer
1. Apps responsibility= System Administrator Install: Printer Navigation path= Install>Printer>Register Double click Register. Add <printername>
2. 3.
Note: Case sensitive, this must match EXACTLY what you set up as your LPS alias printer name. 4. 5. Under Type, select printer type label. Add a description of your printer for reference, e.g.: Bar Code Label Printer1. See following figure:
6. 7.
Save your work; close form. Go to File>Switch responsibility, change to Warehouse Manager.
Setting up Labels
Setting up labels involves the following tasks: Defining label formats Associating label types to printers Associating label types to business flows Setting up label format assignment rules (WMS only)
Defining Label Formats When you define label formats, you are setting up the data fields that you want the system to include on a particular label. The following figure provides an example of the data that might appear on a LPN label, which would be created in Loftware Label Manager beforehand. This
"registers" that label in the Oracle WMS system, which needs to match exactly what you saved in Design Mode. To define this label in the system, you would set up the label fields and License Plate Number (LPN) as shown in the example.
How to Set Up Label Formats Before you can specify label generation points and construct label format rules, you must define label formats. You define labels in the Define Label Formats window as shown in the following figure. 1. Navigate to the Define Label Formats window. Setup>Warehouse Configuration>Printers & Devices>Define Label Formats
Note: Name(s) for labels, fields and variables should be the exact same name that is stored in the Loftware LPS server, e.g. "LPN.lwl" so that when Oracle sends the .XML data, Loftware can match it to the correct label format\variable field name. 2. 3. 4. 5. 6. 7. In the Label Type field, use the list of values to select the label type for which you want to define label formats, e.g. LPN. Enter a name for the label, e.g. LPN.lwl, in the Label Formats region, Name field. Enter an optional description to describe this label format in the Description field. Enter a date on which this label format can no longer be used in the Disable Date field. This is optional. Select the Default Label check box to identify that this label type is used as the default label type if the system cannot find a rule that determines the label format (WMS only). Save your work; click the Label Fields button to open the Define Label Field Variable window.
Note: Only one label format may be specified as the default label. 1. Select the data element that represents the field using the list of values on the label in the Label Fields section, under the Field Name column. The label type determines the list of values in this field that you have selected, for example, License Plate Number, in the Define Label Formats window. 2. 3. 4. 5. Enter a unique text string in the Field Variable Name field that is used as a variable to represent the data field on the label format. Enter an optional description for the field variable name in the Description field. Repeat steps 1 through 3 to enter additional label fields. Save your work when you are finished. Note: An indication at bottom left corner of form should be made whether x record(s) saved or no changes to save.
Associating Label Types to Printers 1. Navigate to Assign Printers to Documents in the desktop under Warehouse Manager responsibility. Navigation Path = Setup>Warehouse Configuration>Printers & Devices>Assign Printers to Documents 2. 3. Double click on Assign Printers to Documents. Expand the tree for documents. If documents are not displayed, right click on documents and add label type. 4. 5. 6. 7. Double click on a label type, e.g. LPN. Select printer name, level and value from list of values as shown in the figure below. Scroll to right and check box for enable and default for desired value. Save your work and close the form.
Materials
Serial
LPN
Receipt Inspection Delivery Put away drop Cross Dock Replenishmt. Drop Cycle Count Physical Count Material StatusUpdate Cost Group Update Lot Split/ Merge Misc. Alias Rect. Inter-org Transfer Subinventory Transfer LPN Generation Serial # Generation Pick Load Pick Drop Pack/Unpack/ Update LPN Ship Confirm Cartonization
at pick release
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes No No Yes Yes Yes Yes Yes
No No No No No No No No No Yes No No No No No No No No No No No No
How to Associate Label Types to Business Flows Before you can associate label types to business flows, you must have already defined the appropriate label format that is compatible with the business flow. For a list of compatible label formats for business flows, see the Assign Label Types to Business Flows window. Note: This window is also used to associate label types to business flows. 1. Navigate to the Assign Label Types to Business Flows window. Setup>Warehouse Configuration>Printers & Devices>Assign Label Types to Business Flows
2. 3. 4.
Expand the Business Flows icon to display a list of business flows in the left panel of the window. Select the LPN Generation business flow to associate a label type. Use the list of values in the Label Type field to select the LPN label type to associate it to the business flow. Note that the list of values displays only those label types valid for the business flow.
5. 6.
Select the level at which you want to control printing for this label type in the Level field. Valid values are Site, Application, Responsibility, and User. Select the value for the level that you selected in step 5 in the Value field. The Value field is disabled if you selected Site as the level in step 5. If you selected Application, the list of values displays valid applications. If you selected User, the list of values displays valid users. If you selected Responsibility, the list of values displays valid responsibilities. The Enabled check box is automatically selected to indicate that this label type can be used for generating the label associated with the business flow. Clearing this check box disables this association, and the label type is not generated for the business flow.
7. 8.
Enter any comments about the association that you just created in the Comments field. Save your work; close the form.
How to Define Label Format Rules After you associate label types to business flows, you can create label format assignment rules. You use the WMS Rules window to create these rules. For more information about label format assignment rules, see Label Format Assignment Rules. Note: Before you set up label format rules, you should manually plan and design your rule. 1. Navigate to the WMS Rules window.
2. 3. 4. 5. 6. 7. 8. 9.
Select Label Format in the Type field. Enter a name for the label format assignment rule in the Name field. Note that the Sort Criteria and Consistency tabs are disabled for this type of rule. Enter a description for the label format assignment rule in the Description field. Select the label format that you want the system to generate whenever the rule is executed using the list of values in the Return Value field. Enter a sequence number for the first restriction on the Restrictions tab, in the Seq field. Use the list of values to select the first business object for the rule in the Object field. Enter the value associated with the business object in the Parameter field. Select the operator that represents the rule conditions in the Operator field.
10. Use the list of the values to select the appropriate business object in the second Object field. 11. Use the list of values or enter the parameter value associated with the second business object in the second Parameter field. 12. Repeat steps 6 through 9 to add more restrictions to your rule. 13. Enter a weight that specifies the rules execution priority in relation to other label rule execution priorities in the Weight field located at the bottom of the window. Higher weighted rules are executed first. 14. Select the Enabled check box if you want to enable the rule. Note: The User Defined check boxes - User Defined, Enable, and Common to All Orgs are explained following the instructions on the rule definition. 15. Clear the Common to All Orgs check box (if selected). Rules should not be selected across organizations because task types, resources, and departments are all organization specific. 16. Select the options for the restriction if more than one restriction is specified. This determines how the restrictions should be considered during execution of the rules. 17. Save your work. Note: When you enable a rule, the system compiles the rule and checks for possible syntax errors. If you are having problems and cannot get anything to work or work consistently, one of the first things to do as a preventative measure is to Generate All Rules. Responsibility =Warehouse Manager NAVIGATION = Other>Requests>Requests>Run>Single Request Query Gen% Select Generate All Rules. Also, if you change any rules, or enable/disable rules or strategies, you MUST bounce the Telnet server (MWA) and log out/log back in on the Telnet session/device before proceeding or your transactions are likely to fail to produce any labels.
Verify printing using a new feature in Oracle 11.5.9+ After logging into the Apps in your browser, navigate to the Inquiry: View Label Requests window. Navigation Path= Inquiry>View Label Requests
Note that you can also view the actual .XML tag in the Label Content window for each label request. By scrolling to the right, you can view LPN number, user, time of request, etc. You can also choose a new printer and reprint the job should the printer run out of media or the labels get damaged.
If you get an error that says the forms cannot start, or your browser hangs halfway through opening the window, you may have to disable your client software firewall (leave your AntiVirus running) while you access the Apps forms. This happens with Norton Internet Security 2004 enabled and may happen with other packages as well, including pop-up stoppers that were installed on a trial basis, have expired but remain installed. The forms pop-up a Java window required to run the Apps. If this is the first time you have tried to access the instance, you may be prompted to load the jinitiator 1.1.18.x. You need this on your client machine to run the Apps forms, and it is best to accept the defaults. Telnet Client: If you are using Windows 2000 or XP, it is a known issue that the telnet client has a bug in it and does not perform correctly; notably the F2 & F3 function keys do not work so that you cannot back out of a transaction or back out to the menu. The fix is to download a telnet client from an older version, i.e. Win NT or 98, and use that instead. You can tell if you have the correct client by starting a telnet session and looking at the top taskbar; if you have Connect Edit Terminal Help across the top, you are all set; if you do not, you have the wrong telnet client. Section 1 Tech NOTE: This directory MUST have write permissions by the Oracle Apps. This can be checked by doing a SQL query as follows:
Select * from v$database Select * from v$parameter
The results give you all of the directories that the Apps have write permissions to. If the folder in the path specified is not listed, then you cannot print labels, since the Oracle Applications cannot write the .XML file to the specified directory. If the DBAs have created a new filename or path that is not included, they can add the directory to the table.
Index
A
Associating Label Types to Business Flows, 28, 34 Label Types to Printers, 28, 33
L
Label Field Variables in WMS and MSCA, 31 Label Format Rules Defining, 38 Setting, 28, 37 Labels Importing, 1 Upgrading, 1 Linux and Loftware Connector, 6, 10, 20 Loftware Connector and Database Tablespaces, 6 and Linux, 6, 10, 20 and Oracle Java Packages, 6, 7 Database Requirements, 6 Installing, 6 Integration, 13 Repairing and Reinstalling, 10 Troubleshooting, 19 Uninstalling, 10 Upgrading, 10
B
Business Flows Associating Label Types to, 28, 34
C
Common Faults and Resolutions, 22 Creating XML Requests, 14
D
Database Requirements, 6, 7 Defining Label Field Variables in WMS and MSCA, 31 Label Formats in MSCA and WMS, 28
M
MSCA and WMS, 25, 41 Adding a Printer, 27 Label Formats, 28 Pre-requisites, 25 Setting Up Labels, 28 Setup, 26
I
Importing, 1 Installing the Loftware Connector, 6 Integrating the Loftware Connector, 13 with Oracle PL/SQL, 15
O
Oracle Java Packages and Loftware Connector, 6, 7 Oracle Trace File, 2122 Oracle WMS and MSCA, 25, 41
Index 43
P
Pre-Requisites MSCA and WMS, 25 Print Request Sample XML, 15
Troubleshooting Common Faults and Resolutions, 22 Installation, 19 Printing, 20 the Loftware Connector, 19 WMS and MSCA, 41
R
Repairing and Reinstalling the Loftware Connector, 10
U
Uninstalling the Loftware Connector, 10 UNIX, 6, 10, 20
S
Setting Label Format Assignment Rules, 28, 37 Setting Up Label Formats in MSCA and WMS, 29 Setting Up Labels in MSCA and WMS, 28 Setup for Linux / Unix, 9 for MSCA or WMS, 26 for Windows, 6 SQLPlus, 22 Syntax Errors, 39
V
Verifying Label Printing, 40
W
WMS and MSCA, 25, 41 Business Flows, 28, 34 Label Field Variables, 31 Label Type Association, 28, 33 Setting Up Label Format Assignment Rules, 28, 37 Troubleshooting, 41
T
Tablespace Pre-Install Reqirement, 6 Technical Support, 4 Triggering a Label, 40
X
XML Sample Print Request, 15 XML Requests, 14
44 Index