Hello Brian,
I like the solutions you've presented here and I may have to bite the bullet and implement one of them but before I go down that path I want to present a different solution and see if you can tell me where I am going wrong. I am currently doing the exact same thing with a configuration BOM and I thought I had found a solution but it falls short. I am hoping you can tell me why it falls short and maybe just maybe you can come up with a better solution.
I have created an over simplified example of what I am actually working on just to make things easier. Here is what I have so far:
I have a parent assembly: TEST-000, which is used to simply drive what components exist in the child assemblies.
I have a child assembly: TEST-001
I have another child assembly: TEST-002
When I create the BOM using the repeat region and insert columns using the REPEAT REGION>COLUMN MODEL/REP here is what I end up with:
You can see in this example I have two variations, "001" & "002" with some combintation of 4 parts. So let me stop here and ask a couple of questions. First, the table was originally setup to be sorted by PART # in descending order. Why does the repeat region resort it after I insert the column model/rep and can I undo this? Second, how do I get the dash ("-"), like you have in your example, to show up instead of leaving a blank cell? These are minor annoyances but it would be nice to figure this out.
Now here is where I tried to do some free thinking and get creative. In this table, 680-032-001, is a Bulk Item and I'd like it's BOM report quantity to read"A/R". So, of course I tried the usual by adding the following relation:
IF asm_mbr_name == "680-032-001"
QTY="A/R"
ELSE
QTY = rpt_qty
ENDIF
But obviously this fails because each column is unique to it's specific model. So what I did was look at the properties of the first cell in each column to determine what it was actually reporting. Here is what I found:
001 column: qty.m6r0
002 column: qty.m7r0
So from here I then modified my relations to read as follows:
IF asm_mbr_name == "680-032-001"
QTY001 ="A/R"
ELSE
QTY001 = qty_m6r0
ENDIF
IF asm_mbr_name == "680-032-001"
QTY002 ="A/R"
ELSE
QTY002 = qty_m7r0
ENDIF
I then added the relation to each column accordingly:
001 column: rpt.rel.QTY001
002 column: rpt.rel.QTY002
Last, I regenerated the BOM and here is what I get:
You can see I get the "A/R" to show up as desired. Additionally, you can see the quantity for 110-013-010 is reflected appropriately for the respective assembly. The challenge with this is that the items which have a quantity of 0 for either assembly now show 0 for all configurations.
Do you have any thoughts on how to overcome this?
Thanks
Mike