AP203ed1: Product category
From WikiSTEP
This page explains how to use product_category for the outdated edition 1 of AP203 from 1994. If you want to know more about the actual usage of product_category in AP203-TS and edition 2 please refer to Product Basics#Product Category.
To take advantage of this data model on product_category AP203-ed1 introduced pre-defined names for product_category:
- assembly: identifies a part that consists of a collection of other parts which are put together to satisfy a particular function.
- detail: identifies a part that exists at the lowest level of the bill of materials structure.
- customer_furnished_equipment: identifies a part that has been furnished to the design agency by the customer.
- inseparable_assembly: identifies a part that after being put together cannot be dis-assembled without causing physical harm to at least one of the components of the assembly.
- cast: identifies a class of parts that are intended to be produced by a manufacturing process in which a liquid form of material is poured into a mold and hardened.
- coined: identifies a class of parts that are intended to be produced by a manufacturing process in which a liquid form of material is forced into well confined dies by high pressures which forces the material to fill the shape of the die.
- drawn: identifies a class of parts that are intended to be produced by a manufacturing process in which metal is pulled in order to remove material from a raw stock and form an indenture in the material of a defined shape.
- extruded: identifies a class of parts that are intended to be produced by a manufacturing process in which material is squeezed by a compressing operation that changes the shape of the raw stock.
- forged: identifies a class of parts that are intended to be produced by a manufacturing process in which metal materials are worked into useful shapes under the influence of external force at a high temperature.
- formed: identifies a class of parts that are intended to be produced by a manufacturing process in which metal materials are subjected to stresses which change their shape.
- machined: identifies a class of parts that are intended to be produced by a manufacturing process which employs a piece of automated equipment.
- molded: identifies a class of parts that are intended to be produced by a manufacturing process in which material is heated past its melting point and poured into a mold to form its shape.
- rolled: identifies a class of parts that are intended to be produced by a manufacturing process in
which material is passed between two rolls in order to reduce it to the thickness equal to the space between the two rolls.
- sheared: identifies a class of parts that are intended to be produced by a manufacturing process in which material is cut to alter its shape
In addition two gloabl rules where provided: AP203ed1 had these rules on product_category:
RULE restrict_product_category_value FOR (product_related_product_category);
WHERE
wr1 : SIZEOF(QUERY(prpc <* product_related_product_category | NOT(prpc.name IN
['assembly', 'detail', 'customer_furnished_equipment', 'inseparable_assembly', 'cast',
'coined', 'drawn', 'extruded', 'forged', 'formed', 'machined', 'molded', 'rolled',
'sheared' ])))= 0 ;
END_RULE;
RULE product_requires_product_category FOR (product, product_related_product_category);
WHERE
wr1 : SIZEOF(QUERY(prod <* product | NOT(SIZEOF(
QUERY(prpc <* product_related_product_category | (prod IN prpc.products)AND (prpc.name IN
['assembly', 'inseparable_assembly', 'detail', 'customer_furnished_equipment' ])))= 1)))= 0;
END_RULE;
- Rule restrict_product_category_value enforces that every product_related_product_category must have one of the names listed above.
- Rule product_requires_product_category enforces that every product must have a product_related_product_category with the name "assembly", "inseparable_assembly", "detail" or "customer_furnished_equipment".
Implementations could introduce their own type of product_category and then relate it via product_category_relationship and one of the default product_related_product-category to their product. By this it was possible to create a tree of product categories and relate its (leave-) nodes to the product, but it required to introduce many default instances of product_related_product-category, one for each custom product_category.
AP203-ed1 example:
#1005=PRODUCT('4711-1','MyPart','A DETAIL PART',(#1004));
#1006=PRODUCT_RELATED_PRODUCT_CATEGORY('detail',$,(#1005));
#1009=PRODUCT_CATEGORY('part',$);
#1010=PRODUCT_CATEGORY_RELATIONSHIP(,,#1009,#1006);

