Nexeed
    • Introduction
    • User Manual
      • General descriptions
        • Result lists
        • Scope Concept
      • Basic setup
        • Connection management
        • Scope Management
          • Configuration Scopes
          • Reporting Scopes
      • Traceability
        • Types of evaluations
        • Search Forms for creating an evaluation
        • Part Protocol
          • Quick Search
          • Extended Search
          • Part View
          • Process View
          • Component View
          • Part Information
          • Process Information
        • Forward Search
          • Quick Search
          • Extended Search
        • Backward Search
        • Tool Usage
        • Packaging Information
          • Quick Search
          • Extended Search
      • Archiving
        • Enable archiving
        • Monitoring
      • Quality Gate
        • Types of Quality Gate Checks
        • Working with Test Specifications
        • Testing of Test Specifications
          • Basic test client
          • Expert test client
          • JSON based test client
      • Terms and definitions
        • Archiving states
        • Connection states
        • Measurement state
        • Packaging data
        • Part blocks
        • Part data
        • Part states
        • Part types
        • Process data
        • Process states
        • SPC session data
        • Test Specifications
    • Developer documentation
      • API documentation
        • Data Browser HTTP API
        • Data Collector HTTP API
        • Quality Gate HTTP API
        • Archiving Bridge Adapter HTTP API
      • Quality Gate Checks
        • Structuring of Test Specifications
        • Input and output parameters
          • Check Block List
          • Check Complete (location based)
          • Check Complete (process based)
          • Check Component
          • Bypass Check Complete
          • Check Trace Mapping
          • Check Characteristics
      • Troubleshooting
Part Traceability
  • Industrial Application System
  • Core Services
    • Block Management
    • Deviation Processor
    • ID Builder
    • Multitenant Access Control
    • Notification Service
    • Ticket Management
    • Web Portal
  • Shopfloor Management
    • Andon Live
    • Global Production Overview
    • KPI Reporting
    • Operational Routines
    • Shift Book
    • Shopfloor Management Administration
  • Product & Quality
    • Product Setup Management
    • Part Traceability
    • Process Quality
    • Setup Specs
  • Execution
    • Line Control
    • Material Management
    • Order Management
    • Packaging Control
    • Rework Control
  • Intralogistics
    • AGV Control Center
    • Stock Management
    • Transport Management
  • Machine & Equipment
    • Condition Monitoring
    • Device Portal
    • Maintenance Management
    • Tool Management
  • Enterprise & Shopfloor Integration
    • Archiving Bridge
    • Data Publisher
    • Direct Data Link
    • Engineering UI
    • ERP Connectivity
    • Gateway
    • Information Router
    • Master Data Management
    • Orchestrator

Nexeed Learning Portal

  • Part Traceability
  • Developer documentation
  • Quality Gate Checks
  • Input and output parameters
  • Check Complete (process based)

Check Complete (process based)

The Check Complete / Check Complete 2 file is a configuration file for the process based Check Complete Quality Gate check. The schema and example provided illustrates how to structure the Check Complete XML file.

Process based schema

Click to unfold
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="ProcessNoTestConfig" targetNamespace="http://tempuri.org/ProcessNoTestConfig.xsd" xmlns:mstns="http://tempuri.org/ProcessNoTestConfig.xsd" xmlns="http://tempuri.org/ProcessNoTestConfig.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
  <xs:annotation>
    <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
      <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
        <Connections />
        <Tables />
        <Sources />
      </DataSource>
    </xs:appinfo>
  </xs:annotation>
  <xs:element name="ProcessNoTestConfig" msdata:IsDataSet="true" msdata:Locale="en-US" msprop:Generator_DataSetName="ProcessNoTestConfig" msprop:Generator_UserDSName="ProcessNoTestConfig">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="ProcessNo" msprop:Generator_UserTableName="ProcessNo" msprop:Generator_RowEvArgName="ProcessNoRowChangeEvent" msprop:Generator_TableVarName="tableProcessNo" msprop:Generator_TablePropName="ProcessNo" msprop:Generator_RowDeletingName="ProcessNoRowDeleting" msprop:Generator_RowChangingName="ProcessNoRowChanging" msprop:Generator_RowDeletedName="ProcessNoRowDeleted" msprop:Generator_RowEvHandlerName="ProcessNoRowChangeEventHandler" msprop:Generator_TableClassName="ProcessNoDataTable" msprop:Generator_RowChangedName="ProcessNoRowChanged" msprop:Generator_RowClassName="ProcessNoRow" maxOccurs="79228162514264337593543950335">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ProcessNoID" msprop:Generator_ColumnVarNameInTable="columnProcessNoID" msprop:Generator_ColumnPropNameInRow="ProcessNoID" msprop:Generator_ColumnPropNameInTable="ProcessNoIDColumn" msprop:Generator_UserColumnName="ProcessNoID" type="xs:unsignedLong" />
              <xs:element name="ProcessNo" msprop:Generator_ColumnVarNameInTable="columnProcessNo" msprop:Generator_ColumnPropNameInRow="ProcessNo" msprop:Generator_ColumnPropNameInTable="ProcessNoColumn" msprop:Generator_UserColumnName="ProcessNo" type="xs:string" />
              <xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="TestSuite" msprop:Generator_UserTableName="TestSuite" msprop:Generator_RowEvArgName="TestSuiteRowChangeEvent" msprop:Generator_TableVarName="tableTestSuite" msprop:Generator_TablePropName="TestSuite" msprop:Generator_RowDeletingName="TestSuiteRowDeleting" msprop:Generator_RowChangingName="TestSuiteRowChanging" msprop:Generator_RowDeletedName="TestSuiteRowDeleted" msprop:Generator_RowEvHandlerName="TestSuiteRowChangeEventHandler" msprop:Generator_TableClassName="TestSuiteDataTable" msprop:Generator_RowChangedName="TestSuiteRowChanged" msprop:Generator_RowClassName="TestSuiteRow">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="TestSuiteId" msprop:Generator_ColumnVarNameInTable="columnTestSuiteId" msprop:Generator_ColumnPropNameInRow="TestSuiteId" msprop:Generator_ColumnPropNameInTable="TestSuiteIdColumn" msprop:Generator_UserColumnName="TestSuiteId" type="xs:unsignedLong" />
              <xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Test" msprop:Generator_UserTableName="Test" msprop:Generator_RowEvArgName="TestRowChangeEvent" msprop:Generator_TableVarName="tableTest" msprop:Generator_TablePropName="Test" msprop:Generator_RowDeletingName="TestRowDeleting" msprop:Generator_RowChangingName="TestRowChanging" msprop:Generator_RowDeletedName="TestRowDeleted" msprop:Generator_RowEvHandlerName="TestRowChangeEventHandler" msprop:Generator_TableClassName="TestDataTable" msprop:Generator_RowChangedName="TestRowChanged" msprop:Generator_RowClassName="TestRow">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="TestID" msprop:Generator_ColumnVarNameInTable="columnTestID" msprop:Generator_ColumnPropNameInRow="TestID" msprop:Generator_ColumnPropNameInTable="TestIDColumn" msprop:Generator_UserColumnName="TestID" type="xs:unsignedLong" />
              <xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
              <xs:element name="componentClass" msprop:Generator_ColumnVarNameInTable="columncomponentClass" msprop:Generator_ColumnPropNameInRow="componentClass" msprop:Generator_ColumnPropNameInTable="componentClassColumn" msprop:Generator_UserColumnName="componentClass" type="xs:string" minOccurs="0" />
              <xs:element name="DataBase" msprop:Generator_ColumnVarNameInTable="columnDataBase" msprop:Generator_ColumnPropNameInRow="DataBase" msprop:Generator_ColumnPropNameInTable="DataBaseColumn" msprop:Generator_UserColumnName="DataBase" type="xs:unsignedLong" minOccurs="0" />
              <xs:element name="TestGroup" msprop:Generator_ColumnVarNameInTable="columnTestGroup" msprop:Generator_ColumnPropNameInRow="TestGroup" msprop:Generator_ColumnPropNameInTable="TestGroupColumn" msprop:Generator_UserColumnName="TestGroup" type="xs:unsignedLong" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="DataBase" msprop:Generator_UserTableName="DataBase" msprop:Generator_RowEvArgName="DataBaseRowChangeEvent" msprop:Generator_TableVarName="tableDataBase" msprop:Generator_TablePropName="DataBase" msprop:Generator_RowDeletingName="DataBaseRowDeleting" msprop:Generator_RowChangingName="DataBaseRowChanging" msprop:Generator_RowDeletedName="DataBaseRowDeleted" msprop:Generator_RowEvHandlerName="DataBaseRowChangeEventHandler" msprop:Generator_TableClassName="DataBaseDataTable" msprop:Generator_RowChangedName="DataBaseRowChanged" msprop:Generator_RowClassName="DataBaseRow">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="DataBaseId" msprop:Generator_ColumnVarNameInTable="columnDataBaseId" msprop:Generator_ColumnPropNameInRow="DataBaseId" msprop:Generator_ColumnPropNameInTable="DataBaseIdColumn" msprop:Generator_UserColumnName="DataBaseId" type="xs:unsignedLong" />
              <xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
              <xs:element name="ConnectionString" msprop:Generator_ColumnVarNameInTable="columnConnectionString" msprop:Generator_ColumnPropNameInRow="ConnectionString" msprop:Generator_ColumnPropNameInTable="ConnectionStringColumn" msprop:Generator_UserColumnName="ConnectionString" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="TestProcessNo" msprop:Generator_UserTableName="TestProcessNo" msprop:Generator_RowEvArgName="TestProcessNoRowChangeEvent" msprop:Generator_TableVarName="tableTestProcessNo" msprop:Generator_TablePropName="TestProcessNo" msprop:Generator_RowDeletingName="TestProcessNoRowDeleting" msprop:Generator_RowChangingName="TestProcessNoRowChanging" msprop:Generator_RowDeletedName="TestProcessNoRowDeleted" msprop:Generator_RowEvHandlerName="TestProcessNoRowChangeEventHandler" msprop:Generator_TableClassName="TestProcessNoDataTable" msprop:Generator_RowChangedName="TestProcessNoRowChanged" msprop:Generator_RowClassName="TestProcessNoRow">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Id" msprop:Generator_ColumnVarNameInTable="columnId" msprop:Generator_ColumnPropNameInRow="Id" msprop:Generator_ColumnPropNameInTable="IdColumn" msprop:Generator_UserColumnName="Id" type="xs:unsignedLong" />
              <xs:element name="TestID" msprop:Generator_ColumnVarNameInTable="columnTestID" msprop:Generator_ColumnPropNameInRow="TestID" msprop:Generator_ColumnPropNameInTable="TestIDColumn" msprop:Generator_UserColumnName="TestID" type="xs:unsignedLong" minOccurs="0" />
              <xs:element name="ProcessNoID" msprop:Generator_ColumnVarNameInTable="columnProcessNoID" msprop:Generator_ColumnPropNameInRow="ProcessNoID" msprop:Generator_ColumnPropNameInTable="ProcessNoIDColumn" msprop:Generator_UserColumnName="ProcessNoID" type="xs:unsignedLong" minOccurs="0" />
              <xs:element name="SourceID" msprop:Generator_ColumnVarNameInTable="columnSourceID" msprop:Generator_ColumnPropNameInRow="SourceID" msprop:Generator_ColumnPropNameInTable="SourceIDColumn" msprop:Generator_UserColumnName="SourceID" type="xs:unsignedLong" minOccurs="0" />
              <xs:element name="StatusID" msprop:Generator_ColumnVarNameInTable="columnStatusID" msprop:Generator_ColumnPropNameInRow="StatusID" msprop:Generator_ColumnPropNameInTable="StatusIDColumn" msprop:Generator_UserColumnName="StatusID" type="xs:int" minOccurs="0" />
              <xs:element name="TargetID" msprop:Generator_ColumnVarNameInTable="columnTargetID" msprop:Generator_ColumnPropNameInRow="TargetID" msprop:Generator_ColumnPropNameInTable="TargetIDColumn" msprop:Generator_UserColumnName="TargetID" type="xs:unsignedLong" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="TestGroup" msprop:Generator_UserTableName="TestGroup" msprop:Generator_RowEvArgName="TestGroupRowChangeEvent" msprop:Generator_TableVarName="tableTestGroup" msprop:Generator_TablePropName="TestGroup" msprop:Generator_RowDeletingName="TestGroupRowDeleting" msprop:Generator_RowChangingName="TestGroupRowChanging" msprop:Generator_RowDeletedName="TestGroupRowDeleted" msprop:Generator_RowEvHandlerName="TestGroupRowChangeEventHandler" msprop:Generator_TableClassName="TestGroupDataTable" msprop:Generator_RowChangedName="TestGroupRowChanged" msprop:Generator_RowClassName="TestGroupRow">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="TestGroupId" msprop:Generator_ColumnVarNameInTable="columnTestGroupId" msprop:Generator_ColumnPropNameInRow="TestGroupId" msprop:Generator_ColumnPropNameInTable="TestGroupIdColumn" msprop:Generator_UserColumnName="TestGroupId" type="xs:unsignedLong" />
              <xs:element name="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
              <xs:element name="TestSuite" msprop:Generator_ColumnVarNameInTable="columnTestSuite" msprop:Generator_ColumnPropNameInRow="TestSuite" msprop:Generator_ColumnPropNameInTable="TestSuiteColumn" msprop:Generator_UserColumnName="TestSuite" type="xs:unsignedLong" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="AdditionalInfo" msprop:Generator_UserTableName="AdditionalInfo" msprop:Generator_RowEvArgName="AdditionalInfoRowChangeEvent" msprop:Generator_TableVarName="tableAdditionalInfo" msprop:Generator_TablePropName="AdditionalInfo" msprop:Generator_RowDeletingName="AdditionalInfoRowDeleting" msprop:Generator_RowChangingName="AdditionalInfoRowChanging" msprop:Generator_RowDeletedName="AdditionalInfoRowDeleted" msprop:Generator_RowEvHandlerName="AdditionalInfoRowChangeEventHandler" msprop:Generator_TableClassName="AdditionalInfoDataTable" msprop:Generator_RowChangedName="AdditionalInfoRowChanged" msprop:Generator_RowClassName="AdditionalInfoRow">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Id" msprop:Generator_ColumnVarNameInTable="columnId" msprop:Generator_ColumnPropNameInRow="Id" msprop:Generator_ColumnPropNameInTable="IdColumn" msprop:Generator_UserColumnName="Id" type="xs:unsignedLong" />
              <xs:element name="TestProcessNoID" msprop:Generator_ColumnVarNameInTable="columnTestProcessNoID" msprop:Generator_ColumnPropNameInRow="TestProcessNoID" msprop:Generator_ColumnPropNameInTable="TestProcessNoIDColumn" msprop:Generator_UserColumnName="TestProcessNoID" type="xs:unsignedLong" minOccurs="0" />
              <xs:element name="ParamName" msprop:Generator_ColumnVarNameInTable="columnParamName" msprop:Generator_ColumnPropNameInRow="ParamName" msprop:Generator_ColumnPropNameInTable="ParamNameColumn" msprop:Generator_UserColumnName="ParamName" type="xs:string" minOccurs="0" />
              <xs:element name="ParamIntValue" msprop:Generator_ColumnVarNameInTable="columnParamIntValue" msprop:Generator_ColumnPropNameInRow="ParamIntValue" msprop:Generator_ColumnPropNameInTable="ParamIntValueColumn" msprop:Generator_UserColumnName="ParamIntValue" type="xs:int" minOccurs="0" />
              <xs:element name="ParamRealValue" msprop:Generator_ColumnVarNameInTable="columnParamRealValue" msprop:Generator_ColumnPropNameInRow="ParamRealValue" msprop:Generator_ColumnPropNameInTable="ParamRealValueColumn" msprop:Generator_UserColumnName="ParamRealValue" type="xs:double" minOccurs="0" />
              <xs:element name="ParamStringValue" msprop:Generator_ColumnVarNameInTable="columnParamStringValue" msprop:Generator_ColumnPropNameInRow="ParamStringValue" msprop:Generator_ColumnPropNameInTable="ParamStringValueColumn" msprop:Generator_UserColumnName="ParamStringValue" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="RepositoryInfo" msprop:Generator_TableClassName="RepositoryInfoDataTable" msprop:Generator_TableVarName="tableRepositoryInfo" msprop:Generator_TablePropName="RepositoryInfo" msprop:Generator_RowDeletingName="RepositoryInfoRowDeleting" msprop:Generator_RowChangingName="RepositoryInfoRowChanging" msprop:Generator_RowEvHandlerName="RepositoryInfoRowChangeEventHandler" msprop:Generator_RowDeletedName="RepositoryInfoRowDeleted" msprop:Generator_UserTableName="RepositoryInfo" msprop:Generator_RowChangedName="RepositoryInfoRowChanged" msprop:Generator_RowEvArgName="RepositoryInfoRowChangeEvent" msprop:Generator_RowClassName="RepositoryInfoRow">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="revision" msprop:Generator_ColumnVarNameInTable="columnrevision" msprop:Generator_ColumnPropNameInRow="revision" msprop:Generator_ColumnPropNameInTable="revisionColumn" msprop:Generator_UserColumnName="revision" type="xs:string" minOccurs="0" />
              <xs:element name="author" msprop:Generator_ColumnVarNameInTable="columnauthor" msprop:Generator_ColumnPropNameInRow="author" msprop:Generator_ColumnPropNameInTable="authorColumn" msprop:Generator_UserColumnName="author" type="xs:string" minOccurs="0" />
              <xs:element name="commitDate" msprop:Generator_ColumnVarNameInTable="columncommitDate" msprop:Generator_ColumnPropNameInRow="commitDate" msprop:Generator_ColumnPropNameInTable="commitDateColumn" msprop:Generator_UserColumnName="commitDate" type="xs:string" minOccurs="0" />
              <xs:element name="URL" msprop:Generator_ColumnVarNameInTable="columnURL" msprop:Generator_ColumnPropNameInRow="URL" msprop:Generator_ColumnPropNameInTable="URLColumn" msprop:Generator_UserColumnName="URL" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
    <xs:unique name="key4">
      <xs:selector xpath=".//mstns:ProcessNo" />
      <xs:field xpath="mstns:ProcessNoID" />
    </xs:unique>
    <xs:unique name="key2">
      <xs:selector xpath=".//mstns:TestSuite" />
      <xs:field xpath="mstns:TestSuiteId" />
    </xs:unique>
    <xs:unique name="key3">
      <xs:selector xpath=".//mstns:Test" />
      <xs:field xpath="mstns:TestID" />
    </xs:unique>
    <xs:unique name="key1">
      <xs:selector xpath=".//mstns:DataBase" />
      <xs:field xpath="mstns:DataBaseId" />
    </xs:unique>
    <xs:unique name="PK_TESTLOCATION" msdata:PrimaryKey="true">
      <xs:selector xpath=".//mstns:TestProcessNo" />
      <xs:field xpath="mstns:Id" />
    </xs:unique>
    <xs:unique name="PK_TESTGROUP" msdata:PrimaryKey="true">
      <xs:selector xpath=".//mstns:TestGroup" />
      <xs:field xpath="mstns:TestGroupId" />
    </xs:unique>
    <xs:unique name="PK_ADDITIONALINFO">
      <xs:selector xpath=".//mstns:AdditionalInfo" />
      <xs:field xpath="mstns:Id" />
    </xs:unique>
    <xs:keyref name="Rel_TestProcessNo_AdditionalInfo" refer="PK_TESTLOCATION" msprop:rel_Generator_UserChildTable="AdditionalInfo" msprop:rel_Generator_ChildPropName="GetAdditionalInfoRows" msprop:rel_Generator_UserRelationName="Rel_TestProcessNo_AdditionalInfo" msprop:rel_Generator_RelationVarName="relationRel_TestProcessNo_AdditionalInfo" msprop:rel_Generator_UserParentTable="TestProcessNo" msprop:rel_Generator_ParentPropName="TestProcessNoRow">
      <xs:selector xpath=".//mstns:AdditionalInfo" />
      <xs:field xpath="mstns:TestProcessNoID" />
    </xs:keyref>
    <xs:keyref name="Rel_TestSuite_TestGroup" refer="key2" msprop:rel_Generator_UserChildTable="TestGroup" msprop:rel_Generator_ChildPropName="GetTestGroupRows" msprop:rel_Generator_UserRelationName="Rel_TestSuite_TestGroup" msprop:rel_Generator_RelationVarName="relationRel_TestSuite_TestGroup" msprop:rel_Generator_UserParentTable="TestSuite" msprop:rel_Generator_ParentPropName="TestSuiteRow" msdata:AcceptRejectRule="Cascade">
      <xs:selector xpath=".//mstns:TestGroup" />
      <xs:field xpath="mstns:TestSuite" />
    </xs:keyref>
    <xs:keyref name="Rel_Test_TestLocations" refer="key3" msprop:rel_Generator_UserChildTable="TestProcessNo" msprop:rel_Generator_ChildPropName="GetTestProcessNoRows" msprop:rel_Generator_UserRelationName="Rel_Test_TestProcessNo" msprop:rel_Generator_RelationVarName="relationRel_Test_TestProcessNo" msprop:rel_Generator_UserParentTable="Test" msprop:rel_Generator_ParentPropName="TestRow" msdata:RelationName="Rel_Test_TestProcessNo">
      <xs:selector xpath=".//mstns:TestProcessNo" />
      <xs:field xpath="mstns:TestID" />
    </xs:keyref>
    <xs:keyref name="Rel_ProcesNo_TestProcessNo" refer="key4" msprop:rel_Generator_UserChildTable="TestProcessNo" msprop:rel_Generator_ChildPropName="GetTestProcessNoRows" msprop:rel_Generator_UserRelationName="Rel_ProcesNo_TestProcessNo" msprop:rel_Generator_RelationVarName="relationRel_ProcesNo_TestProcessNo" msprop:rel_Generator_UserParentTable="ProcessNo" msprop:rel_Generator_ParentPropName="ProcessNoRow" msdata:AcceptRejectRule="Cascade">
      <xs:selector xpath=".//mstns:TestProcessNo" />
      <xs:field xpath="mstns:ProcessNoID" />
    </xs:keyref>
    <xs:keyref name="Rel_TestGroup_Test" refer="PK_TESTGROUP" msprop:rel_Generator_UserChildTable="Test" msprop:rel_Generator_ChildPropName="GetTestRows" msprop:rel_Generator_UserRelationName="Rel_TestGroup_Test" msprop:rel_Generator_RelationVarName="relationRel_TestGroup_Test" msprop:rel_Generator_UserParentTable="TestGroup" msprop:rel_Generator_ParentPropName="TestGroupRow" msdata:AcceptRejectRule="Cascade">
      <xs:selector xpath=".//mstns:Test" />
      <xs:field xpath="mstns:TestGroup" />
    </xs:keyref>
    <xs:keyref name="Rel_DataBase_Test" refer="key1" msprop:rel_Generator_UserChildTable="Test" msprop:rel_Generator_ChildPropName="GetTestRows" msprop:rel_Generator_UserRelationName="Rel_DataBase_Test" msprop:rel_Generator_RelationVarName="relationRel_DataBase_Test" msprop:rel_Generator_UserParentTable="DataBase" msprop:rel_Generator_ParentPropName="DataBaseRow" msdata:AcceptRejectRule="Cascade">
      <xs:selector xpath=".//mstns:Test" />
      <xs:field xpath="mstns:DataBase" />
    </xs:keyref>
  </xs:element>
</xs:schema>

Process based example

Click to unfold
<?xml version="1.0" standalone="yes"?>
<ProcessNoTestConfig xmlns="http://tempuri.org/ProcessNoTestConfig.xsd">
  <ProcessNo>
    <ProcessNoID>0</ProcessNoID>
    <ProcessNo>455</ProcessNo>
    <Name>305_455 AOI Taumelkreis</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>1</ProcessNoID>
    <ProcessNo>911</ProcessNo>
    <Name>310_911 Plasma</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>2</ProcessNoID>
    <ProcessNo>834</ProcessNo>
    <Name>315_834 DS Spring</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>3</ProcessNoID>
    <ProcessNo>1164</ProcessNo>
    <Name>320_1164 Asym Spring</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>4</ProcessNoID>
    <ProcessNo>277</ProcessNo>
    <Name>325_277 Sym Spring</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>5</ProcessNoID>
    <ProcessNo>835</ProcessNo>
    <Name>330_835 X Spring</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>6</ProcessNoID>
    <ProcessNo>469</ProcessNo>
    <Name>335_469 AOI Vision Spring</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>7</ProcessNoID>
    <ProcessNo>276</ProcessNo>
    <Name>340_276 PCB Placement</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>8</ProcessNoID>
    <ProcessNo>279</ProcessNo>
    <Name>345_279 PCB PressIn</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>9</ProcessNoID>
    <ProcessNo>457</ProcessNo>
    <Name>355_457_AOI_DSK</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>10</ProcessNoID>
    <ProcessNo>914</ProcessNo>
    <Name>360_914 PressIn Lid</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>11</ProcessNoID>
    <ProcessNo>295</ProcessNo>
    <Name>365_295 Cover Placement</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>12</ProcessNoID>
    <ProcessNo>266</ProcessNo>
    <Name>370_266 LDS</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>14</ProcessNoID>
    <ProcessNo>912</ProcessNo>
    <Name>300_912 In-Station</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>15</ProcessNoID>
    <ProcessNo>1455</ProcessNo>
    <Name>305_1455 AOI Taumelkreis Vision</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>16</ProcessNoID>
    <ProcessNo>1163</ProcessNo>
    <Name>315_1163 DS Spring Vision</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>17</ProcessNoID>
    <ProcessNo>78</ProcessNo>
    <Name>340_78 PCB Entnahme</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>18</ProcessNoID>
    <ProcessNo>1457</ProcessNo>
    <Name>355_1457_AOI_DSK Vision</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>19</ProcessNoID>
    <ProcessNo>992</ProcessNo>
    <Name>300_992 In-Station</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>20</ProcessNoID>
    <ProcessNo>1914</ProcessNo>
    <Name>365_1914_Q-Gate Ende LT4</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>21</ProcessNoID>
    <ProcessNo>1912</ProcessNo>
    <Name>280_1912_Q-Gate Ende LT2</Name>
  </ProcessNo>
  <ProcessNo>
    <ProcessNoID>22</ProcessNoID>
    <ProcessNo>485</ProcessNo>
    <Name>340_485_ElkoTesting</Name>
  </ProcessNo>
  <TestSuite>
    <TestSuiteId>0</TestSuiteId>
    <Name>TestSuite</Name>
  </TestSuite>
  <Test>
    <TestID>1</TestID>
    <Name>Test_LT1_bis_LT3</Name>
    <componentClass />
    <DataBase>0</DataBase>
    <TestGroup>0</TestGroup>
  </Test>
  <Test>
    <TestID>2</TestID>
    <Name>LID</Name>
    <componentClass>LID</componentClass>
    <DataBase>0</DataBase>
    <TestGroup>1</TestGroup>
  </Test>
  <Test>
    <TestID>4</TestID>
    <Name>PCB</Name>
    <componentClass>PCB</componentClass>
    <DataBase>0</DataBase>
    <TestGroup>2</TestGroup>
  </Test>
  <DataBase>
    <DataBaseId>0</DataBaseId>
    <Name>OLTP</Name>
    <ConnectionString>data Source=OLTP;user id=some_user;password=some_password</ConnectionString>
  </DataBase>
  <TestProcessNo>
    <Id>19</Id>
    <TestID>1</TestID>
    <ProcessNoID>0</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>20</Id>
    <TestID>1</TestID>
    <ProcessNoID>2</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>21</Id>
    <TestID>1</TestID>
    <ProcessNoID>3</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>22</Id>
    <TestID>1</TestID>
    <ProcessNoID>7</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>23</Id>
    <TestID>1</TestID>
    <ProcessNoID>9</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>25</Id>
    <TestID>1</TestID>
    <ProcessNoID>12</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>26</Id>
    <TestID>1</TestID>
    <ProcessNoID>8</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>28</Id>
    <TestID>1</TestID>
    <ProcessNoID>15</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>29</Id>
    <TestID>1</TestID>
    <ProcessNoID>18</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>30</Id>
    <TestID>1</TestID>
    <ProcessNoID>6</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>33</Id>
    <TestID>2</TestID>
    <ProcessNoID>20</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>34</Id>
    <TestID>1</TestID>
    <ProcessNoID>21</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestProcessNo>
    <Id>35</Id>
    <TestID>4</TestID>
    <ProcessNoID>22</ProcessNoID>
    <StatusID>1</StatusID>
  </TestProcessNo>
  <TestGroup>
    <TestGroupId>0</TestGroupId>
    <Name>TestGroup</Name>
    <TestSuite>0</TestSuite>
  </TestGroup>
  <TestGroup>
    <TestGroupId>1</TestGroupId>
    <Name>TestGroupComponentLID</Name>
    <TestSuite>0</TestSuite>
  </TestGroup>
  <TestGroup>
    <TestGroupId>2</TestGroupId>
    <Name>TestGroupComponentPCB</Name>
    <TestSuite>0</TestSuite>
  </TestGroup>
  <AdditionalInfo>
    <Id>30</Id>
    <TestProcessNoID>19</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>31</Id>
    <TestProcessNoID>19</TestProcessNoID>
    <ParamName>MaxCycle</ParamName>
    <ParamIntValue>8</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>32</Id>
    <TestProcessNoID>20</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>33</Id>
    <TestProcessNoID>20</TestProcessNoID>
    <ParamName>MaxCycle</ParamName>
    <ParamIntValue>3</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>34</Id>
    <TestProcessNoID>21</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>35</Id>
    <TestProcessNoID>21</TestProcessNoID>
    <ParamName>MaxCycle</ParamName>
    <ParamIntValue>3</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>36</Id>
    <TestProcessNoID>22</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>37</Id>
    <TestProcessNoID>22</TestProcessNoID>
    <ParamName>MaxCycle</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>38</Id>
    <TestProcessNoID>23</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>39</Id>
    <TestProcessNoID>23</TestProcessNoID>
    <ParamName>MaxCycle</ParamName>
    <ParamIntValue>3</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>42</Id>
    <TestProcessNoID>25</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>43</Id>
    <TestProcessNoID>25</TestProcessNoID>
    <ParamName>MaxCycle</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>44</Id>
    <TestProcessNoID>26</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>45</Id>
    <TestProcessNoID>26</TestProcessNoID>
    <ParamName>MaxCycle</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>47</Id>
    <TestProcessNoID>28</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>48</Id>
    <TestProcessNoID>29</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>49</Id>
    <TestProcessNoID>30</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>50</Id>
    <TestProcessNoID>30</TestProcessNoID>
    <ParamName>MaxCycle</ParamName>
    <ParamIntValue>3</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>53</Id>
    <TestProcessNoID>33</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>54</Id>
    <TestProcessNoID>34</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
  <AdditionalInfo>
    <Id>55</Id>
    <TestProcessNoID>35</TestProcessNoID>
    <ParamName>FinalState</ParamName>
    <ParamIntValue>1</ParamIntValue>
  </AdditionalInfo>
</ProcessNoTestConfig>

Description

This section provides details about the configuration files used for the Quality Gate Checks.

ProcessNo element

The ProcessNo element describes the specification of a process with the following sub-elements:

Parameter Data Type Description

ProcessNoID

int

Unique ID for the process. The content of this element must be unique within the configuration.

Process

int

Specifies the process number.

Name

string

Process name.

The ProcessNoID must be unique. If two or more processes share the same ProcessNoID, the configuration cannot be loaded. In such a case, the Quality Gate Check aborts the attempt to use the configuration file and displays an error message.

DataBase element

The DataBase element configures a data source. Within the Test Specification, multiple data sources can be assigned at the test level, which means that quality data from different sources can be utilized. The DataBase element must include all the parameters necessary to establish the database connection.

Parameter Data Type Description

DataBaseId

unsignedLong

Unique ID for the data source. The content of this element must be unique within the configuration.

Name

string

Descriptive name for the data source.

ConnectionString

string

The connection string used for establishing the connection.

TestGroup element

The TestGroup element defines a test group. Within the configuration, TestGroup serves as a grouping element for the various tests.

Parameter Data Type Description

TestGroupId

unsignedLong

Unique ID for the test group. The content of this element must be unique within the configuration.

Name

string

Descriptive name of the test group.

TestSuite

unsignedLong

Reference to a TestSuite element that contains the test suite for the test group.

Test element

The Test element defines a test. It is a central element within the configuration as it serves as a grouping element for individual rules. Moreover, through this element, the origin of the data and the selection of the component to be checked are determined.

A test without configured rules (see subsequent chapter) is not applicable and will therefore be ignored. Such tests are not included in the test evaluation!

Parameter Data Type Description

TestId

unsignedLong

Unique ID of the test. The content of this element must be unique within the configuration.

Name

string

Descriptive name of the test.

componentClass

string

Defines the component for which the test is to be performed. It is mandatory to define componentClass.

DataBase

unsignedLong

Reference to a <DataBase> element that configures the database to be used.

TestGroup

unsignedLong

Reference to a <TestGroup> element that contains the test group for the test.

In a database, result data for multiple components may exist. Therefore, it is imperative to specify the correct component class. If multiple components with the same classification are identified, the most recently installed component is used. If the test is to be performed for a main part, the component class must be set to an empty string ("").

TestProcessNo element

The TestProcessNo element assigns a process to a test. This is referred to as a rule.

Parameter Data Type Description

Id

unsignedLong

Unique ID for the rule. The ID must be unique within the configuration.

TestID

unsignedLong

ID of the test element to which the rule is assigned.

ProcessNoID

string

Name of the process to which the rule applies.

SourceID

unsignedLong

ID of the ProcessNo element that defines the preceding process.

TargetID

unsignedLong

ID of the ProcessNo element that defines the subsequent process.

StatusID

int

Expected processing status of the process to be verified.

If the preceding process should not be checked, the SourceID element must not have a value. This also applies if it cannot be ensured that the identical process always follows the current process. In that case, the TargetID element must be left empty.

AdditionalInfo element

The AdditionalInfo element allows additional conditions to be attached to a rule. These conditions are checked when the rule is applied. If any of the additional conditions fails, the rule is considered violated.The element has the following sub-elements:

Parameter Data Type Description

Id

unsignedLong

Unique ID for the additional condition. This value must be unique within the configuration.

TestProcessNoID

unsignedLong

Reference to the TestProcessNo element that contains the rule for the additional condition.

ParamName

string

Keyword that defines the additional condition.

ParamIntValue

int

Default value as an integer, depending on the keyword used.

ParamRealValue

double

Default value as a real number, depending on the keyword used.

ParamStringValue

string

Default value as a string, depending on the keyword used.

Following keywords can be used for the additional conditions:

Keyword Configuration Parameter Description

FinalState

ParamIntValue

Checks whether the final state of the part (the last station result) matches the status defined in the rule. Allowed values: (null) or 0: additional condition disabled; 1: additional condition enabled.

PartStateEqual

ParamIntValue

Specifies the state in which the part must be. This condition refers to the overall part state of the main part.

PartStateNotEqual

ParamIntValue

Specifies the state in which the part must not be. This condition refers to the overall part state of the main part.

ValidAfter

ParamStringValue

Defines the timestamp after which the part is considered valid.

MinCycle

ParamIntValue

Defines the minimum number of times a part must be processed at a station, regardless of its status.

MaxCycle

ParamIntValue

Defines the maximum number of times a part may be processed at a station, regardless of its status.

MinTimer

ParamIntValue

Specifies the minimum processing time at a station.

MaxTimer

ParamIntValue

Specifies the maximum processing time at a station.

MaxCycleDependsOnResultState

ParamIntValue

Defines the maximum number of cycles permitted at a station, depending on the part’s status.

MinCycleDependsOnResultState

ParamIntValue

Defines the minimum number of cycles required at a station, depending on the part’s status.

IllegalState

ParamIntValue (single value) or ParamStringValue (multiple values)

Specifies forbidden states within the process results. For a single value, e.g. 12 indicates scrapped. For multiple values, list them separated by commas (e.g., 2,12,30).

PackState

ParamIntValue

Boolean value provided as an integer. A value of 0 indicates that the part is packaged; any other value indicates that it is not packaged.

Without specifying additional conditions, no specific check is performed. In that case, the mere presence of the dataset, as defined in the rule, is accepted. Note that it is not possible to define multiple PartStateEqual or PartStateNotEqual conditions for a single rule.

The overall result within test groups is determined by a logical OR of the contained tests. If multiple tests within a test group fail, the error message cannot be clearly assigned. Therefore, it is recommended to define a separate test group for timing conditions (MinTimer and MaxTimer).

Contents

© Robert Bosch Manufacturing Solutions GmbH 2023-2025, all rights reserved

Changelog Corporate information Legal notice Data protection notice Third party licenses