Label Printing Integration Kit

This chapter covers the following topics:

Label Printing Integration Kit

Oracle Warehouse Management provides an integration kit to third Party Label Printing Software packages that enables you to print labels directly from within the Oracle Warehouse Management environment. The kit integrates with the leading providers of label printing software, and in several cases integrates directly to label printing hardware without intermediary software. It provides multiple modes for printing applications with more complicated requirements. The integration is handled through XML messages that are dropped as a file to a pre-specified folder, through an XML parameter of a PL/SQL API, or through a standard TCP/IP ethernet socket connection. For specific information about integrating to a particular printing software supplier, contact your supplier.

Oracle Warehouse Management provides the ability to print specific label formats for particular circumstances through either a real-time synchronous integration or a asynchronous integration.

Definition of Terms

Functional Process

Oracle Warehouse Management supports three modes of label printing integration. Using the Synchronous Mode, also referred to as Generic Synchronous mode, Oracle Warehouse Management calls a PL/SQL API that is shipped as an empty stub. It is the responsibility of the integration partner to implement the API to process the print request and return the status to Oracle Warehouse Management. Using TCP / IP Synchronous Mode, Oracle Warehouse Management sends the requests to the IP address and the port specified during setup. Using the Asynchronous Mode, Oracle Warehouse Management creates an XML file in a specified directory that contains the print request instructions. It is the responsibility of the integration software to monitor the directory for new files, retrieve the XML file that Oracle Warehouse Management creates, and process the label print request.

You can print labels through Oracle Warehouse Management in several ways. You can initiate a manual print request from the mobile device, or print a label automatically as part of a business flow. You can also reprint labels printed in either of these two ways via a mobile window or a desktop window. You can redirect reprint requests to a different printer, or request a different number of label copies. The manual request and reprint functionality is useful if you require a label to be printed for a particular License Plate if the current label is damaged or unreadable.

For any print request, whether it comes through a manual request or an automatic business flow, Oracle Warehouse Management determines the printer and label format to use if these are not already provided as part of the label printing request. The printer is determined by querying the current printer assignments. Printers can be assigned to the entire Site, Responsibility, Subinventory, or individual User. See: Assigning Printers . The Label Format is determined through the Rules Engine. You can model business logic that determines the best label format to print for a given request in the Rules Engine. You can construct individual rules to specify that a certain Label Format be used if certain criteria are met. Those rules are given weights to determine the execute sequence when looking for a Label Format. Each Label Type also has one default Label Format that is used for a label request whenever the Rules Engine fails to pick a Label Format. For more information on setting up labeling rules, see:Label Format Assignment Rules, Oracle Warehouse Management User's Guide.

Once the system determines the printer and Label Format Oracle Warehouse Management constructs the XML print request. According to the integration mode, the XML is passed to 3rd Party software through asynchronous API call through a standard ethernet socket, or through a file created in a specific directory.

The 3rd Party software processes the print request and, if running in synchronous PL / SQL mode, returns the print status to Oracle Warehouse Management.

Implementation

This section discusses the label setup in Oracle Warehouse Management. The set up steps include setting Oracle Warehouse Management profiles, creating and assigning printers, defining label formats, and assigning label types to business flows. For information on designing label formats and managing the XML import process, refer to documentation from the third party software being used as an integration partner.

Label Printing Profile Options

The Oracle Warehouse Management Label Printing integration kit uses the following three profiles. You can set all three profiles at the Site, Application, Responsibility, and User levels.

Creating Printers

Printers for label printing are setup in the same way they are normally setup within Oracle Applications except you do not need printer drivers for the label printers since the 3rd Party software processes the actual print request. The printer needs to be setup within Oracle Applications solely for the purpose of choosing the correct printer for a particular print request and then identifying the selected printer by its name in the XML produced by the system.

Use the System Administrator responsibility to create printers. First, a printer type must be created, then individual printers can be created.

Create a type called Label and give it a description. This printer type does need to have associated styles or drivers.

Create a new printer with a unique name of printer type Label. You can now assign the printer to use as a part of the Oracle Warehouse Management Label Print Integration

Note: The name that you give the printer in this setup step must correspond to the name of the printer as recognized by the 3rd Party printing software. The XML that contains the label request will refer to this printer using the name setup here and the printing software must be able to recognize this printer name to successfully process the print request. However, for the direct-to-printer solution whereby the XML is sent directly to the printer, the printer name is not relevant to the printer as this alias is used to route the request and find the correct IP address, but the printers generally assume that all XML messages reaching it should be printed by it.

Assigning Printers

The system searches for a printer assignment in the following sequence: User, Subinventory, Responsibility, Application and Site level. When you make a label request, Oracle Warehouse Management looks for printer assignments for the requested Label Type and uses the printer assigned to the Label Type at the most specific level. If you do not assign printers, to Label Types, you cannot print labels.

Related Topics

Choosing Printers for Shipping Documents and Labels, Oracle Shipping Execution User's Guide

Defining Label Formats

Some 3rd party packages do not recognize special characters or spaces in variable names. For instance, instead of using ITEM NUMBER or S/N use ITEM or SN. In general avoid using all special characters unless directed by the 3rd party documentation.

Note: Not all label fields for a given label type are available during all business flows. In some situations, the data is only available at certain times and cannot be obtained during other business flows. In other situations, the data is located in different places depending on the business flow and not all locations of the data have been implemented yet. Please refer to the Common Problems section for additional details.

Note: The variable names that you give to the fields in this setup step must correspond to the names of the variable names that the 3rd party printing software expects. If these names do not match exactly, Oracle will identify the XML data with one variable name, but the 3rd party printing software will be expecting a different name that is not defined in the data. Thus, the label will be printed with null values for this data.

Related Topics

Compliance Labeling Setup, Oracle Warehouse Management User's Guide

Defining Label Formats with Multiple Records

The LPN Summary and Shipping Contents label formats support designs that include more than one row of data on a single label. This enables you to print a single label that may contain multiple lines of content information for an LPN or outbound shipment.

You can enter multiple lines for the same data element to print multiple record labels on the fields window for defining label formats. For instance, if there is space on one label for 2 rows of information for a LPN Summary label, the following data fields may be defined in the Fields section of the Label Format form:

Data Field and Variables
Data Field Variable
LPN LPN
Item ITEM1
Quantity QTY1
Item ITEM2
Quantity QTY2

In this example if you make a print request for an LPN Summary that contains three rows of record information, the print request API recognizes that two records can fit on one label based on the label format design. Because the data elements Item and Quantity each have two variables associated to them, the first two rows returned for the current LPN pass into those variables. Therefore, two labels are printed. The first label contains the LPN information and the first two rows returned for the LPN Content information. The second label contains the LPN information repeated and the third row returned for the LPN Content information.

Note: Printing multi-record Shipping Contents labels does not working during the Pick Drop business event. You can print multiple record Shipping Contents labels after pick confirmation through a manual print request, or during the Ship Confirm business flow.

Custom Label Fields

You can create custom label fields and associate them with label formats. This enables you to have additional control over the values that are listed on a label. You can write a custom SQL statement to create the custom label field. The following restrictions apply to custom SQL statements:

If a violation occurs during SQL execution, then the system records the violation in the WMS_LABEL_REQUESTS_HIST table.

The following is an example of a correct SQL statement for the field name Supplier Type for the LPN Contents label type:

select ap.vendor_type_lookup_code from ap_suppliers ap, wms_label_requests wlr where wlr.supplier_id = ap.vendor_id

The following is an example of a correct SQL statement for the field name PRO_NUM for the Shipping label type:

select wc.attribute1 from wsh_carriers wc, wsh_delivery_details wdd wms_label_requests wlr where wc.carrier_id = wdd.carrier_id and wlr.delivery_detail_id = wdd.delivery_detail_id

Related Topics

Troubleshooting Label Printing

Defining Custom Label Fields, Oracle Warehouse Management User's Guide

Assigning Label Types to Business Flows

Multiple Label Types can be assigned to a single Business Flow if it is necessary for multiple labels to be printed. However, multiple label types print only if there are multiple assignments for the business flow at the same level.

For instance, if both the LPN and LPN Content Label Types are assigned to print during a Miscellaneous Receipt for a particular user, both label types print. However, if the LPN Label Type is assigned to a responsibility and the LPN Content Label Type is assigned to a user, even if the user logs in under that responsibility, only the LPN Content Label Type prints. The following table lists the available business flow label type assignments.

Related Topics

Associating Label Types to Business Flows, Oracle Warehouse Management User's Guide

Creating Label Format Rules

Creating label format rules is an optional step. Some implementations may require only a single label format for each label type. If this is the case, the system picks the default label format for each type. The system also picks the default if there are no applicable rules. If the implementation requires more than one label format for a label type label format rules are necessary.

Related Topics

Label Format Assignment

Setting Up Label Format Assignment Rules, Oracle Warehouse Management User's Guide

Completion of Setup

Before you can print labels, the third party software may require additional setup. The third party software must recognize the Printers registered within Oracle Warehouse Management, the defined Label Format names, and the Field Data Variables. It must be able to read the XML format Oracle Warehouse Management generates. If the integration mode is Synchronous, you must load the implemented PL/SQL API into the Oracle database. If the integration mode is Synchronous - TCP / IP the printer or print server must be able to receive TCP / IP messages and there must not be any firewall blocking messages from the environment to the printer or printer server of the specified port. If the integration mode is Asynchronous, the 3rd Party software must be set to scan the appropriate directory for XML files to process them as print requests

XML Formatting

Oracle and the third party supplier need to agree on the XML format so that the XML contents are understood, parsed and printed as a label. An XML Document Type Definition (DTD) defines the XML tags used in the XML file. Oracle Warehouse Management generates XML files according to this DTD and the 3rd party software translates the XML according to this DTD.

XML DTD

The following is the XML DTD the system uses to create the XML. It defines the elements used in the XML file. The following is a list of their attributes and the next level elements:

<!ELEMENT labels (label)*> 
<!ATTLIST labels _FORMAT CDATA #IMPLIED> 
<!ATTLIST labels _JOBNAME CDATA #IMPLIED> 
<!ATTLIST labels _QUANTITY CDATA #IMPLIED> 
<!ATTLIST labels _DUPLICATES CDATA #IMPLIED> 
<!ATTLIST labels _PAGES CDATA #IMPLIED> 
<!ATTLIST labels _PRINTERNUMBER CDATA #IMPLIED> 
<!ATTLIST labels _PRINTERNAME CDATA #IMPLIED> 
<!ELEMENT label (variable)*> 
<!ATTLIST label _FORMAT CDATA #IMPLIED> 
<!ATTLIST label _JOBNAME CDATA #IMPLIED> 
<!ATTLIST label _QUANTITY CDATA #IMPLIED> 
<!ATTLIST label _DUPLICATES CDATA #IMPLIED> 
<!ATTLIST label _PAGES CDATA #IMPLIED> 
<!ATTLIST label _PRINTERNUMBER CDATA #IMPLIED> 
<!ATTLIST label _PRINTERNAME CDATA #IMPLIED> 
<!ELEMENT variable (#PCDATA)> 
<!ATTLIST variable name CDATA #IMPLIED>

Sample XML

The following is an example of XML file that is generated according to the above DTD. The content of the XML files lies between <labels> and </labels>, which correspond to a group of labels. The content between <label> and </label> has the information to print one piece of label. Each <variable> and </variable> pair gives the value of one variable on the label. The printer name and label format are given in the <labels> tag initially, different printer name and/or label format can be set at the level of each label, which is given in the <label> tag. Unless new values are given the <Label> tag, the attributes (such as printer name, label format, and quantity) at the <Labels>

<?xml version="1.0" standalone="no"?>
<!DOCTYPE labels SYSTEM "label.dtd">
<!DOCTYPE labels SYSTEM "label.dtd">
<label>
<variable name= "ITEM">AS54888</variable>
<variable name= "ITEMDESC">Desktop</variable>
<variable name= "LOT">10292</variable>
<variable name= "QTY">2</variable>
<variable name= "UOM">Ea</variable>
</label>
<label>   
<variable name= "ITEM">AS12345</variable>
<variable name= "ITEMDESC">Mouse</variable>
<variable name= "LOT">10200</variable>
<variable name= "QTY">10</variable>
<variable name= "UOM">Ea</variable>
</label>
</labels>

Synchronous API Specification

When you set the print mode to Synchronous - General, the XML content passes directly to the third party software to be processed and printed. Oracle Warehouse Management provides the stub of the API and third party company implements the necessary code to process the XML string and print it out. The following is the specification of the synchronous printing API:

--
--  Copyright (c) 1999 Oracle Corporation, ------  Redwood Shores, CA, USA
--  All rights reserved.
--  FILENAME
--      INVSPRQS.pls
--  DESCRIPTION
--      Spec of package INV_SYNC_PRINT_REQUEST
--
SET VERIFY OFF
WHENEVER SQLERROR EXIT FAILURE ROLLBACK;
CREATE OR REPLACE PACKAGE INV_SYNC_PRINT_REQUEST AS
PROCEDURE SYNC_PRINT_REQUEST
(
p_xml_content IN LONG
,x_job_status OUT VARCHAR2
,x_printer_statusOUT VARCHAR2
,x_status_typeOUT NUMBER
);
END INV_SYNC_PRINT_REQUEST;
/
--show errors;
COMMIT;
EXIT;

The API takes XML content as input parameter and returns the job status, printer status, and status type. The job status has meanings such as success, pending, error. The status type has meanings such as online, out of stock, heads up, etc. The status type shows whether it is an error, warning, log, or success status message. You can control the type of printing messages to display on the mobile device.

Troubleshooting Label Printing

Oracle Warehouse Management and mobile supply chain applications support label printing but must partner with a third party to provide a complete solution. The label format (field layout, fonts, barcode sizes, images, etc.) is designed in the third party software. The third party is also responsible for processing the actual print request. Oracle provides the data to the 3rd party in the form of a well-defined XML string. Because of this transfer of data between two software systems, there has been confusion about which support organization (Oracle or third party) is responsible for various printing problems.

In short, Oracle is responsible to deliver the XML in one of three modes, as determined by a profile option called “WMS: Label Print Mode”. Note that the profile option can be set at any of the four levels: site, application, responsibility, and user. The print-mode that the system determined at run-time for a label-request is listed in the “Request Mode” column in the Label Request History form.

In all cases where a label is produced, the XML content should be accessible in the Label Request History form. The XML displayed in this form is exactly the XML that would be passed to the third party. However, there may be problems delivering the XML to the third party, which depend on the label print mode, and there may be problems generating the XML in the first place.

Troubleshooting Custom Label Fields

You use the Label Requests History to troubleshoot custom SQL errors. The Label Requests History window displays the following SQL error messages:

Common Label Printing Problems

The following sections outline common trouble shooting problems.

No XML Data is Generated

After a label print request is made, either through manual label request or in the course of a business flow, there is no label request in the ‘Label Requests History’ form (accessed via the ‘View Label Requests’ menu entry). There are two causes for this problem. Either there are no label types assigned to a business flow, or there is no default format for the label type. If there are no label type assigned to a business flow you receive the following message in the log file.

[22-OCT-03 11:02:30] LABEL_MAIN:  In Get_type_to_print,busFlow,lableTypeID,Manualformat,ManualPrinter= 13,,,
[22-OCT-03 11:02:30] LABEL_MAIN:  Check setup for types to print, start from user level
[22-OCT-03 11:02:30] LABEL_MAIN:  No types found to print
[22-OCT-03 11:02:30] LABEL_MAIN:        Got label types, count = 0

If there is no default label format for a label type you receive the following message in the log file:

[22-OCT-03 11:08:40] RULE_ENGINE: No rule match retrieve the default format
[22-OCT-03 11:08:40] RULE_ENGINE: Update Label Request with label ID :.(1)
[22-OCT-03 11:08:40] LABEL_MAIN:   Applyed rules engine, label_format:format_id= [22-OCT-03 11:08:40] LABEL_LPN: did apply label ,,req_id 386
[22-OCT-03 11:08:40] LABEL_LPN: No format exists for this label, goto nextlabel

The solution for both of these problems is to ensure that a default label format exists in the Define Label Formats window.

No Label Is Printed

After a label print request is made, either through manual label request or in the course of a business flow, there exists an entry in the ‘Label Requests History’ Form (accessed via the ‘View Label Requests’ menu entry) and the corresponding XML file or API call was handled successfully. However, no label was printed by the 3rd party printing software. If no label is printed it could have the following possible causes and solutions.

Cause: No printer assigned to business flow

Message in Log File:[22-OCT-03 10:50:34] LABEL_MAIN: Error in getting the default printer: Default printer not defined.

Solution:Assign Printers to Documents. Ensure that the label type that you are trying to print has a valid printer assigned to it. Ensure that the “Enabled” and “Default” flags are both checked.

Cause:Printer does not have default or enabled checked.

Message in Log File:[22-OCT-03 10:50:34] LABEL_MAIN: Error in getting the default printer: Default printer not defined.

Solution:-> Assign Printers to Documents. Ensure that the label type that you are trying to print has a valid printer assigned to it. Ensure that both the “Enabled” and “Default” flags are checked.

Cause: Printer name mismatched in Oracle applications and 3rdparty software

Solution:Ensure that the printer you are trying to use is defined with the same text identifier that it is referred to by the 3rd party label printing software.

Cause: XML Variable names mismatched in Oracle and 3rd party printing software

Solution:Ensure that the variable names for the label format you are trying to use are defined with the same variable names used by the 3rd party label printing software.

Label Missing Data

The correct format is selected, as can be seen by the fixed / “boiler-plate” format that is printed. However, several fields that you expect to be included in the format are inexplicably missing.

Cause: Information not available to print

Solution: Verify the appropriate information is available. For example, if an item is not serial controlled, the serial label is not available; at time of Receipt and Inspection in an Inventory organization, serial number is not available. Verify the appropriate information is available. For example, if an item is not serial controlled, the serial label is not available; at time of Receipt and Inspection in an Inventory organization, serial number is not available.

Cause: Field not included in XML

Solution: If you see a variable on the label is not replaced by any data, check Define Label Format setup window and verify you add all the variables on the label to the label format and their variable names match. If a variable is printed on the label but not listed in the label format, the XML content does not have information for that variable, then it is missing on the label.

Cause: Mismatch in variable names between Oracle and 3rdparty.

Solution: The variable names that are included in the Oracle XML message must match, character for character, and usually in the same case (depending on 3rd party software), the variable names defined on the label format.

Asynchronous Mode- No XML File is Generated

After a label print request is made, either through manual label request or in the course of a business flow, there does exist an entry in the ‘Label Requests History’ Form (accessed via the ‘View Label Requests’ menu entry), but no corresponding XML file was created in the appropriate directory.

Cause: Profiles are not set up correctly.

Solution: Setup the following profiles

Cause: Label output directory does not have the appropriate file permissions.

Solution: Ensure that the database user (usually ‘oracle’) has read/write permissions on the directory specified in the “WMS: Label output directory” profile. This can be done by executing the following command on the directory,where “dir/” is the directory: chmod 777 dir/.

Cause: Label output directory does not have the appropriate database access

Solution: Ensure that the database has the appropriate access set up to write to the file directory. The file should be listed when the following SQL query is performed: select value from v$parameter where name = ’utl_file_dir’.

Cause: The WMS: Label Output Directory is full.

Solution: Executing a command like 'df -k {directory}' should point out to this problem. The 3rd party software should be configured to delete the XML files after they are processed. Get more space for the file system or delete unnecessary files.

Synchronous Mode - Synchronous API is not Called

After a label print request is made, either through manual label request or in the course of a business flow, there does exist an entry in the ‘Label Requests History’ Form (accessed via the ‘View Label Requests’ menu entry), but the synchronous API (or custom replacement API) did not seem to be called.

Cause: Profiles not set up correctly

Solution: Setup the following profiles

As long as the first of the following log message appears in the Label Printing log file, the problem lies with the 3rd party integration, not with Oracle and is not the responsibility of Oracle to debug. The log message is:

[22-OCT-03 11:46:50] LABEL_MAIN: before call sync_print_req
[22-OCT-03 11:46:50] LABEL_MAIN: Status type returned from the sync_print_req

Important: The following causes of this problem are provided as a convenience in debugging, but the issues they describe are not the responsibility of Oracle support to debug and/or alleviate.

Cause: Custom API not created in proper schema

Solution: Make sure that the custom API has been loaded into the package for “INV_SYNC_PRINT_REQUEST” under the “APPS” schema. A good strategy that many integrations have used is to have the APPS.INV_SYNC_PRINT_REQUEST simply call the same procedure in a custom schema where the custom code is located. In this case, APPS.INV_SYNC_PRINT_REQUEST would just contain a function call to CUSTOM.INV_SYNC_PRINT_REQUEST.

Cause: Appropriate Grant permission not granted for custom schema

Solution: If the strategy described above is taken, APPS must be granted EXECUTE permission on the custom schema in order that the custom API call can be executed from within the APPS schema. A DBA should grant the appropriate persmissions to the APPS user on the custom schema.

Synchronous Mode - TCP/IP Socket is not Opened

After a label print request is made, either through manual label request or in the course of a business flow, there does exist an entry in the ‘Label Requests History’ Form (accessed via the ‘View Label Requests’ menu entry), but no message is sent to the label printer.

Cause: Incorrect IP address or port number

Solution: Verify the address and port number on which the print server or printer is listening. Refer to 3rd party documentation for details on how to check the IP address and port. You can use the Test button on the setup form to verify that the IP address and port are correct.

Cause: Incorrect print mode

Solution: Verify that the print mode is set to Synchronous - TCP/IP for the user.

Important: The following causes of this problem are provided as a convenience in debugging, but the issues they describe are not the responsibility of Oracle support to debug and/or alleviate.

Cause: Network topology or fire wall prevents messages from getting from database to print server

Solution: The printer may not be accessible from the database, which is the place from which the TCP/IP socket is actually being opened. That is, even though you may be able to ping and/or connect to the printer from the computer at which you are testing, you may be unable to do so from the machine that is running the database. The solution is to ensure that change the fire wall settings to allow messages to the specific port or having a certain content matching a label request to pass through.

Debugging Notes

This section provides some hints and tips to aid in debugging problems in the label print integration setup and execution.

There are two log files that will be able to help debugging problems in label printing setup and execution, they are located in the Inventory log directory as specified by the INV: Debug File profile.

MWA Log Files

Inventory Log

This log file has information about each step of the label printing execution. From this information, you can find whether each step is executed successfully and the errors that occur. This helps you find setup or code problems. For example, the log files list the label types printed for the business flow or manual request, if the number of label types is zero, then probably you did not assign label type to business flow properly. The log file also notes the printer for the label, the label format for the label type, and how many variables it finds for the label format. This information helps you find whether there are problems in the setup of printer, label format, and variables for each label format. It also has log messages within each label type. You can find out whether there is error occur when it is retrieving the actually data to print in each label type.

Frequently Asked Questions

  1. What is the difference between the LPN Content and LPN Summary Label Types?

    The LPN Content label type lists all the content information for the contents of a particular LPN. If there are multiple contents within an LPN (such as more than one Item, lot, revision or nested LPNs,), then separate LPN Content labels will be printed for each of the contents of that LPN.

    The LPN Summary label type allows content information to be summarized for a particular label format. Multiple rows of content information can be included on a single label format. If there are multiple contents within an LPN, they will be printed on as many labels as need to be used, depending on how the labels have been set up for multi-record printing. If there are nested contents within an LPN, the nested contents will be summed up and displayed in summary form as a content line for the outermost LPN. For more information on printing multiple records using an LPN Summary label type, refer to the discussion in the Implementation section.

  2. Is it possible to add additional Label Types in my implementation?

    It is not possible to add Label Types in an implementation without code customization. Each Label Type is designed using a single PL/SQL package to collect the appropriate information from the references passed to it.

    If there are data elements missing from a Label Type for your business needs, or if there are Label Types missing, please contact Oracle Support or Oracle Warehouse Management development to inquire about adding the required functionality into the label printing integration kit.

  3. What are the advantages and disadvantages of using the Synchronous or Asynchronous integration mode?

    : The advantages of using the Synchronous print mode are in the direct interaction with the third party printing software. When the functionality to provide feedback through the mobile device is included in a future release of Oracle Warehouse Management, the users will have the ability to receive instant feedback regarding the print job they submitted.

    The disadvantages of the Synchronous print mode is that it may have performance issues because the mobile user must wait for the print job to be processed before continuing to work.

    The disadvantages of the Asynchronous print mode are the loss of visibility to any feedback that the print job may have generated. Oracle Warehouse Management cannot have any visibility to the status of the printer or print job since the implementation is achieved through the creation of a flat file.

  4. What is the average size of the XML file created by Oracle Warehouse Management?

    The XML files generated by Oracle XML range in size from about 300 bytes up to 1 Kilobyte. The size depends on the number of data filed on each label.

  5. Who are the certified integration partners with Oracle Warehouse Management for label printing?

    Oracle Warehouse Management Development has tested and certified the following partners for label print integration as of August 2003:

    • Loftware (www.loftware.com)

    • JetForms (www.adobe.com)

    • FormScape (www.formscape.com)

    • Optio (www.optiosoftware.com

    • Zebra (www.zebra.com

    All packages have been tested and approved for use with label printing for Oracle Warehouse Management and mobile supply chain applications. Zebra enables Oracle to integrate directly with the label printers, without the need for a print server. FormScape, JetForms, Loftware, and Optio use print servers to manage print requests.

    The capabilities of these packages differ with respect to whether they are a label solution, or a cross-application document management system, what platforms they run on, the printers they integrate with, and the features they include with which to design labels. In addition, different vendors have implemented synchronous or asynchronous support, while some have implemented both.

    Vendor Support
    3rd Party Vendor Asynchronous Synchronous- Generic Synchronous - TCP/IP
    Formscape Yes - -
    JetForms Yes - -
    Loftware Yes Yes Yes
    Optio Yes - -
    Zebra - Yes Yes

    Refer to the respective partners for additional information.

    Because the Oracle Warehouse Management label printing integration kit is a generic integration, other 3rd party label printing software suppliers should be able to integrate with Oracle Warehouse Management as well. Depending on their support for XML technology and/or PL/SQL implementations, integration can be achieved fairly easily.

  6. What must be done to ensure that XML files can be written by Oracle Applications and read by the 3rd party label printing software?

    The directory for the XML files must be specified in the appropriate profile for Oracle Warehouse Management label printing. That directory must be able to be written to from the database. That is, the directory must be on a file system that is accessible to the database and the directory must be included in the 'v$parameter' list for 'utl_file_dir' on the database.

    In addition, many 3rd party label printing packages need the ability to delete the XML file after processing it. Therefore, the permissions on the file directory must be set such that the software has access both to read the XML file and delete the file after processing.

  7. When does the system record the label history?

    The system records the label history whenever a label is printed. A record is populated in the label history table even if no XML file was produced in the output directory. This makes the history a useful debugging tool, because if the label and XML are visible here, that can narrow a problem to writing the XML to the file system, rather than generating the xml in the first place. Reprint requests include a link to identify the label printing request that produced the original label.

Summary

Oracle Warehouse Management provides label printing that enables specialized printing, compliance labeling, and automatic label generation. The integration is a standard, generic integration that can be implemented by any integration partner.