Публикация и загрузка в Servigistics InService > Использование публикации и загрузки > Конфигурация TAL > Конфигурирование управления реквизитами (IMAN)
  
Конфигурирование управления реквизитами (IMAN)
Файл конфигурации IMANConfig.xml используется, чтобы настраивать атрибуты реквизитов и другие атрибуты для типа и источника для источников пакета на основе типов данных SIM. Это позволяет заданию преобразования, агрегирования и загрузки (TAL) обрабатывать различные пакеты из разных создавших систем и назначать реквизиты отдельным объектам. Эти атрибуты используются для генерации идентификаторов IMAN. Эта конфигурация является обязательной. Этот файл находится в расположении INSERVICE_HOME\InS_SW\Config\Applications\DataProcess\Config\Common\Templates\IMANIntegration.
В Servigistics InService доступна утилита "Конфигуратор", которая помогает в процессе создания и обновления этого файла конфигурации. Конфигуратор предоставляет объект TAL, содержащий свойство IMAN для этих обновлений. Свойство IMAN позволяет переименовывать или изменять приоритеты загрузки источников. Для этого используется раздел свойства Источники.
Следующие источники доступны только для чтения:
Значок плюса можно использовать для добавления дополнительных источников для организации. При этом создается копия источника PTC и новый источник добавляется в файл IMANConfig.xml. Например:
Можно изменить приоритет загрузки источника, щелкнув значок рядом с источником и перетащив этот источник в нужное место по порядку:
Заметьте, что необходимо опубликовать любые изменения TAL, внесенные в конфигураторе, и перезапустить сервер JBoss, прежде чем эти изменения будут действовать. Дополнительные сведения об утилите "Конфигуратор" см. в разделе Использование утилиты "Конфигуратор развертывания" Servigistics InService руководства Руководство по развертыванию Servigistics InService.
Некоторую конфигурацию IMAN невозможно создать с помощью конфигуратора. В следующих разделах представлена подробная информация об этой конфигурации.
Конфигурирование наименования источника в IMAN
Артефакт пакета PublishInfo.xml содержит параметр Bundle-Source, позволяющий идентифицировать владельца пакета. Если это свойство не существует, TAL по умолчанию использует свойство orgName из Rootobjects источника пакета. Ниже приведен пример orgName:
В файле IMANConfig.xml необходимо определить Source name и указать сведения об атрибутах идентификации бизнеса для различных типов данных. Эти атрибуты могут быть общими для всех типов бизнес-объектов или могут быть разными для каждого объекта. Если не сконфигурирован источник, то процесс TAL может завершиться неуспешно.
Обычно поиск объекта выполняется с помощью конфигурации источника пакета. Если объект не найден (такой же объект уже загружен другим источником), можно сконфигурировать источники, в которых должен вестись поиск. Как правило, подобные случаи возникают всякий раз, когда для двух различных источников существует два различных набора идентифицирующих атрибутов.
Например, рассмотрим сценарий, в котором объект PARTS загружается из источника с наименованием SAP, для которого идентифицирующие атрибуты помечены как orgName и objNumber. Однако теперь мы получаем деталь из другого источника с наименованием PTC, чей идентифицирующий атрибут равен URI. В этом случае не удастся найти какую-либо деталь с помощью URI, так как этот источник недоступен в SAP. Система даже не пытается создать новую деталь. Решение состоит в выполнении каскадного поиска.
Ниже описан порядок конфигурирования каскадного поиска.
<Source name="com.cat.ncr">
<Type name="PARTS" CascadeSeq="SAP,PTC" >
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
</Source>
Если объект с заданным атрибутом Type name не найден в базе данных с помощью идентифицирующего атрибута, поиск выполняется с помощью идентифицирующего атрибута источника, указанного в каскадной последовательности. Необходимо убедиться, что источник, обозначенный как каскадная последовательность, использует только такие свойства, как идентифицирующие атрибуты (доступные как идентифицирующий или другой атрибут для текущего источника), в противном случае возникает ошибка.
Если в приведенном выше примере IdentifyingAttributes для SAP содержит objNumber и orgName, то это - допустимый пример использования. Если в нем содержится familyCode, возникает ошибка, так как для источника PTC такого атрибута не существует.
Конфигурирование приоритета в IMAN
Конфигуратор позволяет определить основной источник для содержимого. Если необходимо определить дополнительные источники, для этого требуется использовать файл IMANConfig.xml. В этом случае сделайте копию источника PTC, измените атрибут nameисточника и измените значение SourceID на -1 следующим образом:
<Source SourceID="-1" name="ABC" priority="3">
Для каждого источника пакетов указывается приоритет включения или отключения обновлений для любого объекта. Источник с самым высоким приоритетом авторизуется для внесения любых изменений в объект, источник которого имеет тот же самый или самый низкий приоритет, однако обратное не верно. Это конфигурируется с помощью файла конфигурации IMANConfig.xml при определении источника. Атрибуты приоритета могут иметь только целочисленные значения. Чем больше значение, тем выше приоритет. Источник, пытающийся обновить или удалить объект, владельцем которого он не является, должен иметь равный или более высокий приоритет, чем у текущего владельца, иначе операция игнорируется.
Например, деталь с наименованием PL1 принадлежит источнику ABC. При каждой попытке источника PTC обновить деталь обновления разрешаются, поскольку приоритет PTC выше, чем приоритет ABC. Однако если ABC попытается обновить объект, которым владеет PTC, это не будет разрешено, поскольку его приоритет меньше, чем приоритет PTC.
Ниже приведен пример файла конфигурации IMANConfig.xml:
<IMANConfig>
<Source SourceID="4" name="CSV" priority="4">
<Type name="PDFM">
<IdentifyingAttributes>
<Property name="objNumber" primary="true" reference="PDF Code|Document Code"/>
<Property name="orgName" primary="true" reference="$$ORGNAME$$"/>
<Property name="PTC_DD_LANGUAGE" reference="File Name_|Description_"/>
<Property name="SIM.authoringLanguage" reference="$$AUTHORED_DOC_LANGUAGE$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="IEXML">
<IdentifyingAttributes>
<Property name="objNumber" primary="true" reference="XML Code|Document Code"/>
<Property name="orgName" primary="true" reference="$$ORGNAME$$"/>
<Property name="PTC_DD_LANGUAGE" reference="File Name_|Description_"/>
<Property name="SIM.authoringLanguage" reference="$$AUTHORED_DOC_LANGUAGE$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="GRAPHIC">
<IdentifyingAttributes>
<Property name="objNumber" primary="true" reference="GRAPHIC Code|Document Code"/>
<Property name="orgName" primary="true" reference="$$ORGNAME$$"/>
<Property name="PTC_DD_LANGUAGE" reference="File Name_|Description_"/>
<Property name="SIM.authoringLanguage" reference="$$AUTHORED_DOC_LANGUAGE$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="PARTS">
<IdentifyingAttributes>
<Property name="objNumber" reference="Part Code"/>
<Property name="orgName" reference="orgname|$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="PI">
<IdentifyingAttributes>
<Property name="objNumber" reference="concat(Model,'_',SN)"/>
<Property name="orgName" reference="$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="BOM">
<IdentifyingAttributes>
<Property name="objNumber" reference="Object Number"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="GROUP">
<IdentifyingAttributes>
<Property name="objNumber" reference="$$Part Code"/>
<Property name="orgName" reference="$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="IS">
<IdentifyingAttributes>
<Property name="objNumber" reference="Parent Entity Code"/>
<Property name="orgName" reference="$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type>
<IdentifyingAttributes>
<Property name="objNumber" reference="Document Code|Assembly Code"/>
<Property name="orgName" reference="$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
</Source>
<Source SourceID="3" name="FLW" priority="3">
<Type name="PDFM">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="IEXML">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="SYMPTOMS">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type CascadeSeq="SAP" name="PARTS">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
<Property name="PTC_DD_LANGUAGE_TL"/>
</OtherAttributes>
</Type>
<Type name="IS">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
<Property name="PTC_DD_LANGUAGE_TL"/>
</OtherAttributes>
</Type>
<Type name="PS">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
<Property name="PTC_DD_LANGUAGE_TL"/>
</OtherAttributes>
</Type>
<Type name="BOM">
<IdentifyingAttributes>
<Property name="objNumber"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="uri"/>
</OtherAttributes>
</Type>
<Type name="GRAPHIC">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="orgName"/>
<Property name="CADName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="ILLUSTRATION">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="orgName"/>
<Property name="CADName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="EMBEDDEDIMG">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="CADName"/>
<Property name="orgName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="P2CRELATION">
<IdentifyingAttributes>
<Property name="objNumber"/>
</IdentifyingAttributes>
</Type>
<Type CascadeSeq="CSV" name="GROUP">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
<Type CascadeSeq="CSV" name="PARTSLIST">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
<Property name="PTC_DD_LANGUAGE_TL"/>
</OtherAttributes>
</Type>
<Type>
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
</Source>
<Source SourceID="2" name="KIT" priority="2">
<Type>
<IdentifyingAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="uri"/>
</OtherAttributes>
</Type>
</Source>
<Source SourceID="1" name="SAP" priority="1">
<Type>
<IdentifyingAttributes>
<Property name="objNumber" xpath="OBJNUMBER"/>
<Property name="orgName" xpath="ORGNAME"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="uri"/>
</OtherAttributes>
</Type>
</Source>
</IMANConfig>