Reference attributes

Guys,
I am trying to figure out what is happening with my custom reference attributes.
I created two custom resource types, coming from a single view, separated by a object type column.
On the customs resource types on Portal:
Extend Schema on FIM Portal / MV
Set permissions through MPR
Set ADM and Non-ADM Filters
Create Synchronization Acct MPR and give permission on the new resource types
Configure Search Scope by both
Configure the Inbound Rule (join by a GUID) and attrib flow on the FIM MA
So, let's Custom1 and Custom2.
On Custom1 I have two reference attributes, one to refer to user EmployeeID and other to reference to Custom2 ID.
When I execute the Sync, the FIM doesn't flow the reference attributes to MV neither FIM Portal, if I open the object and try to fill the attribute with EmployeeID / Custom2 ID, FIM not find the objects.
Any idea?
Diego Shimohama

You should read this - http://social.technet.microsoft.com/wiki/contents/articles/331.understanding-reference-attributes-processing-in-fim.aspx
Both
referencing objects and referenced objects should be present in connector space. That means Custom1, EmployeeID(Full Object) and Custom2(Full Object again) should be present in CS of FIM MA. This might seems to be confusing but this is the only way you can
achieve that.

Similar Messages

  • Problem with Persistent Object as Reference Attribute of Persistent Object

    Hello All,
    I have a problem with a persistent class that contains a reference attribute to another persistent class.  I can write the reference object attribute to the DB but when I read the reference attribute back from the DB the object is null.  Allow me to explain...
    I have two tables; one is a data table with one key field of type OS_GUID, the second is a mapping table with several business key fields and two further fields; an instance GUID and a class identifier GUID.  The data table is used to contain all the data for an object.  The mapping table is used to hold a relationship between the GUID assigned in the data table and the business key.  The mapping table has been structured in this way by following the help here:
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/df/e785a9e87111d4b2eb0050dadfb92b/frameset.htm
    and the field mapping in persistent class for the mapping table has been mapped following the help here:
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/06/f23c33638d11d4966d00a0c94260a5/frameset.htm
    The code I use to create entries in the data and mapping table is:
    <-snip->
      DATA:
        gv_blank_data_guid TYPE REF TO zcl_ps_data,
        gv_data_guid       TYPE        os_guid,
        go_data_ps         TYPE REF TO zcl_ps_data,
        go_data_agent      TYPE REF TO zca_ps_data,
        go_data_map_ps     TYPE REF TO zcl_ps_data_map,
        go_data_map_agent  TYPE REF TO zca_ps_data_map,
        go_exc             TYPE REF TO cx_root.
      go_data_agent = zca_ps_data=>agent.
      go_data_map_agent = zca_ps_data_map=>agent.
      TRY.
    Check if there's already data with the business key on the DB
          go_data_map_ps = go_data_map_agent->get_persistent(
                             i_data_ref     = iv_data_ref
                             i_action       = iv_action ).
    ... if there is then exit.
          EXIT.
        CATCH cx_root INTO go_exc.
      ENDTRY.
      TRY.
    Create the data...
          go_data_ps = go_data_agent->create_persistent(
                           i_root_guid = gv_blank_data_guid
                           i_req_date  = iv_req_date ).
          TRY.
    ... finally, write the new data to the data business key map table
              go_data_map_ps = go_data_map_agent->create_persistent(
                                 i_data_ref     = iv_data_ref
                                 i_action       = iv_action
                                 i_data_guid    = go_data_ps ).    "note1
            CATCH cx_root INTO go_exc.
          ENDTRY.
        CATCH cx_os_object_not_found.
      ENDTRY.
      COMMIT WORK.
    <-snip->
    The fact that it is possible to pass the object GO_DATA_PS in the call to GO_DATA_MAP_AGENT (the line that I've put the comment "note1" on) indicates to me that the reference to the data persistent object can be written to the DB by the mapping persistent object.  After executing the above code the mapping table object and class identifier fields are populated.  Also, if multiple entries are written to the tables then the class identifier field in the mapping table is always the same and the object ID is different as expected.
    However, the problem I have is if I read an object from the DB using the business key with the following code:
    <-snip->
      DATA:
        gv_req_date        type        datum,
        gv_data_guid       TYPE        os_guid,
        go_data_ps         TYPE REF TO zcl_ps_data,
        go_data_agent      TYPE REF TO zca_ps_data,
        go_data_map_ps     TYPE REF TO zcl_ps_data_map,
        go_data_map_agent  TYPE REF TO zca_ps_data_map,
        go_exc             TYPE REF TO cx_root.
      go_data_agent = zca_ps_data=>agent.
      go_data_map_agent = zca_ps_data_map=>agent.
      TRY.
    Read data mapping with the business key
          go_data_map_ps = go_data_map_agent->get_persistent(
                             i_data_ref     = iv_data_ref
                             i_action       = iv_action ).
    ... then read the data.
          TRY.
              CALL METHOD go_data_map_ps->get_data_guid
                RECEIVING
                  result = go_data_ps.
            CATCH cx_os_object_not_found.
          ENDTRY.
        CATCH cx_root INTO go_exc.
      ENDTRY.
    <-snip->
    At no point during this code are the attributes of the object of the persistent class for the data table populated with the contents of the fields of the data table referenced as the attribute of the mapping table.  To clarify, when viewing the object in the debugger all the attributes of the mapping object that are simple table fields are populated with the values of the fields of in the mapping table, however, the attributes of the object that represents the persistent class for the data table are not populated with the fields of the data table.  I had hoped that by reading the mapping table object the data object would automatically be populated.  Is there another step I need to perform to populate the data object?
    I'm sorry if the above is hard to follow.  Without being able to provide screenshots it's difficult to explain.
    If someone has managed to store references to persistent objects in a table and then read the references back could you list the steps you went through to create the persistent classes and include the code that reads the objects please?  The code I have almost works, I must be just missing some subtle point...
    Thanks in advance,
    Steve.

    Hi Andrea,
    The iObject being replicated at item level for Service Complaints is the SAP standard behaviour.
    Generally we raise complaint refering to some sales or service issues. In your scenario you are trying to create a complaint based on an iObject, then you have to mention the corresponding product details. I dont see any business requirement not to copy the iObject product at the item level.
    If you want it then I think only you have to write a Z program for it.
    Hope this helps!
    Regards,
    Chethan

  • Trouble with anchor and reference attributes combined with a Correlation ID

    Greetings, I'm a little green on FIM and looking for some advice.
    We have an HR system where we store the information on Contractors, Interns, and Employees.
    The business process for converting Contractors and Interns to Employees is to terminate the Contractor and re-hire as an Employee. This gives us a different employee number for the "live" entry in the HR system.
    Also, there is a "Supervisor No" attribute that is a Reference attribute for their manager. This is their employee number.
    What do I do in FIM? If the Employee number is the anchor, won't the system consider the employee a new object? Is there a way to connect the new employee record to the metaverse object that was a contractor or intern, and update the anchor attribute (the
    new employee number)?
    I was thinking of using a different custom field in the HR system as the FIM_Sync. But just realized that if this became the anchor, then no managers would connect since the Supervisor No is an Employee number.
    Thanks in advance for helping.
    -Doug
    *** Update ***
    I read some of the articles on Correlation ID that are in the 2003 version of MIIS the TechNet library. So a follow up question would be what happens between the CS and MV when the HR object changes.. Assuming I have this FIM_Sync attribute to be my
    Correlation ID.
    Contractor is created. Employee ID is anchor and FIM_Sync field is populated.
    New object in CS
    Projected into MV
    Provisioned out to AD and other systems, but they don't have the FIM_Sync attribute in their schema.
    Business Event.. Contactor converted to Employee:
    Contractor in HR system terminated (employment_state) and FIM_Sync entry removed.
    Employee record created in HR system and FIM_Sync value populated with what it was in the contractor record
    New Employee object in CS
    Does Contractor get disconnected?
    Does the Employee CS object get joined to existing MV object?

    At one of my previous projects we solved the same scenario as following:
    1. That was not a fully automatic process.
    2. Once we receive event that Contractor is terminated in HR, we put that user in "Terminated Contractors" set, disabling his active accounts, where the object resides for 30 days (business policy) before his accounts are removed from target systems.
    3. There's a custom workflow which triggers a notification to administrators if the following criteria are met:
    Name/Surname of fresh Employee are equal to one of the members of "Terminated Contractors" set
    Employee record from HR came within a week after Contractor's termination date (also, a business policy, agreed at customer's level. HRs are lazy and not necessarily process that transfer same day).
    4. IAM Administrator contacts HR to ensure that persons in question are actually the same one. Upon confirmation, manual join is made. Once object is joined, Correlation ID is written back to HR (actually, a buffer database acting as HR source) to ensure
    that the join can be made automatically.
    We faced several problems, though, which are beyond the scope of FIM itself:
    1. HRs were creating Employee record before terminating Contractor's one. A major pain, since new accounts are created, et cetera.
    2. HRs were creating Employee records too late (that's why we set a "timeout" for a week, initially it was two days)
    3. We had a case once when Contractor was terminated and new Employee came with the same name, but those were different people and HR application doesnt allow to differentiate "contractor fired" and "contractor moves to employee" events. That's why we had
    to stick to a manual and documented procedure.

  • Change Reference Attribute - "Manager" for multiple users

    Hi,
    I have a scenario in which I have to create a workflow to change a reference value attribute - "Manager" for multiple users in one go. Is it possible to achieve this with workflow. If yes, then how?
    Regards,
    Manuj Khurana

    Hello,
    not out of the box, since in workflows and custom activities you can only access the reqestor and target object direcly.
    But you can develop your own custom activity that fits you need, or do it with powershell custom activity.
    I did a very similar thing, to be able to change users group membership from the user UI, so I have also edit objects other then requestor and target in a workflow.
    Since both (manager and member) are reference attributes you maybe find this article helpful:
    http://social.technet.microsoft.com/wiki/contents/articles/19615.fim-2010-r2-how-to-manage-group-membership-from-the-user-ui.aspx
    I used this powershell activity in my solution:
    http://fimpowershellwf.codeplex.com/
    Regards
    Peter
    Peter Stapf - ExpertCircle GmbH - My blog:
    JustIDM.wordpress.com

  • Reference attributes from different CS

    Hi!
    I have the following situation: There are two Oracle MA, that imports data from HR-system. The first MA imports persons, the second one imports departments.  It isn't suitable for me to combine them. The department object has an atribute "chiefID",
    where is set an identifier of the person. So the question is: how can I flow chiefID as Reference atribute? AFAIK, to be able to flow reference attributes - both objects should be in one CS.
    Thanks for any help!

    Hello,
    There is another way if you have FIMPortal and service and  keep to independant Oracle MA. Use an Extended flow to transform "chiefid" in "csObjectID of chief" by using code and the FindMvEntries method (http://msdn.microsoft.com/en-us/library/microsoft.metadirectoryservices.utils.findmventries.aspx):
    From Oracle MA, Find user in MV and save his csObjectID into a string
    Define an export flow of this string attribute to a reference attribute in FIM MA (Works only with mono value)
    Define an import flow from FIM MA from the reference attribute to the MV
    Regards,
    Sylvain

  • Options for Displaying Reference Attribute in AdvancedTable Record

    Hi,
    I'm looking for options for including reference attributes within an advanced table records as just another column.  Specifically how can I include a lookup meaning column in a detail advancedtable component when the lookup meaning is not in the VO?
    Some options I've thought of are:
    1. Change the VO to be defined with the lookup meaning by using "Expert Mode" and adding the joins.  This will not work because I need to change detail VO attribute via a controller/am method and (due to a bug) the change will not be saved to the database.
    2. Create an EO for the lookup entity and an AO to associate the detail EO with the lookup EO.  Then create a VO that is based upon both of these entities.  The problem I ran into with this option is that when the lookup code in the detail VO attribute is changed OAF tries to look for the old lookup code record in the detail VO and it will not find it and throws a error on the page.
    3. Create another detail advancedtable component in the detail VO advancedtable component.  Since I need the value within the detail advancedtable record and this would place it in a new detail this will not satisfy the requirement.
    Thank you

    If UOM is also changed with qty then old & new UOM should be available in CDHDR & CDPOS.
    If not then display current UOM.
    This logic will fail if UOM is also changed several times without changing Qty, which normally does not happen. So you can confirm with business, if this much info is enough.
    Making logic to work in case UOM is also changed several times, would require quite complex logic & will affect performance badly.

  • Reference Attribute to String

    So I am trying to take a reference attribute "Assistant" and convert it to a String to populate msexchAssistantName.
    I thought I might be able to do it with an outbound sync rule in the FIM Portal, but I cannot seem to get the custom expression right. "Assistant".Value.ToString
    I found alot of String to Reference docs online but not Reference to String.
    any help is appreciated.
    Thanks
    Russ
    Russell Lema

    Hi,
    you can do it the "simple" way if you want by just modify the RCDC for user create/view like this:
    <my:Control my:Name="DirectReports" my:TypeName="UocListView" my:ExpandArea="false" my:Caption="DirectReports">
    <my:Properties>
    <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName,Description" />
    <my:Property my:Name="EmptyResultText" my:Value="There are no groups according to the filter definition." />
    <my:Property my:Name="PageSize" my:Value="7" />
    <my:Property my:Name="ShowTitleBar" my:Value="false" />
    <my:Property my:Name="ShowActionBar" my:Value="false" />
    <my:Property my:Name="ShowPreview" my:Value="false" />
    <my:Property my:Name="ShowSearchControl" my:Value="false" />
    <my:Property my:Name="EnableSelection" my:Value="false" />
    <my:Property my:Name="SingleSelection" my:Value="false" />
    <my:Property my:Name="ListFilter" my:Value="/Person[(Manager='%ObjectID%')]" />
    </my:Properties>
    </my:Control>
    This will give you a list of all poeple who have the current user set as the Manager.
    Regards
    Peter
    Peter Stapf - ExpertCircle GmbH - My blog:
    JustIDM.wordpress.com

  • Dereference multivalued reference attribute to multivalued string attribute

    How can I Dereference multivalued reference attribute to multivalued string attribute. I want to flow this multivalued string attribute to AD. 

    I was able to develop the activity but it is going into infinite loop while inserting. Below is the code. Can you please guide where I am going wrong. Also as of now I have developed it only for inserting. I am using emuerateresourceactivity and added
    code activity using code.
    using System;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    using System.Collections;
    using System.Linq;
    using System.Workflow.ComponentModel.Compiler;
    using System.Workflow.ComponentModel.Serialization;
    using System.Workflow.ComponentModel;
    using System.Workflow.ComponentModel.Design;
    using System.Workflow.Runtime;
    using System.Workflow.Activities;
    using System.Workflow.Activities.Rules;
    using Microsoft.ResourceManagement.WebServices;
    using System.Collections.Generic;
    using Microsoft.ResourceManagement.Workflow.Activities;
    using Microsoft.ResourceManagement.WebServices.WSResourceManagement;
    namespace DereferenceActivityLibrary
    public partial class DereferenceActivity : SequenceActivity
    List<UniqueIdentifier> storeList;
    SequentialWorkflow parentWorkflow = null;
    int loopCount = 0;
    Guid targetGUID;
    const string FIMAdminGUID = "7fb2b853-24f0-4498-9534-4e10589723c4";
    List<string> storeName = new List<string>();
    string xpathFilter = "";
    string resourceType = "JambaStore";
    public DereferenceActivity()
    InitializeComponent();
    private void initializeReadResource_ExecuteCode(object sender, EventArgs e)
    if (!SequentialWorkflow.TryGetContainingWorkflow(this, out parentWorkflow))
    throw new InvalidOperationException("Unable to resove parent workflow");
    readResourceActivity.ActorId = new Guid(FIMAdminGUID);
    readResourceActivity.ResourceId = parentWorkflow.TargetId;
    targetGUID = parentWorkflow.TargetId;
    readResourceActivity.SelectionAttributes = new string[] { "StoreListReference" };
    private void initializeEnumerateResource_ExecuteCode(object sender, EventArgs e)
    string filterDEL = "]";
    if (null == readResourceActivity.Resource)
    throw new InvalidOperationException("Unable to determine the current request");
    ResourceType resource = readResourceActivity.Resource;
    storeList = resource["StoreListReference"] as List<UniqueIdentifier>;
    for (loopCount = 0; loopCount < storeList.Count; loopCount++)
    if (loopCount == 0)
    xpathFilter += "/" + resourceType + "[(ObjectID='" + storeList[loopCount].GetGuid() + "')";
    else
    xpathFilter += " or (ObjectID='" + storeList[loopCount].GetGuid() + "')";
    xpathFilter = xpathFilter + filterDEL;
    enumerateResourcesActivity.ActorId = new Guid(FIMAdminGUID);
    enumerateResourcesActivity.XPathFilter = xpathFilter;
    private void readStoresNameActivity_ExecuteCode(object sender, EventArgs e)
    ResourceType jambaStore = EnumerateResourcesActivity.GetCurrentIterationItem((CodeActivity)sender) as ResourceType;
    storeName.Add(jambaStore["DisplayName"].ToString());
    private void initializeUpdateResourceActivity_ExecuteCode(object sender, EventArgs e)
    List<UpdateRequestParameter> updateRequestParameters = new List<UpdateRequestParameter>();
    string targetAttribute = "Store";
    foreach (string store in storeName)
    updateRequestParameters.Add(new UpdateRequestParameter(targetAttribute, UpdateMode.Insert, store));
    this.updateResourceActivity_ActorId1 = new Guid(FIMAdminGUID);
    this.updateResourceActivity_ResourceId1 = targetGUID;
    this.updateResourceActivity_ApplyAuthorizationPolicy1 = false;
    this.updateResourceActivity_UpdateParameters1 = updateRequestParameters.ToArray<UpdateRequestParameter>();
    public static DependencyProperty updateResourceActivity_ActorId1Property = DependencyProperty.Register("updateResourceActivity_ActorId1", typeof(System.Guid), typeof(DereferenceActivityLibrary.DereferenceActivity));
    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
    [BrowsableAttribute(true)]
    [CategoryAttribute("Parameters")]
    public Guid updateResourceActivity_ActorId1
    get
    return ((System.Guid)(base.GetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ActorId1Property)));
    set
    base.SetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ActorId1Property, value);
    public static DependencyProperty updateResourceActivity_ApplyAuthorizationPolicy1Property = DependencyProperty.Register("updateResourceActivity_ApplyAuthorizationPolicy1", typeof(System.Boolean), typeof(DereferenceActivityLibrary.DereferenceActivity));
    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
    [BrowsableAttribute(true)]
    [CategoryAttribute("Parameters")]
    public Boolean updateResourceActivity_ApplyAuthorizationPolicy1
    get
    return ((bool)(base.GetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ApplyAuthorizationPolicy1Property)));
    set
    base.SetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ApplyAuthorizationPolicy1Property, value);
    public static DependencyProperty updateResourceActivity_ResourceId1Property = DependencyProperty.Register("updateResourceActivity_ResourceId1", typeof(System.Guid), typeof(DereferenceActivityLibrary.DereferenceActivity));
    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
    [BrowsableAttribute(true)]
    [CategoryAttribute("Parameters")]
    public Guid updateResourceActivity_ResourceId1
    get
    return ((System.Guid)(base.GetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ResourceId1Property)));
    set
    base.SetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_ResourceId1Property, value);
    public static DependencyProperty updateResourceActivity_UpdateParameters1Property = DependencyProperty.Register("updateResourceActivity_UpdateParameters1", typeof(Microsoft.ResourceManagement.WebServices.WSResourceManagement.UpdateRequestParameter[]), typeof(DereferenceActivityLibrary.DereferenceActivity));
    [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
    [BrowsableAttribute(true)]
    [CategoryAttribute("Parameters")]
    public UpdateRequestParameter[] updateResourceActivity_UpdateParameters1
    get
    return ((Microsoft.ResourceManagement.WebServices.WSResourceManagement.UpdateRequestParameter[])(base.GetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_UpdateParameters1Property)));
    set
    base.SetValue(DereferenceActivityLibrary.DereferenceActivity.updateResourceActivity_UpdateParameters1Property, value);
    using System;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    using System.Collections;
    using System.Reflection;
    using System.Workflow.ComponentModel.Compiler;
    using System.Workflow.ComponentModel.Serialization;
    using System.Workflow.ComponentModel;
    using System.Workflow.ComponentModel.Design;
    using System.Workflow.Runtime;
    using System.Workflow.Activities;
    using System.Workflow.Activities.Rules;
    namespace DereferenceActivityLibrary
    public partial class DereferenceActivity
    #region Activity Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    [System.Diagnostics.DebuggerNonUserCode]
    [System.CodeDom.Compiler.GeneratedCode("", "")]
    private void InitializeComponent()
    this.CanModifyActivities = true;
    System.Workflow.ComponentModel.ActivityBind activitybind1 = new System.Workflow.ComponentModel.ActivityBind();
    System.Workflow.ComponentModel.ActivityBind activitybind2 = new System.Workflow.ComponentModel.ActivityBind();
    System.Workflow.ComponentModel.ActivityBind activitybind3 = new System.Workflow.ComponentModel.ActivityBind();
    System.Workflow.ComponentModel.ActivityBind activitybind4 = new System.Workflow.ComponentModel.ActivityBind();
    this.readStoresNameActivity = new System.Workflow.Activities.CodeActivity();
    this.updateResourceActivity = new Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity();
    this.initializeUpdateResourceActivity = new System.Workflow.Activities.CodeActivity();
    this.enumerateResourcesActivity = new Microsoft.ResourceManagement.Workflow.Activities.EnumerateResourcesActivity();
    this.initializeEnumerateResource = new System.Workflow.Activities.CodeActivity();
    this.readResourceActivity = new Microsoft.ResourceManagement.Workflow.Activities.ReadResourceActivity();
    this.initializeReadResource = new System.Workflow.Activities.CodeActivity();
    this.currentRequestActivity = new Microsoft.ResourceManagement.Workflow.Activities.CurrentRequestActivity();
    // readStoresNameActivity
    this.readStoresNameActivity.Name = "readStoresNameActivity";
    this.readStoresNameActivity.ExecuteCode += new System.EventHandler(this.readStoresNameActivity_ExecuteCode);
    // updateResourceActivity
    activitybind1.Name = "DereferenceActivity";
    activitybind1.Path = "updateResourceActivity_ActorId1";
    activitybind2.Name = "DereferenceActivity";
    activitybind2.Path = "updateResourceActivity_ApplyAuthorizationPolicy1";
    this.updateResourceActivity.Name = "updateResourceActivity";
    activitybind3.Name = "DereferenceActivity";
    activitybind3.Path = "updateResourceActivity_ResourceId1";
    activitybind4.Name = "DereferenceActivity";
    activitybind4.Path = "updateResourceActivity_UpdateParameters1";
    this.updateResourceActivity.SetBinding(Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity.ActorIdProperty, ((System.Workflow.ComponentModel.ActivityBind)(activitybind1)));
    this.updateResourceActivity.SetBinding(Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity.ApplyAuthorizationPolicyProperty, ((System.Workflow.ComponentModel.ActivityBind)(activitybind2)));
    this.updateResourceActivity.SetBinding(Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity.ResourceIdProperty, ((System.Workflow.ComponentModel.ActivityBind)(activitybind3)));
    this.updateResourceActivity.SetBinding(Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity.UpdateParametersProperty, ((System.Workflow.ComponentModel.ActivityBind)(activitybind4)));
    // initializeUpdateResourceActivity
    this.initializeUpdateResourceActivity.Name = "initializeUpdateResourceActivity";
    this.initializeUpdateResourceActivity.ExecuteCode += new System.EventHandler(this.initializeUpdateResourceActivity_ExecuteCode);
    // enumerateResourcesActivity
    this.enumerateResourcesActivity.Activities.Add(this.readStoresNameActivity);
    this.enumerateResourcesActivity.ActorId = new System.Guid("00000000-0000-0000-0000-000000000000");
    this.enumerateResourcesActivity.Name = "enumerateResourcesActivity";
    this.enumerateResourcesActivity.PageSize = 100;
    this.enumerateResourcesActivity.Selection = null;
    this.enumerateResourcesActivity.SortingAttributes = null;
    this.enumerateResourcesActivity.TotalResultsCount = 0;
    this.enumerateResourcesActivity.XPathFilter = null;
    // initializeEnumerateResource
    this.initializeEnumerateResource.Name = "initializeEnumerateResource";
    this.initializeEnumerateResource.ExecuteCode += new System.EventHandler(this.initializeEnumerateResource_ExecuteCode);
    // readResourceActivity
    this.readResourceActivity.ActorId = new System.Guid("00000000-0000-0000-0000-000000000000");
    this.readResourceActivity.Name = "readResourceActivity";
    this.readResourceActivity.Resource = null;
    this.readResourceActivity.ResourceId = new System.Guid("00000000-0000-0000-0000-000000000000");
    this.readResourceActivity.SelectionAttributes = null;
    // initializeReadResource
    this.initializeReadResource.Name = "initializeReadResource";
    this.initializeReadResource.ExecuteCode += new System.EventHandler(this.initializeReadResource_ExecuteCode);
    // currentRequestActivity
    this.currentRequestActivity.CurrentRequest = null;
    this.currentRequestActivity.Name = "currentRequestActivity";
    // DereferenceActivity
    this.Activities.Add(this.currentRequestActivity);
    this.Activities.Add(this.initializeReadResource);
    this.Activities.Add(this.readResourceActivity);
    this.Activities.Add(this.initializeEnumerateResource);
    this.Activities.Add(this.enumerateResourcesActivity);
    this.Activities.Add(this.initializeUpdateResourceActivity);
    this.Activities.Add(this.updateResourceActivity);
    this.Name = "DereferenceActivity";
    this.CanModifyActivities = false;
    #endregion
    private CodeActivity readStoresNameActivity;
    private Microsoft.ResourceManagement.Workflow.Activities.UpdateResourceActivity updateResourceActivity;
    private CodeActivity initializeEnumerateResource;
    private Microsoft.ResourceManagement.Workflow.Activities.EnumerateResourcesActivity enumerateResourcesActivity;
    private CodeActivity initializeReadResource;
    private Microsoft.ResourceManagement.Workflow.Activities.ReadResourceActivity readResourceActivity;
    private CodeActivity initializeUpdateResourceActivity;
    private Microsoft.ResourceManagement.Workflow.Activities.CurrentRequestActivity currentRequestActivity;

  • Imposible to activate characteristic with one reference attribute in 3.5

    Dear Experts,
    I have a really strange problem in 3.5 version.
    I have ZUTSUP attribute like reference char from 0FUNCT_LOC.
    I deleted one Z Character Attribute from 0FUNCT_LOC, when I try to active it shows one error.
    "Characteristic 0FUNCT_LOC: Master data has to be activated before conversion"
    Ok, I go to "Note 451773" trying to activate master data. Like explains this post: "Unable to Activate master Data InfoObject ''0EQUIPMENT''
    But, when i try to reactivate active version... another error
    "Characteristic 0FUNCT_LOC: Navigation attribute ZCIRCUITO does not exist for char. ZUTSUP"
    Well.. this is a bucle, because, in referenced attribute I don't have navigation attribute ZCIRCUITO. and I can't modify it. I tried to reactive ZUTSUP (without ZUTSUP) but problem is...
    "Characteristic ZUTSUP: Referenced characteristic 0FUNCT_LOC not (actively) available"
    Well... Any Idea?
    Thank you!

    Very easy if you know...
    Create another time the same attribute with same parameters and active it. Then Acitve Data Master of InfoObject.
    That's all, now you can delete the attribute normally.
    Edited by: Roger Peruchet on Mar 1, 2010 5:56 PM

  • What is the standard or best method of returning the manager attribute value as a DN (directory string type) to a MV attribute?

    We have an SQL table which supplies authoritative HR data to FIM including the employee's manager HR id. Using the FIM and reference attributes we can stuff the manager on AD correctly.
    BUT, this table is used by other systems and one column (varchar 128) is named AdManager and is supposed to hold the DN of the Manager e.g. cn=A Manager,ou=User Accounts...
    The only way I can think of to get around this is to push the DN of each connected AD account into a indexed string MV attribute called adDN  flowing ad attribute dn -> mv attribute adDN. This is pushed onto the Portal into attribute adDN so the
    idea is that every Portal user (including managers of employees) that has an AD account has his dn stored in adDN as a STRING.
    When I want the managers dn... will this work on the Outbound sync rule attribute flow definition????
    source [//Target/Manager/AdDN]
    target AdManager
    It seems so artificial there just has to be a better way.

    Hello Harold,
    sounds good, thats "nearly" excatly the way I would do this.
    But you can not do this directly in an OSR.
    You have to do this with an workflow with the function evaluator and stor that Attribute on the user every time the Manager is changed.
    After that you can have simple direct flows from MV to your HR Attribute.
    -Peter
    Peter Stapf - ExpertCircle GmbH - My blog:
    JustIDM.wordpress.com

  • FIM multivalue attribute export to SQL - error 0x80230808

    Hi,
    Running FIM Synchronization Service v 4.0.3531.2 - Update1.
    This instance is a simple setup, import from AD, export to SQL. I'm trying to export two multivalue attributes, one is a normal multivalue string, second is a reference attribute (member). My anchor is the GUID from AD in string format, perfectly fitting
    into uniqueidentifier sql datatype.
    Since I wanted to have the member values in the multivalue table also stored in a uniqueidentifier column (for further linking) I had to create two columns, one as "uniqueidentifier" and second as "text". FIM configuration went smoothly,
    I defined a member multivalue reference attribute and selected the uniqueidentifier column as "String attribute column", and the other multivalue string attribute had to be linked as "Large string attribute column" and I pointed it to the
    text datatype column.
    Synchronization completed without errors, export step properly exported all multivalue string attributes to the text column, BUT when it came to exporting the GUID reference attribute to the uniqueidentifier column it exported only the first value showing
    a "dn-attribute-failure" error. From the FIM GUI it was only showing the error number = 0x80230808.
    I did a SQL trace to see what's going on. I re-run the export and saw FIM trying to delete all the values for this attribute multiple times with:
    DELETE from [tblAD_Multivalue]  WHERE [objectGUID] = N'{B011B424-5B2F-43A9-84C5-8605A570487B}' AND [attributeName] = N'member'
    followed by doing cursor magic with the first value that was already added:
    exec sp_cursor 180150007,4,0,N'tblAD_Multivalue',@objectGUID='B011B424-5B2F-43A9-84C5-8605A570487B',@attributeName='member',@guidValue='2E52A484-C7F6-49C0-AAC8-0A30C732A385'
    After repeating the above for over 10 times it added a export_error_detail:
    update [mms_connectorspace] set [export_error_detail] = N'<export-status>
    <cd-error>
    <error-code>0x80230808</error-code><error-literal>[Modify] Failed operation</error-literal>
    </cd-error>
    </export-status>
    ',[count_export_error_retries] = 0,[is_export_error] = 1,[initial_export_error_date] = '2011-02-12 21:36:08.995',[last_export_error_date] = '2011-02-12 21:36:08.995',[export_error_code] = -2145189885,[unapplied_export_batch_number] = 1,[unapplied_export_sequencer_number] = 2162572,[original_export_batch_number] = 1,[original_export_sequencer_number] = 2162572,[current_export_batch_number] = 4,[current_export_sequence_number] = 2216213 where ([object_id] = '6F5C98E3-38FF-4F32-95F6-B5A315B71D7A')
    I tried manually adding one of the following values directly to SQL and it worked, so I'm not really sure what's wrong here.
    Any ideas?
    Piotr

    Hi Markus,
    yes, I know all about the architecture to allow multi-value attributes to be exported to SQL.
    Everything works when I have just one string value column in my tblAD_Multivalue. The problem is that my anchor in the primary table is a GUID in a uniqueidentifier SQL column type (in FIM MV it's a string), so when I'm exporting multivalue reference attributes
    to SQL I would like the GUID values also to go to a uniqueidentifier type column. That's why I set up the secondary column in the multi-value table with text datatype, so FIM recognizes it as a "large string column". I think I did everything within
    the guidelines, so I was puzzled when I saw that error.
    Consider this simple example, you're exporting users and groups from AD, you're anchor data type is uniqueidentifier, and you need to export the member attribute and the proxyAddresses attribute. What would you do to allow future SQL joins to calculate membership?
    hope this explains a bit more this scenario, would appreciate any suggestions.
    Piotr

  • Using attributes from another entry type

    Hey experts,
    use case: there are multiple departments within the company. Each department has it's own folder in Active Directory where users are stored for that department. When a new user is created in IdM and send to AD he should be created in the folder relevant for his/her department.
    I have created an entry type called Department and filled it with departments and their LDAP starting point for user creation. I have also created a reference attribute in MX_PERSON to the department name.
    problem: when the job CreateADSUser is fired it receives pending value date from MX_PERSON but I need to use the LDAP starting point which goes with the department from the department entry type.
    So my question is: how do I use the LDAP starting point value which is stored in my department entry type in a job which receives MX_PERSON data. I'm guessing a script or something but am unsure how to do this.
    Thanks in advance.

    HI Jonathan,
    We did exactly the same thing but without using a separate entry type for the department, it was just the department number. We then in the code that calculated the DN of the person, coded in to read the department number and based on that enter a text string into the DN. If you want to do it with another entry type for department, the can't you load the value on the mx_person of department, which will be the MSKEY of the department you want, and then use ISGetValue (Or something like that) to get the name of that department based on it's MSKEY?
    Hope that is helpful,
    Ian

  • Attribute not visible in characteristic properties in BEx Web

    Hello all,
    I have a query using Contact Person as a free chararacteristic. I need to be able to drill down this characteristic and display a custom attribute next to Contact Person, using the properties of the characteristic in the context menu. The problem is that the attribute doesn't show up in the list. All other attributes (most of them are display attributes) are visible.
    If I add this diplay attribute to the query definition, the attribute comes together with Contact Person when I drill-down it. I can see the attribute checked in the list too.
    When I put Contact Person in the row in the query definition, I can also see the attribute in the properties.
    Does anybody know a solution for that?
    Thanks in advance, Natalie

    Hi Sree,
    Thanks for your help. Actually, the attribute was a display attribute, but needed to be a navigation attribute. The reason seems to be the following: this attribute has another one as reference attribute (which I could see in the list).
    I changed to nav. attribute and now it works.
    Natalie

  • Attribute key cannot be found : Data present but not processed

    Hi there,
    I know this question has been ask several time and I went through a lot of proposed solution but none were successful in my case. My cube processed successfully for month but now I have the following error :
    Errors in the OLAP storage engine: The attribute key cannot be found when processing: Table: 'EventMember', Column: 'Id', Value: '22560966'. The attribute is 'Id'.
    To explain my case here what I've got.
    A dimension [Member Unique] where there is a bigint Id and some attributes. The only defined attribute in the dimension is Id.
    When I process fully this dimension the query issued by SSAS to SQL (using the profiler) is the following :
    SELECT
    DISTINCT
    [dbo_Member].[Id] AS [dbo_MemberId0_0]
    FROM [dbo].[Member] AS [dbo_Member]
    I verified that the Id 22560966 is present in the table and in the resulting set and that is the case.
    Then I have the measure group EventMember based on a named query doing the following :
    SELECT Id
    FROM dbo.Member AS m
    WHERE EXISTS
    SELECT 1 AS Expr1
    FROM dbo.Event AS g INNER JOIN
    dbo.MemberHistory AS h ON h.Id = g.MemberId INNER JOIN
    dbo.MemberVersion AS v ON v.HistoryId = h.Id
    WHERE (v.AntvoiceMemberId = m.Id)
    This query returns also the row 22560966.
    When I process fully the measure group EventMember the query issued by SSAS is :
    SELECT [EventMember].[EventMember0_0] AS [EventMember0_0],[EventMember].[EventMemberId0_1] AS [EventMemberId0_1]
    FROM
    SELECT 1 AS [EventMember0_0],[Id] AS [EventMemberId0_1]
    FROM
    SELECT Id
    FROM dbo.Member AS m
    WHERE EXISTS
    SELECT 1 AS Expr1
    FROM dbo.Event AS g INNER JOIN
    dbo.MemberHistory AS h ON h.Id = g.MemberId INNER JOIN
    dbo.MemberVersion AS v ON v.HistoryId = h.Id
    WHERE (v.AntvoiceMemberId = m.Id)
    AS [EventMember]
    AS [EventMember]
    And it crashes during the process giving me the above error.
    I did try to allow missing key attribute error in the process option, and it ran successfully. It allowed me to issue an MDX statement on my cube to check if the dimension member was present. And it was not the case. Hence the error I think. The MDX statement
    was :
    SELECT [Member Unique].[Id].&[22560966] on 0
    FROM MyCube
    The the final question would be : Why this member which is returned by the SQL query is not present in my dimension ?
    I tried deletiong my cube it did not changed a thing. A noticeable thing is that the faulty attributes key are the same every time.

    Hi RodolpheAV,
    The error means SSAS could not find a record in the dimension table [table name] where column [column name] contained value [value]. For more information, you can look into the following articles:
    Error messages when you try to process a database or a cube in SQL Server 2005 Analysis Services: "The attribute key cannot be found" and "The record was skipped because the attribute key was not found:
    http://support.microsoft.com/kb/922673
    SSAS Quick Reference: Attribute Key Cannot Be Found:
    http://www.ssas-info.com/analysis-services-articles/66-mgmt/1963-ssas-quick-reference-attribute-key-cannot-be-found
    TechNet Subscriber Support
    If you are TechNet Subscription user and have
    any feedback on our support quality, please send your feedback here.
    Regards,
    Bin Long
    TechNet Community Support

  • Attribute key cannot be found. Value 0 . eventhough set to unknown member

    Hi,
    I want to be able to set any null values in the fact foregin key to the dimensions unknown member.
    I have a dimension called agent , with UnknownMember = True and UnknowMemberName = No Agent. When I process my dimension, I see all my agents plus a No Agent member. (ErrorConfiguration = Default. I do not want to ignore errors ).
    In the cube dimension usage I've set null proccessing to unknown member.
    I have a rows on my fact table with NULL on the agentID and the Cube fails to process with this error (its changing NULL to 0):
    Errors in the OLAP storage engine: The attribute key cannot be found when processing: Table: 'dbo_FactSales', Column: 'AgentId', Value: 0.
    I was expecting that, based on my configuration of the dimension, that the NULL row would be assigned to the unknown member of the dimension.
    What am I missing?
    (I know that I could have a Unknow record on my db and deal with it on the ETL process, but I would like SSAS to handle this situation. I already read 
    http://msdn.microsoft.com/en-us/library/ms345138.aspx is telling to do on the section "Referential
    Integrity Issues in Fact Table")
    I don't know if this is related but the fact value is taken from DSV query of:
    CASE WHEN Fact_table.[AgentId] IS NULL THEN NULL ELSE CAST(Fact_table.[AgentId] AS INT) END AS [AgentId]
    Your help appreciated
    Namnami

    Hi Namnami,
    Please refer to the following article:
    Defining the Unknown Member and Null Processing Properties:
    http://technet.microsoft.com/en-us/library/ms170707(v=sql.90).aspx
    Here is a related article about this error message for your reference:
    SSAS Quick Reference: Attribute Key Cannot Be Found:
    http://toddmcdermid.blogspot.com/2009/01/ssas-quick-reference-attribute-key.html#!/2009/01/ssas-quick-reference-attribute-key.html
    Regards,
    Elvis Long
    TechNet Community Support
    The worst part about these MSDN forums is that the Moderators seem to just want to mark an answer correct on every single question whether it's right or not, and if there is no answer they just mark their own answers as correct, even when it's as unhelpful
    as "Here's the same link to the article you've already read".

Maybe you are looking for

  • Switching From One Apple ID To Another HELP!!

    (Really Didn't Know Where To Put This, Sorry) Hi There, I Have Been Using My Fathers Apple ID Account For About 3 Years, In That Time I Have Downloaded Many Apps. My Problem Is That Now I Am Leaving Home I Think It Is Only Right That I Set Up My Own

  • Can i install mountain lion on my sony laptop?

    I am trying to know if I can install mac os on my sony laptop. I have mountain lion os.

  • User account on external hard disc frequently gets corrupted - reasons?

    Dear all, I have recently written a question regarding a problem with my user account; in this question I have described that I have my data for my user account on an external hard disc (USB2 hard disc), and that all data in this account seemed to be

  • Javac.exe 1.4 is not finding user classes!!

    ! HELP ! Okay, I've used -classpath, i've messed around a bit with my settings, but for some reason, I can't get java to compile my code on my machine!!! I know it works, because I made and compiled it on machines on my school's account. THE problem:

  • Pricing Change

    Hi Gurus, Part A: If billing doc is created or saved but there is a Posting Block, does it mean accounting docs will not be created at this stage? If there is instead a Billing Block, does it  mean no billing doc can be created or saved in the 1st pl