CAA Web Services Home

 

Customization

Overview of accessing ENOVIA customized objects through ENOVIA LCA V5 CAA Web services

Technical Article

Abstract

This article introduces the Customization use case, and explains how to access CAA ENOVIA customized objects through Web services.


This section describes how to access ENOVIA customized objects through web services. One can only access customized objects available to Web services. Objects available to Web services are identified in ENOVIA.xsd. It is not the scope of this document to describe how to customize ENOVIA LCA objects. Please refer to CAA RADE documentation for the same.

To view customized data in the results, the ENOVIA.xsd needs to be updated/modified with customized information after the ENOVIA LCA objects are customized using CAA RADE tooling.

Where to Find the ENOVIA.xsd

The ENOVIA.xsd identifies the ENOVIA entities and attributes supported by the ENOVIA LCA V5 CAA Web services. This file can be found in your <install path>/resources/xsd directory.

ENOVIA Objects Supported for Customization

ENOVIA LCA V5 CAA Web service supports customization of following objects:

How to Modify the ENOVIA.xsd for the Customized Objects

Let’s assume that the base ENOVIA object ENOVIA_VPMDocumentRevision has been customized and the new object name is Customer_VPMDocumentVersion which belongs to the customized DOMAIN called XYZ.

Assume that the following attributes have been added to ENOVIA_VPMDocumentRevision
CustomDocAttr1, Attribute Type = String
CustomDocAttr2, Attribute Type = Integer

For Web services to be able to retrieve these attributes, ENOVIA.xsd has to be modified as follows:

  1. Copy ENOVIA.xsd as ENOVIA.xsd.backup.
  2. Open ENOVIA.xsd and locate the complexType ENOVIA_VPMDocumentRevision definition <xs:complexType name="ENOVIA_VPMDocumentRevision" mixed="true">.
  3. Insert the CustomDocAttr1 and CustomDocAttr2 as elements inside the complex ENOVIA_VPMDocumentRevision definition.
     
    <xs:element name="ENOVIA_VPMDocumentRevision.CustomDocAttr1" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
    <xs:element name="
    ENOVIA_VPMDocumentRevision.CustomDocAttr2" form="unqualified" nillable="true" minOccurs="0" type="xs:int" />
  4. Save the schema as ENOVIA.xsd. Please don't rename it.

Updated XSD with customizations should look like this:

<xs:complexType name="ENOVIA_VPMDocumentRevision" mixed="true">

   <xs:sequence>

      <xs:element name="
ENOVIA_VPMDocumentRevision.CustomDocAttr1" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="
ENOVIA_VPMDocumentRevision.CustomDocAttr2" form="unqualified" nillable="true" minOccurs="0" type="xs:int" />
      <xs:element name="ENOVIA_VPMDocumentRevision.V_version" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.V_user" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.V_IsCheckedIn" form="unqualified" nillable="true" minOccurs="0" type="xs:boolean"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.V_CheckedOutUser" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.V_extension" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.V_status" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.V_IsExternal" form="unqualified" nillable="true" minOccurs="0" type="xs:boolean"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.C_created" form="unqualified" nillable="true" minOccurs="0" type="xs:dateTime"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.C_modified" form="unqualified" nillable="true" minOccurs="0" type="xs:dateTime"/>
      <xs:element name="ENOVIA_VPMDocumentRevision.V_description" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="ENOVIA_VPMTPDocumentMaster.V_ID" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="ENOVIA_VPMTPDocumentMaster.V_name" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="ENOVIA_VPMTPDocumentMaster.V_type" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="Domain" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
      <xs:element name="Relation" form="unqualified" nillable="true" minOccurs="0" type="xs:NMTOKEN"/>
      <xs:element name="CATJsyUUID" form="unqualified" nillable="true" minOccurs="0" type="xs:string"/>
   </xs:sequence>

   <xs:attribute name="id" type="xs:NMTOKEN" use="optional" form="unqualified"/>

</xs:complexType>
 

Example of How to Request Customized Objects and Attributes

The following query will return all Customer_VPMDocumentVersion belonging to the DOMIAN XYZ, that matches the criteria where the ENOVIA_VPMDocumentRevision.V_version starts with "ABC" and ENOVIA_VPMDocumentRevision.CustomDocAttr1 contains "DEF"..

Customized attributes to be retrieved are listed by ATTRIBUTE NAME in the SELECT clause.

<?xml version="1.0" encoding="UTF-8"?>
<FILTER CASESENSITIVE="FALSE" LASTVERSION="FALSE" RESULTSPERPAGE="-1" STARTRANGEVALUE="" ENDRANGEVALUE="" MINORMAX="">
   <SELECT>
      <OBJECT DOMAIN="CUSTOMER1" NAME="
ENOVIA_VPMDocumentRevision ">
         <ATTRIBUTE NAME="ENOVIA_VPMPartMaster.V_name" />
         <ATTRIBUTE NAME="ENOVIA_VPMPartMaster.V_ID" />
         <ATTRIBUTE NAME="ENOVIA_VPMPartVersion.V_user" />
         <ATTRIBUTE NAME="
ENOVIA_VPMDocumentRevision.CustomDocAttr1" />
      </OBJECT>
   </SELECT>
   <WHERE>
      <FILTER_CONDITION OPERATOR="AND">
         <ATTRIBUTE_FILTER>
            <EXPRESSION OP="LIKE" VALUE="ABC*">
               <ATTRIBUTE NAME="ENOVIA_VPMPartMaster.V_ID" />
            </EXPRESSION> <EXPRESSION OP="LIKE" VALUE="*DEF*">
               <ATTRIBUTE NAME="
ENOVIA_VPMDocumentRevision.CustomDocAttr1" />
            </EXPRESSION></ATTRIBUTE_FILTER>
      </FILTER_CONDITION>
   </WHERE>
</FILTER>
 

[Top]


In Short

ENOVIA LCA V5 CAA Web service supports customized objects from the base types as listed and defined in ENOVIA.xsd. Modification of ENOVIA.xsd is needed for accessing customized objects through ENOVIA LCA V5 CAA Web services.

[Top]


History

Version: 1 [May 2005] Document created
[Top]

Copyright © 2005, Dassault Systèmes. All rights reserved.