Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
I have a matrix table, fully parametric. It has parts (-01 through -04) and 29 items. Some of these items should not show as numerical, but rather as A/R in the table as their quantities are less than one.
On other tables I use
/* determines quantity
IF asm_mbr_ca_part_no == "PART#"
NUM = "QTY"
ENDIF
and just edit "part#" and "qty" to what I need and update the table and it works. But on this parametric table I see this (as default):
IF ASM_MBR_TYPE == "BULK ITEM"
NUM = "A/R"
ELSE
LOST SYMBOL= rpt_qty
error Invalid left side of assignment
ENDIF
I cannot change "bulk item" to the part number needed nor can I add my own command (as shown above) to make the table show the amount I need. There is something somewhere that Creo does not like but I just don't know what it is. We are just starting to use parametric matrix tables and nobody here knows what is going on.
This is what my table looks like at the moment. Items 3, 5 and 12 should have a quantity of A/R and I also would like to add a qty of "0" to the empty spaces in the table, if possible.
try:
NUM=rpt_qty
/* determines quantity
IF asm_mbr_ca_part_no == "PART#"
NUM = "QTY"
ENDIF
IF ASM_MBR_TYPE == "BULK ITEM"
NUM = "A/R"
ENDIF
This way, NUM is given a value, and it is changed if it meets certain criteria.
That, at least, got rid of the error, but changed nothing in the table. Does it have something to do with the relation of -01,-02... because they each reference a different model in a family tree? Or maybe because there are more than one bulk item in the drawing, meaning that not only the items I want the qty to change, but others who have a set qty of 1 are reading as bulk items.
It's difficult because I do not know what your table columns are called (switch dims and it will show) or what is assigned
you may have to update your table.
I have a keen eye for the obvious and picked the low fruit to help out
I'm heading out for the day. If someone doesn't help by morning, I'll give it a go then.
Switching to symbols makes it hard to read the cells' contents. I'll just type them out here. it's also almost the end of day for me.
ITEM | C/A PART NO | DESCRIPTION | -01QTY | -02QTY | -03QTY | -04QTY
------------------------------------------------------------------------------------------------------------------------------------------------
rpt.index | asm.mbr.CA_PART_NO | asm.mbr.ca_description | rpt.qty | rpt.qty | rpt.qty | rpt.qty
------------------------------------------------------------------------------------------------------------------------------------------------
| | | MODEL | MODEL | MODEL | MODEL
The models are
480-8100-01 <480-8100-xx>.asm
480-8100-02 <480-8100-xx>.asm
480-8100-03 <480-8100-xx>.asm
480-8100-04 <480-8100-xx>.asm
We normally only adjust the QTY by going off of ASM.MBR.CA_PART_NO
The family table verifies properly and the table propagated with the correct quantities. It is just that I am being asked to add the zero qty to the blank cells (why when I thin kit is a wast of time and effort) and a few of the items are miscellaneous stuff (like loktite or printer paper and ribbons) that have a qty of less than 1 in billing so we put it as A/R just to keep out headaches down.
Hi,
how many repeat regions does your table contain ? Can you save your table in .tbl file and upload it using How to Attach a File to a Discussion Reply procedure ?
MH
Your table should have rpt.rel.NUM in place of rpt.qty. This would be the reason for lost symbol being displayed in your repeat region relations. To get 0 for unused items I think you may still need to add the item to your assembly (probably as a bulk item), set the bom_report_quantity to 0, and write repeat region relations that take into account whether the item is used or not.
I tried that parameter, but when I went to COLUMN MODEL/REP and tried to select the cell for the column it gave me and error.
" The cell selected does not contain &rpt.qty only. Select again."
Try setting the COLUMN MODEL/REP first and then change the cells for rpt.qty to rpt.rel.NUM.
if you select the top column heading in the table and rmb, there will be an option: report parameter. select this.
then rtp... > rel... > User Defined > type in NUM
if you do a properties in the cell you just edited, it will show:
&rpt.rel.NUM
you can copy it (or the one above) then open the other cells with properties and paste it.
when you're done, regen.
I now get a/r in all columns except -03 which reports the quantity.
working on the zeros
I just did what the two of you said about rpt.rel.NUM and I got them all to show A/R or whatever I put as the value.
I just need 3 specific items to show A/R (3, 5 and 12) the others should keep the shown quantities. It is looking like it is either all or nothing when dealing with this many bulk items. When I added the asm_mbr_ca_part_no parameters to the relations, it actually duplicated my table (making it twice as big with repeat numbers) and then added the value I specified.
Once I add actual sub-assemblies and parts to my drawing model then those quantities will propagate properly. I am thinking that the inherent issue is the fact that all these items are bulk items and the system is reading them as one item despite their differing parameters.
If I were to use a standard BOM, then the items all automatically propagates to A/R for the bulk items and I can go in and edit the relations for each one as necessary.
I was trying to avoid doing that as would make a huge part of my table non-parametric, which is why I added so many individual bulk items to my initial family table.
The repeat region relations give an error if you try to set NUM = rpt_qty. Not sure why. Another thing to consider with a bulk item is you don't need to place more than one instance in the assembly. You can set the BOM_REPORT_QUANTITY to user input to change the value as needed.
Figured out part of the relation issue. Since these are family table instances you will need 4 relations for the A/R quantities, one for each column, and 4 for the number quantities meaning you need 4 relation parameters. When you specify the instances for the column quantities 4 additional quantity parameters get added in the relations dialog, these are the values that should be used in the relations which is why I was getting an error when try to set NUM equal to rpt_qty. Try the following and see what you get:
IF extract(asm_mbr_ca_part_no,1,3) == "022"
NUM1 = "A/R"
NUM2 = "A/R"
NUM3 = "A/R"
NUM4 = "A/R"
ELSE
NUM1 = qty_m31r0
NUM2 = qty_m32r0
NUM3 = qty_m33r0
NUM4 = qty_m34r0
ENDIF
Attached is what I get:
Kevin,
I think that Javier does not want to display A/R in -01 QTY column for 022-1723-00 component.
It seems to me that in repeat region user cannot change default Creo behavior (Creo displays empty cell) in case that some component available in generic is suppressed in family table instance.
There is no chance to detect that some component available in generic is suppressed in family table instance. Also it is not possible to replace empty value by user value.
My suggestion ??? Apply cheating ...
Create table 4x29 (same dimensions as columns -0x Qty). Enter A/R value in appropriate cells. Place the table to over repeat region table.
-OR-
Place A/R notes to locations matching empty cells.
MH
Yes, I only needed A/R in certain cells in certain items. Not across the board. I did wind up manually adding text notes to the cells and try to center it as good as possible before sending it through the approval process, but I was just trying to see if there was a way to get it to work properly. At my company we are trying to set a uniform way of doing things and making it all parametric. I guess we gotta figure out a different way of doing this.
Thank you all for your amazing help on this! While the table did not act according to the way I needed, I did manage to learn quite a bit on how these parameters and relations work.
Thanks once again!
Correct, I was trying to figure out what was causing the problem I was seeing with using the relation. Trying to use 1 relation parameter caused the the NUM = "0" relation to be evaluated but NUM = rpt.qty evaluates as an error resulting in everything being defined as A/R and the other 3 columns showed either A/R for everything or the values didn't show at all. My test was to show that I could get the relations to work by looking at the first 3 characters and based on that assign a value. The thing I found out is there are actually 5 QTY parameters (the generic and 4 instances) that get created, 4 (1 for each instance) of which need to be used in the relations since a family table is used. Using these I was able to get what I expected showing the relations do work although there are still errors specifically the ones where they want 0 to show. As you pointed out the error there seams to be related to the fact that the component is present in one instance but not the others which is one reason for the blank cells for row 12. You would see the same for the cells in rows 3 and 5 except because of the condition I used the parameters were evaluated to the first set of relations.
I didn't find anything that looks to see whether a component is suppressed or not but did have some success by setting up the bulk items that are suppressed to be a family table with the intent of using 0 for suppressed and 1 for resumed. Have not tried it for all columns but did get it to work for one.
The only way I found to keep things parametric or related to a relation is to set your instances so that they include the parts that will have a quantity of 0. The relations would have 4 sections, 1 for items 3, 5, and 12 setting the NUM# parameters to A/R or 0 as desired and the last setting the NUM# parameters to the quantity parameter for each instance.
This is what I am working on. I haven't actually gotten to any real modeling yet as I am adding the bulk items and sorting out the BOM for them. But I know I am going to see issues if I continue with the assemblies if I don't fix this issue on the table first.
Ok, I just looked at these...
I know that this just went beyond my abilities.
Martin, this is all yours
At any rate, thanks for the attempt. it is all anybody can ask for.
it may be a simple fix if you're just trying to add "0" to the blanks in the table.
in the relation section above, add:
NUM=rpt_qty
IF NUM==""
NUM="0"
ENDIF
/* determines quantity