Printing Product Labels from Epicor

Hi All,

We currently using Bartender to print product labels. The Bartender setup is completely separate from Epicor and was not purchased with Epicor.
We are exploring the possibility of integrating Bartender with Epicor.
One issue that I’m seeing is that we “need” to print finish good product labels at the being of the process as opposed to bringing them at the end of the process (at time of shipping for example). Right now, as soon as we create the work order, we start to print the product labels so that there is enough time to not only produce them but so that they can also go through QA for review. I don’t see a place in Epicor that is designed specifically for producing product labels on demand, so to speak. Typically, producing labels is generally performed in Epicor at key transaction points. For example, PO Receipts and Shipping.

Is anyone else dealing with this “up front” requirement for printing product labels? If yes, how are you handling it?
My initial guess is that we would not be able to link Epicor and Bartender for this specific need and that we will have to continue using Bartender in “stand alone” mode for finish good product labels but could integrate the two for labeling inventory.

Joe one option would be to use a dashboard with a print labels button on
it. You could pull up a sales order, pack slip, part number, etc and then
based on the selection in the dashboard print a custom label from the BAQ
Report Designer. If you had different label formats you could select from
the report style to print the label format you want

Mark Wagner
Sr. Partner

Capstone Alliance Partners 888.597.2227 Ext. 71
<888.597.2227%20Ext.%20714>2 | 904.412.6847 mwagner@capstoneap.com (cell)
| www.capstoneap.com

Thanks Mark. I was thinking that I would need to create something if the goal was to facilitate the printing of product labels from within Epicor.
Another option could be to generate the .bt file from the dashboard so that we could still leverage Bartender.

Yes correct.

Mark Wagner
Sr. Partner

Capstone Alliance Partners 888.597.2227 Ext. 71
<888.597.2227%20Ext.%20714>2 | 904.412.6847 mwagner@capstoneap.com (cell)
| www.capstoneap.com

I’ve done something quite similar to what you are looking to do. I went the route of creating a text file that had all the necessary fields for the label (including the Printer and Qty of Labels) and then had Bartender setup to act upon any new file being deposited in a specified directory.

This solution worked great and could be fired from an event on the Job, from a dashboard or even from a data directive.

There was a little bit of C# that had to be written to utilize the StringWriter function to create the text file.

Good Luck!
David Burke

	StringWriter csvcontent = new StringWriter();
	csvcontent.Write("Label,Printer,LabelQty,JobNum,PartNum,PartDescription,CartonsPerPallet,Plant");
	csvcontent.Write("\r\n");
	csvcontent.Write(strLabel + "," + strPrinter + "," + strLabelQty + "," + strJobNum  + "," + strPartNum  + "," + strPartDesc  + "," + strPkgQty  + "," + strPlant);
	string csvpath = strFileLocation + "JobNum" + strJobNum + "-" + System.DateTime.Now.ToString("ddMMyyyyHHmmss") + ".csv";
	File.AppendAllText(csvpath, csvcontent.ToString());

We have a similar requirement. We need to print Finished Goods labels as each box of parts are produced, not at the time of shipping. The Finished Goods label needs to have customer specific information as well as lot number information. The only way to get true customer order information at this time in the process is to have the orders be “Make Direct” so it links the sales order information, containing pertinent customer information, into the job.

The difficulties we are having is with our stock parts. The part is associated with only 1 customer, we have a blank purchase order and we stock the parts. The orders are placed for an original amount and releases are added as the customer calls for the parts. So “Make Direct” won’t work in this situation because it won’t look at what we have in stock. We are working on a customization to handle this.

I would be interested in how others with similar requirements are handling it. We are working in Epicor 10.1.400.17.

Beth, we had a similar requirement. We are a job shop, so our parts are also associated with only 1 customer, but we wanted to keep our orders as “Make to Stock”. What we did was to use a numeric UD field on the Part table to store the related Customer.CustNum value. We populate that by adding an EpiCombo to the Part Maintenance form. Then, when we print a Job Traveler or print a label we can pull in the related Customer.Name field.

We also added a “Customer…” search button to Part Maintenance that can be used to select the customer. This button uses this code (we are on E9.05.701):

    private void SearchOnCustomerAdapterShowDialog()
    {
        // Wizard Generated Search Method
        // You will need to call this method from another method in custom code
        // For example, [Form]_Load or [Button]_Click

        bool recSelected;
        string whereClause = "GroupCode = 'JS'";    //Used to filter the customers.
        System.Data.DataSet dsCustomerAdapter = Epicor.Mfg.UI.FormFunctions.SearchFunctions.listLookup(this.oTrans, "CustomerAdapter", out recSelected, true, whereClause);
        if (recSelected)
        {
            System.Data.DataRow adapterRow = dsCustomerAdapter.Tables[0].Rows[0];

            // Map Search Fields to Application Fields
            EpiDataView edvPart = ((EpiDataView)(this.oTrans.EpiDataViews["Part"]));
            System.Data.DataRow edvPartRow = edvPart.CurrentDataRow;
            if ((edvPartRow != null))
            {
                edvPartRow.BeginEdit();
                edvPartRow["Number01"] = adapterRow["CustNum"];
                edvPartRow.EndEdit();
            }
        }
    }

    private void epiButtonCustomer_Click(object sender, System.EventArgs args)
    {
        // ** Place Event Handling Code Here **
        SearchOnCustomerAdapterShowDialog();
    }


Greg Bakker
Kooima Company

Thanks, Greg! I’ll send this on to our development team.

Beth

Bethany Rye
Epicor Business Analyst

[cid:image001.jpg@01D21961.474AC410]http://www.teampti.com/
50900 Corporate Drive

Macomb, MI 48044-1008

Tel

586.263.5100

Fax

586.263.6680

brye@teampti.commailto:brye@teampti.com

[cid:image002.jpg@01D21961.474AC410]http://www.facebook.com/ptiengineeredplastics [cid:image003.jpg@01D21961.474AC410] http://www.twitter.com/team_pti [cid:image004.jpg@01D21961.474AC410] http://www.linkedin.com/company/pti-engineered-plastics [cid:image005.jpg@01D21961.474AC410] https://www.youtube.com/user/teamptill

CONFIDENTIALITY NOTICE: This electronic message (including any attachments) contains information from PTI Engineered Plastics, Inc. which may be privileged, confidential or otherwise protected from disclosure. This e-mail transmission is intended for a specific individual and purpose is protected by law. If you are not the intended recipient, you should delete this message, and you are hereby notified that any disclosure, copying, or distribution of this message, or the taking of any action based upon it, is strictly prohibited. This information is intended only for the use of individual(s) or entity to whom or which it is intended even if addressed incorrectly. If you have received this message in error, please notify us immediately (1-586-263-5100) and destroy the original message and all copies. Thank you for your compliance.

Please let us know if Greg provided a good solution by marking his answer. This will tell others searching that there is an answer here.

Just to add one other Option - I worked with a customer on 8.03.400 to print Bartender Labels from MES using Autoprint for Bartender Labels. They have 40 zebra printers on the floor and print 1 x 4 and 4 X 6 labels and this is using Generic Job Report Data Definition.
We had to do a lot of work around some functionality issues in Epicor -
First to use Autoprint and the Generic Job report Style we had update a Job Table field- Epicor does not allow Updating Job Header fields from MES . To deal with this we created a BPM that Updated a UD field on JobHeader.
Second we needed to only print a record for the Job the USER was working yet the GenericJob RDD does not allow you to get rid of the Material Tables and will create a record for each operation. We used several Criteria items in the RDD to join to the a UD Table which provided most of the Data fields for the users to print on the labels. This Custom Screen was called from MES and some information defaulted in and then the user could set a flag to print the 4x6 or 1x4 and put in how many labels they wanted. This flag updated the jobhead ud field with a BPM and this called Autoprint.

We used the Autoprint rules and conditions to route to the appropriate printers and label styles based on the information that was in the UD table joined to the GenJob RDD tables.

They have been using this process for close to a year and they print hundreds of labels per day. And allow us to move into Epicor a label printing process that was up until then totally outside of Epicor.

We tried to use Crystal Labels and that fail do to complications in printed multiple labels and to orientation issues with the labels.
Bartender works great in this setup and there are many ways using BPMs and UD tables to make use of the Autoprint Functions in Epicor to have an almost AD-Hoc Process…