Dynamic Attribute Set DMT error

Is anyone familiar with the DynamicAttributeSet DMT? I tried to follow this discussion, but its a couple years old. How to Create Dynamic Attribute Sets via DMT

Below is the DMT template i’m using. But I’m getting an error for every row that says:

Invalid calculation type .

That space after “calculation type” makes me think I left calculation type blank, but I don’t see a DMT field for specifying calculation type, so I’m not sure what it means.

Company
AttributeSetID
AttrClassID
DynAttrValue#Category
DynAttrValue#MTLTYP
DynAttrValue#ALLOY
DynAttrValue#THICKNESS
DynAttrValue#TEMPER
DynAttrValue#Density
DynAttrValue#THCKTOL
DynAttrValue#WIDTH
DynAttrValue#MTLGRP

Any insight is appreciated. Thank you!

Calculation Type is in the DynAttrClass DMT template.

Perhaps check that the Class you’re providing AttrClassID is valid.

DynAttrClass, Details and Values must be loaded before Attribute Sets. The former 3 can be loaded in one DMT using the DynAttribute Combined template.

Well, that field is blank for my attribute class. I’m guessing that field is part of Advanced UoM because its disabled, as is the Track Inventory Attributes checkbox in Part Maintenance. I just want to use Dynamic Attributes without AUOM. I’m able to create attribute classes, assign them to parts, and assign attribute values via Part Maintenance one-by-one, but hitting this roadblock with the DMT. Is there something I’m missing?

Like @jbooker , I am only aware of how to create attributes for AUOM. What are the steps that you take to manually do this in the system?

1 Like

I may’ve read somewhere DynAttr DMTs are limited to AUOM and or Configurator licenses. Eitherway, I only have experience using them on a client that has AUOM.

Sorry.

Ps - You may be able to add them using the REST API if you can work out the json inputs (?)

1 Like

That’s where I was originally headed before the DMT gave me some hope. I guess we’ll look into that option then. Thanks Josh.

PSS - you may also be able to paste from excel into Attribute Set Maintenance.

Create the attribute class of course. Then in Part Maintenance, assign the attribute class to the Part on the Attributes tab, then click the Attributes button. It opens a pop-up where you can enter the attribute values. It handles all the creating / assigning of Erp.Part.DefaultAttributeSetID automatically.

When you create the attribute class, you are unable to select the Calculation Type? Also, what are your options in the Related To field?


When I select the dropdown, its blank.
And I don’t see a Related To field, except in the DMT template builder.

I seem to recall CalcType is disabled before we licensed AUOM. To use AttrSets on parts you can do that on Part DMT, like so:

Company,PartNum,AttrClassID,DualUOMClassID,TrackInventoryAttributes,DefaultAttributeSetID
165139,PL0010500,PL-075-SS-LB,,TRUE,131

but you first need the AttrSetID which is autonumber so Class > Details > Values > Sets then Parts is the way.

Can you open it in the browser to see what the Related To field is there?

That is what I thought, but was unsure as I have only ever had AUOM.

1 Like

heres an example of API for getting AttrSetD:

Wait. Something may’ve changed because my recollection was Dynamic Attribute Set DMT template wasn’t present without AUOM previously, yet you have it, correct? Do you happen to have Configurator license?

I find it silly DMT templates are hidden when the tables work out of the box the way you want to do this. Maybe that has changed for the better and maybe there’s another way around your CalcType error (?)

Still tho, pasting into AttrSet Maintenace from a properly formated (dowloaded from that grid after all attribute columns are first displayed) excel sheet might be your best bet if this is a one-time deal. You could then download from the grid again to get the AttrSetIDs for your Part DMT.

Ps - assumes Kinetic - I have no idea if export to excel > paste as new is a thing in classic.

RE: Pasting into Attribute Set Maintence in Kinetic from Excel: It works, but here’s a few hints:

  • personalize columns:
    • remove short and long descriptions and calculated attributes, these will get set automatically per class settings.
  • Export to Excel
  • fill sheet with new values (valid options per class details)
  • make sure to NOT set HasBeenUsed to TRUE (you will never be able to get rid of this set or delete/modify the class - this gets set to true when the AttrSet is linked to a Part - make sure you’re happy before doing so, or else your going back to odrawing board with a new DynAttrClass)
  • select and copy to clipboard new rows in excel (not header)
  • add new on Attribute Set maintenance grid
  • right-click on new row and ‘paste as new’

If you get errors, delete, start over, and try again.

We do have Dynamic Attribute Set DMT,
do NOT have AUOM license,
but do have Configurator license.

I don’t see Attribute Set Maintenance, but maybe I just need to unhide it. I think I had to do that for Dynamic Attribute Class maintenance. I’ll check and let you know if the copy/paste will work.

Nope. AttributeSetID field is not on that app. Must BAQ them out like so:

select  
	[DynAttrValueSet].[Company] as [DynAttrValueSet_Company], 
	[DynAttrValueSet].[AttributeSetID] as [DynAttrValueSet_AttributeSetID], 
	[DynAttrValueSet].[Description] as [DynAttrValueSet_Description], 
	[DynAttrValueSet].[ShortDescription] as [DynAttrValueSet_ShortDescription], 
	[DynAttrValueSet].[AttrClassID] as [DynAttrValueSet_AttrClassID], 
	[DynAttrValueSet].[AttributeSetHash] as [DynAttrValueSet_AttributeSetHash], 
	[DynAttrValueSet].[Active] as [DynAttrValueSet_Active], 
	[DynAttrValueSet].[ExpressionResultUOM] as [DynAttrValueSet_ExpressionResultUOM], 
	[DynAttrValueSet].[PlanningAttributeSetSeq] as [DynAttrValueSet_PlanningAttributeSetSeq], 
	[DynAttrValueSet].[WhereAvailable] as [DynAttrValueSet_WhereAvailable], 
	[DynAttrValueSet].[DevCharacter01] as [DynAttrValueSet_DevCharacter01], 
	[DynAttrValueSet].[DevDecimal01] as [DynAttrValueSet_DevDecimal01], 
	[DynAttrValueSet].[DevBoolean01] as [DynAttrValueSet_DevBoolean01], 
	[DynAttrValueSet].[RequiredAt] as [DynAttrValueSet_RequiredAt], 
	[DynAttrValueSet].[TemplateWhereAvailable] as [DynAttrValueSet_TemplateWhereAvailable], 
	[DynAttrValueSet].[AttributeSetHashAllValues] as [DynAttrValueSet_AttributeSetHashAllValues], 
	[DynAttrValueSet].[RevisionNum] as [DynAttrValueSet_RevisionNum], 
	[DynAttrValueSet].[PlanningAttributeSetHash] as [DynAttrValueSet_PlanningAttributeSetHash], 
	[DynAttrValueSet].[IsPlanningAttributeSet] as [DynAttrValueSet_IsPlanningAttributeSet], 
	[DynAttrValueSet].[FullExpression] as [DynAttrValueSet_FullExpression], 
	[DynAttrValueSet].[ExpressionResultQty] as [DynAttrValueSet_ExpressionResultQty], 
	[DynAttrValueSet].[HasBeenUsed] as [DynAttrValueSet_HasBeenUsed] 

from Erp.DynAttrValueSet as [DynAttrValueSet]

DMT-59-DynAttrValueSet.baq (8.4 KB)

Had to add the menu. Tried copy/pasting. At least the “error” is consistent!

1 Like

Bummer. I’d call it a bug, but support would say it’s by design cuz you don’t have AUOM.
Could try setting Calculation Type to ‘Basic’ on Class via API. (?)

I don’t know anything about Configurator but it seems you’re licensed to setup config options but not to pre-load configurations. Dum!