Import Excel Data as Product Data

You can import data stored in Excel sheets as product data. For this, you have to upload the Excel data in a specific format and map the data in the Excel sheet by means of an xml.

This page discusses:

Excel Format

The Excel file must be formatted as follows:

  • It has sheets for each admin type or relationship.
  • Each sheet has business object specific information, such as attribute values, relationship information etc.
  • The xml has the sheet name mapped in it.
  • The sheet has name, revision of objects, owner, and state of object defined in it.
  • If a policy has branching, the states are separated by a |(pipe). Eg: The Market Authorization policy has a branched policy, so to set the state of the Market Authorization to Released, you can update the Status column to: In Work|Approved|Released in the Excel sheet.
  • You can use @@@ as the separator to import the multi-values attributes.

    For example, FDA Listing Number - A456745@@@A426747@@@A466746, Sterilization Method - Radiation@@@Dry Heat

An example of the Excel sheet is given below.



XML Used for Mapping

An xml is used to map the information present in the Excel sheets to product data. The xml defines the sheets that are to be imported, the business objects that are to be created, and how they are connected. The xml named, DIMP_APP_MAPPING contains the name of page objects. The xml is validated against xsd. The page object,DEID_DataImport_Config contains the xml.

The xml mapping file contains a root node: importProcess that contains two sub nodes: config and enoviaSchemaConfig , each containing multiple child nodes.

The config node has the following child nodes:

  1. inputFileFormats: It defines row and column delimiter of the Excel files.
  2. notification : It defines the email-ids of the administrators (to whom a notification mail is to be sent), the subject, and the message of the email. It has following sub nodes:
    • To : emails ids to whom mail is to be sent.
    • Cc : emails ids to whom mail is to be cc.
    • Message : the text to be kept in mail body. It has three sub nodes, success , failure, and partial. Partial is when some data is not imported successfully, and for this, the subject is given as success.
  3. logger : It is to enable/disable logging during the import data process.

    It has the following attributes:

    • Enabled : To enable/disable the tracing, the value is either true or false respectively.
    • Level : To define the types of logging, the values can include: Level = ERROR,WARN,INFO,DEBUG,TRACE,ALL,OFF
    • PropertyFile : To read the keys while logging.

    The log file is saved in the workspace folder in the server/workspace directory.

  4. checkInFileDelimiter : It defines the delimiter for the files to be checked in, by default it is a comma (,).

The enoviaSchemaConfig has the following child nodes:

  1. triggers : It enable specific type of triggers at the time of importing data into ENOVIA.
  2. excelConfig : It maps each sheet against a type/relationship. It has a child node, sheetname.

    The sheetname contains the name of the sheet in the Excel file corresponding to its attribute value.

    dbname is the symbolic name of the type/relationship.

  3. mappingcolumns : It maps admin type or relationship, and has two child nodes, type and rel respectively.

    The type node is for mapping the types to the policy and relationship for connection. It has the following attributes:

    • name - symbolic name of the type.
    • policyName -policy used for this type.
    • relName - name of relationship which has to be connected to the object.
    • DocType - for a type, it can be true or false. If it is true, the created object is treated as a document, and files are checked into it. An object of type document is created and connected to the created object, and is associated with the created object by two relationships- active version and latest version.

    The type node contains the child node, attribute that maps the attributes symbolic name to the column name (value of this node) in the Excel sheet. It has the following attributes:

    • dbname - It is either the symbolic name of the attribute or for a basic. It must be defined starting with basic: If an attribute is basic, basic should be appended, for eg: basic:owner .
    • unique = true -The value of the attribute is unique in the database for that type.

    The rel node maps the relationship to objects. When type node is parsed and its relName attribute is read, it looks for a corresponding rel node. It has the following attributes:

    • name - symbolic name of the relationship.
    • fromtype - specifies the from side type.
    • totype -specifies the to side type.
    • custom - reference to custom node that contains the JPO's name that must be executed when this relationship connects.
    • immediateAction - when relationship gets connected, if immediateAction is true, then the program/JPO specified is executed within the current transaction and its failure aborts the connection of the relationship.

    The rel has two nodes:

    • attribute - maps the symbolic name of the attribute to the column name (value of this node) in the Excel sheet.

    • lookup - used to specify the objects to connect. It has the following attributes:

    dbname - It maps the symbolic name of the attribute to the column name(value of the lookup node) in the Excel sheet. The object with the specified attribute value in Excel sheet gets connected to the current object created. For basics, the value of dbname must start with basic: , for eg: basic:name for name of the object. For forming a where clause with &&, two comma separated values can be defined. If any value in the where clause is attribute of the current object, the symbolic attribute name must be used instead of the column name.

    Examples:

    <lookup dbname=attribute_DINumber,attribute_PackageType direction= from><![CDATA[DI Number,From Package Type]]> <lookup>

    Here, in one dbname, there is two comma separated attributes or basic. This lookup means to search an object with the DI Number AND Package Type.

    <lookup dbname=attribute_MarketingName direction="from><![CDATA[Product]]><lookup>

    <lookup dbname=attribute_CountryCode3Letter"direction= to"><![CDATA[Country]]><lookup>

    This look up means to get the Product with Marketing Name OR Country.

    direction - It specifies from which attribute of the rel node the type is to be taken.

  4. transaction : Each entry of it specifies the sequence in which the type, relationship, and custom programs is installed/executed. Child nodes are type , custom and rel respectively. The custom programs are for performing some additional things in between import process.

The mapping xml installed is as follows:

<?xml version="1.0" encoding="UTF-8"?>
 
<importProcess xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3schools.com" xsi:schemaLocation="http://www.w3schools.com Mapping_Config.xsd" importName="ImportDIData" continueOnError="true">
        <!-- xsi:noNamespaceSchemaLocation="config.xsd" -->
        <config>
               <!--
                 To define the input file formats
               -->
               <inputFileFormats charset="UTF-8">
                       <!-- file names starts with defined text will be considered for process the data 
                                      name = blank then read all files in the directory
                                      name = <<value>> then system will consider this field and read the files as mentioned -->
                       <!-- xlsx input file format is supported -->
                       <!-- These delimiters will be considered, if the input file format is CSV -->
                       <rowdelimiter>|</rowdelimiter>
                       <columndelimiter>~</columndelimiter>
               </inputFileFormats>
                       
               <notification charset="UTF-8" mimeSubType="html" smtp="">
                       <to><![CDATA[xyz@abts.com]]></to>
                       <cc><![CDATA[xyz@abt.com]]></cc>
                       <subject>
                               <!-- text has to be read from property file -->
                               <success><![CDATA[successfully uploaded]]></success>
                               <failure><![CDATA[Error in uploading the data]]></failure>
                       </subject>
                       <message>
                               <success>
																															</success>
                               <failure>
																															</failure>
                               <partial>
																															</partial>
                       </message>
               </notification>
               
                <!--
                       To enable the logging
                       level = ERROR,WARN,INFO,DEBUG,TRACE,ALL,OFF
               -->
               <logger level="ERROR" propertyFile="emxDIMPStringResource"/>
 
               <!-- the delimiter used in Excel file for separating files to checkin .-->
               <checkInFileDelimiter>,</checkInFileDelimiter>
               
        </config>
        
        <!-- configuration to process the data into ENOVIA Schema -->
        <enoviaSchemaConfig>
               <!-- to enable/disable the triggers at the time of importing data into ENOVIA-->
               <triggers enable="false"/>
 
               <excelConfig>
                       <sheetname dbname="type_ProductLine"><![CDATA[Product Line]]></sheetname>
                       <sheetname dbname="type_Model"><![CDATA[Model]]></sheetname>
                       <sheetname dbname="type_MedicalDeviceProduct"><![CDATA[Product]]></sheetname>
                       <sheetname dbname="type_DeviceIdentification"><![CDATA[DI Record]]></sheetname>
                       <sheetname dbname="type_DeviceIdentification"><![CDATA[DI Record1]]></sheetname>
                       <sheetname dbname="type_PackageProduct"><![CDATA[Packaging]]></sheetname>
                       <sheetname dbname="type_Contact"><![CDATA[Contact]]></sheetname>
                       <sheetname dbname="type_MarketAuthorization"><![CDATA[Premarket]]></sheetname>
                       <sheetname dbname="type_StorageCondition"><![CDATA[Storage Condition]]></sheetname>
                       <sheetname dbname="relationship_DeviceIdentification"><![CDATA[Secondary DI]]></sheetname>
                       <sheetname dbname="relationship_DeviceClinicallyRelevant"><![CDATA[Clinically Relevant]]></sheetname>
                       <sheetname dbname="relationship_Contact"><![CDATA[Rel Contact]]></sheetname>
                       <sheetname dbname="relationship_ProductCountry"><![CDATA[Product Country]]></sheetname>
                       <sheetname dbname="relationship_AuthorizedProduct"><![CDATA[Authorized Product]]></sheetname>
                       <sheetname dbname="type_Part"><![CDATA[Part]]></sheetname>
                       <sheetname dbname="relationship_EBOM"><![CDATA[EBOM]]></sheetname>
                       <sheetname dbname="relationship_AssignedPart"><![CDATA[Assigned Part]]></sheetname>
                       <sheetname dbname="relationship_PackagePart"><![CDATA[Package Part]]></sheetname>
                       <sheetname dbname="relationship_PackageProduct"><![CDATA[Package Product]]></sheetname>
               </excelConfig>
 
               <!--
                       Map the input data with the ENOVIA schema
                       To validate the uniqueness
               -->
               <mappingColumns>
                       <type name="type_Part" policyName="policy_ECPart" >
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="basic:name" unique="true"><![CDATA[Name]]></attribute>
                               <attribute dbname="basic:revision" ><![CDATA[Revision]]></attribute>
                               <attribute dbname="attribute_EndItem" ><![CDATA[End Item]]></attribute>
                       </type>
                       <type name="type_ProductLine" policyName="policy_ProductLine" relName="relationship_CompanyProductLines" >
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="attribute_MarketingName" unique="true"><![CDATA[Brand Name]]></attribute>
                       </type>
                       <type name="type_Model" policyName="policy_Model" relName="relationship_ProductLineModels" interface="interface_ILSA_AttributesOnTypeModel">
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="attribute_MarketingName"><![CDATA[Marketing Name]]></attribute>
                               <attribute dbname="attribute_ModelNumber"><![CDATA[Model Number]]></attribute>
                               <attribute dbname="attribute_CatalogNumber"><![CDATA[Catalog Number]]></attribute>
                       </type>
                       <type name="type_MedicalDeviceProduct" policyName="policy_Product" relName="relationship_MainProduct,relationship_ProductCountry,relationship_CompanyProduct">
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="attribute_MarketingName" unique="true"><![CDATA[Product]]></attribute>
                       </type>
                       <type name="type_DeviceIdentification" policyName="policy_DeviceIdentification" relName="relationship_DeviceCountry,relationship_DeviceIdentification">
                               <attribute dbname="file"><![CDATA[File]]></attribute>
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="basic:current"><![CDATA[Status]]></attribute>
                               <attribute dbname="attribute_DINumber"><![CDATA[Device Identification Number]]></attribute>
                               <attribute dbname="attribute_PremarketExemption"><![CDATA[Premarket Exemption]]></attribute>
                               <attribute dbname="attribute_IssuingAgency"><![CDATA[Issuing Agency]]></attribute>
                               <attribute dbname="attribute_DeviceCount"><![CDATA[Device Count]]></attribute>                          
                               <attribute dbname="attribute_UnitOfUseDINumber"><![CDATA[Unit Of Use DI Number]]></attribute>
                               <attribute dbname="attribute_DUNSNumber"><![CDATA[DUNS Number]]></attribute>
                               <attribute dbname="attribute_SubmittedDate"><![CDATA[Submitted Date]]></attribute>
                               <attribute dbname="attribute_CommercialDistributionEndDate"><![CDATA[Commercial Distribution End Date]]></attribute>
                               <attribute dbname="attribute_MRISafetyStatus"><![CDATA[MRI Safety Status]]></attribute>                         
                               <attribute dbname="attribute_LotNumberRequired"><![CDATA[Lot Number Required]]></attribute>
                               <attribute dbname="attribute_ManufacturingDateRequired"><![CDATA[Manufacturing Date Required]]></attribute>
                               <attribute dbname="attribute_SerialNumberRequired"><![CDATA[Serial Number Required]]></attribute>                              
                               <attribute dbname="attribute_ExpirationDateRequired"><![CDATA[Expiration Date Required]]></attribute>                              
                               <attribute dbname="attribute_DonationIdentificationNumber"><![CDATA[Donation Identification Number Required]]></attribute>
                               <attribute dbname="attribute_ContainsHumanTissue"><![CDATA[Contains Human Tissue]]></attribute>
                               <attribute dbname="attribute_MedicalProcedureKit"><![CDATA[Medical Procedure Kit]]></attribute>
                               <attribute dbname="attribute_CombinationProduct"><![CDATA[Combination Product]]></attribute>
                               <attribute dbname="attribute_ContainsLatex"><![CDATA[Contains Latex]]></attribute>
                               <attribute dbname="attribute_NoDryNaturalRubber"><![CDATA[No Dry Natural Rubber]]></attribute>                         
                               <attribute dbname="attribute_DirectMarking"><![CDATA[Direct Marking]]></attribute>
                               <attribute dbname="attribute_DMDIStatus"><![CDATA[DM DI Status]]></attribute>
                               <attribute dbname="attribute_DMDINumber"><![CDATA[DM DI Number]]></attribute>
                               <attribute dbname="attribute_DistributionStatus"><![CDATA[Distribution Status]]></attribute>
                               <attribute dbname="attribute_PackagedAsSterile"><![CDATA[Packaged As Sterile]]></attribute>                        
                               <attribute dbname="attribute_Comments"><![CDATA[Description]]></attribute>
                               <attribute dbname="attribute_SingleUseDevice"><![CDATA[Single Use Device]]></attribute>
                               <attribute dbname="attribute_OverTheCounter"><![CDATA[Over The Counter]]></attribute>
                               <attribute dbname="attribute_PrescriptionUse"><![CDATA[Prescription Use]]></attribute>
                               <attribute dbname="attribute_FDAListingNumber"><![CDATA[FDA Listing Number]]></attribute>
                               <attribute dbname="attribute_FDAProductCode"><![CDATA[FDA Product Code]]></attribute>
                               <attribute dbname="attribute_GMDNCode"><![CDATA[GMDN PT Code]]></attribute>
                               <attribute dbname="attribute_FDAPTCode"><![CDATA[FDA PT Code]]></attribute>
                               <attribute dbname="attribute_SterilizePriorToUse"><![CDATA[Sterilize Prior To Use]]></attribute>
                               <attribute dbname="attribute_MethodOfSterilization"><![CDATA[Sterilization Method]]></attribute>
                               <attribute dbname="attribute_FDAInformation"><![CDATA[FDA Information]]></attribute>
                               <attribute dbname="attribute_RegulatoryResponse"><![CDATA[Regulatory Response]]></attribute>
                               <attribute dbname="attribute_CoreId"><![CDATA[Core Id]]></attribute>
                               <attribute dbname="attribute_MessageId"><![CDATA[Message Id]]></attribute>
                       </type>
 
                       <type name="type_PackageProduct" policyName="policy_PackageProduct">
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="attribute_DistributionStatus"><![CDATA[Distribution Status]]></attribute>
                               <attribute dbname="attribute_QuantityofUnits"><![CDATA[Quantity]]></attribute>
                               <attribute dbname="attribute_DINumber"><![CDATA[PCK DI Number]]></attribute>
                               <attribute dbname="attribute_ContainsDIPackage"><![CDATA[Contains DI Number]]></attribute>
                               <attribute dbname="attribute_PackageType"><![CDATA[Package Type]]></attribute>
                               <attribute dbname="attribute_DIDiscontinuedDate"><![CDATA[Discontinue Date]]></attribute>
                       </type>
 
                       <type name="type_MarketAuthorization" policyName="policy_MarketAuthorization" relName="relationship_AuthorizedProduct,relationship_AuthorizedCountry">
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="basic:current"><![CDATA[Status]]></attribute>
                               <attribute dbname="attribute_RegistrationNumber"><![CDATA[Registration Number]]></attribute>
                               <attribute dbname="attribute_SupplementNumber"><![CDATA[Supplement Number]]></attribute>
                       </type>
 
                       <type name="type_Contact" policyName="policy_Contact">
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="attribute_FirstName"><![CDATA[First Name]]></attribute>
                               <attribute dbname="attribute_MiddleName"><![CDATA[Middle Name]]></attribute>
                               <attribute dbname="attribute_LastName"><![CDATA[Last Name]]></attribute>
                               <attribute dbname="attribute_Address"><![CDATA[Address Line 1]]></attribute>
                               <attribute dbname="attribute_AddressLine2"><![CDATA[Address Line 2]]></attribute>
                               <attribute dbname="attribute_City"><![CDATA[City]]></attribute>
                               <attribute dbname="attribute_Country"><![CDATA[Country]]></attribute>
                               <attribute dbname="attribute_ZIPCodeExtension"><![CDATA[ZipCode]]></attribute>
                               <attribute dbname="attribute_EmailAddress"><![CDATA[Email Address]]></attribute>
                               <attribute dbname="attribute_HomePhoneNumber"><![CDATA[Home Phone]]></attribute>
                               <attribute dbname="attribute_CellPhoneNumber"><![CDATA[Cell Phone]]></attribute>
                               <attribute dbname="attribute_WorkPhoneNumber"><![CDATA[Work Phone]]></attribute>
                               <attribute dbname="attribute_ContactType"><![CDATA[Contact Type]]></attribute>
                       </type>
 
                       <type name="type_StorageCondition" relName="relationship_StorageCondition" policyName="policy_StorageCondition" >
                               <attribute dbname="basic:owner"><![CDATA[Owner]]></attribute>
                               <attribute dbname="attribute_HighValue"><![CDATA[High Value]]></attribute>
                               <attribute dbname="attribute_LowValue"><![CDATA[Low Value]]></attribute>
                               <attribute dbname="attribute_StorageAndHandlingType"><![CDATA[UOM]]></attribute>
                               <attribute dbname="attribute_StorageConditions"><![CDATA[Storage Conditions]]></attribute>
                       </type>
 
                       <rel name="relationship_ProductLineModels" fromtype="type_ProductLine" totype="type_Model">
                               <lookup dbname="attribute_MarketingName" direction="from"><![CDATA[Brand Name]]></lookup>
                       </rel>
                       <rel name="relationship_MainProduct" fromtype="type_Model" totype="type_MedicalDeviceProduct">
                               <lookup dbname="attribute_MarketingName,attribute_ModelNumber" direction="from"><![CDATA[Model Name,Model Number]]></lookup>
                       </rel>
                       <rel name="relationship_ProductCountry" fromtype="type_MedicalDeviceProduct" totype="type_Country">
                               <lookup dbname="attribute_MarketingName" direction="from"><![CDATA[Product]]></lookup>
                               <lookup dbname="attribute_CountryCode3Letter" direction="to"><![CDATA[Country]]></lookup>
                       </rel>
                       <rel name="relationship_DeviceIdentification" fromtype="type_DeviceIdentification,type_MedicalDeviceProduct" totype="type_DeviceIdentification" immediateAction="false" custom="CustomSecondaryDI">
                               <lookup dbname="attribute_MarketingName,from[relationship_ProductCountry].to.attribute[attribute_CountryCode3Letter]" direction="from"><![CDATA[Product,Country]]></lookup>
                               <lookup dbname="attribute_DINumber,from[relationship_DeviceCountry].to.attribute[attribute_CountryCode3Letter]" direction="both"><![CDATA[Device Identification Number,Country]]></lookup>
                               <attribute dbname="attribute_IssuingAgency"><![CDATA[Secondary DI Issue Agency]]></attribute>
                               <attribute dbname="attribute_SecondaryDINumber" ><![CDATA[Secondary DI Number]]></attribute>
                       </rel>
                       <rel name="relationship_DeviceClinicallyRelevant" fromtype="type_DeviceIdentification" totype="type_DeviceIdentification">
                               <lookup dbname="attribute_DINumber,from[relationship_DeviceCountry].to.attribute[attribute_CountryCode3Letter]" direction="both"><![CDATA[DI Number,Country]]></lookup>
                               <attribute dbname="attribute_ClinicallyRelevantSizeType"><![CDATA[Clinically Relevant Size Type]]></attribute>
                               <attribute dbname="attribute_ClinicallyRelevantSizeTypeText" ><![CDATA[Clinically Relevant Size Type Text]]></attribute>
                               <attribute dbname="attribute_ClinicallyRelevantSizeValue"><![CDATA[Clinically Relevant Size Value]]></attribute>
                               <attribute dbname="attribute_UOM" ><![CDATA[UOM]]></attribute>
                       </rel>
                       <rel name="relationship_DeviceCountry" fromtype="type_DeviceIdentification" totype="type_Country">
                               <lookup dbname="attribute_CountryCode3Letter" direction="to"><![CDATA[Country]]></lookup>
                               <attribute dbname="attribute_DeviceClassification"><![CDATA[Device Classification]]></attribute>
                       </rel>
                       <rel name="relationship_Contact" fromtype="type_DeviceIdentification" totype="type_Contact">
                               <lookup dbname="attribute_DINumber,from[relationship_DeviceCountry].to.attribute[attribute_CountryCode3Letter]" direction="from"><![CDATA[DI Number,Country]]></lookup>
                              <lookup dbname="attribute_FirstName,attribute_LastName,attribute_EmailAddress" direction="to"><![CDATA[First Name,Last Name,Email Address]]></lookup>
                       </rel>
                       <rel name="relationship_AuthorizedProduct" fromtype="type_MarketAuthorization" totype="type_MedicalDeviceProduct">
                               <lookup dbname="attribute_MarketingName" direction="to"><![CDATA[Product]]></lookup>
                               <lookup dbname="attribute_RegistrationNumber,attribute_SupplementNumber" direction="from"><![CDATA[Registration Number,Supplement Number]]></lookup>
                       </rel>
                       <rel name="relationship_AuthorizedCountry" fromtype="type_MarketAuthorization" totype="type_Country">
                               <lookup dbname="attribute_CountryCode3Letter" direction="to"><![CDATA[Country]]></lookup>
                               <lookup dbname="attribute_RegistrationNumber,attribute_SupplementNumber" direction="from"><![CDATA[Registration Number,Supplement Number]]></lookup>
                       </rel>
                       <rel name="relationship_StorageCondition" fromtype="type_MedicalDeviceProduct,type_MarketAuthorization" totype="type_StorageCondition">
                               <lookup dbname="attribute_MarketingName" direction="from"><![CDATA[Product]]></lookup>
                               <lookup dbname="attribute_RegistrationNumber,attribute_SupplementNumber" direction="from"><![CDATA[Registration Number,Supplement Number]]></lookup>
                       </rel>
                       <rel name="relationship_CompanyProduct" fromtype="type_Company" totype="type_MedicalDeviceProduct">
                               <lookup dbname="basic:name" direction="from"><![CDATA[Company Name]]></lookup>
                       </rel>
                       <rel name="relationship_CompanyProductLines" fromtype="type_Company" totype="type_ProductLine">
                               <lookup dbname="basic:name" direction="from"><![CDATA[Company Name]]></lookup>
                       </rel>
                       <rel name="relationship_PackageProduct" fromtype="type_MedicalDeviceProduct,type_DeviceIdentification,type_PackageProduct" totype="type_PackageProduct">
                               <lookup dbname="attribute_MarketingName" direction="from"><![CDATA[Product]]></lookup>
                               <lookup dbname="attribute_DINumber,from[relationship_DeviceCountry].to.attribute[attribute_CountryCode3Letter]" direction="from"><![CDATA[DI Number,Country]]></lookup>
                               <lookup dbname="attribute_DINumber,attribute_PackageType" direction="from"><![CDATA[DI Number,From Package Type]]></lookup>
                               <lookup dbname="attribute_DINumber,attribute_PackageType" direction="to"><![CDATA[PCK DI Number,To Package Type]]></lookup>
                       </rel>
                       <rel name="relationship_EBOM" fromtype="type_Part" totype="type_Part">
                               <lookup dbname="basic:name" direction="from"><![CDATA[From Name]]></lookup>
                               <lookup dbname="basic:name" direction="to"><![CDATA[To Name]]></lookup>
                               <attribute dbname="attribute_Quantity"><![CDATA[Quantity]]></attribute>
                               <attribute dbname="attribute_FindNumber"><![CDATA[Find Number]]></attribute>
                       </rel>
                       <rel name="relationship_AssignedPart" fromtype="type_MedicalDeviceProduct" totype="type_Part">
                               <lookup dbname="attribute_MarketingName" direction="from"><![CDATA[Product]]></lookup>
                               <lookup dbname="basic:name" direction="to"><![CDATA[Part]]></lookup>
                       </rel>
                       <rel name="relationship_PackagePart" fromtype="type_PackageProduct" totype="type_Part">
                               <lookup dbname="attribute_DINumber,attribute_PackageType" direction="from"><![CDATA[PCK DI Number,PCK Type]]></lookup>
                               <lookup dbname="basic:name" direction="to"><![CDATA[Part]]></lookup>
                       </rel>
 
                       <custom name="CustomSecondaryDI" program="com.dassault_systemes.enovia.lsa.deid.services.ui.DataModelUpdate:rmSelfRelForDI">
                               <arguments dbname="attribute_DINumber"/>
                       </custom>                                     
               </mappingColumns>
 
               <!--
                       To configure the ENOVIA transaction at the time of uploading the data
               -->
               <transaction>
                       <type dbname="type_ProductLine" sequence="1"/>
                        <type dbname="type_Model" sequence="2"/>
                        <type dbname="type_MedicalDeviceProduct" sequence="3"/>
                        <type dbname="type_DeviceIdentification" sequence="6"/>
                        <type dbname="type_PackageProduct" sequence="8"/>
                       <type dbname="type_Contact" sequence="10"/>
                       <type dbname="type_MarketAuthorization" sequence="11"/>
                       <type dbname="type_StorageCondition" sequence="14"/>
                       <type dbname="type_Part" sequence="16"/>
                       <!-- Disconnect all Product that are not in initial revision to Model and associate them with Products-->
                        <custom program="com.dassault_systemes.enovia.lsa.deid.services.ui.DataModelUpdate:associateMultipleProductRevisions" sequence="5"/>
                        <rel dbname="relationship_DeviceIdentification" sequence="7"/>
                       <rel dbname="relationship_DeviceClinicallyRelevant" sequence="13"/>
                        <rel dbname="relationship_Contact" sequence="15"/>
                        <rel dbname="relationship_ProductCountry" sequence="4"/>
                       <rel dbname="relationship_AuthorizedProduct" sequence="12"/>
                       <rel dbname="relationship_EBOM" sequence="17"/>
                       <rel dbname="relationship_AssignedPart" sequence="18"/>
                       <rel dbname="relationship_PackagePart" sequence="19"/>
                       <rel dbname="relationship_PackageProduct" sequence="9"/>
               </transaction>
 
        </enoviaSchemaConfig>
</importProcess>

DIMP_APP_MAPPING

The application business rules are not considered when you create the data in the process of data import.

The DIMP_APP_MAPPING page object is updated with adding to below mentioned attributes to support the import of data.

  • operateOnlyOnNonEmpty - This attribute is applied to the “rel” element and it is optional. The boolean values are allowed in this attribute are either true or false. The default value is false.
    Value Name Decription
    true In the specified column of the lookup element if the cell value is empty, the connection of the respective object can not be processed else the connection can be processed.
    false The recod is proccessed without considring the cell value.
  • type - This attribute is applied to the “lookup” element and it is optional, which holds the symbolic name of the business type.

    The connection can be created for the given type with the respective object. The types provided in fromtype or totype attributes of the “rel” element can be used if this attribute is either empty or not present.