I am wondering if there is any way to get details for a job assembly or a part revision via DMT. The only way I can figure is to individually delete/add/update the individual operations and materials which ends up taking more time than doing it manually.
Why does using the get details function in the job not work?
Like many folks I am sure, we had to bring across lots of bill of materials and routes from our legacy system - there are templates for doing this under engineering in DMT, bill of operations and bill of materials.
Before running these you will need to have any referenced manufactured parts, purchased parts and revisions in the system or the import will fail. if you associate any materials with particular operations using related op, you will need to run the bill of operations import before the bill of materials import or you will get errors and the everything will need backed out.
You will need to understand how your bom is structured to be able to use the templates. Really depends on how complicated your bill of material and route is as to whether this will be practical. To get an idea of how the bom is structured and what you are theoretically trying to do in the dmt, run the query below to get a nested view of all of your bills of material
Blockquote with pm as (select x.Company, x.PartNum, x.RevisionNum, QtyPer, pr.Approved,
FixedQty, MtlPartNum as ChildPartNum, Pullasasm as Pull
from erp.PartMtl x
inner join erp.PartRev pr on pr.Company = x.Company
and pr.PartNum = x.PartNum
and pr.RevisionNum = x.RevisionNum
and pr.EffectiveDate <= GetDate()
and pr.EffectiveDate = (select max(effectiveDate)
from erp.PartRev pr2
where pr2.Company = pr.Company
and pr2.PartNum = pr.PartNum
and pr2.EffectiveDate <= GetDate()) ),
bm as (select 1 as BOMLevel,
root.PartNum as TopLevelPartNum, root.,
cast(root.QtyPer as decimal(30,10)) as PartQty
from pm as root
where not exists (select null
from Erp.PartMtl b
where b.MtlPartNum = root.PartNum)
select BOMLevel + 1 as BOMLevel,
cast(node.QtyPer * bm.PartQty as decimal(30,10)) as PartQty
from pm as node inner join bm on bm.Company = node.Company
and bm.ChildPartNum = node.PartNum)
Thanks for the responses. To clarify a little, I was hoping there was some way in DMT to replicate the get details functionality where it pulls in all the operations and materials at once. I am pretty comfortable with how to manage materials and operations individually in DMT, but getting the needed information and creating the multiple templates required ends up taking more time than manually updating the jobs. I manage engineering change implementation at my company and we will often need to implement a change on 15-20 very large jobs at a time. This means going into the job, deleting a subassembly, adding the new revision or part number subassembly, and getting the details. It is not a large enough task to make building the DMT templates worthwhile, but large enough to be slow, tedious, and unpleasant. It is easy to do everything in this process via DMT except the getting details part, so I was hoping there was some easier DMT way to do that.
I hear ya. That is a pain. We do the same things here. And we do the same manual adjustments. Changing things after releasing the job is always tedious. Unfortunately, I don’t know of a way any easier than get details on the new assemblies.