Error trying to update ResourceGroupID with UBAQ

,

Hey All,

I am working on a dashboard that will allow a user to change the Resource Group tied to an Operation, but I am getting a null object error along the way.

My first shot was to use the UBAQ functionality to do everything:

After updating the ResourceGrpID field in the JobOpDtl Table, I got the following error:

I also tried to tackle this by code, and am getting the same error:

Erp.Contracts.JobEntrySvcContract jobEntryBO = null;
jobEntryBO = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.JobEntrySvcContract>(Db);

foreach (var row in ttResults)
{

if (row.RowMod == "U")
{
    
    var jobTableset = new JobEntryTableset();
    jobTableset = jobEntryBO.GetByID(row.JobOprDtl_JobNumber);
   
    var jobOpDtl = jobTableset.JobOpDtl;
   
    var jobOpDtlRow = (from dtlRow in jobOpDtl where (dtlRow.Company == Session.CompanyID) && (dtlRow.AssemblySeq == row.JobOpDtl_AssemblySeq) && (dtlRow.OprSeq == row.JobOpDtl_OprSeq) select dtlRow).FirstOrDefault();
    
    jobOpDtlRow.RowMod = "U";
    
    jobEntryBO.ChangeJobOpDtlResourceGrpID("Eng",ref jobTableset);
    
    jobEntryBO.Update(ref jobTableset);
  
}

}

I received the following error:


Any idea of what else needs to be referenced or updated for this to work?

Thank you for the help in advance!

Matt Willett
Systems Analysts
E10

Have you compared your traces from when you call the change in the program vs when you try to do it with the BAQ?

Most likely that is a bug in JobEntry.ChangeJobOpDtlResourceGrpID method implementation.
I would recomment you contact Epicor Support and provide all details.

1 Like

The last time I got this, I submitted a case and told that the fix was going to be an aesthetic fix. Here is the exact response:

Development marked this issue as cosmetic. It has not been resolved yet, but looks that the message is the only thing they will be changing.

Able to duplicate in CC (10.2.200 - HV-QTenCC2)

PROBLEM DESCRIPTION:
Unfriendly message displays when trying to update the Commission Rate field with updatable BAQ when order has deposit

EXPECTED BEHAVIOR:
A more friendly message should display ‘Updating commission rate is not allowed on posted invoices.’

Regards

Could you please tell me case\problem number and I will try to stimulate Support for real work :slight_smile:

It is okay, we are trying to update commission rates on closed invoices. For some reason the BAQ works for all invoices as long as they don’t have a deposit invoice. It is only when we are trying to update the commission rate for an invoice with a deposit that we get the NullReferenceException. Honestly, I get why they won’t do it because you shouldn’t be able to update a closed invoice. I just can’t understand why it works for some invoices, but not others.

I’ve inspected source code of JobEntry.ChangeJobOpDtlResourceGrpID method and I see silly programmer’s mistake there that causes NullRef exception.
If you provide me with Case\Problem Id I will be able to ask a PM for fix.

2 Likes

Nice! @Mathew

could you please and kindly confirm if this issue been fixed yet

1 Like

I’m also looking for a fix for this, I get the same error.

i have used the DMT, and succeed to update this field and others in PartOper/PartOperDtl as well as JobOpr/JobOprDtl, happy to share the template if any one wanted it.

1 Like

This issue is similar to one I am working on. I wonder if there has been any movement on this post?

are you trying to update scheduling requirements for Open Jobs?

I am just trying to update old out of date Resource Group IDs for open jobs. Eventually this will also be done at the part master level. For example ResourceGroupID ‘12VA’ is obsolete and all the work is done on ‘4A’.

Hi @NateS
the easiest way i found is the DMT, i do not know what Epicor version are you on, but i have done this task on ERP10.1.400.20 as a part of my scheduling projects, i.e. updating scheduling requirement on BOO and on Job Operations, the trick in it is to make sure that key fields are included in every table you trying to update, and check what BO logic or/and BPM’s are restricting your update if there is any, bear in mind that i left the ECOOpDtl#ResourceID and the JobOpDtl#ResourceID blank in purpose to clear any value in this field as my design was to assign every operation to a resource Group NOT to a single resource.

this is the template i use to update our BOO: (took about 140 minutes to do about 21000 part operations)


Note: it is worth mentioning that one of the record in ECOOpDtl is linked to the ECOOp and marked as a primary, thereby this record can not be deleted, i.e. tick the DMT update box ONLY when dealing with these records, if you want to delete secondary records, then do this in separate process,

Job operation template: ( took about 12 minutes to do 3000 job operations)


Note: -as well as the standard BO logic of allowing update to the Open/Non completed/Unreleased jobs ONLY-, in my environment changes to engineered jobs are not allowed so i needed to BAQ Open/Non completed jobs then DMT JobHead to UnEngineer UnRealese, then Run my update, then DMT every thing back as it was (Save a copy of your original Data)

JobHead template: (took about 4 minutes to do about 500 jobs -done twice obviously- )
image

Finally, you may know this but it is a common mistake, in all your CSV files, do not forget to cater for leading zeros when applicable.also DO NOT make any Supplier, Resource, and/Or Resource Group Inactive until you finish updating everything.

HTH

The DMT looks like a great option. But… we don’t have it here. As I understand, it is quite expensive, and not currently worth it for us.

I really hope I can accomplish this without the DMT. If we ever do get the tool, I will be sure to check back and use this info!
Thanks!
Nate

DMT is worth it’s weight in Gold. I guess I haven’t heard that it’s that expensive, but even if it is, you really should get it.

:thinking: It is one of the cheapest things Epicor sells (in my experience) and well worth the money.

i was thinking the same pal, and have managed without it for years, but let me assure you that DMT module is worth every penny, depends on how many user licenses do you need, few thousands pounds/dollars is nothing when you compare the time and effort that you will save in mass updating/create/clean your historical/move over database, plus not every BO table you can alter using Updatable dashboards.

1 Like

I’m sold! Now to get the people with the checkbook on board! :slight_smile: