AP scope | AP module | AP contents | AP index | |
Application module: Product data management | ISO/TS 10303-1231:2005(E) © ISO |
(*
ISO TC184/SC4/WG3 N1879 - ISO/TS 10303-1231 Product data management - EXPRESS ARM Long form
Supersedes
ISO TC184/SC4/WG3 N1486
*)
SCHEMA Product_data_management_arm_lf;
TYPE activity_item =
SELECT
(Item_usage_effectivity,
Product_version,
Product_view_definition,
View_definition_relationship);
END_TYPE;
TYPE affected_item_select =
SELECT
(Assigned_property,
Product_version,
Product_view_definition,
View_definition_relationship);
END_TYPE;
TYPE any_number_value =
NUMBER;
END_TYPE;
TYPE any_string_value =
STRING;
END_TYPE;
TYPE approval_item =
SELECT
(Activity,
Applied_activity_assignment,
Certification,
Contract,
Digital_document_definition,
Document_definition_relationship,
Document_version,
Item_usage_effectivity,
Physical_document_definition,
Work_request);
END_TYPE;
TYPE assigned_document_select =
SELECT
(Document,
Document_definition,
Document_version,
File);
END_TYPE;
TYPE assigned_name_select =
SELECT
(External_class_library);
END_TYPE;
TYPE cartesian_transformation =
SELECT
(Cartesian_transformation_2d,
Cartesian_transformation_3d);
END_TYPE;
TYPE certification_item =
SELECT
(Product_version_relationship);
END_TYPE;
TYPE characterized_activity_definition =
SELECT
(Activity,
Activity_method);
END_TYPE;
TYPE classification_item =
SELECT
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Activity_relationship,
Address,
Address_assignment,
Affected_items_assignment,
Alternate_product_relationship,
Applied_activity_assignment,
Approval,
Approval_assignment,
Approval_relationship,
Approval_status,
Approving_person_organization,
Assembly_relationship_substitution,
Assigned_property,
Attribute_translation_assignment,
Calendar_date,
Certification,
Certification_assignment,
Class,
Context_dependent_unit,
Contract,
Contract_assignment,
Conversion_based_unit,
Date_or_date_time_assignment,
Date_time,
Derived_unit,
Digital_document_definition,
Digital_file,
Directed_activity,
Document_assignment,
Effectivity,
Event,
Event_assignment,
External_source_identification,
File,
File_relationship,
Identification_assignment,
Independent_property,
Independent_property_relationship,
Independent_property_representation,
Language,
Numerical_item_with_unit,
Organization,
Organization_or_person_in_organization_assignment,
Organization_relationship,
Part_view_definition,
Person,
Product,
Product_category,
Product_concept,
Product_configuration,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
Project_assignment,
Project_relationship,
Representation,
Representation_context,
Representation_item,
Security_classification,
Security_classification_assignment,
String_representation_item,
Uncertainty_with_unit,
Value_with_unit,
View_definition_context,
View_definition_relationship,
Work_order,
Work_request,
Work_request_status);
END_TYPE;
TYPE contract_item =
SELECT
(Document_version);
END_TYPE;
TYPE date_or_date_time_item =
SELECT
(Activity,
Applied_activity_assignment,
Certification,
Contract,
Digital_document_definition,
Digital_file,
Document_definition_relationship,
Document_version,
Hardcopy,
Organization_or_person_in_organization_assignment,
Physical_document_definition,
Security_classification_assignment,
Work_request);
END_TYPE;
TYPE date_or_date_time_select =
SELECT
(Calendar_date,
Date_time);
END_TYPE;
TYPE date_or_event =
SELECT
(Calendar_date,
Date_time,
Event);
END_TYPE;
TYPE day_in_month_number =
INTEGER;
WHERE
WR1: { 1 <= SELF <= 31 } ;
END_TYPE;
TYPE descriptive_or_numerical =
SELECT
(Descriptive_document_property,
Numerical_document_property);
END_TYPE;
TYPE document_property_item =
property_assignment_select;
WHERE
wr1: NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM.PART_VIEW_DEFINITION' IN TYPEOF ( SELF ) ) ;
wr2: NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM.PRODUCT_VIEW_DEFINITION' IN TYPEOF ( SELF ) ) ;
wr3: NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM.VIEW_DEFINITION_RELATIONSHIP' IN TYPEOF ( SELF ) ) ;
END_TYPE;
TYPE documented_element_select =
SELECT
(Activity,
Activity_method,
Part,
Part_version,
Part_view_definition,
Product_version_relationship,
Shape_element,
Shape_element_relationship,
Work_request);
END_TYPE;
TYPE effectivity_item =
SELECT
(Product_version,
Product_view_definition,
View_definition_relationship);
END_TYPE;
TYPE event_item =
SELECT
(Project);
END_TYPE;
TYPE external_identification_item =
SELECT
(Document_definition,
File);
END_TYPE;
TYPE geometric_mapping_target =
SELECT
(Axis_placement,
cartesian_transformation);
END_TYPE;
TYPE hour_in_day =
INTEGER;
WHERE
WR1: { 0 <= SELF < 24 } ;
END_TYPE;
TYPE identification_item =
SELECT
(Approval_status,
Contract,
Digital_document_definition,
Digital_file,
Document,
Document_version,
Hardcopy,
Organization,
Physical_document_definition,
Security_classification,
Shape_element_relationship);
END_TYPE;
TYPE length_measure =
REAL;
END_TYPE;
TYPE limit_qualifier_list =
ENUMERATION
OF
(minimum,
maximum);
END_TYPE;
TYPE measure_value =
SELECT
(any_number_value,
any_string_value,
length_measure,
plane_angle_measure);
END_TYPE;
TYPE minute_in_hour =
INTEGER;
WHERE
WR1: { 0 <= SELF <= 59 } ;
END_TYPE;
TYPE month_in_year_number =
INTEGER;
WHERE
WR1: { 1 <= SELF <= 12 } ;
END_TYPE;
TYPE offset_orientation =
ENUMERATION
OF
(ahead,
exact,
behind);
END_TYPE;
TYPE organization_or_person_in_organization_item =
SELECT
(Activity,
Applied_activity_assignment,
Approval,
Contract,
Digital_document_definition,
Digital_file,
Document,
Document_definition,
Document_version,
Hardcopy,
Identification_assignment,
Part,
Part_version,
Part_view_definition,
Physical_document_definition,
Product_configuration,
Security_classification,
Security_classification_assignment,
Work_request);
END_TYPE;
TYPE organization_or_person_in_organization_select =
SELECT
(Organization,
Person_in_organization);
END_TYPE;
TYPE plane_angle_measure =
REAL;
END_TYPE;
TYPE project_item =
SELECT
(Activity,
Product_concept);
END_TYPE;
TYPE property_assignment_select =
SELECT
(Document_definition,
File,
Part_view_definition,
Product_view_definition,
View_definition_relationship);
END_TYPE;
TYPE second_in_minute =
REAL;
WHERE
WR1: { 0 <= SELF <= 60.0 } ;
END_TYPE;
TYPE security_classification_item =
SELECT
(Assembly_component_relationship,
Digital_document_definition,
Digital_file,
Document,
Document_version,
Hardcopy,
Physical_document_definition);
END_TYPE;
TYPE shape_dependent_select =
SELECT
(Item_shape,
Shape_element);
END_TYPE;
TYPE shape_model =
SELECT
(External_geometric_model,
Geometric_model);
END_TYPE;
TYPE shape_select =
SELECT
(Item_shape,
Shape_element,
Shape_element_relationship);
END_TYPE;
TYPE shapeable_item =
SELECT
(Characterizable_object,
Product_view_definition,
View_definition_usage);
END_TYPE;
TYPE string_select =
SELECT
(Approval,
Approval_relationship,
Approval_status,
Certification,
Contract,
Date_or_date_time_assignment,
Digital_document_definition,
Document,
Document_assignment,
Document_definition_relationship,
Document_version,
External_item_identification,
External_source_identification,
File_relationship,
Identification_assignment,
Organization_relationship,
Person_in_organization,
Physical_document_definition,
Product,
Product_category,
Product_version,
Product_view_definition,
Project,
Project_assignment,
Project_relationship,
View_definition_relationship);
END_TYPE;
TYPE template_instance =
SELECT
(Mapping_based_template_instance,
Transformation_based_template_instance);
END_TYPE;
TYPE time_interval_item =
SELECT
(Activity);
END_TYPE;
TYPE version_or_definition =
SELECT
(Product_version,
Product_view_definition);
END_TYPE;
TYPE year_number =
INTEGER;
END_TYPE;
ENTITY Activity;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
chosen_method : Activity_method;
END_ENTITY;
ENTITY Activity_method;
name : STRING;
description :
OPTIONAL
STRING;
consequence :
OPTIONAL
STRING;
purpose : STRING;
END_ENTITY;
ENTITY Activity_method_assignment;
relation_type : STRING;
assigned_method : Activity_method;
associated_request : Work_request;
END_ENTITY;
ENTITY Activity_property;
name : STRING;
description : STRING;
described_element : characterized_activity_definition;
END_ENTITY;
ENTITY Activity_property_representation;
description :
OPTIONAL
STRING;
property : Activity_property;
rep : Representation;
role : STRING;
END_ENTITY;
ENTITY Activity_relationship;
name : STRING;
description :
OPTIONAL
STRING;
relating_activity : Activity;
related_activity : Activity;
END_ENTITY;
ENTITY Activity_status;
assigned_activity : Activity;
status : STRING;
END_ENTITY;
ENTITY Address;
name :
OPTIONAL
STRING;
street_number :
OPTIONAL
STRING;
street :
OPTIONAL
STRING;
postal_box :
OPTIONAL
STRING;
town :
OPTIONAL
STRING;
region :
OPTIONAL
STRING;
postal_code :
OPTIONAL
STRING;
country :
OPTIONAL
STRING;
internal_location :
OPTIONAL
STRING;
facsimile_number :
OPTIONAL
STRING;
telephone_number :
OPTIONAL
STRING;
electronic_mail_address :
OPTIONAL
STRING;
telex_number :
OPTIONAL
STRING;
url :
OPTIONAL
STRING;
WHERE
WR1: ( EXISTS ( street_number ) OR EXISTS ( street ) OR EXISTS ( postal_box ) OR EXISTS ( town ) OR EXISTS ( region ) OR
EXISTS ( postal_code ) OR EXISTS ( country ) OR EXISTS ( internal_location ) OR EXISTS ( facsimile_number ) OR EXISTS ( telephone_number
) OR EXISTS ( electronic_mail_address ) OR EXISTS ( telex_number ) ) ;
END_ENTITY;
ENTITY Address_assignment;
address_type :
OPTIONAL
STRING;
assigned_address : Address;
located_person_organizations : SET[1:?] OF organization_or_person_in_organization_select;
END_ENTITY;
ENTITY Affected_items_assignment;
assigned_work_request : Work_request;
items : SET[1:?] OF affected_item_select;
END_ENTITY;
ENTITY Alias_identification
SUBTYPE OF (Identification_assignment);
DERIVE
SELF\Identification_assignment.role : STRING := 'alias' ;
WHERE
WR1: SIZEOF ( QUERY ( item <* SELF \ Identification_assignment . items | NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.ALIAS_IDENTIFICATION_ITEM'
IN TYPEOF ( item ) ) ) ) = 0 ;
END_ENTITY;
ENTITY Alternate_part_relationship
SUBTYPE OF (Alternate_product_relationship);
SELF\Alternate_product_relationship.alternate_product : Part;
SELF\Alternate_product_relationship.base_product : Part;
END_ENTITY;
ENTITY Alternate_product_relationship;
name :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
alternate_product : Product;
base_product : Product;
criteria : STRING;
UNIQUE
UR1:
SELF\Alternate_product_relationship.alternate_product,
SELF\Alternate_product_relationship.base_product;
WHERE
WR1: alternate_product :<>: base_product ;
END_ENTITY;
ENTITY Amount_of_substance_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Applied_activity_assignment;
assigned_activity : Activity;
items : SET[1:?] OF activity_item;
role : STRING;
END_ENTITY;
ENTITY Applied_independent_activity_property
SUBTYPE OF (Activity_property);
base_element_property : Independent_property;
DERIVE
SELF\Activity_property.name : STRING := base_element_property . property_type ;
END_ENTITY;
ENTITY Applied_independent_property
SUBTYPE OF (Assigned_property);
base_independent_property : Independent_property;
DERIVE
SELF\Assigned_property.name : STRING := base_independent_property . property_type ;
END_ENTITY;
ENTITY Approval;
status : Approval_status;
purpose : STRING;
planned_date :
OPTIONAL
date_or_date_time_select;
actual_date :
OPTIONAL
date_or_date_time_select;
END_ENTITY;
ENTITY Approval_assignment;
assigned_approval : Approval;
items : SET[1:?] OF approval_item;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Approval_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_approval : Approval;
related_approval : Approval;
END_ENTITY;
ENTITY Approval_status;
status_name : STRING;
END_ENTITY;
ENTITY Approving_person_organization;
person_organization : organization_or_person_in_organization_select;
approval_date :
OPTIONAL
date_or_date_time_select;
authorized_approval : Approval;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Assembly_component_relationship
ABSTRACT SUPERTYPE
OF (ONEOF (Next_assembly_usage,
Promissory_usage,
Component_upper_level_identification))
SUBTYPE OF (View_definition_usage);
quantity :
OPTIONAL
Value_with_unit;
location_indicator :
OPTIONAL
STRING;
WHERE
WR1: NOT ( EXISTS ( quantity ) ) OR ( ( NOT ( 'NUMBER' IN TYPEOF ( quantity . value_component ) ) ) XOR ( quantity . value_component
> 0 ) ) ;
END_ENTITY;
ENTITY Assembly_relationship_substitution;
name :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
base_relationship : Assembly_component_relationship;
substitute_relationship : Assembly_component_relationship;
UNIQUE
UR1:
SELF\Assembly_relationship_substitution.base_relationship,
SELF\Assembly_relationship_substitution.substitute_relationship;
WHERE
WR1: base_relationship . relating_view :=: substitute_relationship . relating_view ;
WR2: base_relationship :<>: substitute_relationship ;
END_ENTITY;
ENTITY Assigned_document_property
SUBTYPE OF (Assigned_property);
SELF\Assigned_property.described_element : document_property_item;
DERIVE
SELF\Assigned_property.name : STRING := 'document property' ;
UNIQUE
UR1:
SELF\Assigned_document_property.described_element;
WHERE
WR1: SIZEOF ( [ 'PRODUCT_DATA_MANAGEMENT_ARM_LF.DOCUMENT_DEFINITION' , 'PRODUCT_DATA_MANAGEMENT_ARM_LF.FILE' ] * TYPEOF (
SELF \ Assigned_property . described_element ) ) = 1 ;
END_ENTITY;
ENTITY Assigned_property;
id :
OPTIONAL
STRING;
name : STRING;
description :
OPTIONAL
STRING;
described_element : property_assignment_select;
END_ENTITY;
ENTITY Attribute_translation_assignment;
considered_instance : string_select;
considered_attribute : STRING;
translation_text : STRING;
translation_language : Language;
UNIQUE
UR1:
SELF\Attribute_translation_assignment.considered_instance,
SELF\Attribute_translation_assignment.considered_attribute,
SELF\Attribute_translation_assignment.translation_language;
END_ENTITY;
ENTITY Axis_placement
SUBTYPE OF (Detailed_geometric_model_element);
origin : Cartesian_point;
x_axis : Direction;
y_axis : Direction;
DERIVE
dim : INTEGER := SIZEOF ( origin . coordinates ) ;
WHERE
WR1: dim > 1 ;
WR2: dim = SIZEOF ( x_axis . coordinates ) ;
WR3: dim = SIZEOF ( y_axis . coordinates ) ;
END_ENTITY;
ENTITY Axis_placement_mapping;
source : Axis_placement;
target : Axis_placement;
WHERE
WR1: source \ Axis_placement . dim = target \ Axis_placement . dim ;
END_ENTITY;
ENTITY Axis_placement_transformation_mapping;
source : Axis_placement;
target : cartesian_transformation;
WHERE
WR1: source \ Axis_placement . dim = SIZEOF ( target . translation \ Cartesian_point . coordinates ) ;
END_ENTITY;
ENTITY Calendar_date;
year_component : year_number;
month_component : month_in_year_number;
day_component : day_in_month_number;
END_ENTITY;
ENTITY Cartesian_point
SUBTYPE OF (Detailed_geometric_model_element);
coordinates : LIST[1:3] OF length_measure;
END_ENTITY;
ENTITY Cartesian_transformation_2d
SUBTYPE OF (Detailed_geometric_model_element);
multiplication_matrix : ARRAY[1:2] OF Direction;
translation : Cartesian_point;
WHERE
WR1: SIZEOF ( multiplication_matrix [ 1 ] \ Direction . coordinates ) = 2 ;
WR2: SIZEOF ( multiplication_matrix [ 2 ] \ Direction . coordinates ) = 2 ;
WR3: SIZEOF ( translation . coordinates ) = 2 ;
END_ENTITY;
ENTITY Cartesian_transformation_3d
SUBTYPE OF (Detailed_geometric_model_element);
multiplication_matrix : ARRAY[1:3] OF Direction;
translation : Cartesian_point;
WHERE
WR1: SIZEOF ( multiplication_matrix [ 1 ] \ Direction . coordinates ) = 3 ;
WR2: SIZEOF ( multiplication_matrix [ 2 ] \ Direction . coordinates ) = 3 ;
WR3: SIZEOF ( multiplication_matrix [ 3 ] \ Direction . coordinates ) = 3 ;
WR4: SIZEOF ( translation . coordinates ) = 3 ;
END_ENTITY;
ENTITY Certification;
name : STRING;
description :
OPTIONAL
STRING;
kind : STRING;
END_ENTITY;
ENTITY Certification_assignment;
assigned_certification : Certification;
items : SET[1:?] OF certification_item;
role : STRING;
END_ENTITY;
ENTITY Characterizable_object;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Class
SUPERTYPE OF
(ONEOF (Class_by_extension,
Class_by_intension));
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Class_by_extension
SUBTYPE OF (Class);
END_ENTITY;
ENTITY Class_by_intension
SUBTYPE OF (Class);
END_ENTITY;
ENTITY Classification_assignment;
assigned_class : Class;
items : SET[1:?] OF classification_item;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Component_upper_level_identification
SUBTYPE OF (Assembly_component_relationship);
upper_assembly_relationship : Assembly_component_relationship;
sub_assembly_relationship : Next_assembly_usage;
UNIQUE
UR1:
SELF\Component_upper_level_identification.upper_assembly_relationship,
SELF\Component_upper_level_identification.sub_assembly_relationship;
WHERE
WR1: SELF :<>: upper_assembly_relationship ;
WR2: SELF \ View_definition_relationship . relating_view :=: upper_assembly_relationship \ View_definition_relationship .
relating_view ;
WR3: SELF \ View_definition_relationship . related_view :=: sub_assembly_relationship \ View_definition_relationship . related_view
;
WR4: ( upper_assembly_relationship \ View_definition_relationship . related_view :=: sub_assembly_relationship \ View_definition_relationship
. relating_view ) OR ( SIZEOF ( QUERY ( pdr <* USEDIN ( upper_assembly_relationship \ View_definition_relationship . related_view
, 'PRODUCT_DATA_MANAGEMENT_ARM_LF.VIEW_DEFINITION_RELATIONSHIP.RELATED_VIEW' ) | pdr . relating_view :=: sub_assembly_relationship
\ View_definition_relationship . relating_view ) ) = 1 ) ;
WR5: SIZEOF ( [ 'PRODUCT_DATA_MANAGEMENT_ARM_LF.NEXT_ASSEMBLY_USAGE' , 'PRODUCT_DATA_MANAGEMENT_ARM_LF.COMPONENT_UPPER_LEVEL_IDENTIFICATION'
] * TYPEOF ( upper_assembly_relationship ) ) = 1 ;
END_ENTITY;
ENTITY Context_dependent_unit
SUBTYPE OF (Unit);
WHERE
WR1: EXISTS ( SELF \ Unit . name ) ;
END_ENTITY;
ENTITY Contextual_item_shape
SUBTYPE OF (Item_shape);
SELF\Item_shape.described_element : View_definition_usage;
DERIVE
shaped_product : Product_view_definition := described_element \ View_definition_relationship . related_view ;
END_ENTITY;
ENTITY Contextual_shape_representation_inclusion;
contextual_shape : Contextual_item_shape;
context_representation : Geometric_model;
positioned_representation : template_instance;
END_ENTITY;
ENTITY Contract;
id : STRING;
purpose : STRING;
kind : STRING;
END_ENTITY;
ENTITY Contract_assignment;
assigned_contract : Contract;
items : SET[1:?] OF contract_item;
END_ENTITY;
ENTITY Conversion_based_unit
SUBTYPE OF (Unit);
conversion_factor : Value_with_unit;
WHERE
WR1: EXISTS ( SELF \ Unit . name ) ;
END_ENTITY;
ENTITY Date_or_date_time_assignment;
assigned_date : date_or_date_time_select;
role : STRING;
items : SET[1:?] OF date_or_date_time_item;
END_ENTITY;
ENTITY Date_time;
date_component : Calendar_date;
time_component : Local_time;
END_ENTITY;
ENTITY Dated_effectivity
SUBTYPE OF (Effectivity);
start_bound : date_or_event;
end_bound :
OPTIONAL
date_or_event;
END_ENTITY;
ENTITY Derived_unit
SUBTYPE OF (Unit);
elements : SET[1:?] OF Derived_unit_element;
END_ENTITY;
ENTITY Derived_unit_element;
base_unit : Unit;
exponent : REAL;
END_ENTITY;
ENTITY Descriptive_document_property
SUBTYPE OF (String_representation_item);
INVERSE
valued_characteristic : SET[1:1] OF Document_property_representation FOR items;
END_ENTITY;
ENTITY Detailed_geometric_model_element
ABSTRACT SUPERTYPE
OF (ONEOF (Cartesian_point,
Direction,
Axis_placement,
Cartesian_transformation_2d,
Cartesian_transformation_3d))
SUBTYPE OF (Representation_item);
END_ENTITY;
ENTITY Digital_document_definition
SUBTYPE OF (Document_definition);
files : SET[0:?] OF Digital_file;
END_ENTITY;
ENTITY Digital_file
SUBTYPE OF (File);
END_ENTITY;
ENTITY Directed_activity
SUBTYPE OF (Activity);
directive : Work_order;
END_ENTITY;
ENTITY Direction
SUBTYPE OF (Detailed_geometric_model_element);
coordinates : LIST[2:3] OF length_measure;
END_ENTITY;
ENTITY Document
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Document_assignment;
assigned_document : assigned_document_select;
is_assigned_to : documented_element_select;
role : STRING;
END_ENTITY;
ENTITY Document_definition
SUPERTYPE OF
(ONEOF (Digital_document_definition,
Physical_document_definition))
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Document_version;
DERIVE
associated_document_version : Document_version := SELF \ Product_view_definition . defined_version ;
description : STRING := SELF \ Product_view_definition . name ;
END_ENTITY;
ENTITY Document_definition_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_document_definition : Document_definition;
related_document_definition : Document_definition;
WHERE
WR1: relating_document_definition :<>: related_document_definition ;
END_ENTITY;
ENTITY Document_location_identification
SUBTYPE OF (External_source_identification);
WHERE
WR1: 'PRODUCT_DATA_MANAGEMENT_ARM_LF.DOCUMENT_DEFINITION' IN TYPEOF ( SELF \ External_source_identification . item ) ;
END_ENTITY;
ENTITY Document_property_representation
SUBTYPE OF (Representation);
SELF\Representation.items : SET[1:?] OF descriptive_or_numerical;
WHERE
WR1: SIZEOF ( QUERY ( pr <* USEDIN ( SELF , 'PRODUCT_DATA_MANAGEMENT_ARM_LF.PROPERTY_REPRESENTATION.REP' ) | 'PRODUCT_DATA_MANAGEMENT_ARM_LF.ASSIGNED_PROPERTY'
IN TYPEOF ( pr . property ) ) ) > 0 ;
WR2: SELF \ Representation . context_of_items . kind = 'document parameters' ;
WR3: valid_document_property_representation ( SELF ) ;
WR4: SIZEOF ( QUERY ( it1 <* SELF \ Representation . items | SIZEOF ( QUERY ( it2 <* SELF \ Representation . items | it1
. name = it2 . name ) ) > 1 ) ) = 0 ;
END_ENTITY;
ENTITY Document_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Document;
END_ENTITY;
ENTITY Duration
SUBTYPE OF (Value_with_unit);
WHERE
WR1: 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'TIME_UNIT' IN TYPEOF ( SELF \ Value_with_unit . unit ) ;
END_ENTITY;
ENTITY Effectivity
SUPERTYPE OF
(ONEOF (Serial_effectivity,
Dated_effectivity,
Lot_effectivity,
Time_interval_effectivity));
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Effectivity_assignment;
assigned_effectivity : Effectivity;
role : STRING;
items : SET[1:?] OF effectivity_item;
END_ENTITY;
ENTITY Effectivity_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_effectivity : Effectivity;
related_effectivity : Effectivity;
END_ENTITY;
ENTITY Electric_current_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Event;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
actual_start_date :
OPTIONAL
date_or_date_time_select;
planned_start_date :
OPTIONAL
date_or_date_time_select;
END_ENTITY;
ENTITY Event_assignment;
assigned_event : Event;
items : SET[1:?] OF event_item;
role : STRING;
END_ENTITY;
ENTITY Event_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_event : Event;
related_event : Event;
END_ENTITY;
ENTITY External_class
SUBTYPE OF (Class);
external_source : External_class_library;
END_ENTITY;
ENTITY External_class_library;
id : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY External_geometric_model
SUBTYPE OF (Geometric_model);
SELF\Representation.items : SET[1:1] OF Axis_placement;
external_file : Digital_file;
WHERE
WR1: SELF \ Representation . context_of_items . dimension_count = 3 ;
WR2: SELF \ Representation . context_of_items . kind = 'external' ;
END_ENTITY;
ENTITY External_item_identification
SUBTYPE OF (External_source_identification);
external_id : STRING;
END_ENTITY;
ENTITY External_source_identification;
source_id : STRING;
source_type : STRING;
item : external_identification_item;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY File
ABSTRACT SUPERTYPE
OF (ONEOF (Digital_file,
Hardcopy));
id : STRING;
version :
OPTIONAL
STRING;
contained_data_type :
OPTIONAL
STRING;
END_ENTITY;
ENTITY File_location_identification
SUBTYPE OF (External_item_identification);
WHERE
WR1: 'PRODUCT_DATA_MANAGEMENT_ARM_LF.FILE' IN TYPEOF ( SELF \ External_source_identification . item ) ;
END_ENTITY;
ENTITY File_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_document_file : File;
related_document_file : File;
WHERE
WR1: relating_document_file :<>: related_document_file ;
END_ENTITY;
ENTITY Geometric_coordinate_space
SUBTYPE OF (Numerical_representation_context);
dimension_count : INTEGER;
WHERE
WR1: dimension_count > 0 ;
END_ENTITY;
ENTITY Geometric_model
SUBTYPE OF (Representation);
version_id :
OPTIONAL
STRING;
model_extent :
OPTIONAL
length_measure;
SELF\Representation.context_of_items : Geometric_coordinate_space;
SELF\Representation.items : SET[1:?] OF Detailed_geometric_model_element;
END_ENTITY;
ENTITY Hardcopy
SUBTYPE OF (File);
END_ENTITY;
ENTITY Identification_assignment;
identifier : STRING;
role : STRING;
description :
OPTIONAL
STRING;
items : SET[1:?] OF identification_item;
END_ENTITY;
ENTITY Incomplete_reference_marking
SUBTYPE OF (Classification_assignment);
WHERE
WR1: SIZEOF ( QUERY ( item <* SELF \ Classification_assignment . items | NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.IDRM_MARKED_ITEM'
IN TYPEOF ( item ) ) ) ) = 0 ;
WR2: SELF \ Classification_assignment . assigned_class . id = 'reference' ;
END_ENTITY;
ENTITY Independent_property;
id : STRING;
property_type : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Independent_property_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating : Independent_property;
related : Independent_property;
END_ENTITY;
ENTITY Independent_property_representation;
description :
OPTIONAL
STRING;
property : Independent_property;
rep : Representation;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Item_design_association;
configuration : Product_configuration;
design : version_or_definition;
UNIQUE
UR1:
SELF\Item_design_association.configuration,
SELF\Item_design_association.design;
END_ENTITY;
ENTITY Item_shape;
id :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
described_element : shapeable_item;
END_ENTITY;
ENTITY Item_usage_effectivity;
effectivity_domain : Effectivity;
item_usage_relationship : View_definition_usage;
resolved_configuration : Item_design_association;
END_ENTITY;
ENTITY Language;
language_code : STRING;
country_code :
OPTIONAL
STRING;
UNIQUE
UR1:
SELF\Language.language_code;
END_ENTITY;
ENTITY Language_indication;
considered_instance : string_select;
considered_attribute : STRING;
used_language : Language;
END_ENTITY;
ENTITY Length_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Local_time;
hour_component : hour_in_day;
minute_component :
OPTIONAL
minute_in_hour;
second_component :
OPTIONAL
second_in_minute;
zone : Time_offset;
END_ENTITY;
ENTITY Lot_effectivity
SUBTYPE OF (Effectivity);
lot_id : STRING;
lot_size : Value_with_unit;
END_ENTITY;
ENTITY Luminous_intensity_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Make_from_relationship
SUBTYPE OF (View_definition_usage);
SELF\View_definition_relationship.relating_view : Part_view_definition;
SELF\View_definition_relationship.related_view : Part_view_definition;
quantity :
OPTIONAL
Value_with_unit;
priority :
OPTIONAL
INTEGER;
WHERE
WR1: SELF \ View_definition_relationship . relating_view :<>: SELF \ View_definition_relationship . related_view ;
WR2: NOT ( EXISTS ( quantity ) ) XOR ( ( NOT ( 'NUMBER' IN TYPEOF ( quantity . value_component ) ) ) XOR ( quantity . value_component
> 0 ) ) ;
END_ENTITY;
ENTITY Mapping_based_template_instance
SUBTYPE OF (Detailed_geometric_model_element);
replicated_model : shape_model;
source : Axis_placement;
target : geometric_mapping_target;
END_ENTITY;
ENTITY Market;
name : STRING;
market_segment_type :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Mass_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Measure_item
ABSTRACT SUPERTYPE
OF (ONEOF (Measure_item_with_precision,
Numerical_item_with_global_unit,
Numerical_item_with_unit,
Value_limit,
Value_limit_with_global_unit,
Value_list,
Value_range,
Value_range_with_global_unit,
Value_set,
Value_with_tolerances))
SUBTYPE OF (Representation_item);
WHERE
WR1: SIZEOF ( USEDIN ( SELF , 'PRODUCT_DATA_MANAGEMENT_ARM_LF.REPRESENTATION.ITEMS' ) ) > 0 ;
END_ENTITY;
ENTITY Measure_item_with_precision
SUBTYPE OF (Measure_item);
significant_digits : INTEGER;
END_ENTITY;
ENTITY Name_assignment;
name : STRING;
role : STRING;
items : assigned_name_select;
END_ENTITY;
ENTITY Next_assembly_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
ENTITY Numerical_document_property
SUBTYPE OF (Numerical_item_with_unit);
INVERSE
valued_characteristic : SET[1:1] OF Document_property_representation FOR items;
END_ENTITY;
ENTITY Numerical_item_with_global_unit
SUBTYPE OF (Measure_item);
value_component : measure_value;
WHERE
WR1: SIZEOF ( QUERY ( pvr <* QUERY ( r <* USEDIN ( SELF , 'PRODUCT_DATA_MANAGEMENT_ARM_LF.REPRESENTATION.ITEMS' ) | 'PRODUCT_DATA_MANAGEMENT_ARM_LF.PROPERTY_VALUE_REPRESENTATION'
IN TYPEOF ( r ) ) | EXISTS ( pvr . context_of_items . units ) ) ) > 0 ;
END_ENTITY;
ENTITY Numerical_item_with_unit
SUBTYPE OF (Measure_item, Value_with_unit);
END_ENTITY;
ENTITY Numerical_representation_context
SUBTYPE OF (Representation_context);
units :
OPTIONAL
SET[1:?] OF Unit;
accuracies :
OPTIONAL
SET[1:?] OF Uncertainty_with_unit;
END_ENTITY;
ENTITY Organization;
id :
OPTIONAL
STRING;
name : STRING;
END_ENTITY;
ENTITY Organization_or_person_in_organization_assignment;
assigned_entity : organization_or_person_in_organization_select;
role : STRING;
items : SET[1:?] OF organization_or_person_in_organization_item;
END_ENTITY;
ENTITY Organization_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_organization : Organization;
related_organization : Organization;
END_ENTITY;
ENTITY Part
SUBTYPE OF (Product);
WHERE
WR1: SIZEOF ( [ 'part' , 'raw material' , 'tool' ] * types_of_product ( SELF ) ) = 1 ;
END_ENTITY;
ENTITY Part_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Part;
END_ENTITY;
ENTITY Part_view_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Part_version;
END_ENTITY;
ENTITY Partial_document_assignment
SUBTYPE OF (Document_assignment);
document_portion : STRING;
END_ENTITY;
ENTITY Person;
last_name : STRING;
first_name :
OPTIONAL
STRING;
middle_names :
OPTIONAL
LIST[1:?] OF STRING;
prefix_titles :
OPTIONAL
LIST[1:?] OF STRING;
suffix_titles :
OPTIONAL
LIST[1:?] OF STRING;
END_ENTITY;
ENTITY Person_in_organization;
concerned_person : Person;
containing_organization : Organization;
role : STRING;
END_ENTITY;
ENTITY Physical_document_definition
SUBTYPE OF (Document_definition);
components : SET[0:?] OF Hardcopy;
END_ENTITY;
ENTITY Plane_angle_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Product;
id : STRING;
name :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Product_category;
id :
OPTIONAL
STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Product_category_assignment;
category : Product_category;
products : SET[1:?] OF Product;
END_ENTITY;
ENTITY Product_category_hierarchy;
super_category : Product_category;
sub_category : Product_category;
END_ENTITY;
ENTITY Product_concept;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
target_market :
OPTIONAL
Market;
UNIQUE
UR1:
SELF\Product_concept.id;
END_ENTITY;
ENTITY Product_configuration;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
item_context : Product_concept;
INVERSE
corresponding_design : SET[0:1] OF Item_design_association FOR configuration;
END_ENTITY;
ENTITY Product_version;
id : STRING;
description :
OPTIONAL
STRING;
of_product : Product;
END_ENTITY;
ENTITY Product_version_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_version : Product_version;
related_version : Product_version;
WHERE
WR1: relating_version :<>: related_version ;
END_ENTITY;
ENTITY Product_view_definition;
id : STRING;
name :
OPTIONAL
STRING;
additional_characterization :
OPTIONAL
STRING;
initial_context : View_definition_context;
additional_contexts : SET[0:?] OF View_definition_context;
defined_version : Product_version;
WHERE
WR1: NOT ( initial_context IN additional_contexts ) ;
END_ENTITY;
ENTITY Project;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
responsible_organizations : SET[0:?] OF Organization;
planned_start_date :
OPTIONAL
date_or_event;
planned_end_date :
OPTIONAL
date_or_event;
actual_start_date :
OPTIONAL
date_or_date_time_select;
actual_end_date :
OPTIONAL
date_or_date_time_select;
END_ENTITY;
ENTITY Project_assignment;
assigned_project : Project;
role : STRING;
items : SET[0:?] OF project_item;
END_ENTITY;
ENTITY Project_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_project : Project;
related_project : Project;
END_ENTITY;
ENTITY Promissory_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
ENTITY Property_representation;
description :
OPTIONAL
STRING;
property : Assigned_property;
rep : Representation;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Property_value_representation
SUBTYPE OF (Representation);
SELF\Representation.context_of_items : Numerical_representation_context;
END_ENTITY;
ENTITY Qualified_property_value_representation
SUBTYPE OF (Property_value_representation);
value_determination :
OPTIONAL
STRING;
qualifier :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Ratio_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Relative_event
SUBTYPE OF (Event);
base_event : Event;
offset : Duration;
END_ENTITY;
ENTITY Representation;
id :
OPTIONAL
STRING;
name : STRING;
description :
OPTIONAL
STRING;
context_of_items : Representation_context;
items : SET[1:?] OF Representation_item;
END_ENTITY;
ENTITY Representation_context;
id : STRING;
kind : STRING;
INVERSE
representations_in_context : SET[1:?] OF Representation FOR context_of_items;
END_ENTITY;
ENTITY Representation_item
ABSTRACT SUPERTYPE
;
name : STRING;
END_ENTITY;
ENTITY Representation_relationship;
relation_type : STRING;
description : STRING;
rep_1 : Representation;
rep_2 : Representation;
END_ENTITY;
ENTITY Security_classification;
classification_level : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Security_classification_assignment;
classification : Security_classification;
items : SET[1:?] OF security_classification_item;
END_ENTITY;
ENTITY Serial_effectivity
SUBTYPE OF (Effectivity);
start_id : STRING;
end_id :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Shape_dependent_property_representation;
characteristic_type : STRING;
description :
OPTIONAL
STRING;
described_element : shape_dependent_select;
property_representation : Representation;
END_ENTITY;
ENTITY Shape_description_association;
represented_characteristic : shape_select;
representation : shape_model;
role :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Shape_element;
id :
OPTIONAL
STRING;
element_name : STRING;
description :
OPTIONAL
STRING;
containing_shape : Item_shape;
END_ENTITY;
ENTITY Shape_element_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating : Shape_element;
related : Shape_element;
END_ENTITY;
ENTITY Solid_angle_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY String_representation_item
SUBTYPE OF (Representation_item);
string_value : STRING;
END_ENTITY;
ENTITY Supplied_part_relationship
SUBTYPE OF (Product_version_relationship);
WHERE
WR1: SELF \ Product_version_relationship . relation_type IN [ 'supplied item' , 'supplied document' ] ;
END_ENTITY;
ENTITY Thermodynamic_temperature_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Time_interval;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Time_interval_assignment;
assigned_time_interval : Time_interval;
role : Time_interval_role;
items : SET[1:?] OF time_interval_item;
END_ENTITY;
ENTITY Time_interval_effectivity
SUBTYPE OF (Effectivity);
effectivity_period : Time_interval;
END_ENTITY;
ENTITY Time_interval_relationship;
relation_type : STRING;
description : STRING;
relating_time_interval : Time_interval;
related_time_interval : Time_interval;
END_ENTITY;
ENTITY Time_interval_role;
name : STRING;
description : STRING;
END_ENTITY;
ENTITY Time_interval_with_bounds
SUBTYPE OF (Time_interval);
primary_bound :
OPTIONAL
date_or_event;
secondary_bound :
OPTIONAL
date_or_event;
duration_from_primary_bound :
OPTIONAL
Duration;
WHERE
WR1: NOT ( EXISTS ( secondary_bound ) AND EXISTS ( duration_from_primary_bound ) ) ;
WR2: EXISTS ( primary_bound ) OR EXISTS ( secondary_bound ) ;
END_ENTITY;
ENTITY Time_offset;
hour_offset : INTEGER;
minute_offset :
OPTIONAL
INTEGER;
sense : offset_orientation;
DERIVE
actual_minute_offset : INTEGER := NVL ( minute_offset , 0 ) ;
WHERE
WR1: { 0 <= hour_offset < 24 } ;
WR2: { 0 <= actual_minute_offset <= 59 } ;
WR3: NOT ( ( ( hour_offset <> 0 ) OR ( actual_minute_offset <> 0 ) ) AND ( sense = exact ) ) ;
END_ENTITY;
ENTITY Time_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Transformation_based_template_instance
SUBTYPE OF (Detailed_geometric_model_element);
replicated_model : shape_model;
replication_transformation : cartesian_transformation;
END_ENTITY;
ENTITY Uncertainty_with_unit
SUBTYPE OF (Value_with_unit);
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Unit
SUPERTYPE OF
(ONEOF (Amount_of_substance_unit,
Electric_current_unit,
Length_unit,
Luminous_intensity_unit,
Mass_unit,
Plane_angle_unit,
Ratio_unit,
Solid_angle_unit,
Thermodynamic_temperature_unit,
Time_unit));
name : STRING;
si_unit : BOOLEAN;
END_ENTITY;
ENTITY Value_limit
SUBTYPE OF (Measure_item);
limit_qualifier : limit_qualifier_list;
limit : Value_with_unit;
END_ENTITY;
ENTITY Value_limit_with_global_unit
SUBTYPE OF (Measure_item);
limit : Numerical_item_with_global_unit;
limit_qualifier : limit_qualifier_list;
END_ENTITY;
ENTITY Value_list
SUBTYPE OF (Measure_item);
values : LIST[1:?] OF Measure_item;
END_ENTITY;
ENTITY Value_range
SUBTYPE OF (Measure_item);
lower_limit : Numerical_item_with_unit;
upper_limit : Numerical_item_with_unit;
END_ENTITY;
ENTITY Value_range_with_global_unit
SUBTYPE OF (Measure_item);
lower_limit : Numerical_item_with_global_unit;
upper_limit : Numerical_item_with_global_unit;
END_ENTITY;
ENTITY Value_set
SUBTYPE OF (Measure_item);
values : SET[1:?] OF Measure_item;
END_ENTITY;
ENTITY Value_with_tolerances
SUBTYPE OF (Measure_item);
item_value : Numerical_item_with_unit;
lower_limit : REAL;
upper_limit : REAL;
END_ENTITY;
ENTITY Value_with_unit;
unit : Unit;
value_component : measure_value;
END_ENTITY;
ENTITY View_definition_context;
application_domain : STRING;
life_cycle_stage : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY View_definition_relationship;
id :
OPTIONAL
STRING;
relation_type :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
relating_view : Product_view_definition;
related_view : Product_view_definition;
END_ENTITY;
ENTITY View_definition_usage
SUBTYPE OF (View_definition_relationship);
END_ENTITY;
ENTITY Work_order;
name : STRING;
description :
OPTIONAL
STRING;
in_response_to : SET[0:?] OF Work_request;
END_ENTITY;
ENTITY Work_request;
request_id : STRING;
version_id : STRING;
description :
OPTIONAL
STRING;
purpose : STRING;
END_ENTITY;
ENTITY Work_request_status;
status : STRING;
work_request : Work_request;
END_ENTITY;
RULE
document_definition_constraint FOR
(Product_view_definition);
WHERE
WR1: SIZEOF ( QUERY ( dd <* Product_view_definition | ( NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'DOCUMENT_DEFINITION' IN
TYPEOF ( dd ) ) ) AND ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'DOCUMENT_VERSION' IN TYPEOF ( dd . defined_version ) ) ) ) =
0 ;
END_RULE;
RULE
document_version_constraint FOR
(Product_version);
WHERE
WR1: SIZEOF ( QUERY ( pv <* Product_version | ( NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'DOCUMENT_VERSION' IN TYPEOF (
pv ) ) ) AND ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'DOCUMENT' IN TYPEOF ( pv . of_product ) ) ) ) = 0 ;
END_RULE;
RULE
part_version_constraint FOR
(Product_version);
WHERE
WR1: SIZEOF ( QUERY ( pv <* Product_version | ( NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'PART_VERSION' IN TYPEOF ( pv )
) ) AND ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'PART' IN TYPEOF ( pv . of_product ) ) ) ) = 0 ;
END_RULE;
RULE
part_view_definition_constraint FOR
(Product_view_definition);
WHERE
WR1: SIZEOF ( QUERY ( pvd <* Product_view_definition | ( NOT ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'PART_VIEW_DEFINITION'
IN TYPEOF ( pvd ) ) ) AND ( 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'PART_VERSION' IN TYPEOF ( pvd . defined_version ) ) ) ) =
0 ;
END_RULE;
FUNCTION types_of_product
(obj : Product) : SET[0:?] OF STRING;
LOCAL category_assignments : BAG OF Product_category_assignment ; categories : SET OF STRING := [ ] ; i : INTEGER ; END_LOCAL ; category_assignments := USEDIN ( obj , 'PRODUCT_DATA_MANAGEMENT_ARM_LF.' + 'PRODUCT_CATEGORY_ASSIGNMENT.PRODUCTS' ) ; REPEAT i := LOINDEX ( category_assignments ) TO HIINDEX ( category_assignments ) BY 1 ; categories := categories + category_assignments [ i ] . category . name ; END_REPEAT ; RETURN ( categories ) ;
END_FUNCTION;
FUNCTION valid_document_property_representation
(rep : Document_property_representation) : LOGICAL;
CASE rep . name OF 'document content' : BEGIN RETURN ( SIZEOF ( QUERY ( items <* rep \ Representation . items | NOT ( items . name IN [ 'detail level' , 'geometry type' , 'real world scale' ] ) ) ) = 0 ) ; END ; 'document creation' : BEGIN IF NOT ( SIZEOF ( QUERY ( items <* rep \ Representation . items | NOT ( items . name IN [ 'creating interface' , 'creating system' , 'operating system' ] ) ) ) = 0 ) THEN RETURN ( FALSE ) ; END_IF ; IF NOT ( SIZEOF ( QUERY ( items <* rep \ Representation . items | NOT ( items . name IN [ 'creating system' ] ) ) ) = 1 ) THEN RETURN ( FALSE ) ; ELSE RETURN ( TRUE ) ; END_IF ; END ; 'document format' : BEGIN RETURN ( SIZEOF ( QUERY ( items <* rep \ Representation . items | NOT ( items . name IN [ 'character code' , 'data format' , 'size format' , 'size format standard' ] ) ) ) = 0 ) ; END ; 'document size' : BEGIN RETURN ( SIZEOF ( QUERY ( items <* rep \ Representation . items | NOT ( items . name IN [ 'file size' , 'page count' ] ) ) ) = 0 ) ; END ; OTHERWISE : RETURN ( UNKNOWN ) ; END_CASE ;
END_FUNCTION;
END_SCHEMA; -- Product_data_management_arm_lf
© ISO 2005 — All rights reserved