Starting from Syteline 8.03, the Pick, Pack, Ship function utilize BarTender for bar code label printing.
The label template in Bartender need to use text file as database source.
We can then build whatever label file in Bartender.
A text file is created that will be the basis of the labels created in BarTender. This file is delivered with the SL install in the DevSetup folder.
· BarTenderDatabaseFile.txt.
· ShipmentId|PackageId|Hazardous|RateCode|NMFC|MarksExcept|PackageType|PackageDesc|Weight|Item|Desc|UM|Qty|CustItem|Mfg|MfgItem|MfgItemDesc|Lot|Site|Whse|Location|CustNum|CustSeq|ConsigneeName
The command type need to be “Commander Script“. All the details, such as what label template to use, what printer to print to and such, will be specify in the .dd file provided by Syteline.
In Trigger tab, specify the folder to monitor and the file type (.dd) to monitor.
The output directory will be the place that Syteline drop the .dd file in, and Bartender Commander will monitor this directory for .dd files, it will then change them to .old for Bartender to process.
A form called “Print Package Label” can be accessed from “Pack Confirmation” or “Ship Master” form.
This form is used to select which package labels print jobs should be submitted for the labeling software to print. Text files will be created and placed into the Output Directory specified on the Inventory Parameters
Printer – The printer that the label will be sent to.
Copies – The number of copies of each label that should be printed.
Packages Exist – This checkbox will show whether or not packages have been defined for the shipment.
Print Labels By – This radio button set will determine how information will display in the grid if packages have been defined.
The core logic for putting together the .dd file is in Form script: CreateOutputFiles.
Sub CreateOutputFiles()
Dim Filename As String
Dim Copies As String
Dim oCollection As IWSIDOCollection
Dim i As Integer
Dim Time As String
Dim TextFile(0 To 2) As String
Dim iDay As String
Dim iMonth As String
Dim iYear As String
Dim FileDate As String
Dim Lot As String
Dim Item As String
Dim Desc As String
Dim Qty As String
Dim UM As String
Dim CustItem As String
Dim Mfg As String
Dim MfgName As String
Dim MfgItem As String
Dim MfgItemDesc As String
Dim Package As String
Dim Hazardous As String
Dim RateCode As String
Dim NMFC As String
Dim MarksExcept As String
Dim PackageType As String
Dim PackageDesc As String
Dim Weight As String
On Error GoTo ErrorHandler
oCollection = ThisForm.PrimaryIDOCollection
If ThisForm.Components(“Printer”).ValidateData(True) = False Then
Exit Sub
End If
If ThisForm.Components(“LabelTemplateName”).ValidateData(True) = False Then
Exit Sub
End If
If ThisForm.Variables(“PackagesExistVar”).Value = “1” Then
If ThisForm.Components(“Copies”).ValidateData(True) = False Then
Exit Sub
End If
End If
If ThisForm.Variables(“PackagesExistVar”).Value = “0” Then
If ThisForm.Components(“NumberOfLabelsGridCol”).ValidateData(True) = False Then
Exit Sub
End If
End If
For i = 0 To oCollection.GetNumEntries – 1
If oCollection.GetObjectProperty(“UbSelect”, i) = “1” Then
If ThisForm.Variables(“PackagesExistVar”).Value = “1” Then
Copies = ThisForm.Variables(“CopiesVar”).Value
ElseIf ThisForm.Variables(“PackagesExistVar”).Value = “0” Then
Copies = oCollection.GetObjectProperty(“UbNumberOfLabels”, i)
Qty = oCollection.GetObjectProperty(“UbQtyPerLabel”, i)
Lot = oCollection.GetObjectProperty(“UbLot”, i)
Item = oCollection.GetObjectProperty(“UbItem”, i)
Desc = oCollection.GetObjectProperty(“UbItemDescription”, i)
UM = oCollection.GetObjectProperty(“UbUM”, i)
CustItem = oCollection.GetObjectProperty(“UbCustItem”, i)
Mfg = oCollection.GetObjectProperty(“UbManufacturerId”, i)
MfgName = oCollection.GetObjectProperty(“UbManufacturerName”, i)
MfgItem = oCollection.GetObjectProperty(“UbManufacturerItem”, i)
MfgItemDesc = oCollection.GetObjectProperty(“UbManufacturerItemDesc”, i)
Package = “”
Hazardous = “”
RateCode = “”
NMFC = “”
MarksExcept = “”
PackageType = “”
PackageDesc = “”
Weight = “”
End If
If ThisForm.Variables(“LabelsByVar”).Value = “L” Then
Lot = oCollection.GetObjectProperty(“UbLot”, i)
Item = oCollection.GetObjectProperty(“UbItem”, i)
Desc = oCollection.GetObjectProperty(“UbItemDescription”, i)
UM = oCollection.GetObjectProperty(“UbUM”, i)
Qty = oCollection.GetObjectProperty(“UbQty”, i)
CustItem = oCollection.GetObjectProperty(“UbCustItem”, i)
Mfg = oCollection.GetObjectProperty(“UbManufacturerId”, i)
MfgName = oCollection.GetObjectProperty(“UbManufacturerName”, i)
MfgItem = oCollection.GetObjectProperty(“UbManufacturerItem”, i)
MfgItemDesc = oCollection.GetObjectProperty(“UbManufacturerItemDesc”, i)
Package = oCollection.GetObjectProperty(“PackageId”, i)
Hazardous = oCollection.GetObjectProperty(“Hazard”, i)
RateCode = oCollection.GetObjectProperty(“RateCode”, i)
NMFC = oCollection.GetObjectProperty(“NMFC”, i)
MarksExcept = oCollection.GetObjectProperty(“MarksExcept”, i)
PackageType = oCollection.GetObjectProperty(“PackageType”, i)
PackageDesc = oCollection.GetObjectProperty(“Description”, i)
Weight = oCollection.GetObjectProperty(“Weight”, i)
ElseIf ThisForm.Variables(“LabelsByVar”).Value = “I” Then
Lot = “”
Item = oCollection.GetObjectProperty(“UbItem”, i)
Desc = oCollection.GetObjectProperty(“UbItemDescription”, i)
UM = oCollection.GetObjectProperty(“UbUM”, i)
Qty = oCollection.GetObjectProperty(“UbQty”, i)
CustItem = oCollection.GetObjectProperty(“UbCustItem”, i)
Mfg = oCollection.GetObjectProperty(“UbManufacturerId”, i)
MfgName = oCollection.GetObjectProperty(“UbManufacturerName”, i)
MfgItem = oCollection.GetObjectProperty(“UbManufacturerItem”, i)
MfgItemDesc = oCollection.GetObjectProperty(“UbManufacturerItemDesc”, i)
Package = oCollection.GetObjectProperty(“PackageId”, i)
Hazardous = oCollection.GetObjectProperty(“Hazard”, i)
RateCode = oCollection.GetObjectProperty(“RateCode”, i)
NMFC = oCollection.GetObjectProperty(“NMFC”, i)
MarksExcept = oCollection.GetObjectProperty(“MarksExcept”, i)
PackageType = oCollection.GetObjectProperty(“PackageType”, i)
PackageDesc = oCollection.GetObjectProperty(“Description”, i)
Weight = oCollection.GetObjectProperty(“Weight”, i)
ElseIf ThisForm.Variables(“LabelsByVar”).Value = “P” Then
Lot = “”
Item = “”
Desc = “”
UM = “”
Qty = “”
CustItem = “”
Mfg = “”
MfgName = “”
MfgItem = “”
MfgItemDesc = “”
Package = oCollection.GetObjectProperty(“PackageId”, i)
Hazardous = oCollection.GetObjectProperty(“Hazard”, i)
RateCode = oCollection.GetObjectProperty(“RateCode”, i)
NMFC = oCollection.GetObjectProperty(“NMFC”, i)
MarksExcept = oCollection.GetObjectProperty(“MarksExcept”, i)
PackageType = oCollection.GetObjectProperty(“PackageType”, i)
PackageDesc = oCollection.GetObjectProperty(“Description”, i)
Weight = oCollection.GetObjectProperty(“Weight”, i)
End If
iDay = CStr(Day(Now))
iMonth = CStr(Month(Now))
iYear = CStr(Year(Now))
Time = Format(Now, “hhmmss”)
FileDate = iMonth + iDay + iYear + Time
Filename = ThisForm.Variables(“OutputPathVar”).Value + “Infor” + ThisForm.Variables(“ShipmentVar”).Value + CStr(i) + FileDate + “.dd”
TextFile(0) = “%BTW% /AF=” & “””” & ThisForm.Variables(“TemplatePathVar”).Value & ThisForm.Variables(“FilenameVar”).Value & “””” & ” /PRN=” & “””” & _
ThisForm.Variables(“PrinterVar”).Value & “””” & ” /P /D=” & “””” & “<Trigger File Name>” & “””” & ” /C=” & Copies & “/R=3”
TextFile(1) = “%END%”
TextFile(2) = oCollection.GetObjectProperty(“ShipmentId”, i) & “|” & Package & “|” & Hazardous & “|” & RateCode & “|” & _
NMFC & “|” & MarksExcept & “|” & PackageType & “|” & PackageDesc & “|” & Weight & “|” & Item & “|” & _
Desc & “|” & UM & “|” & Qty & “|” & CustItem & “|” & Mfg & “|” & MfgName & “|” & MfgItem & “|” & _
MfgItemDesc & “|” & Lot & “|” & oCollection.GetObjectProperty(“UbSite”, i) & “|” & _
oCollection.GetObjectProperty(“UbWhse”, i) & “|” & oCollection.GetObjectProperty(“UbLocation”, i) & “|” & _
oCollection.GetObjectProperty(“UbCustNum”, i) & “|” & oCollection.GetObjectProperty(“UbCustSeq”, i) & “|” & _
oCollection.GetObjectProperty(“UbConsigneeName”, i)
System.IO.File.WriteAllLines(Filename, TextFile)
End If
Next i
ThisForm.CallGlobalScript(“MsgApp”, “Clear”, “Prompt”, “SuccessFailure”, _
“mI=CmdSucceeded”, “Process”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”)
Exit Sub
ErrorHandler:
ThisForm.CallGlobalScript(“MsgApp”, “Clear”, “Prompt”, “SuccessFailure”, _
“mI=CmdFailed”, “Process”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”)
End Sub
We may use the similar logic to construct other custom label printing.
SLShipmentPackages.LabelPathsExistSp( PARMS(RVAR V(TemplatePathVar), RVAR V(OutputPathVar)) )
Sub CreateOutputFiles()
Dim Filename As String
Dim Copies As String
Dim oCollection As IWSIDOCollection
Dim i As Integer
Dim Time As String
Dim TextFile(0 To 2) As String
Dim iDay As String
Dim iMonth As String
Dim iYear As String
Dim FileDate As String
Dim Item As String
Dim VendorItem As String
Dim InDate As String
Dim Serial As String
On Error GoTo ErrorHandler
If ThisForm.Components(“Printer”).ValidateData(True) = False Then
Exit Sub
End If
If ThisForm.Components(“LabelTemplateName”).ValidateData(True) = False Then
Exit Sub
End If
If ThisForm.Components(“Copies”).ValidateData(True) = False Then
Exit Sub
End If
Copies = ThisForm.Variables(“CopiesVar”).Value
iDay = CStr(Day(Now))
iMonth = CStr(Month(Now))
iYear = CStr(Year(Now))
Time = Format(Now, “hhmmss”)
FileDate = iMonth + iDay + iYear + Time
Filename = ThisForm.Variables(“OutputPathVar”).Value + “ETE” + ThisForm.Variables(“Serial”).Value + FileDate + “.dd”
TextFile(0) = “%BTW% /AF=” & “””” & ThisForm.Variables(“TemplatePathVar”).Value & ThisForm.Variables(“FilenameVar”).Value & “””” & ” /PRN=” & “””” & _
ThisForm.Variables(“PrinterVar”).Value & “””” & ” /P /D=” & “””” & “<Trigger File Name>” & “””” & ” /C=” & Copies & “/R=3”
TextFile(1) = “%END%”
TextFile(2) = ThisForm.Variables(“Item”).Value & “|” & ThisForm.Variables(“Serial”).Value & “|” & _
ThisForm.Variables(“VendorItem”).Value & “|” & ThisForm.Variables(“InDate”).Value
System.IO.File.WriteAllLines(Filename, TextFile)
ThisForm.CallGlobalScript(“MsgApp”, “Clear”, “Prompt”, “SuccessFailure”, _
“mI=CmdSucceeded”, “Process”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”)
Exit Sub
ErrorHandler:
ThisForm.CallGlobalScript(“MsgApp”, “Clear”, “Prompt”, “SuccessFailure”, _
“mI=CmdFailed”, “Process”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”)
End Sub
Recent Comments