Template:— assigning_contract (asg_ctr) Date: 2008/02/01 17:30:12
Revision: 1.20

This section specifies the template assigning_contract.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to assign a contract to something. The contract shall be identified and the type of identifier provided by classification. If the purpose of the contract is required this is identified by using a classified identification. If the kind of the contract is required this is provided by classification. The date and time and the person as well as the person's role can be assigned to the contract.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_contract". The text highlighted in blue shows the template parameters.

NOTE    In any exchange file, a contract should only be represented by a single instance of Contract



Figure 1 —  An EXPRESS-G representation of the Information model for assigning_contract

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_contract

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 assigning_contract template

Figure 2 —   The graphical representation of the assigning_contract template

Input parameters
The following input parameters are defined for this template:
cnt_id (Type='STRING')
The name or identifier of the contract.
cnt_id_class_name (Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the contract.
The following classes and their sub-classes can be used:
classifications: "Contract_identification_code" (urn:plcs:rdl:std:Contract_identification_code)
cnt_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @cnt_id_class_name class.
cnt_org_id (Type='STRING')
The name or identifier of the organization owning or holding the contract.
cnt_org_id_class_name (Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the organization.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
cnt_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
items (Type= 'SELECT (contract_item)' )
The items to which the contract is assigned
Reference parameters
The following reference parameters are defined for this template:
contract(Type='ENTITY (Contract)')
Allow the Contract entity instantiated in this path to be referenced when this template is used.
Note: The Contract entity can be referenced in a template path by:
%^target = $assigning_contract.contract%
where target is the parameter to which the Contract is bound.
contract_assgn(Type='ENTITY (Contract_assignment)')
Allow the Contract_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Contract_assignment entity can be referenced in a template path by:
%^target = $assigning_contract.contract_assgn%
where target is the parameter to which the Contract_assignment is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique Contract
There shall be at most one instance of the entity (Contract) within the data set uniquely identified by a combination of the following parameters on this template (assigning_contract) namely: cnt_id, cnt_id_class_name, cnt_id_ecl_id, cnt_org_id, cnt_org_id_class_name, cnt_org_id_ecl_id.
The instance is referenced by the following template parameter: contract.
Instantiation path
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 Reading Capability Templates help section.
-- Instantiate a Contract_assignment
Contract_assignment

-- Bind the Contract_assignment to the parameter ^contract_assgn
-- The parameter is a reference parameter so the Contract_assignment
-- entity can be referred to when this template is used.
%^contract_assgn = Contract_assignment%

-- to the instances passed into the template through the @items
-- input parameter
Contract_assignment.items -> @items

-- Instantiate and assign a Contract to the Contract_assignment
-- NOTE - an contract entity should only be instantiated once for
-- any contract
Contract_assignment.assigned_contract -> Contract

-- Bind the Contract to the parameter ^contract.
-- The parameter is a reference parameter so the Contract
-- entity can be referred to when this template is used.
%^contract = Contract%

-- Set the Contract attributes id, purpose and kind to be ignored
Contract.id = '/IGNORE'
Contract.kind = '/IGNORE'
Contract.purpose = '/IGNORE'

-- Identify the Contract
/assigning_identification(
    items=^contract,
    id=@cnt_id,
    id_class_name=@cnt_id_class_name,
    id_ecl_id=@cnt_id_ecl_id,
    org_id=@cnt_org_id,
    org_id_class_name=@cnt_org_id_class_name,
    org_id_ecl_id=@cnt_org_id_ecl_id )/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Contract.id '/IGNORE'
Contract.kind '/IGNORE'
Contract.purpose '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_contract(cnt_id='123456', cnt_id_class_name='Purchase_contract_identifier', cnt_id_ecl_id='urn:plcs:rdl:sample', cnt_org_id='BikeHire Limited', cnt_org_id_class_name='Organization_name', cnt_org_id_ecl_id='urn:plcs:rdl:std', items='#3')/
(an illustration of the consolidated assigning_contract template is shown in Figure 4 below.)
Note that the templates assigning_reference_data and assigning_time and assigning_person_in_organization are used in the diagram. Namely:
@4 /assigning_time(date_class_name='Owner_of', date_ecl_id='urn:plcs:rdl:std', year='2005', month='10', day='3', hour='10', minute='50', second='0', sense='.EXACT.', hour_offset='0', minute_offset='0', items='#2')/
and
@4 /assigning_person_in_organization(person_id='LA3412', person_id_class_name='Person_identification_code', person_id_ecl_id='urn:plcs:rdl:std', last_name='Smith', first_name='Jack', middle_names='', prefix_titles='', suffix_titles='', person_role_class_name='Contract_signer', person_role_ecl_id='urn:plcs:rdl:sample', org_id='BikeHire Limited', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', items='#2')/


Figure 3 —  Entities instantiated by assigning_contract template

Figure 3 —  Entities instantiated by assigning_contract 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:
/assigning_contract(cnt_id='123456', cnt_id_class_name='Purchase_contract_identifier', cnt_id_ecl_id='urn:plcs:rdl:sample', cnt_org_id='BikeHire Limited', cnt_org_id_class_name='Organization_name', cnt_org_id_ecl_id='urn:plcs:rdl:std', items='#3')/


Figure 4 —  Instantiation of assigning_contract template

Figure 4 —  Instantiation of assigning_contract template

Characterizations
The following section details how the assigning_contract 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 EXPRESS-G diagram in Figure 5 shows the possible characterizations of the template "assigning_contract".


Figure 5 —  Characterizations for assigning contract template

Figure 5 —  Characterizations for assigning contract template

The following characterizations may apply:
Characterization Assigning classifications

NOTE   this characterization is optional.

A contract can be classified to provide further information regarding the type of contract by using the template assigning_reference_data.

Characterization Assigning dates

NOTE   this characterization is optional.

Dates can be associated with the assignment of a contract. The date is classified to provide the purpose of the assignment date.

The date is represented by using the template assigning_time to assign a date to a Contract_assignment. The date assignment is classified as: "Date_actual" (urn:plcs:rdl:std:Date_actual) to indicate that it is the date when the contract was actually assigned to the items. This is illustrated in Figure 3, template @4.

Characterization Assigning persons

NOTE   this characterization is optional.

Persons can be associated with the assignment of a contract in a specific role, and in an identified organization.

The person is represented using the template assigning_person_in_organization to assign an person to a Contract_assignment. The assignment of the person (Organization_or_person_in_organization_assignment) is classified to indicate in what role this person assigned the contract to this item. This is illustrated in Figure 3, template @5.

© OASIS 2008 — All rights reserved