Product Lifecycle Management Blogs by SAP
Dive into product lifecycle management news, learn about digitalizing PLM for the digital supply chain, and stay informed with product updates from SAP.
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member211944
Active Participant

MII provides dynamic querying on data servers and this functionality is extended for Catalog Connectors(Data connector for Plant Information Catalog) also.

Thus you can query on PIC without having a catalog query object created in the workbench.

But there are some differences in parameters for the dynamic query for catalog connector. I will list out these parameters here in this blog.

You can see more information about the dynamic queries here: SAP Library - Content Development

First unique thing which catalog query supports is multiple  data servers which is not provided by any other query in MII. Thus in one shot you can query on multiple catalog data servers. So for other type of queries you would use the parameter in the URL as Server=<server name>. But for catalog query you can use this parameter for supplying multiple server names like this Server=<Server1,Server2>

Parameter for giving PIC objects is 'SelectedObjects'. you can use this for providing the names of PIC tags and groups with ',' as separator.

The catch here is that you have to provide names of a PIC object as <ServerName>.<Namespace of the object> (connector name with full namespace of the object)

Example: SelectedObjects=CatalogConnector1.Root.Booleantag1,CatalogConnector2.Root.Booleantag2

Example URL:

<protocol>://<servername>:<port>/XMII/Illuminator?Server=CatalogConnector1,CatalogConnector2&Mode=Current&

SelectedObjects=

CatalogConnector1.Root.Booleantag1,CatalogConnector2.Root.Booleantag2

I am using '.' as Namespace Delimiter here which is also the default delimiter. You could also give another single character as delimiter by using parameter 'NamespaceDelimeter'.

This parameter would be useful when your PIC object name contains the default delimeter i.e. '.', thus you can use to tell MII that you would be using another

delimiter instead of default delimiter.

Example: NamespaceDelimeter=*

Example URL:

<protocol>://<servername>:<port>/XMII/Illuminator?Server=CatalogConnector1,CatalogConnector2&Mode=Current&

SelectedObjects=

CatalogConnector1*Root*Booleantag1,CatalogConnector2*Root*Booleantag2

&NamespaceDelimeter=*

In catalog query you can fetch metadata and secondaries for the tags along with the value of the tags. For this the parameter is 'ETCQueryInfo'.

So you can use this parameter to send the metadata and secondaries names. This parameter expects an XML of this format:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<ETCServers>

     <ETCServer name = "---">

          <PCOServer name = "---" SelectedMetadata = "---" SelectedSecondary = "---"/>

          <!-- You can add any number of PCOServer here-->

     </ETCServer>

     <!-- You can add any number of ETCServer here-->

<ETCServers>

For the property names the parameter is 'ETCQueryPropertiesInfo' and this is also an xml parameter with format:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<ETCObjects>

<PropertiesSelectedForAll>

<Property name = "---" PropertySetName = "---" />

<!-- You can add any number of properties here-->

</PropertiesSelectedForAll>

<ETCObject name = "---">

<Property name = "---" PropertySetName = "---" />

<!-- You can add any number of properties here-->

</ETCObject>

<!-- You can add any number of ETCObjects here-->

</ETCObjects>

So using all these parameters you can query on Plant Information Catalog dynamically.