cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X

BOM_REPORT_QUANTITY if 0 display as A/R

jlivengo
6-Contributor

BOM_REPORT_QUANTITY if 0 display as A/R

When using Creo standard bulk items I have 2 scenarios.

1. bulk item will always display as A/R in the BOM repeat region.  Glues, tape, etc. No prompt when added to an assembly.

2. bulk item will always display a value based bom_report_quantity. Tubing, foam, etc. User prompted when added to an assembly to enter the bom_report_quantity.

 

I can get either to work independently but not together. I have tried many variations but I end up with getting the "errors regenerating repeat region relations" when updating the tables.

 

The below attempts return no values for bom_qty

#1

IF ASM_MBR_REPORT_QUANTITY==0
BOM_QTY="A/R"
ELSE
BOM_QTY=rpt_qty
ENDIF

 

#2

IF EXISTS ("ASM_MBR_REPORT_QUANTITY")
IF ASM_MBR_REPORT_QUANTITY==0
BOM_QTY="A/R"
ELSE
BOM_QTY=rpt_qty
ENDIF
ENDIF

 

The below reports relation errors and will only have a blank for the bulk item with a bom_report_quantity of 0

BOM_QTY=rpt_qty

IF EXISTS ("ASM_MBR_REPORT_QUANTITY")
IF ASM_MBR_REPORT_QUANTITY==0
BOM_QTY="A/R"
ELSE
BOM_QTY=rpt_qty
ENDIF
ENDIF

 

But I get the same result with no errors by simply having the below relation:

BOM_QTY=rpt_qty

My questions are:

1. Can you only use the standard Creo bulk item part to report something with a greater than 0 QTY in a repeat region?

2. Is there a means to selectively identify those with a 0 QTY and via relation have them show as A/R?

 

Any thought or suggestions would be appreciated.

 

 

 

 

 

 

3 REPLIES 3
jlivengo
6-Contributor
(To:jlivengo)

update:

I have been able to achieve what I was trying to do...I still have a hidden repeat region error that appears when the table is updated but I am getting the results I am looking for. I am now using the following relations:

 

IF asm_mbr_type=="BULK ITEM"
IF asm_mbr_cparam_bom_report_quantity==0
BOM_QTY="A/R"
ENDIF
IF asm_mbr_cparam_bom_report_quantity!=0
BOM_QTY=asm_mbr_cparam_bom_report_quantity
ENDIF
ELSE
BOM_QTY=rpt_qty
ENDIF

 

Still have to solve the hidden error issue and will start to look at adding unit of measure.

Hi,

if you upload testing data then someone can investigate them and help you to resolve error issue.


Martin Hanák

Probably many ways to hack this; I believe you are doing this on the repeat region side, but also consider that your bulk item itself can have relations that modify its parameters.  If, by convention, you display these (component) parameters on your drawing tables, it might simplify things...  not sure.

 

The method below does not require repeat region relations:

Suppose you set your bulk item to have a STRING parameter called "DISPLAYED_QTY"

Then you can display this parameter in your repeat region table by having a column &asm.mbr.cparam.DISPLAYED_QTY

Inside your bulk item, define a relation that's something like:

IF BOM_REPORT_QUANTITY == 0
 DISPLAYED_QTY="A/R"
ELSE
 DISPLAYED_QTY = ITOS(BOM_REPORT_QUANTITY)
ENDIF

 

So if user enters "0" for BOM_REPORT_QUANTITY when assembling the bulk item, then that component's DISPLAYED_QTY parameter will be set to "A/R"...

pausob_0-1651630704251.png

 

Note: I do not really understand how this all works behind the scenes.  Each instance of the bulk item is unique in that it is a separate feature in the assembly tree, but yet they all have the same session ID...  The bulk item relations exist inside the bulk part, but they seem to be evaluated in the assembly context for each component instance and they affect component parameters.  Along the same lines, the bulk item components seem to automatically "inherit" their source bulk part parameters (as component parameters).

Note how calling out &asm.mbr.displayed_qty in the repeat region does not work:

pausob_1-1651631173242.png

(because in the source bulk part, the DISPLAYED_QTY parameter will always be evaluated to "A/R")

 

Anyway, not sure if I helped, but wish you good luck!  Please keep community posted about how you got the units of measure reporting to work.

Top Tags