I am working on a Bartender label, but having issues with the data. I took the original PackSlip and brought SerialNo out with a relationship to ShipDtl using PackNum and PackLine and Company.
But it’s creating an issue where instead of 9 labels, it doubles it by making 18. In this particular example, there should only be 9 serial numbers populating.
Make sure the relationship is correct. I had a recent case where I added the PartPlant table to provide site specific information but forgot apply a criteria to said table it provided duplicate records for each part at each site the person had access to.
Most likely cause is a missing piece of your join or criteria to limit to appropriate record links.
I am not sure I can add a Criteria. This is a copy of PackSlip, and when I try to do New Table Criteria it rejects me by saying “Criteria cannot be added to System Defined Report Tables.”
That looks like the original PS set mostly and the RDL how did you change that for bartender to use? Or rather how are you generating your output for bartender?
Plus some un-excluding, but otherwise that is it. It works fine aside from printing double. And when you look at the Record Browser in Bartender, you’ll see double/18 entries for this particular slip I am testing.
Right now we’re just testing/building and seeing what we can do. We take the .bt file that the report generates when run and we use that.
So, the original dataset already creates 2 row per one PackLine can generate multiple serial numbers. Looking at our dataset expression for ShipHeadShipDtl, the relationship you are adding is not required. Our dataset does produce 2 records per packslip line with the only difference is a null vs 0 for column AttributSetID. One for the PackSlip and one for the Shipping Label.
="SELECT ... ALL THE COLUMNS WE NEED ...
FROM ShipHead_" + Parameters!TableGuid.Value + " T1
LEFT OUTER JOIN ShipDtl_" + Parameters!TableGuid.Value + " T2
ON T1.Company = T2.Company AND T1.PackNum = T2.PackNum
LEFT OUTER JOIN RptLabels_" + Parameters!TableGuid.Value + " T3
ON T1.RptLanguageID = T3.RptLanguageID
LEFT OUTER JOIN SerialNo_" + Parameters!TableGuid.Value + " SN
ON T2.Company = SN.Company AND T2.PartNum = SN.PartNum AND T2.PackNum = SN.PackNum AND T2.PackLine = SN.PackLine"
You should not need the relationship you are creating as the data will be there if not excluded.
Did you only list the single ShippingLabel or Just the PackSlip or both?
Here is our PrintProgram field: reports/CustomReports/PackingSlip/PackSlip,reports/CustomReports/ShippingLabels/ShipLabl
Is there a way to make it so it only does 1 per row?
Edit: The reason I don’t use the serial number field already in there is that it is calculated and just lists all the serial numbers in one go. I need a label for each serial number.
LEFT OUTER JOIN (
SELECT
Temp4.Company,
Temp4.PackNum,
Temp4.PackLine,
Temp5.Description AS CountryDescription,
ROW_NUMBER() OVER (PARTITION BY Temp4.Company, Temp4.PackNum, Temp4.PackLine ORDER BY Temp4.PackLine ASC) AS RowNum
FROM ShipCOO_" + Parameters!TableGuid.Value + " Temp4
INNER JOIN Country_" + Parameters!TableGuid.Value + " Temp5
ON Temp4.Company = Temp5.Company AND Temp4.OrigCountry = Temp5.CountryNum
WHERE Temp4.RelatedToFile = 'ShipDtl'
) A8
ON T2.Company = A8.Company AND T2.PackNum = A8.PackNum AND T2.PackLine = A8.PackLine
AND A8.RowNum = 1"
FROM ShipHead_" + Parameters!TableGuid.Value + " T1
LEFT OUTER JOIN ShipDtl_" + Parameters!TableGuid.Value + " T2
ON T1.Company = T2.Company AND T1.PackNum = T2.PackNum
LEFT OUTER JOIN RptLabels_" + Parameters!TableGuid.Value + " T3
ON T1.RptLanguageID = T3.RptLanguageID
LEFT OUTER JOIN SerialNo_" + Parameters!TableGuid.Value + " SN
ON T2.Company = SN.Company AND T2.PartNum = SN.PartNum AND T2.PackNum = SN.PackNum AND T2.PackLine = SN.PackLine
WHERE SN.AttributeSetID IS NOT NULL"
I was more talking about the RDD part of this. You said you started with the PackSlip RDD. My apologies, I’m not sure what the translation part for Bartender is, but my assumption is that it would use a similar method to consume the dataset to a rdl. I would be the wrong person to answer that question as we don’t employ that integration within our Epicor environment.
Perhaps if you share how you were taught to grab the dataset within Bartender I might assist you or another perhaps @Chris_Conn I think he is the Bartender guru here.
Looking back, I should have read more clearly. Why not use a BAQ to generate your dataset then as it seems you were getting what you wanted with one?
As I said, I do not use Bartender so I am unaware of the way the integration works within Epicor, but why not use what you know works and just create a BAQ RDD for your Bartender purpose?