Template:— referencing_part (ref_part) |
Date: 2008/02/25 19:43:15 Revision: 1.12
|
This section specifies the template referencing_part.
NOTE
An explanation of a template and the associated instantiation path is
provided in the
Template overview
section.
This template describes how to represent a reference to a Part by its part and version identification.
The EXPRESS-G diagram in
Figure
1
shows the templates and EXPRESS entities that are required
to represent the template
"referencing_part".
The text highlighted in blue shows the template parameters.
NOTE
The Product_category
is included in the diagram to conform to the ISO 10303-239 EXPRESS schema.
If a category of product is required then the reference data should be assigned to the
Part using
the template assigning_reference_data.
Figure 1 — An EXPRESS-G representation of the Information model for referencing_part
The graphic for the template to be used in other EXPRESS-G diagrams
is shown in Figure
2
below.
Figure 2 — The graphical representation of the referencing_part template
The following input parameters are defined for this template:
The identification of the
Part
being referenced.
The name of the
External_class that determines the type of identifier given by the
input parameter @part_id.
The following classes and their sub-classes can be used:
The identification of the
Organization that
"owns" the
Part identifier (@part_id).
The name of the
External_class that determines
the type of organization identification (@part_org_id) being used. For example CAGE code.
The following classes and their sub-classes can be used:
The identifier of the part version
The name of the class being used to classify the identifier assigned (
Identification_assignment
) to the part version (i.e. the part_vn_id)
The following classes and their sub-classes can be used:
The name or identifier of the organization owns the part version id.
The name of the class being used to classify the identification (
Identification_assignment)
of the organization responsible for providing the part version representation
The following classes and their sub-classes can be used:
The following reference parameters are defined for this template:
Allow the
Part
entity instantiated in this path to be referenced when this template is used.
Note: The
Part
entity can be referenced in a template path by:
%^target = $referencing_part.part%
where
target
is the parameter to which the
Part
is bound.
%^target = $referencing_part.part_id_assgn%
Allow the
Part_version
entity instantiated in this path to be referenced when this template is used.
Note: The
Part_version
entity can be referenced in a template path by:
%^target = $referencing_part.part_version%
where
target
is the parameter to which the
Part_version
is bound.
%^target = $referencing_part.part_version_id_assgn%
The following entity/attribute combinations specify a uniqueness constraint:
Unique constraint: Unique product_category
Product_category.name = 'part'
The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique part
Unique constraint: Unique part version
This rule means that there can be only one version
(
Part_version)
of a part
(
Part)
with any given identifier.
The instantiation path shown below specifies the entities that are to be
instantiated by the template.
A description of templates and the syntax for the instantiation path is
provided in the
Templates Help/Information section.
Part-- Mark the Part entity as -- referable when this template is used by binding it to the reference -- parameter part %^part =
Part%
Part.id = '/IGNORE'
Part.name = '/IGNORE'
Part.description = '/IGNORE'
-- assign the identification to the Part /
assigning_identification(
items=^part,
id=@part_id,
id_class_name=@part_id_class_name,
id_ecl_id=@part_id_ecl_id,
org_id=@part_org_id,
org_id_class_name=@part_org_id_class_name,
org_id_ecl_id=@part_org_id_ecl_id)/
%^part_id_assgn = $assigning_identification.id_assgn%
-- Define a Product category Product_categoryProduct_category.id = '/IGNORE'
Product_category.name = 'part'
Product_category.description = '/IGNORE'
-- Product category assignment Product_category_assignmentProduct_category_assignment.products ->
PartProduct_category_assignment.category ->
Product_category-- Instantiate Part version Part_version-- Mark the Part_version entity as referable when this template -- is used by binding it to the reference parameter ^part_version %^part_version =
Part_version%
Part_version.id = '/IGNORE'
Part_version.description = '/IGNORE'
-- Relate the part_version to the part Part_version.of_product ->
^part
-- Identify the Part_version /
assigning_identification(
items=^part_version,
id=@part_vn_id,
id_class_name=@part_vn_id_class_name,
id_ecl_id=@part_vn_id_ecl_id,
org_id=@part_vn_org_id,
org_id_class_name=@part_vn_org_id_class_name,
org_id_ecl_id=@part_vn_org_id_ecl_id )/
%^part_version_id_assgn = $assigning_identification.id_assgn%
The following entities are instantiated with attributes as specified:
The instance diagram in Figure
3
shows an example of the EXPRESS entities and templates that are instantiated by the template:
/referencing_part(part_id='ph-001-001', part_id_class_name='Part_identification_code', part_id_ecl_id='urn:plcs:rdl:std', part_org_id='Parts R Us Ltd', part_org_id_class_name='Organization_name', part_org_id_ecl_id='urn:plcs:rdl:std', part_vn_id='1', part_vn_id_class_name='Version_identification_code', part_vn_id_ecl_id='urn:plcs:rdl:std', part_vn_org_id='Parts R Us Ltd', part_vn_org_id_class_name='Organization_name', part_vn_org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated referencing_part template is shown in
Figure
4 below.)
Figure 3 — Entities instantiated by referencing_part template
The instance diagram in
Figure
4
shows the graphic symbol for the template that is to be
used in other instance diagrams. The example template is:
/referencing_part(part_id='ph-001-001', part_id_class_name='Part_identification_code', part_id_ecl_id='urn:plcs:rdl:std', part_org_id='Parts R Us Ltd', part_org_id_class_name='Organization_name', part_org_id_ecl_id='urn:plcs:rdl:std', part_vn_id='1', part_vn_id_class_name='Version_identification_code', part_vn_id_ecl_id='urn:plcs:rdl:std', part_vn_org_id='Parts R Us Ltd', part_vn_org_id_class_name='Organization_name', part_vn_org_id_ecl_id='urn:plcs:rdl:std')/
Figure 4 — Instantiation of referencing_part template
The following section details how the
referencing_part
template can be optionally characterized by assigning
other constructs to it. These are characterizations commonly
applied to the template. The ISO 10303-239 EXPRESS model may enable
other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning identification
NOTE this characterization is optional.