IPML Query-Based Rules

With an IPML Query-based rule, the Synchronization Server synchronizes the files of business objects selected by an IPLM request. This feature requires the VPM Multi Discipline Collaboration Server product (formerly VPLM) to be deployed/installed on the host running the Synchronization Server.

The IPML request is expressed by a set of XML nodes inside the definition of a daily, weekly, monthly, and delay synchronization rule. The semantics of the XML node expressing the IPML query is detailed below.

Here is an example of an IPML Query-based rule:

<syncrule name="DailyQueryRule">
   <store>plmx</store> 
   <source>LocalFCS</source> 
   <dest>plmx</dest> 
   <daily> 
      <synctime>13:11</synctime> <!-- Synchronizes every day at 13:11--> 
   </daily> 
   <query lang="ipml" vault="vplm"> 
      <predicate type="PLMRepresentationDS"> 
         <and>
            <attribute name="V_user" value="VPLMODTFCSUser" operator="="/>
            <attribute name="PLM_ExternalID" value="*IMPORTX1" operator="LIKE" /> 
         </and> 
      </predicate> 
   </query> 
</syncrule>

The SyncServer translates the query part of this synchronization rule into an IPML request:

CMD=SEARCH FROM Class "VPLMtyp/PLMRepresentationDS " SELECT physicalid 
WHERE ( "owner"='VPLMODTFCSUser' AND "VPLMatt/PLMEntity/PLM_ExternalID" LIKE '*IMPORTX1') 
ORDER_BY physicalid PAGE_SIZE 1000;

Unfortunately, the IPLM query language syntax and semantics are not yet publicly available, but its semantics is close enough to that of MQL/SQL as to be easily understood.

This synchronization rule is triggered every day at 13:11. It synchronizes all files belonging to business objects of type PLMRepresentationDS having a V_user attribute set to VPLMODTFCSUser and having a PLM_ExternalID attribute matching the pattern "*IMPORTX1".

The type attribute in the predicate element is the name of a PLM class. The IPML request result is business objects of this type/class only.

The supported relational operators are:

  • = equal
  • != different
  • > greater than
  • >= greater than or equal
  • < less than
  • <= less than or equal
  • LIKE string pattern-matching operator

Attributes used in <attribute/> nodes are PLM attribute names.