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.