UBAQ to complete Job Operation

I’m working on a updatable BAQ to complete Job Operations. What BPM Update process works? Does anyone have the steps or know where any documentation is that would help. I’m not finding anything and would like to shortcut the trial and error process.

I think you have to write labor transactions to get operations to complete. You can either use clocked in (MES) transactions or time and expense entry. Run a trace on one of those processes and follow those. They are quite involved though and I’m pretty sure the UBAQ would have to be quite complex. I and others have do it with UI customizations following the trace. It’s not impossible, buy it can be a bit of a challenge depending on your level of C# ability. If you follow the trace, it works pretty well.

I got it. I just had to have the correct fields.

1 Like

Out of curiosity, what BO does it use? JobEntry?

i always fix the completed qty before i close the jobs.

  • List item

Run BAQ comparing JobOpr.RunQty minus JobOpr.CompletedQty.
Take the difference and Load them via Time and Labor Expense Entry (job, Asm, Opr, labor Qty variance, AutoSubmit = True). Just make sure the labor hrs are 0’d out.

Phil,

We do it today through the JobEntry / UpdateExt business object.

Thanks,

Everett Dozier

Director of IT Operations

The Armor Group, Inc.

4600 N. Mason-Montgomery Rd.

Mason, OH 45040

Office: (513) 923-5670

Fax: (513) 923-5671

edozier@TheArmorGroup.com

www.TheArmorGroup.com

CONFIDENTIALITY DISCLAIMER: This email message and any attachments are considered confidential and may be legally privileged and is intended only for the addressee
to view. If you are not the intended recipient of this email, you are prohibited from disclosing, copying, or distributing the materials in this message, or any action in reliance of the material. If you have received this email message in error, please contact
the sender immediately and discard this transmission. Thank you.

1 Like

i think @Banderson is on to it. The best practice is to complete the operation through proper labor records, not updating rows in the job tables, these are too interconnected to retain good relational data. If you need to use a ubaq, consider a base update method in there and call the labor bo and methods. Tracing will give you these calls. Below is not a complete code for doing so and it’s not a boiler template approach since you need to consider how you have things configured in your environment but the calls look something like this;

	        var labor = Ice.Assemblies.ServiceRenderer.GetService<LaborSvcContract>(Db);
			    LaborTableset lts = new LaborTableset();
			    labor.GetNewLaborDtlWithHdr(ref lts, DateTime.Today, dh, DateTime.Today, dh, (int)laborH.LaborHedSeq);
			    labor.DefaultJobNum(ref lts, x.JobHead_JobNum.ToString());
			    labor.LaborRateCalc(ref lts);
			    labor.DefaultAssemblySeq(ref lts, 0);
			    labor.LaborRateCalc(ref lts);
			    labor.DefaultOprSeq(ref lts, jobOper.OprSeq, out msg);
			    labor.LaborRateCalc(ref lts);					
			    labor.DefaultLaborQty(ref lts, 1, out msg);
			    labor.CheckWarnings(ref lts, out msg);
			    LaborDtlRow ld = lts.LaborDtl.Where(r => r.Added()).FirstOrDefault();
			    labor.Update(ref lts);
			    ld.RowMod = "U";
			    labor.ValidateChargeRateForTimeType(ref lts, out msg);
			    labor.SubmitForApproval(ref lts, false, out cMessageText);
1 Like