Epicor SSRS Job Traveler modification - bar code does not work

I am having a problem getting a barcode of a UD field to show up correctly on the RawMaterialComponents subreport on my custom form.

I am using the MS Report Builder

I have spent time copying my own Job Traveler RDL and RDD.
I have added the Part table in the RDD, and I connected it to the JobMtl.
Within the Part table is my UD field. It is an alphanumeric field. Actual data is a six digit number.
I have successfully accomplished getting this UD field to display on the form as a query field.
The standard bar codes on the form show up and are readable.
I have done several Stops \ Starts, as well as Data Regen in this process.

The bar code displays on the printed form just like it looks in the SSRS Report Builder. It is as if the calculated field of the bar code does not work.

In the RDD, the UD field is one of a few of the not excluded fields on the new Part data source.
Looking at the JobMtl data source that also has bar coded fields, I attempted to create a calculated field of BCxxxxxx_c. (the _c is from my UD field when it was created years ago.
I have duplicated the Detail screen from the other BC calculated fields.
Name and label are BCxxxxxx_c
Business type empty
Data type Character.
Format is copied- the X(22), but I am assuming that is not important. OR should that match the actual UD field?

In the MS Report Builder, my UD query field and Calc BC field pull from the JobMtl dataset. ( I did notice that the BC already in this table show up like a query field in the Dataset Properties, but my BC field looks like a calc field.)

This is the first time to go so far in the SSRS.
We have just moved up to Kinetic 2022.1.
All of this work is done after the upgrade.

fx
Calc_BCDSAPART_c

query
=“SELECT T1.JobNum,T1.Calc_MultiJobParts, T2.AssemblySeq,T2.BackFlush,T2.Company,T2.[Description],T2.IssuedComplete,T2.IssuedQty,T2.IUM,T2.JobNum as JobMtl_JobNum,T2.MfgComment,T2.MtlSeq,T2.Ordered,T2.PartNum,T2.RelatedOperation,T2.RequiredQty,T2.WarehouseCode,T2.Calc_BCMtlSeq,T2.Calc_BCPartNum,T2.JobNum_PartDescription,T3.PartNum as TTJobPartMtl_PartNum, T2.Calc_InventoryQty, T2.Calc_InventoryUOM, T2.Calc_AttributeSetShortDescription,T4.DSAPART_c,T4.Calc_BCDSAPART_c FROM JobHead_” + Parameters!TableGuid.Value + " T1
LEFT OUTER JOIN JobMtl_" + Parameters!TableGuid.Value + " T2
ON T1.Company = T2.Company AND T1.JobNum = T2.JobNum
LEFT OUTER JOIN TTJobPartMtl_" + Parameters!TableGuid.Value + " T3
ON T2.Company = T3.Company AND T2.JobNum = T3.JobNum AND T2.MtlSeq = T3.MtlSeq LEFT OUTER JOIN Part_" + Parameters!TableGuid.Value+ " T4
ON T2.Company = T4.Company AND T2.PartNum = T4.PartNum"

Scott

Try the PICs again.

What font are you using? Is it the same one as the out of the box barcodes

The is correct. Barcode 39.

Remember to be scanned, code 39 requires a * before and after the data.

So to scan 109191 the text field should be showing *109191*.

4 Likes

Doug
There must be something more to this behind the scenes. When I add the characters, the bar code still does not scan. What shows up now has two more blank boxes -beginning and end. For the new characters?
The other bar coded fields present here do not have the characters pulling from my data.

What is the formula for that field that’s showing the barcode? Looks like some unprintable characters (at least in the Code 39 set) are coming through.

Doug

Here is the SSRS subreport value from the bar code field. =Fields!Calc_BCDSAPART_c.Value

This is the data I put into the SSRS query and field that I have created.

In the original post’s explanation I see that my field looks different than the system’s Calc_BCPartNum in the field list.

Scott

1 Like

Unfortunately there is more to it than just having the font.

I followed the guide linked in this post and it worked for me, although we do not use code 39 anywhere, just code 128.

Have you changed the font to a human readable font to verify that the data inside of the field is what expect? Or more so to @Doug.C 's suggestion

1 Like

Chance
I attempted this readable format. I have text of the name of my field. I think this means that creating the bar code is not just making a calculated field with BC on the front of the name. There is something behind the curtain in creating a bar code.

Not the DataWorks Barcode 39?

John
In the pic in the response to Doug above, the font at that point is the DataWorks Barcode39.
Scott

I don’t think that you should be adding the field to the report as a calculated field. Add it as a query field and then set the expression of the text box to this.

= "*" + Calc_BCDSAPART_c + "*"

And this is the area I was referring to when asking about the font.

image

2 Likes

Thank you all for getting this down to my level.

The day is getting away from me. I will get back to this on Tuesday.

Scott

1 Like

FWIW… before I get into barcodes on the actual report…
I often start with Word or Notepad as a quick way to verify my scanner is configured and characters behave the way I expect.
e.g

  • Word - enter some text in bar code and print it.
  • Notepad - cursor active in text space
  • Scan the print
  • are characters displayed in notepad? and match what you had in Word?
    image
1 Like

Based on your first post i just noticed:
image
The field inside your dataset properties screen should be a query field. There should be no fx box next to it. Thats why when you changed your font to a readable format, it just showed the field name.

Add a query field and deleted the old field. same names in both boxes and that should fix your problem.

2 Likes

Thanks Bruce

I believe that my scanner is ready. I can scan the current Job Traveler to Notes on an iPad. I get all of the fields represented.

Numeric

Aphanumeric

And even with my dashes that are part of the partnum.

Chance

I started out with a query field, but I was not getting anywhere.
Of course that was many iterations ago.

Support said I need to call a consultant, but I still have hope.

SO this is a change in the SSRS.
I am guessing I leave the calculated field in the RDD because the other bar codes are calculated fields.
I am going down that road


John

In the Expression box.

The expression below gives me a different barcode on the form.
=“" + Calc_BCDSAPART_c +"
This is not a valid field. It will not save.
The Value expression for the textrun ‘TxtBCDSAPART_c.Paragraphs[0].TextRuns[0]’ contains an error: [BC30451] ‘Calc_BCDSAPART_c’ is not declared. It may be inaccessible due to its protection level.

In the RDD, this field is a calculated field (with my limited understanding of creating calculated fields here. I based this on the other barcodes on this form. In the SSRS, this is back again to a query field pulling this calculated field.

By using the RDD calculated field pulling into the SSRS as a query field with the stars added.
=“" + Fields!Calc_BCDSAPART_c.Value +"
Saves.
It prints a barcode, but I cannot read it. It is a valid looking barcode.

By changing this new field to readable, I get **. So I am making headway.

Now this will be punted a few weeks down the road. Our update to 2022.1.13 has a bug that needs another update for a CSF piece of the software we use.

Thank you all for the ideas.

@scott thanks for providing more info on your situation.

Let’s take a step back from the SSRS report to the RDD.

The RDD is what epicor uses to output data to the database for the report to consume. “Calc_” fields are fields that Epicor created in background for some unknown reason (seriously, I don’t know why they created many of them). You can also create calculated fields in an RDD if you have the SDK license. But at the end of the day, if there was a Calc_PartNum field, all that is doing is outputting the part number. The RDD does not actually control any of the barcodes.

Now back to the RDL. To display a barcode on a report, all you do is take the field from the RDD that has the data you want to barcoderize and create an expression in a text box and set the font to DataBar 39. So, if we use the Calc_PartNum again, you would put an expression that was

"*" + Fields!Calc_PartNum.Value + "*"

Selecting the font turns it from words to a barcode.

Sorry I forgot the Fields! in my post above. Hope this helps.