Maximo

 View Only
Expand all | Collapse all

BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

  • 1.  BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    Posted 7 days ago

    Hello all,

    I'm working on an Automation Script for a customer and I'm getting an error at a step that I've done 100's of times in the past. Looking for a fresh set of eyes and some ideas on what to look at next.

    When attempting to instantiate a userInfo variable I get the error message seen below:

    BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    I've attempted a DB Config and a full restart and neither of those resolved the issue.

    I've used several methods to try and get at the userInfo context, and both result in the same error message:

    server = MXServer.getMXServer()
    userInfo = server.getUserInfo()

    and

    server = MXServer.getMXServer()
    userInfo = server.getSystemUserInfo('[username]')

    and

    userInfo = mbo.getUserInfo()

    This system IS LDAP enabled, but you'd think that wouldn't have an impact on such core functionality.

    Any help would be appreciated.



    ------------------------------
    Tim Ferrill
    Solutions Consultant
    Intelligent Technology Solutions
    tferrill@webuildits.com
    www.webuildits.com
    @tferrill/@webuildits
    ------------------------------


  • 2.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    IBM Champion
    Posted 7 days ago

    Hi Tim,

    The error is indicating that you are trying to access an object named "PSDI.SECURITY.USERINFO".  The error BMXAA6350E only comes from the getMboSet method on the AppService.  It looks like you are trying to get a MboSet with the UserInfo object class name as the Mbo name.

    Something like: MXServer.getMXServer().getMboSet("psdi.security.UserInfo", userInfo) would give you that error. 

    Do you have a stack trace you could provide or a bit more of a code sample to review?

    Thanks,

    Jason



    ------------------------------
    Jason VenHuizen
    https://sharptree.io
    https://opqo.io
    ------------------------------



  • 3.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    Posted 7 days ago

    Hey Jason, thanks for taking a look.

    This is the whole script up to the point I get the error:

    from com.ibm.json.java import JSONObject
    from java.lang import String
    from org.apache.commons.codec.binary import Base64
    from psdi.server import MXServer

    server = MXServer.getMXServer()
    userInfo = server.getUserInfo("MAXADMIN")

    I'm using an Object Launch Point on INVUSE (Save, Add/Update, Before Save).



    ------------------------------
    Tim Ferrill
    Solutions Consultant
    Intelligent Technology Solutions
    tferrill@webuildits.com
    www.webuildits.com
    @tferrill/@webuildits
    ------------------------------



  • 4.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    Posted 7 days ago

    Ok, this is interesting...

    The script works if I just execute from in the Automation Scripts app. I decided to try and throw an error with the contents of that userInfo variable, and it's successfully returning a different value than what I get in the log:

    PSDI.SECURITY.USERINFO@EA21CEFD
    vs
    psdi.security.UserInfo@dfc9216e



    ------------------------------
    Tim Ferrill
    Solutions Consultant
    Intelligent Technology Solutions
    tferrill@webuildits.com
    www.webuildits.com
    @tferrill/@webuildits
    ------------------------------



  • 5.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    IBM Champion
    Posted 7 days ago

    That is really weird.  The only thing I can think of is that there is some other script getting triggered incorrectly as part of the getUserInfo() call.  The stacktrace in the log should tell you the path that your call takes and if there are other scripts getting called.  Are you able to share stacktrace from the log?

     

    If you are getting the Maximo Admin user identity you might want to try MXServer.getMXServer().getSystemUserInfo() instead.  This probably isn't going to fix your problem but will ensure you get the admin user in case that isn't set to the default MAXADMIN.

     

    Jason

     

     






  • 6.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    Posted 7 days ago

    Hi Tim,

    It seems you are missing following library:

    from psdi.security import UserInfo 



    ------------------------------
    YALCIN KUMBASAR
    ------------------------------



  • 7.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    IBM Champion
    Posted 6 days ago

    Since you're launching it from an mbo, if you just want the currently logged in users info you could use:

    mbo.getUserInfo()

    and put an import at the top for:

    from psdi.security import UserInfo



    ------------------------------
    Paul Irving
    Product Development Manager
    BPD Zenith Ltd
    ------------------------------



  • 8.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    Posted 6 days ago

    I guess you missed the original post where I said this was one of the first things I tried? :)



    ------------------------------
    Tim Ferrill
    Solutions Consultant
    Intelligent Technology Solutions
    tferrill@webuildits.com
    www.webuildits.com
    @tferrill/@webuildits
    ------------------------------



  • 9.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    IBM Champion
    Posted 6 days ago

    Doh! Sorry, I seen the first two as getting it from the server but missed the mbo one!



    ------------------------------
    Paul Irving
    Product Development Manager
    BPD Zenith Ltd
    ------------------------------



  • 10.  RE: BMXAA6350E - The object name PSDI.SECURITY.USERINFO for user [USER] was not found in the data dictionary. Add the object to the data dictionary and try again.

    Posted 6 days ago

    Lol, all good. Appreciate the look. :)



    ------------------------------
    Tim Ferrill
    Solutions Consultant
    Intelligent Technology Solutions
    tferrill@webuildits.com
    www.webuildits.com
    @tferrill/@webuildits
    ------------------------------