Job Reduction BPM - Triggered by DMR- Accpt Job Mtl Action; Help!

Please help us with our automation of job prod. qty reduction upon accepting job material to a new job!

Background:
For rework purposes, we nonconformance a Serial number on a job, fail it at INSP processing – creating a DMR. From there we accept is as a job material, onto a new Rework Job – RW1234.

In addition to this movement we have to reduce the job qty on the source job (that it was nonconformanced on) since we are not going to be replacing it with another unit on that job.

Rather than manually unreleasing the corresponding job, un-engineering, reducing the Job prod qty, re-engineering, then re-releasing the job – we want to automate this job reduction with a bpm everytime we accept something as “Job – Material” type on a DMR (producing DMR-MTL tran type).

Plan:
The thought is to:

  1. Perform a check condition for Job – material DMR action type

  2. Call the job number of the source job, unengineer and unrelease the corresponding job, reduce the job prod qty by total qty being moved to the rework job, then re-release and engineer the job.

I have included the trace log methods and the BPM flow we are trying to do below.
Essentially, trying to mimic the trace log for this manual process outlined here:

Progress:
Number 1 above is going smoothly, it is the second part that has us stuck.
We have our call to the source job, input being the DMR source jobnum, output being our new Job entry dataset – “jeds”.

-Successfully triggering true and false condition check for Job-Material type
-Successfully calling and displaying source job

-Cant run the ChangeReleased or ChangeEngineered methods since “jobHead is not changed” error
-Cant run the Update to commit any field changes since Job being engineered is preventing changes

We think that there is a problem with the setting the field of our dataset fields – “causing the job head is not changed”.

Has anyone been able to automate the reduction of a Job Quantity? How did you accomplish it?