Template:— assigning_approval (asg_apr) Capability:assigning_approvals | 
            Date: 2010/03/14 16:32:08  Revision: 1.28 
             | 
         
      
      
      
         This section specifies the template assigning_approval.
         
      
      
         NOTE 
         The template has been defined in the context of the capability 
         assigning_approvals
         which provides an overall description of the 
         relevant parts of the ISO 10303-239 information model and a description 
         of related templates.
         
      
      
         NOTE 
         An explanation of a template and the associated instantiation path is
         provided in the 
         Template overview
         section.
         
      
      
      
         		
         
            This template describes how to assign an approval to something. The same approval may be assigned to many items, 
            but the recommendation is that each item have its own separate approval.
                      
         
         	
       
      
      
         The EXPRESS-G diagram in
         Figure 
1
         shows the templates and EXPRESS entities that are required
         to represent the template 
         "assigning_approval".
         The text highlighted in blue shows the template parameters.
         
      
         
Figure 1 —  EXPRESS-G representation of the Information model for assigning_approval
         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_approval template
               
      
         The following input parameters are defined for this template:
         
      
      status (Default=State_of_approval,Type='CLASS')
      
 
      
         
                              The name of the class used to classify the
                              status 
                              (
Approval_status)
                              of the approval. 
                          
         
 
       
      
         
            The following classes and their sub-classes can be used:
            
         
         
       
      
      
         
                              The identifier of the 
                              
External_class_library 
                              storing the definition of the class referenced by the parameter @status.
                          
         
 
       
      
      
         The items to which the approval is assigned
       
      
      
         The person or organization responsible for the approval
       
      
      
         The following reference parameters are defined for this template:
         
      
      
      
         
            Allow the 
            
Approval_assignment
            entity instantiated in this path to be referenced when this template is used. 
            
         
 
         
         %^target = $assigning_approval.approval_assgn%
         
       
      
      
      
         
            Allow the 
            
Approval
            entity instantiated in this path to be referenced when this template is used. 
            
         
 
         
            Note: The 
            
Approval
            entity can be referenced in a template path by:
            
         
 
         %^target = $assigning_approval.approval%
         
            where 
            
target 
            is the parameter to which the 
            
Approval
            is bound.
            
         
 
       
      
      
      
         
         
         %^target = $assigning_approval.app_pers_org%
         
       
      
      
      
         
            Allow the 
            
State_observed
            entity instantiated in this path to be referenced when this template is used. 
            
         
 
         
            Note: The 
            
State_observed
            entity can be referenced in a template path by:
            
         
 
         %^target = $assigning_approval.state_obs%
         
       
      
      
      
         
            Allow the 
            
State_assertion
            entity instantiated in this path to be referenced when this template is used. 
            
         
 
         
         %^target = $assigning_approval.state_assert%
         
       
      
      
      
         
            Allow the 
            
State_definition
            entity instantiated in this path to be referenced when this template is used. 
            
         
 
         
         %^target = $assigning_approval.state_def%
         
       
      
      
      
         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.
         
      
 
      -- Instantiate an Approval_assignment Approval_assignment-- Bind the Approval_assignment to the parameter ^approval_assgn. -- The parameter is a reference parameter so the Approval_assignment -- entity can be referred to when this template is used. %^approval_assgn = 
Approval_assignment%
-- Set the Approval_assignment attribute role Approval_assignment.role =  '/IGNORE' 
-- Assign the Approval_assignment to the -- instances passed into the template through the @items -- input parameter (e.g. a Part_version) Approval_assignment.items -> 
@items-- Instantiate Approval and assign Approval_assignment to it ApprovalApproval_assignment.assigned_approval -> 
Approval-- Bind the Approval to the parameter ^approval. -- The parameter is a reference parameter so the Approval -- entity can be referred to when this template is used. %^approval = 
Approval%
-- Set the Approval attributes Approval.purpose =  '/IGNORE' 
-- Instantiate Approval_status and assign Approval to it -- NB This mechanism is not used to represent an approval status Approval_statusApproval.status -> 
Approval_status-- Set the Approval_status attribute Approval_status.status_name =  '/IGNORE' 
-- Set the approval status using assigning_asserted_state /
assigning_asserted_state(
    assigned_to=^approval, 
    state_class_name=@status, 
    state_ecl_id=@status_ecl_id)/
-- Instantiate an Approving_person_organization and -- assign it to Approval Approving_person_organizationApproving_person_organization.authorized_approval -> 
         ^approval
-- Bind the Approving_person_organization to the parameter ^app_pers_org. -- This parameter is a reference parameter that allows the -- Approving_person_organization entity to be referred to when this template is used. %^app_pers_org = 
Approving_person_organization%
-- Assign the Approving_person_organization to the -- to the instances passed into the template through the @person_org -- input parameter (e.g. a Person_in_organization) Approving_person_organization.person_organization -> 
@person_org-- Bind the State_observed to the parameter ^state_obs. -- This parameter is a reference parameter that allows the -- State_observed entity to be referred to when this template is used. %^state_obs = $assigning_asserted_state.state_obs%
-- Bind the State_assertion to the parameter ^state_assert. -- This parameter is a reference parameter that allows the -- State_assertion entity to be referred to when this template is used. %^state_assert = $assigning_asserted_state.state_assert%
-- Bind the State_definition to the parameter ^state_def. -- This parameter is a reference parameter that allows the -- State_definition entity to be referred to when this template is used. %^state_def = $assigning_asserted_state.state_def%
 
      
         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:       
         
         
/assigning_approval(status='Approved', status_ecl_id='urn:plcs:rdl:std', items='#16', person_org='@41')/
         (an illustration of the consolidated assigning_approval template is shown in 
         
         
         Figure 
4 below.)
         
      
 
      
         
Figure 3 —  Entities instantiated by assigning_approval 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_approval(status='Approved', status_ecl_id='urn:plcs:rdl:std', items='#16', person_org='@41')/
      
         
Figure 4 —  Instantiation of assigning_approval template
      
         The following section details how the 
         assigning_approval
         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 purpose
         
            
               NOTE   this characterization is optional.
               
            
          
         
         Characterization Assigning dates
         
            
               NOTE   this characterization is optional.
               
            
          
         
         Characterization Approval relationships
         
            
               NOTE   this characterization is optional.