How to update PartTran Qty?

Is there a way in Epicor to automatically create a PartTran transaction when I add Material Sequence 20 to a job, and set the TranQty from 0 to 1?

JobMtl MtlSeq = 20 → create PartTran → TranType = 'ADJ-MTL' → TranQty = 1.

What would be the recommended way to implement this in Epicor 2022.1?

Any suggestions

Dont directly mess with transaction records like PartTran.

Investigate making a BPM that calls a process like whatever is called when you manually issue material to a job.

And you’re missing lots of details. Do you want that transaction to happen at the time the job is created (and that seq 20 exists), and/or when the job is manually updated with a seq 20?

Do this when the job state changes to a particular state (created, released, qty reported, labor applied, job closed, …) ?

yes can you help me to create a BPM please?

A BPM to prevent it even hitting part tran with that value is what Calvin is suggesting- but do everything appropriately, not just editing values.

Can you give me example

Would you please give us the example of what happened in your shop and why a quantity of 1 was entered when it should have been something else?

That’s the root cause you need to fix, I think that’s where Calvin was going. And there’s a way to make adjustments financially I think that are much more appropriate than adjusting that value in that table which serves as a detailed record of what gets posted to your GL… messing with that may compromise your ability to reconcile inventory/wip transactions with the related TranGLC posting.

When job is created and material seq = 20 and tyranscode=ADJ-Mtl then transQty = 0 ->1

Why does it need to be one? You’re adjusting the cost of a material right? What is it that you’re doing with this transqty value, are you using it in a report or something?

If you can continue to stick with us I think we will find an answer to what you’re trying to solve.

What he said, I wouldn’t mess with records. Perhaps make the adjustment calculation in your reporting.

To help the community provide the best answer, could you include as much of the information below as you can? Your question appears to be lacking some much needed context


  • Epicor Version
  • Deployment Type (Cloud, On Prem, 3rd Party Cloud etc)
  • The business problem you’re trying to solve
  • What you’ve already tried
  • Is this a Kinetic UX (Web) or Epicor Classic issue?
  • Is it related to a Method Directive, Data Directive, Function, BAQ, UBAQ, Configurator, etc.?
  • Any screenshots, error messages, or logs.
  • Any code you’ve written (or borrowed , make sure it is property formatted)
    ```
    code here
    ```
  • Steps to reproduce the issue

For tips on how to ask questions effectively, check out this guide:
Tips for Asking Questions on the Forum
clippy-hi

It sounds like you want a solution for a solution to a problem. Can you explain what business problem you’re trying to solve? Why are we adding a new material? Why isn’t it already on the method? Is this a production job? A service job? So many questions.

DO NOT DO THIS! Period.
You should never do something to PartTran directly. PartTran is a historical record of what was done via other processes. Instead, you COULD create a BPM that would execute a transaction (issue material, receive, adjust) which (as a result) would also update PartTran…
But again…
NEVER adjust parttran directly.

To be clear, I was not suggesting a BPM to “tweak” the parttran record during creation.

I didn’t explain it carefully enough. Make a BPM to trigger when the whatever happens that would make you want to alter the parttran. Then call a BO method that does something similar (Issue Material?). In the call to that method, make it do what you want (set the qty, P/N, etc…)

We knew without question @ckrusen :wink: