New to Epicor - How to add tracking number to Service Call Center Main Screen


I am extremely new to Epicor and have been thrown into it to find out answers to questions I am not sure how to phrase.

What I am being asked to do is:
Add the tracking number from the Misc Shipment entry screen (MscShpHd.TrackingNumber) to the Service call center summary tab.

I am trying to accumulate the knowledge on adapters to do this. I assume I would need to create an adapter to this and then somehow reference it?

Also, Is there any good training on customization out there? I am starting to work through the Epicor training but it doesn’t really explain well, IMO.

Any help is appreciated.

You’ll need to read the Epicor Customization and Epicor Ice Tools Guide, do the Epicor Customization Course and a strong foundation on Epicor (the application). The rest just comes with trial and error, of course resources like this website are a great addition.
To add the tracking number from Misc Shipment screen the easiest way would be a BPM on the Update method in HDCase to lookup the Shipment Record and store the Tracking Number in a UD field.
Another option is using an FKV (Foreign Key View) which allows you to reference a Foreign Table in a Customization Keyed of an existing DataView. Both of these concepts are explained in the guides I mentioned.

[BPM Page 526]

[FKV Page 457]

1 Like


I tried the foreign key view (Option 2) and it kinda worked.

The only way I was able to access the Tracking number in the MscShpHd table was to select the field ‘PackNum’.

Unfortunately, I need to key off the field ‘CallNum’ and it goes to the FSCallHd Table.

Is there a way to Change CallNum to use the MscShpHd table?

So your MiscPack num is the same as the CallNum?
You can add a Custtom Like value and change it from FSCallhd.CallNum to the Shiphead.PackNum


There is some confusion here.

What I meant was that when I was going through ParentView Name -> DetailView: PackNum was the only column name that pointed to the MscShpHd table where the tracking number is saved to.

What I need to key the connection between the Service call screen and the Misc Ship screen is the CallNum field, not PackNum.

When I select CallNum in the Column Name, it points to FSCallhd.CallNum.

Is there a way to have it connect to the MscShpHD table field of CallNum instead of the original one?

How do you add a Custom Like Value?

Thank you for your swift replies, I really appreciate it!

Use the Custom Column Like tab

Find the field you want to change and change the Like value to the right one. It should me MiscShip.PackNum or something like that (Not sure on that one get the value from the Misc Shipment Table)

This will work as long as the CallNum is the same as the MiscShip.PackNum

When I go into ‘Custom Column Like’ tab and Edit CallNum to use the MscShpHd table and go to create foriegn key view, the option disappears from my selection list.

BTW, PackNum and CallNum are not related to each other, they are just both fields in both tables.

Any ideas?

Ok I got it, that’s becasue that’s not a Queryable field. I thought you had made the PackNum be the same as the call Num. Instead you are using the CallNum fields in the Shipment table…FKV’s only work with primary keys. In this case you’ll have to use the BPM option.
Or manually lookup the record in code.


I am happy I learned that but sad that it won’t work for me.


My question about option 1 (which was why I skipped it at first):

Are we talking Data Directives or Method directives? The fact that you said update method on HDCase makes me think Method directive.

My problem is, I couldn’t find HDCase in the method Directive.

Shouldn’t I do that to the Service Call Center BO?

It’s called HelpDesk
You can do it with a data directive or a bpm

Jos? C Gomez
Senior Software Engineer

1 Like


I tried all manner of doing this and I don’t think HelpDesk is the right table. I would think it should be MiscShip Method Directive I would need to use as that is where the tracking number will be updated either manually or by Manifest.

In my head,

  1. I would open Erp.MiscShip.Update
  2. Set a condition to trigger when the tracking number changes from any to other.
  3. Add the ‘Update Table by Query’ and ‘Invoke BO Method’.
  4. Set up ‘Invoke BO Method’ like this:
  5. Invoke ‘Erp.ServiceCallCenter.UpdateExt’ BO method with ‘specified parameters’.
  6. specified parameters are:
  7. Set up ‘Update Table by Query’ like this:
    Actions: Use the designed query to update all rows of specified table with specified mapping. The desgined part:
    • Query Name: qryScCenter.
    • Table added: ttMscShpHd
    • Display fields: ttMscShpHd_Company, ttMscShpHd_CallNum, ttMscShpHd_TrackingNumber
    The 1st specified part:
    • SCCenterTrackNum.FSCallHd
    The 2nd specified part:
    • Relations: Company to ttMscShpHd_Company and CallNum to ttMscShpHd_CallNum
    • Columns: all set to ignore except 'MscShpTrkNum_c' UD field in the FSCallHd table. It is set to 'field: ttMscShpHd_TrackingNumber'.
I tried it and it didn't work.

Where is the error in my understanding?

Any help is really appreciated!!

Anybody have any ideas? I am stumped and need a little nudge, if at all possible.

We do something like this from Misc Shipment to DMR using the DMR number in E9. The process is a method directive on MiscShp.Update. If the callnumber is not zero and the tracking number not blank then enable a post proccessing directive that sets a HDCase UD field to the tracking number.

I tried to convert my E9 abl and do this in E10, but that was well beyond my coding for now.

I finally found an odd way of doing it. Not exactly happy with it but it is currently working.

  1. I created a UD in FSCallHD called MscShpTrkNum_c.
  2. I created new post-processing method directive (Erp.ServiceCallCenter.GetByID).
  3. Added and connected an ‘Update Table by Query’.
  4. Clicked designed, added ttFSCallhd and MscShpHd tables.
  5. Set Display fields to: MscShpHd_Company, MscShpHd_CallNum, MscShpHd_TrackingNumber.
  6. Clicked 1st specified and selected ttFSCallhd table.
  7. Clicked 2nd specified:
    • Set relations to: Company - Company, CallNum - CallNum.
    • Set Column 'MscShpHd_Company' to 'field: MscShpHd_TrackingNumber'.
  8. Saved the method and enabled.
  9. Went into customization of Service Call Center screen.
  10. Created a read only text box and did epiBinding to: headView.MscShpTrkNum_c
  11. Saved, exited and went back into Service Call Center. Found a Call Number that had a tracking number attached and it showed up!

For fun, I ran a query against the FSCallhd_UD table and found that it doesn’t actually copy the tracking number into the table.

I am sure there is a great reason on why it doesn’t but not sure how it still pulls to screen. Any ideas?