Enterprise Administration > Business Administrative Change Promotion > Running the Business Administrative Change Promotion Command-Line Utility > Import Changes Command > Mapping Business Administrative Change Attributes
  
Mapping Business Administrative Change Attributes
In most cases your source and target systems for exporting administrative changes should be identical. However, there may be an instance in which an attribute is not available on the target system or has a different identifier on the target system. For example, a user may have a different UFID on the target system than they do on the source system. To prevent conflicts when importing, a mapping file can be created and referenced from the import command. The following sections include sample mapping XSL files.
Mapping for Policy Access Control Rules
In this example, mapping is specified for the context in which the policy access control rule is created and the user to which a policy rule applies:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
<xsl:template match="@* | node()" priority="-9">
<xsl:copy><xsl:apply-templates select="@* | node()"/></xsl:copy>
</xsl:template>
<xsl:template match="AccessControlRule">
<newInfo>
<xsl:apply-templates select="objectContainerPath"/>
<xsl:apply-templates select="WTPrincipalReference"/>
</newInfo>
</xsl:template>
<xsl:template match="objectContainerPath">
<objectContainerPath>
<xsl:value-of select='replace(., "testOrg","Demo Organization")'/>
</objectContainerPath>
</xsl:template>
<xsl:template match="ufid">
<ufid>
<xsl:value-of select='replace(., "testuser","demo")'/>
</ufid>
</xsl:template>
</xsl:stylesheet>
Mapping for Participants
In this example, mapping is specified for the name and identifier of the participant to which a profile applies:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
<xsl:template match="@* | node()" priority="-9">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ExportedProfileInfo">
<newInfo>
<xsl:apply-templates select="profileMember"/>
</newInfo>
</xsl:template>
<xsl:template match="WTPrincipalReference/ufid">
<ufid>
<xsl:value-of select="replace(., "aa","demo")"/>
</ufid>
</xsl:template>
<xsl:template match="WTPrincipalReference/name">
<name>
<xsl:value-of select='replace(., "aa","demo")'/>
</name>
</xsl:template>
</xsl:stylesheet>
Mapping for Contexts
In this example, mapping is specified for the context in which a profile is created:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
<xsl:template match="@* | node()" priority="-9">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ExportedProfileInfo">
<newInfo>
<xsl:apply-templates select="objectContainerPath"/>
</newInfo>
</xsl:template>
<xsl:template match="objectContainerPath">
<objectContainerPath>
<xsl:value-of select='replace(., "testOrg","Demo Organization")'/>
</objectContainerPath>
</xsl:template>
</xsl:stylesheet>