MaterialQueue internal question

When an item is processed from the MaterialQueue, if the transaction quantity >= Request quantity, the queue item is removed. If the transactions quantity < request quantity, the queue item quantity is reduced to show to the remainder.

Does anyone have insight to where/how this happens? I’ve been flailing around in ILSpy for an hour trying to gain some insight but I am still in the dark. I can see how the proper move screen is called. But I haven’t found where and how the material queue is affected.

Maybe I making it too difficult and I should just worry about my own handling. If so, would it suffice to just track the SEQ from the material queue I am processing - then search it with the MaterialQueue adapter and update it?

I found this in the MaterialReturn form but I cant find where it is acted upon:

if (this.fromMtlQueue)
            this.upDateFlag = true;

//LATEST UPDATE - so it simply returns an OK result and it's handled by the MatQueue somewhere?
if (this.trans.upDateFlag)
			base.ReturnObject = DialogResult.OK;

Before anyone asks why I would be so foolish as to do this - I am trying to make use of requests and the queue to process without bringing in the issue of issuing (since we do all backflush for now).

If you are back flushing what do you need the queue for. I’m confused

Because we still have to get the material to the job. Currently our team leaders walk to the warehouse, and write the request on paper. What we want is the ability for the TL to request the material for the job (only mats on the BOM) and the warehouse to be able to use the material queue to easily process it.

If I am hearing you right, you want to back flush at the machine/operation
location, but you are looking for a signal to move the material from a
storage location to the machine/operation?

To test this, I think that you just need the inventory in the part storage
location and the material queue should show the material movement needed.
Or you can request the material as well.

Issue is a separate step.



What happens now is that if the mat doesn’t exist in the backflush bin (machine bin) - it goes negative (no move suggestions). Also, we need the material to be at the machine at the start of the job, not after parts are being produced.

Here’s a funky one. If I use MoveMaterialRequest to move a material out of a job:
The in/out isn’t properly selected (on move into job it is)
The material moved out of the job (say to our MAIN bin), still shows in WIP

Can’t you just use the Move Inventory Request screen? It creates a queue item for warehouse to then process? Or possibly the Move Material one, but I’ve not used that. Does ask for Job No, Assy, Mtl Seq.


Chris: Mark is correct that the move request is what you want, then the backflush will consume the material. If the material list is short they can do manually or you can make requests for all of the material on the job. If you got tricky with a timed baq you could produce the moves for all jobs with a start date of X days away.

Making your own mtl queue record is not hard. I do it in a bpm in E9 for engineering to have the crib bring them material they add to a job. The move is a STK-STK from the stocking warehouse to the back flushing warehouse.

Attached is the E9 bpm to give you an idea on the process. Sorry no 10 for me yet.


JobMtl Add MtlQueue v3.p (2.9 KB)

Thanks for all the input. We definitely wanted the ability to request movements by job number - also it served to let us request only material from the BOM of a certain job.

I think I may investigate Greg’s idea of creating my own material queue records - I do like the idea of having the records created ahead of the job (especially in cases where we have additional setup of materials, like 2 hours of drying)