Anyone built a mass transfer tool...?

Looking to start working on something to help move truckloads of materials that are all lot tracked from a staging location to a bin in one transaction. In other words, we would type in a FROM bin and a TO bin and the tool would transfer everything from the “from” bin to the “to” bin, no other details necessary… well, maybe the warehouse of course.

Maybe I could do this with PCID, but then again, I am on 10.2.500 here and I’m not sure I want to introduce that complexity nor do I know if this would work. Still need to look into it.

An obvious helper would be DMT, but I can’t give permission to use that in receiving.

-Utah

We used PCIDs in 10.2.600 and it worked without too much trouble. We ran into more issues with physical processes than with the PCIDs themselves.

Another suggestion would be to look at the part UOM table. There are PC codes. You can use those to do scanning in Part/UOM combinations. Then you don’t have the PCID confusion. We didn’t use it in 10.2.600 so not sure what all it looks like but we are rolling it out in our current version to do increment scanning by case, master pack and skid quantities with mobile warehouse.

1 Like

Good morning,
I haven’t built the tool you are looking for, but I have built something that might have parts you can use. This dashboard holds temporary inventory until it is verified and then added to stock. If you look into the BPM, the part you want to look at is under the Stock Rows condition. These steps together look at the part number and try to add a given quantity to a specific warehouse/bin/lot. You could add a few more steps to pull those values from your original location.

In my case, I pull the original values from a UD table that shipping populates. At the end of the month, finance reviews all the open job inventory, then adds it to stock using this tool (or the manual way). Once the inventory has been added, the finance manager can close the job and finish costing.

Good luck!
OpenJobInventoryDash6-23.dbd (451.8 KB)
App.OpenJobInventory.MainController_Customization_Custom2_CustomExport.xml (319.8 KB)

2 Likes

Thanks Nate!

I had built that into my Power Apps app. It was a request here, too. We seem to tear down shelves and move/rename them pretty often.

I can handle loops in Power Apps. Not as much in Epicor.

3 Likes

Pretty slick Jason! You should present that at insights if you can! Really cool!

3 Likes

Oy. I don’t like that you are probably right.

1 Like

I have a customization that could be tweaked to do this. We use it to split a lot into sub lots. Receiving receives 1000 FT of wire, but with splits it is really 7 splits that add up to 1000. In inventory transfer they have a tab to enter the cut lengths and then it loops thru and does transfers.

InvTransferDataSet ds = inv.GetTransferRecord(partnum, uomCode);
			inv.InvTransferData.Clear();
			inv.InvTransferData.Merge(ds);
			inv.InvTransferData.AcceptChanges();
			inv.ChangeUOM();
			inv.InvTransferData.Tables["InvTrans"].Rows[0]["TransferQty"] = qty;
			inv.InvTransferData.Tables["InvTrans"].Rows[0]["TrackingQty"] = qty;
			inv.InvTransferData.Tables["InvTrans"].Rows[0]["ToOnHandQty"] = qty;
			inv.InvTransferData.Tables["InvTrans"].Rows[0]["FromWarehouseCode"] = fromWarehouseCode;
			inv.ChangeFromWhse(inv.InvTransferData);

			inv.InvTransferData.Tables["InvTrans"].Rows[0]["FromLotNumber"] = fromLotNum;
			inv.ChangeLot(inv.InvTransferData);

			inv.InvTransferData.Tables["InvTrans"].Rows[0]["FromBinNum"] = fromBinNum;
			inv.ChangeFromBin(inv.InvTransferData);

			inv.InvTransferData.Tables["InvTrans"].Rows[0]["ToWarehouseCode"] = toWarehouseCode;
			inv.ChangeFromWhse(inv.InvTransferData);

			inv.InvTransferData.Tables["InvTrans"].Rows[0]["ToLotNumber"] = lot;
			inv.ChangeLot(inv.InvTransferData);

			inv.InvTransferData.Tables["InvTrans"].Rows[0]["ToBinNum"] = toBinNum;
			inv.ChangeToBin(inv.InvTransferData);

			inv.InvTransferData.Tables["InvTrans"].Rows[0]["TranReference"] = tranRef;
			inv.InvTransferData.Tables["InvTrans"].Rows[0]["TrackingQty"] = qty;
			bool requiresUserInput;
			inv.InvTransferData.Tables["InvTrans"].Rows[0]["FromBinNum"] = fromBinNum;
			inv.PreCommitTransfer(inv.InvTransferData, out requiresUserInput);

			oTrans.PushStatusText("CommitTransfer", false);
			inv.InvTransferData.Tables["InvTrans"].Rows[0]["FromBinNum"] = fromBinNum;
			
			inv.CommitTransfer(inv.InvTransferData, out legalNumberMessage, out partTranPKs);

Thanks I wish I would have talked to you last year hahha I had to develop a function to split 200,000 LF of material into 22 separate receipts (rolls) of 9,090 LF and generate a new lot for each one…

Is there a reason you had them receive it once and then make the split lot function after the fact?

Speed. They are handling a lot of packages and to stop and unshrink a pallet document all of the cuts and relabel would stop the flow of receiving and receiving inspection. Materials does the split after receiving inspection accepts the single lot.

1 Like

Are you using transfers in this function? That would be the base of this.

1 Like

MAkes sense Greg! I think we spoke about this! Or it was someone else doing the same thing you are!

I am going to use PCID if I can, but I am running into a decimals issue.

Not me. but this is common in bulk wire and cable, so I am sure others have tackled it.

1 Like

Could have been @bboes

Have you tried using the List view of Inventory Transfers. You can paste-insert into that grid and assign new lot numbers as well as the from/to warehouse/bins.

You could use DMT, but with a VB macro in Excel. The user would launch the Excel report, which would prompt for the import file. Then the macro takes over. It opens the file, launches DMT, processes the file, and closes DMT.

What’s the issue?

I should have existing code that we could patch up to do this.

2 Likes

This might work alright for us actually.

It’s an error in Epicor saying that the tracking UOM does not allow the number of decimals that are present in the bin… but the tracking UOM does allow it.

If I do any normal receipt and transfer the decimals are just fine… only when using a PCID.