Job Release Date

I am tasked with creating a report that shows Job Release Dates among other information. It seems the only place that is recording that information now is in the change log. Since that text is not indexed it’s not easy to parse through it.
I tried creating a UDfield in JobHead and recording the Date there with a BPM, but the problem is our setup greys out everything after a job is engineered. So the BO prevents it from recording any information.

The only other option I can think of is creating a UDfield in a UD table and writing custom C# code to capture the date.

Has anyone done this or thought of a different way to accomplish this before?


We are on an earlier version, and it allows to select released and save, and the BPM will save a date into the field. I used a data directive on JobHead. on the condition that JobReleased field has been changed from false to true.


Pierre’s suggestion of a data directive to detect the change to true should work. Or there is probably a method specifically for Releasing a job

Thanks for your suggestion guys. Unfortunately, our business requires us to turn on Prevent Changes after Engineered Jobs in Company configuration(pictured below). And that makes the BO prevent any changes to JobHead fields, which includes UDfields.

Yes - but if you catch that in preprocess just before its Engineered…

I thought of that. The problem is when it’s engineered and when it’s released could be days or even weeks apart. And asking people to remember to un-engineer and then release leaves a lot of room for error.

ah - well I’ve done it in code before where I had unrelease, unengineer, make changes then set it all back.That’s more work but not too bad.

I haven’t done this in code. If you have any examples I would appreciate it.

Without code, couldn’t you set a BPM Hold at Release time. The BPMAttachment table holds the created date of the Hold. Unreleasing it would remove the hold and I believe that date is stored as well. That way, you would see how many times it was released and unreleased.

Mark W.

It’s for a customer so I cant share the code, but in general:

var job = dv.dataView[dv.Row]["Job"].ToString();

						bool rel = jobAdapter.JobEntryData.JobHead[0].JobReleased;
						bool eng = jobAdapter.JobEntryData.JobHead[0].JobEngineered;
						if(rel || eng)
							jobAdapter.JobEntryData.JobHead[0].JobReleased = false;
							jobAdapter.JobEntryData.JobHead[0].JobEngineered = false;

I am noticing your company name - I spoke with someone from your company at Insights I believe

1 Like

I’ll have to see where the hold release time is recorded. That is good work around if it’s available.

thanks for the example. This would be great starting pointing.
There were 3 of us there. I talked to many people not sure if you talked to me or another colleague.