<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>nileshg</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/nileshg/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/nileshg/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:50:32 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Windows Failover Clustering Support for FIM 2010 Synchronization Service</title>
      <link>https://docs.microsoft.com/archive/blogs/nileshg/windows-failover-clustering-support-for-fim-2010-synchronization-service</link>
      <pubDate>Sun, 28 Nov 2010 17:48:15 GMT</pubDate>
      <dc:creator><![CDATA[nileshg]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nileshg/2010/11/28/windows-failover-clustering-support-for-fim-2010-synchronization-service/</guid>
      <description><![CDATA[Forefront Identity Manager 2010 Synchronization Service is not cluster aware, just like it was not...]]></description>
      <content:encoded><![CDATA[<p>Forefront Identity Manager 2010 Synchronization Service is not cluster aware, just like it was not in ILM and MIIS. Hence the high-availability options are limited to deploying it in a cold or warm standby configuration. Another option to achieve high-availability is to deploy the FIM Synchronization Service on a virtualized server and restore a previous snapshot if such a need arises. All of these options need manual intervention and hence possibly a prolonged downtime. As customers start to rely more heavily on FIM and especially for self-service password reset and password synchronization capabilities, the issue of automated fail-over of this service becomes very important.</p>  <p>Alex Tcherniakhovski from Microsoft Services, Canada pioneered the way in clustering the MIIS Service using Windows 2003 Failover Clustering. The detailed description of his work can be found on his MSDN <a href="https://blogs.msdn.com/alextch/archive/2005/12/17/clusteredmiis.aspx">blog</a>. </p>  <p>However, due to the changes to the security model of the Windows 2008 Failover Clustering, the solution provided by alextc does not work anymore. This is due to the fact that on Windows 2008, the cluster service runs under local system in a special context with limited privileges (security hardening) which among many other operations of interest for this discussion, does not have permission to run miisactive.exe.</p>  <p>An excellent description of how to go about developing a cluster resource DLL for Windows 2008 failover clustering can be found on blog post series titled <em>Creating a Cluster Resource DLL Part 1 – 5</em> on MSDN at <a title="https://blogs.msdn.com/b/clustering/" href="https://blogs.msdn.com/b/clustering/">https://blogs.msdn.com/b/clustering/</a>. I’ve become rusty with my C/C++ skills, but I did try hard to write a custom resource DLL using Windows Cluster API’s. However, I soon realized that due to the security hardening of the cluster service, it was not possible to impersonate another user (e.g. FIM Sync Admin) correctly to launch miisactive.exe, even though I was able to do the impersonation required for making FIM WMI calls. I checked with Win32 programming folks on internal forums and even though they said it should be possible, my attempts never succeeded and since I was running behind the delivery schedule, I had to abandon the attempt midway and work on an alternate approach which would be quick to develop and easy to maintain.</p>  <p>So I ended up in creating a windows service in C#, FIMSyncMonitorService, which monitors the FIMSynchronizationService and start and stops itself in sync with the status and health of FIMSynchronizationService. It is this FIMSyncMonitorService that is then made highly available as a Generic Service in Windows Failover Cluster.</p>  <p>At a high-level, the FIMSyncMonitorService instantiate two <a href="https://msdn.microsoft.com/en-us/library/system.timers.timer(v=VS.90).aspx">Timers</a> in it’s OnStart() method for monitoring the status and health of the FIM Synchronization Service:</p>  <ul>   <li><b>LooksAliveTimer</b>: This timer fires frequently (say every 1 min) and does a status check on FIM Synchronization Service by querying the Service Controller. If it finds the service to be stopped, it issues a stop command for the FIMSyncMonitorService, which then cause Windows Cluster to failover to next preferred node. </li>    <li><b>IsAliveTimer</b>: This timer fires less frequently (say every 5 min), but will do a detailed health check on the FIM Synchronization Service by querying the metaverse using WMI API’s. If the call fails, it will issue a stop command for the FIMSyncMonitorService again causing the failover to next preferred node. </li> </ul>  <p>It may be noted that the time-to-failover is essentially dependent on how long it takes to run miisactive.exe and cannot be instantaneous after the detection of failure. For the entire duration of the activation, service would be unavailable. The end-user impact of this downtime is that FIM Self-service Password Reset (FIM SSPR) functionality would be unavailable for those couple of minutes.</p>]]></content:encoded>
    </item>
    <item>
      <title>How-To: Create MSDN / TechNet Blog using Windows Live Writer</title>
      <link>https://docs.microsoft.com/archive/blogs/nileshg/how-to-create-msdn-technet-blog-using-windows-live-writer</link>
      <pubDate>Thu, 18 Nov 2010 00:35:25 GMT</pubDate>
      <dc:creator><![CDATA[nileshg]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nileshg/2010/11/18/how-to-create-msdn-technet-blog-using-windows-live-writer/</guid>
      <description><![CDATA[Another How-to. A real quick one.&#160; I was struggling to post my MSDN blogs using the Windows...]]></description>
      <content:encoded><![CDATA[<p>Another How-to. A real quick one.&#160; I was struggling to post my MSDN blogs using the Windows Live Writer for quite some time. After internal forum post and BING research I came across following Microsoft social forum thread:</p>  <blockquote>   <p><a title="https://social.microsoft.com/Forums/en/writergeneral/thread/8a8b5771-4956-4ed2-bdc4-d99ba748eb51" href="https://social.microsoft.com/Forums/en/writergeneral/thread/8a8b5771-4956-4ed2-bdc4-d99ba748eb51">Windows Live Writer Fails When Connecting to blogs.msdn.com</a></p> </blockquote>  <p>The last post by Francisco was right on. Thanks Francisco!</p>  <p>Following his instructions, I&#160; signed in using my WLID, took note of my MSDN account name in right upper corner of the page, from the settings menu reset my MSDN account password as I did not knew what it was and I was good to go!</p>  <p>BTW, my last post on ERP MA was in fact using WLW 2011.</p>]]></content:encoded>
    </item>
    <item>
      <title>How-To: Configuring ERP MA / SAP MA for FIM 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/nileshg/how-to-configuring-erp-ma-sap-ma-for-fim-2010</link>
      <pubDate>Wed, 17 Nov 2010 05:27:42 GMT</pubDate>
      <dc:creator><![CDATA[nileshg]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nileshg/2010/11/17/how-to-configuring-erp-ma-sap-ma-for-fim-2010/</guid>
      <description><![CDATA[My experience is that the configuration steps listed in the ERP MA Help file are incomplete to say...]]></description>
      <content:encoded><![CDATA[<p>My experience is that the configuration steps listed in the ERP MA Help file are incomplete to say the least. This post is an attempt to give step-by-step or rather screen-by-screen instructions on how to configure and use SAP MA with FIM 2010.</p>  <p>The SAP MA that is shipped with FIM 2010 makes use of SAP .NET Connector 2.0. Please note that this is a 32-bit component while FIM 2010 needs a Windows 2008 64-bit server. The .NET connector also has Visual Studio 2003 as one of its installation prerequisite. So installing the complete package on FIM 2010 Synchronization Server is cumbersome to say the least. And since I’ve not tried installing the complete package, I cannot tell if it gets installed on a Window 2008 x64 server at all. Luckily, the SAP MA only needs three runtime files listed below from the package:</p>  <ul>   <li>SAP.Connector.dll </li>    <li>SAP.Connector.Rfc.dll </li>    <li>LibRfc32.dll </li> </ul>  <p>Here are the steps to extract and deploy these files on a FIM Sync Server:</p>  <ol>   <li>Download the SAP .NET Connector 2.0 from SAP website <a href="https://service.sap.com/connectors">https://service.sap.com/connectors</a>. </li>    <li>Expand the SAP.NET Connector msi files using the command line:      <table border="0" cellspacing="0" cellpadding="2" width="740"><tbody>         <tr>           <td valign="top" width="738">msiexec /a <font style="background-color: #ffff00">&lt;&lt;<i>Path to SAP.NET Connector msi file</i>&gt;&gt;</font> /qb TARGETDIR=<font style="background-color: #ffff00">&lt;&lt;<i>Directory to extract msi to</i>&gt;&gt;</font></td>         </tr>       </tbody></table>   </li>    <li>On the FIM 2010 Sync machine, copy SAP.Connector.dll and SAP.Connector.Rfc.dll to the directory C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\UIShell\ERPMA. Then register it in the global assembly cache (GAC) using gacutil.exe or by the drag-and-drop on the assembly folder (if UAC is turned off). If we choose, we can then delete SAP.Connector.dll and SAP.Connector.Rfc.dll from the original UIShell\ERPMA folder. </li>    <li>Since librfc32.dll is a 32-bit DLL while FIM 2010 Sync Server is a 64-bit machine, copy it into C:\Windows\SysWOW64 folder. </li>    <li>That’s all. We are now ready to ERP MA Configuration tool. </li> </ol>  <p>It may be helpful to note that running Synchronization Service ERP MA Configuration UI Tool requires following additional permissions:</p>  <p>The user running the ERPMAConfigTool will require the following privileges: </p>  <ul>   <li>Full Control to the folder where the proxy assembly and configuration files are saved. </li>    <li>Read access to the registry key HKLM\System\CurrentControlSet\Services\ FIMSynchronizationService\Parameters </li> </ul>  <p>The ERPMAConfigTool also comes with a sample template file called ERPDefaultTemplate.xml. We can use it, along with the help file, to explore how Add, Replace, Delete, Full Import etc. operations are configured on employees and users. If we look at, say, the Full Import configuration for employee or user information, the general pattern is: call GETLIST for all the records and then call GETDETAIL for each of the record returned in the previous call. Needless to say, this does not perform well for a large enterprise. Hence there is always a need to get custom BAPI’s written which will return all the needed information is a single call. </p>  <p>So for this tutorial, we’ll make use of a custom BAPI function ZBAPI_FETCH_EMPLOYEE_DETAILS which has following signature and returns all the employee details of interest to FIM in a single call:</p>  <blockquote>   <table border="0" cellspacing="0" cellpadding="2" width="400"><tbody>       <tr>         <td valign="top" width="400">           <p align="left">ZBAPI_FETCH_EMPLOYEE_DETAILS</p>         </td>       </tr>        <tr>         <td valign="top" width="400">           <table border="0" cellspacing="0" cellpadding="10" width="398"><tbody>               <tr>                 <td valign="top" width="24">&#160;</td>                  <td valign="top" width="138">RECORD_DATE</td>                  <td valign="top" width="176">RFCTYPE_DATE</td>                  <td valign="top" width="58">in</td>               </tr>                <tr>                 <td valign="top" width="24">&#160;</td>                  <td valign="top" width="138">IT_EMP_DETAILS </td>                  <td valign="top" width="177">RFCTYPE_TABLE </td>                  <td valign="top" width="58">inout</td>               </tr>                <tr>                 <td valign="top" width="24">&#160;</td>                  <td valign="top" width="138">RETURN </td>                  <td valign="top" width="177">RFCTYPE_STRUCTURE </td>                  <td valign="top" width="58">out</td>               </tr>             </tbody></table>         </td>       </tr>     </tbody></table> </blockquote>  <p>The BAPI is written such that it supports Full Import as well as Delta Import depending on what is passed as RECORD_DATE. The employee records are return in the IT_EMP_DETAILS table. Let’s use this BAPI for configuring the SAP MA.</p>  <p>The first time we connect to a SAP environment through the ERP MA Configuration Tool, a discovery process is launched. Discovery retrieves the set of available BAPIs and caches them for future use. The discovery with the default filter generally takes half an hour or more. Hence the first thing we would do is to narrow down the filter <b>before connecting to the SAP server</b> as shown in the screenshot below:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/5241.ERP-MA1_6765352C.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/5241.ERP_2D00_MA1_5F00_6765352C.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ERP MA1" border="0" alt="ERP MA1" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/2117.ERP-MA1_thumb_500A0AEE.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/2117.ERP_2D00_MA1_5F00_thumb_5F00_500A0AEE.jpg" width="542" height="484" /></a></p>  <p>We make sure we check the “Rebuild discovery cache on next startup” checkbox and close the application. We get a warning as shown below:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0042.clip_image001_1AB0D2BC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0042.clip_5F00_image001_5F00_1AB0D2BC.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8468.clip_image001_thumb_56ACEEA4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8468.clip_5F00_image001_5F00_thumb_5F00_56ACEEA4.png" width="545" height="484" /></a></p>  <p>We ignore the warning and exit the application.</p>  <p>We now reopen the application and connect to our SAP environment. </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6327.clip_image002_6B6EC157.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6327.clip_5F00_image002_5F00_6B6EC157.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7875.clip_image002_thumb_2E8A19B8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7875.clip_5F00_image002_5F00_thumb_5F00_2E8A19B8.png" width="543" height="484" /></a></p>  <p>Once we enter the correct connection string and user credentials, the BAPI discovery process starts and quickly finishes.</p>  <p>Now we can proceed with the configuration of the <i>employee</i> object.</p>  <h5><b>Add Object Type</b></h5>  <ol>   <li>Click the &quot;Add Object Type&quot; action button. Enter the name of the CS object to be created in FIM, in our case we enter <i>employee</i>. <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0458.clip_image003_3C98E2E8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0458.clip_5F00_image003_5F00_3C98E2E8.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image003" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6712.clip_image003_thumb_51C6E890.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6712.clip_5F00_image003_5F00_thumb_5F00_51C6E890.png" width="542" height="484" /></a> </li>    <li>Click Next to move to the “Add Operations for Object Type” page. <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/5734.clip_image004_42CF93A9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/5734.clip_5F00_image004_5F00_42CF93A9.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6327.clip_image004_thumb_10A8435F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6327.clip_5F00_image004_5F00_thumb_5F00_10A8435F.png" width="541" height="484" /></a> </li>    <li>Click the &quot;Add&quot; button to add new operations for this object type. Doing so will start the &quot;Define Operation&quot; wizard. Select &quot;full&quot; for the operation by clicking and selecting from the standard FIM operations in the drop-down combo box.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8468.clip_image005_1A408BC8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8468.clip_5F00_image005_5F00_1A408BC8.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image005" border="0" alt="clip_image005" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1018.clip_image005_thumb_47FE2EC0.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1018.clip_5F00_image005_5F00_thumb_5F00_47FE2EC0.png" width="541" height="484" /></a> </li>    <li>Enter Z* in the search dialog box to lookup the definition for all functions beginning with &quot;Z&quot;. Select ZBAPI_FETCH_EMPLOYEE_DETAILS from the list and click OK.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6305.clip_image006_63730AF6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6305.clip_5F00_image006_5F00_63730AF6.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8372.clip_image006_thumb_7EE7E72C.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8372.clip_5F00_image006_5F00_thumb_5F00_7EE7E72C.png" width="541" height="484" /></a> </li>    <li>Click OK to display the summary page.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7701.clip_image007_5A26A9E8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7701.clip_5F00_image007_5F00_5A26A9E8.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image007" border="0" alt="clip_image007" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/3187.clip_image007_thumb_642B2546.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/3187.clip_5F00_image007_5F00_thumb_5F00_642B2546.png" width="543" height="484" /></a> </li>    <li>Click Finish to take us back to the “Define Operations for this Object Type” page.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/4152.clip_image008_39231174.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/4152.clip_5F00_image008_5F00_39231174.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/4645.clip_image008_thumb_4DE4E427.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/4645.clip_5F00_image008_5F00_thumb_5F00_4DE4E427.png" width="542" height="484" /></a> </li>    <li>For now, we’ll not configure any additional operations, so click next.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0842.clip_image009_298FD9D8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0842.clip_5F00_image009_5F00_298FD9D8.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image009" border="0" alt="clip_image009" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/4152.clip_image009_thumb_019CB4AC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/4152.clip_5F00_image009_5F00_thumb_5F00_019CB4AC.png" width="541" height="484" /></a> </li>    <li>Click “Finish” on the summary page.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/3568.clip_image010_28A74E21.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/3568.clip_5F00_image010_5F00_28A74E21.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/4336.clip_image010_thumb_39CB05F7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/4336.clip_5F00_image010_5F00_thumb_5F00_39CB05F7.png" width="543" height="484" /></a> </li>    <li>Now we are ready to define the employee attributes. </li> </ol>  <h5><b>Add Attributes</b></h5>  <h6><b>Adding attribute <i>employeeNumber</i></b></h6>  <ol>   <li>Click the “Add Attribute” action button on the main window. This will start the “Add New Attribute” wizard. Type the attribute name as employeeNumber and select Type as string. Since we are going to define employeeNumber as the anchor attriute, it makes sense to mark it as required attribute.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6470.clip_image011_67F4DBE4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6470.clip_5F00_image011_5F00_67F4DBE4.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image011" border="0" alt="clip_image011" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/5228.clip_image011_thumb_5D07D4CF.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/5228.clip_5F00_image011_5F00_thumb_5F00_5D07D4CF.png" width="541" height="484" /></a> </li>    <li>Clicking Next takes us to the attribute mapping page. Here we map it to the Employee Number column (PRI_EMPNUM) of our IT_EMP_DETAILS employee details table.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6403.clip_image012_064EF701.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6403.clip_5F00_image012_5F00_064EF701.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0458.clip_image012_thumb_534F40CC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0458.clip_5F00_image012_5F00_thumb_5F00_534F40CC.png" width="542" height="484" /></a> </li>    <li>Click Next to get to the Attribute Summary Page.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/4251.clip_image013_32B7DB4D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/4251.clip_5F00_image013_5F00_32B7DB4D.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image013" border="0" alt="clip_image013" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/4336.clip_image013_thumb_756700B8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/4336.clip_5F00_image013_5F00_thumb_5F00_756700B8.png" width="543" height="484" /></a> </li> </ol>  <h6><b>Adding additional attributes</b></h6>  <ul>   <li>Repeat the Add Attribute procedure outlined above to create additional attributes of interest.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8546.clip_image014_38162624.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8546.clip_5F00_image014_5F00_38162624.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0116.clip_image014_thumb_4624EF54.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0116.clip_5F00_image014_5F00_thumb_5F00_4624EF54.png" width="542" height="484" /></a> </li> </ul>  <h6><b>Define Anchor</b></h6>  <p>Now if we think we are done with the configuration and try to save the file, we get following error:<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6215.clip_image015_28EF217D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6215.clip_5F00_image015_5F00_28EF217D.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image015" border="0" alt="clip_image015" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6283.clip_image015_thumb_049A172E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6283.clip_5F00_image015_5F00_thumb_5F00_049A172E.png" width="542" height="484" /></a></p>  <p>Obviously, we are yet to set the anchor for the employee object and this is where it gets little tricky. Let’s follow the documented instructions and see how far it takes us to.</p>  <ol>   <li>Select the operation where the attribute is mapped, i.e. &quot;employee.full&quot;, and click Edit quick action button to launch the &quot;Add or Edit Operation Wizard&quot;.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0028.clip_image016_3F519A37.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0028.clip_5F00_image016_5F00_3F519A37.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6708.clip_image016_thumb_415E7333.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6708.clip_5F00_image016_5F00_thumb_5F00_415E7333.png" width="543" height="484" /></a> </li>    <li>Select the mapped function, i.e. &quot;ZBAPI_FETCH_EMP_DETAILS&quot; function and click the Edit button. This will open the Add or Edit Function Properties form. <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/2086.clip_image017_5C671C74.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/2086.clip_5F00_image017_5F00_5C671C74.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image017" border="0" alt="clip_image017" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1581.clip_image017_thumb_50357C80.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1581.clip_5F00_image017_5F00_thumb_5F00_50357C80.png" width="544" height="484" /></a> </li>    <li>Select the PRI_EMPNUM parameter (as shown below) and click Edit. This will open the Add Edit Parameter Properties from. Check the Parameter Defines the object check box.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8053.clip_image0015_4AB6E60F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8053.clip_5F00_image0015_5F00_4AB6E60F.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image001[5]" border="0" alt="clip_image001[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1581.clip_image0015_thumb_2D14E543.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1581.clip_5F00_image0015_5F00_thumb_5F00_2D14E543.png" width="543" height="484" /></a> </li>    <li>The documented instructions end here, so we should be able click OK. But instead silent success, this is what we get: Warning!! “You cannot assign an alias to an Infotype and to the fields within that Infotype. Please review your strategy and decide if you want data from all fields (the entire Infotype) or individual fields”.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/5126.clip_image0025_1625EDFA.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/5126.clip_5F00_image0025_5F00_1625EDFA.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002[5]" border="0" alt="clip_image002[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/5807.clip_image0025_thumb_7C22080A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/5807.clip_5F00_image0025_5F00_thumb_5F00_7C22080A.png" width="542" height="484" /></a>Though this is a warning, it does not let us save the change we made and so we therefore cannot define the anchor attribute. Fortunately, this is just a UI issue and there is a workaround for it. If we read the warning carefully and look at the screenshot again, we’ll notice that IT_EMP_DETAILS structure has got an alias “_IT_EMP_DETAILS” defined for it. We, for sure, did not define it. What happens is that if we are flowing function or parameter data to or from a CS attribute, and the data type of the parameter is a structure (i.e. SAPStructure or SAPTable) we will need to define an alias for this parameter. Doing so will identify and label this data structure in memory and allow the MA to find the named-structure easily when retrieving the field data. We do this by defining an alias for the parameter structure. Aliases can be created explicitly by a defining an alias in the configuration or automatically by the ERP Configuration Tool when its usage is implied and obvious. In our case, it was obvious, so the alias was created automatically when we did the first mapping of employeeNumber to IT_EMP_DETAILS.PRI_EMPNUM. From this explanation, it is clear that it is as much important that we need the alias for IT_EMP_DETAILS as it is that we need to define the anchor to be able to save the configuration file. Hence we’ll perform the next steps to temporarily remove the alias, set the anchor and then restore the alias back. </li>    <li>With IT_EMP_DETAILS structure selected, click Edit to launch the “Add or Edit Parameter Properties” dialog box.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1104.clip_image0035_16BE7E57.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1104.clip_5F00_image0035_5F00_16BE7E57.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image003[5]" border="0" alt="clip_image003[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7041.clip_image0035_thumb_22639FBC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7041.clip_5F00_image0035_5F00_thumb_5F00_22639FBC.png" width="544" height="484" /></a> </li>    <li>Now delete the alias and perform the steps followed previously to set the PRI_EMPNUM as the parameter that defines the object. You should be able to save these changes.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0523.clip_image0045_63CE2C48.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0523.clip_5F00_image0045_5F00_63CE2C48.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image004[5]" border="0" alt="clip_image004[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/5381.clip_image0045_thumb_62C6169E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/5381.clip_5F00_image0045_5F00_thumb_5F00_62C6169E.png" width="544" height="484" /></a> </li>    <li>Then edit IT_EMP_DETAILS structure and type out _IT_EMP_DETAILS as the Alias. Note than Alias name is completely arbitrary and we could have chosen any other name for the alias.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8831.clip_image0055_08ABA128.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8831.clip_5F00_image0055_5F00_08ABA128.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image005[5]" border="0" alt="clip_image005[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0511.clip_image0055_thumb_76332AA5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0511.clip_5F00_image0055_5F00_thumb_5F00_76332AA5.png" width="545" height="484" /></a> </li>    <li>Click OK to get us back to the “Edit Function Properties” screen.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6355.clip_image0065_0D318615.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6355.clip_5F00_image0065_5F00_0D318615.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image006[5]" border="0" alt="clip_image006[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6864.clip_image0065_thumb_680415DB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6864.clip_5F00_image0065_5F00_thumb_5F00_680415DB.png" width="543" height="484" /></a> </li>    <li>Click OK to get us back to the “Edit Operation” screen.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7838.clip_image0075_095395AB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7838.clip_5F00_image0075_5F00_095395AB.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image007[5]" border="0" alt="clip_image007[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/5488.clip_image0075_thumb_766EEC33.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/5488.clip_5F00_image0075_5F00_thumb_5F00_766EEC33.png" width="542" height="484" /></a> </li>    <li>Click Next to get us to the Summary Page.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7357.clip_image0085_638A42BC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7357.clip_5F00_image0085_5F00_638A42BC.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image008[5]" border="0" alt="clip_image008[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1565.clip_image0085_thumb_7AF4D120.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1565.clip_5F00_image0085_5F00_thumb_5F00_7AF4D120.png" width="543" height="484" /></a> </li>    <li>Click Finish. Now we should be able to save the configuration. However, in our case, if you recall, our BAPI ZBAPI_FETCH_EMPLOYEE_DETAILS expects a RECORD_DATE as an input. So let’s configure that first. Since this is a Full Import operation, we’ll be passing a very old date 01.01.0000 as the record date. </li>    <li>Launch the &quot;Add or Edit Operation Wizard&quot; and then launch the “Add or Edit Function Properties” form:<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/3225.clip_image0017_0FB6A3D4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/3225.clip_5F00_image0017_5F00_0FB6A3D4.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image001[7]" border="0" alt="clip_image001[7]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7345.clip_image0017_thumb_14F564B8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7345.clip_5F00_image0017_5F00_thumb_5F00_14F564B8.png" width="541" height="484" /></a> </li>    <li>Click Add button to open “Add or Edit Parameter Properties” form. Type 0000.01.01 as the value for RECORD_DATE.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/3632.clip_image0027_51E9707D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/3632.clip_5F00_image0027_5F00_51E9707D.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002[7]" border="0" alt="clip_image002[7]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8103.clip_image0027_thumb_6D5E4CB3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8103.clip_5F00_image0027_5F00_thumb_5F00_6D5E4CB3.png" width="543" height="484" /></a> </li>    <li>Click OK to close the form. The parent screen will look like below. Note that though we entered the date in the Value field, it appears in the “Alias” column. That is just how it is displayed on these forms.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7532.clip_image0037_33AB8CFC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7532.clip_5F00_image0037_5F00_33AB8CFC.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image003[7]" border="0" alt="clip_image003[7]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7851.clip_image0037_thumb_1C5062BE.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7851.clip_5F00_image0037_5F00_thumb_5F00_1C5062BE.png" width="543" height="484" /></a> </li>    <li>Click OK to close the “Add or Edit Function Properties” form.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0508.clip_image0047_06E28789.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0508.clip_5F00_image0047_5F00_06E28789.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image004[7]" border="0" alt="clip_image004[7]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1588.clip_image0047_thumb_100E9CFD.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1588.clip_5F00_image0047_5F00_thumb_5F00_100E9CFD.png" width="541" height="484" /></a> </li>    <li>Click Next, review the summary page and finish the wizard. Now we have fully configured the Full Import operation for employee objects and ready to save the configuration. </li>    <li>We need to save the configuration to the FIM Sync Service Extensions folder and save it with the name that we want to use it for our MA name. We’ll create the MA by the name “SAPHR Employee MA”, so we’ll save the configuration with the same name. The name must not be SAPMA to avoid conflict with the existing assembly in the Extensions folder.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/2555.clip_image0057_3640D088.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/2555.clip_5F00_image0057_5F00_3640D088.png"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image005[7]" border="0" alt="clip_image005[7]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0027.clip_image0057_thumb_3F6CE5FC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0027.clip_5F00_image0057_5F00_thumb_5F00_3F6CE5FC.png" width="542" height="484" /></a> </li> </ol>  <p>We can notice that saving the configuration creates following three files in the Extensions folder:</p>  <ul>   <li>SAPHR Employee MA.xml </li>    <li>SAPHR Employee MA-schemaAttributes.xml </li>    <li>SAPHR_Employee_MA.dll </li> </ul>  <p>The first xml file is our <i>source code</i>, the second xml file is meant to be provided as an input during the configuration of our management agent while the third DLL file is our compiled binary assembly needed at our management agent run time. The first two .xml files are not needed at run-time so can be removed from the Extensions folder after use.</p>  <p>We can also configure the Delta operation making use of the same BAPI and following the same steps. The only difference here would be to pass <i>ma.lastrundate</i> from the Reference drop-down as the RECORD_DATE instead of hard-coded values of 0000.01.01.</p>  <p>For the sake of completeness, the following screenshot sequence depicts the configuration of SAPHR Employee MA.</p>  <ol>   <li>On Create Management Agent page, we specify the MA name exactly same as used for saving the configuration files. We also make sure we select x86 as the Process Architecture.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/4705.clip_image007_182276FA.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/4705.clip_5F00_image007_5F00_182276FA.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image007" border="0" alt="clip_image007" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8424.clip_image007_thumb_3BFB2887.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8424.clip_5F00_image007_5F00_thumb_5F00_3BFB2887.jpg" width="644" height="478" /></a> </li>    <li>On Configure Connection Information page, we specify the correct connection string and user credentials.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7532.clip_image009_0AAC3E27.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7532.clip_5F00_image009_5F00_0AAC3E27.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image009" border="0" alt="clip_image009" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7444.clip_image009_thumb_47148D04.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7444.clip_5F00_image009_5F00_thumb_5F00_47148D04.jpg" width="644" height="479" /></a> </li>    <li>On Configure Connection Information page, we will not specify anything. With a custom BAPI returning all records in a single call, my experience is we can fetch 150K-200K records in 90 min or so, so pagination support is generally not needed.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7851.clip_image011_6361CF24.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7851.clip_5F00_image011_5F00_6361CF24.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image011" border="0" alt="clip_image011" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6787.clip_image011_thumb_748586FA.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6787.clip_5F00_image011_5F00_thumb_5F00_748586FA.jpg" width="644" height="479" /></a> </li>    <li>On Schema Import page, we will specify the schema file generated by the ERP MA Configuration Tool.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/3632.clip_image013_77D6F8D5.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/3632.clip_5F00_image013_5F00_77D6F8D5.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image013" border="0" alt="clip_image013" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8103.clip_image013_thumb_1FB9F835.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8103.clip_5F00_image013_5F00_thumb_5F00_1FB9F835.jpg" width="644" height="479" /></a> </li>    <li>On Configure Attributes page, we need not make any change.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/2158.clip_image015_4A45B345.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/2158.clip_5F00_image015_5F00_4A45B345.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image015" border="0" alt="clip_image015" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/2161.clip_image015_thumb_71BC7FAF.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/2161.clip_5F00_image015_5F00_thumb_5F00_71BC7FAF.jpg" width="644" height="479" /></a> </li>    <li>On Map Object Type page, we need not make any change.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1565.clip_image017_22FB4443.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1565.clip_5F00_image017_5F00_22FB4443.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image017" border="0" alt="clip_image017" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1007.clip_image017_thumb_57D823B3.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1007.clip_5F00_image017_5F00_thumb_5F00_57D823B3.jpg" width="644" height="479" /></a> </li>    <li>On Define Object Type page, we need not make any change.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6378.clip_image019_14407291.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6378.clip_5F00_image019_5F00_14407291.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image019" border="0" alt="clip_image019" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1072.clip_image019_thumb_10DEDAE9.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1072.clip_5F00_image019_5F00_thumb_5F00_10DEDAE9.jpg" width="644" height="479" /></a> </li>    <li>On Configure Connection Filter page, we need not make any change.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6862.clip_image021_4D4729C6.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6862.clip_5F00_image021_5F00_4D4729C6.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image021" border="0" alt="clip_image021" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/1565.clip_image021_thumb_3EBC07D4.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/1565.clip_5F00_image021_5F00_thumb_5F00_3EBC07D4.jpg" width="644" height="477" /></a> </li>    <li>On Configure Join and Projection Rules page, we can define any rules or leave them undefined here and define is using the declarative provisioning in FIM Portal.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/0412.clip_image023_4D3703F9.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/0412.clip_5F00_image023_5F00_4D3703F9.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image023" border="0" alt="clip_image023" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/7345.clip_image023_thumb_508875D4.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/7345.clip_5F00_image023_5F00_thumb_5F00_508875D4.jpg" width="644" height="479" /></a> </li>    <li>On Configure Attribute flow page, we can define any flow rules or leave them undefined here and define is using the declarative provisioning in FIM Portal.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/3323.clip_image025_77930F49.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/3323.clip_5F00_image025_5F00_77930F49.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image025" border="0" alt="clip_image025" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6862.clip_image025_thumb_21B29765.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6862.clip_5F00_image025_5F00_thumb_5F00_21B29765.jpg" width="644" height="479" /></a> </li>    <li>On Configure Deprovisioning page, we will keep the default option.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/2161.clip_image027_7DC9C00A.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/2161.clip_5F00_image027_5F00_7DC9C00A.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image027" border="0" alt="clip_image027" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/6787.clip_image027_thumb_41514B60.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/6787.clip_5F00_image027_5F00_thumb_5F00_41514B60.jpg" width="644" height="479" /></a> </li>    <li>On Configure Extensions page, we will disable the password management as have just Full and Delta import operation defined in our ERP MA configuration.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/3225.clip_image029_769A5DC5.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/3225.clip_5F00_image029_5F00_769A5DC5.jpg"><img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image029" border="0" alt="clip_image029" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/41/71/metablogapi/8422.clip_image029_thumb_3A21E91B.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-41-71-metablogapi/8422.clip_5F00_image029_5F00_thumb_5F00_3A21E91B.jpg" width="644" height="478" /></a> </li> </ol>  <p>Now we are ready to configure a couple of run profiles and see if we get the data in the SAP MA’s connector space.</p>]]></content:encoded>
    </item>
    <item>
      <title>FIM 2010 WMI Provider flakiness</title>
      <link>https://docs.microsoft.com/archive/blogs/nileshg/fim-2010-wmi-provider-flakiness</link>
      <pubDate>Sun, 31 Oct 2010 10:19:35 GMT</pubDate>
      <dc:creator><![CDATA[nileshg]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nileshg/2010/10/31/fim-2010-wmi-provider-flakiness/</guid>
      <description><![CDATA[It looks like FIM 2010 WMI provider does not process the equality ( = ) operator in WQL query’s...]]></description>
      <content:encoded><![CDATA[<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri>It looks like FIM 2010 WMI provider does not process the equality ( = ) operator in WQL query’s where clause correctly. The behavior is flaky at the best meaning it may or may not work on different machines even though they have same OS and Sync Service builds.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></font></font></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><font size=3 face=Calibri>&nbsp;</font></o:p></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri>On my machine following PowerShell query returns no records:<o:p></o:p></font></font></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri><span style="mso-spacerun: yes">&nbsp;</span><o:p></o:p></font></font></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri>PS C:\&gt; Get-WmiObject -Query "SELECT * FROM MIIS_RunHistory WHERE RunStatus = 'success'" -Namespace root/MicrosoftIdentityIntegrationServer<o:p></o:p></font></font></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><font size=3 face=Calibri>&nbsp;</font></o:p></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri>The WQL query without the WHERE clause or with any other operator seems to work correctly across different machine and builds. The work around is to use the LIKE operator which works in most case or and AND &lt;= and &gt;= operators as in the below query:<o:p></o:p></font></font></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><font size=3 face=Calibri>&nbsp;</font></o:p></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri>PS C:\&gt; Get-WmiObject -Query "Select * from MIIS_RunHistory Where RunStatus &lt;= 'success' AND RunStatus &gt;= 'success' " -Namespace root/MicrosoftIdentityIntegrationServer<o:p></o:p></font></font></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><font size=3 face=Calibri>&nbsp;</font></o:p></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri>This query always returns the correct results.<o:p></o:p></font></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Welcome to my blog!</title>
      <link>https://docs.microsoft.com/archive/blogs/nileshg/welcome-to-my-blog</link>
      <pubDate>Sat, 30 Oct 2010 07:24:39 GMT</pubDate>
      <dc:creator><![CDATA[nileshg]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nileshg/2010/10/30/welcome-to-my-blog/</guid>
      <description><![CDATA[I had been thinking for quite some time to start my blog and share my learning with friends and...]]></description>
      <content:encoded><![CDATA[<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri>I had been thinking for quite some time to start my blog and share my learning with friends and community out there, but I guess that day had to be today </font><span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">J</span></span><font face=Calibri>.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></font></font></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><font size=3 face=Calibri>&nbsp;</font></o:p></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><font size=3><font face=Calibri>I plan to blog mainly about my experiences and ideas, tips and tricks about the Identity Management products from Microsoft.<o:p></o:p></font></font></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><font size=3 face=Calibri>&nbsp;</font></o:p></p>
<p style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p></o:p><font size=3><font face=Calibri>So welcome to my blog!!<o:p></o:p></font></font></p>]]></content:encoded>
    </item>
  </channel>
</rss>