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

event ASSIGN on UNSAccountBInUNSGroupB is generated outside of the connection

Hello,


I have fullsync script where I set FULLSYNC connection variable to prevent processes to generate.
When I create missed UNSAccountB in IDM the processes aren't generate (event = INSERT on UNSAccountB)
but
When I make assignment (insert into UNSAccountBInUNSGroupB) the processes are generated despite generation condition with the variable check.
I suppose that event ASSIGN is sent somewhere outside of my connection and the condition is true.

How can I suppress process generation in that case?

Thank you

  • Hi,

    the event ASSIGN will be generated because the flag XIsInEffect was changed to 1 by the DB Queue processor calculation after you have created the assignment.

    To avoid that behavior in your fullsync script, you need to set the properties XOrigin and XIsInEffect properly when you create the objects in UNSAccountBInUNSGroupB while having the connection variable FULLSYNC in place.

     

  • Hi Markus,
    I found out that xOrigin and xIsInEffect are write protected even with FULLSYNC = TRUE

    MsgBox(CStr(Connection.Variables("FULLSYNC"))) -------------------------------< TRUE

    dbAIG = Session.Source.CreateNew("UNSAccountBInUNSGroupB")

    dbAIG.PutValue("UID_UNSAccountB", uidUNSAccountB)
    dbAIG.PutValue("UID_UNSGroupB", uidUNSGroupB_Template)
    dbAIG.PutValue("XOrigin", bmDirect) ---------------------------< Write permission denied EXCEPTION
    dbAIG.PutValue("XIsInEffect", 1)

    dbAIG.Save(Session)
  • Sorry, i haven't tested it myself.

    Just to be clear, does setting the XIsInEffect is failing as well or just setting XOrigin?

  • I have talked to some guys internally and here is your solution.

    You just need to set the property XIsInEffect to 1. But a normal user account is not allowed to set this property. If the script is executed by the Job Service using the component authenticator you should be able to set the property.

    If you want to test the script in the System Library, you have to use a system user with the flag IsServiceAccount set.

  • Hi Markus
    I have the same Write permission denied for value XIsInEffect.
    The script is executed by schedule/process plan/process.
    How to execute the script by the Job Service using the component authenticator?
  • You just need to execute the script using the script component in the process. The component authenticator is the default unless you configured the job service to use an application server to execute scripts.
  • Scripts are executing on Job Server.

    I write Session.User.Name property to the log from this script and it is 'sa'.

    I also tried to create an entry in ObjectBrowser under the user with the IsServiceAccount flag. It allows to set XOrigin, but not XIsInEffect which is protected by VI.DB.Entities.XIsInEffectLogic.

  • Hi Sergey,

    you need to set the session (connection) variable FULLSYNC in addition as described in the threat.
  • Hi Markus,
    FULLSYNC variable - that was the case
    Thank you