This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

XMarkedForDeletion = 2

Hi all,

I would like to understand why on a custom TS I had a lot of UNSAccountB with the field XMarkedForDeletion with value 2 (Not present on Target System).

This custom target system is managed by a script that update the UNSAccountB. No other synchronization is active.

The script never set this field.

Could you exlain when and why this field is used by 1IDM ? 

What are the associated values ? the default value should be null or 0 ?

The 1IDM version is 8.0.1

Thank you very much and best regards

Ermes

Parents
  • You can find the meaning of the bits from the following community thread https://www.quest.com/community/one-identity/identity-manager/f/identity-manager-forum/20993/xmarked-for-deletion-values

    If some objects marked as outstanding there are normally two options how that happened. A synchronization had been run on this type of object and the workflow was configured to mark missing objects on the target system as outstanding. The second option, someone has marked the objects as outstanding in your script.

    Please see the sample code that demonstrates how to do that. This should ease your search.

    ' The script loads an entity specified by a XObjectKey, adds the flag OutStanding to the state and saves the entity to the database. 
    Public Sub CCC_Entity_MarkAsOutstanding(XObjectKey As String)
     
        ' Create a DBObjectKey based on the XML ObjectKey
        Dim dbObjectKey As New DbObjectKey(XObjectKey)
     
     
        ' Create an empty entity
        Dim entity As IEntity = Nothing
     
        ' Try to load the entity from the database using the DBObjectKey
        If Session.Source.TryGet(dbObjectKey, entity) Then
            ' If entity was created successfully
     
            ' Set the state of the entity to OutStanding
            entity.State = entity.State Or EntityState.OutStanding
     
            ' Save the entity to the database
            Using uow = Session.StartUnitOfWork()
     
                ' put the entity to save in the unit of work
                uow.Put(entity)
     
                ' The entities will be saved here!
                uow.Commit()
            End Using
        End If
     
    End Sub

Reply
  • You can find the meaning of the bits from the following community thread https://www.quest.com/community/one-identity/identity-manager/f/identity-manager-forum/20993/xmarked-for-deletion-values

    If some objects marked as outstanding there are normally two options how that happened. A synchronization had been run on this type of object and the workflow was configured to mark missing objects on the target system as outstanding. The second option, someone has marked the objects as outstanding in your script.

    Please see the sample code that demonstrates how to do that. This should ease your search.

    ' The script loads an entity specified by a XObjectKey, adds the flag OutStanding to the state and saves the entity to the database. 
    Public Sub CCC_Entity_MarkAsOutstanding(XObjectKey As String)
     
        ' Create a DBObjectKey based on the XML ObjectKey
        Dim dbObjectKey As New DbObjectKey(XObjectKey)
     
     
        ' Create an empty entity
        Dim entity As IEntity = Nothing
     
        ' Try to load the entity from the database using the DBObjectKey
        If Session.Source.TryGet(dbObjectKey, entity) Then
            ' If entity was created successfully
     
            ' Set the state of the entity to OutStanding
            entity.State = entity.State Or EntityState.OutStanding
     
            ' Save the entity to the database
            Using uow = Session.StartUnitOfWork()
     
                ' put the entity to save in the unit of work
                uow.Put(entity)
     
                ' The entities will be saved here!
                uow.Commit()
            End Using
        End If
     
    End Sub

Children
No Data