RULE header_configuration_restricts_property_definition

(* SCHEMA technical_data_packaging; *)
  RULE header_configuration_restricts_property_definition FOR (
             property_definition);

    LOCAL
      found  : BOOLEAN;
      pd     : SET OF property_definition;
      apa    : BAG OF applied_approval_assignment;
      result : BOOLEAN := TRUE;
    END_LOCAL;
    pd := QUERY ( v <* property_definition | (v.name LIKE '* header') );
    REPEAT i := 1 TO SIZEOF(pd) BY 1;
      found := FALSE;
      apa := USEDIN(pd[i],
          'TECHNICAL_DATA_PACKAGING.APPLIED_APPROVAL_ASSIGNMENT.ITEMS');
      REPEAT j := 1 TO SIZEOF(apa) BY 1;
        IF EXISTS(apa[j]\approval_assignment.role) THEN
          IF (apa[j]\approval_assignment.role.name = 
              'release authentication') OR (apa[j]\approval_assignment.role
              .name = 'data usage rights') THEN
            found := TRUE;
          END_IF;
        END_IF;
      END_REPEAT;
      IF SIZEOF(USEDIN(pd[i],'TECHNICAL_DATA_PACKAGING.' + 
          'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) > 0 THEN
        found := TRUE;
      END_IF;
      IF NOT found THEN
        result := FALSE;
      END_IF;
    END_REPEAT;

  WHERE
    wr1: result;

  END_RULE; -- header_configuration_restricts_property_definition

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:18:35-04:00