BOI: The password for this user has expired. Do you want to change your password now?

Hi, having a c# app to connect to Sage100 via BOI.

Was working well till my password expired and login was not possible due to this error message in oSS:

The password for this user has expired. Do you want to change your password now?

What I did is I used Sage client to login, saw this message, ckicked OK and updated password to new one. After that I successfully logged in in Sage client and after close/open - I dont see this message password expired anymore.

However, after updating password to new one in my c# app, when do oss.nSetUser, i receive 0 and in oss,sLAstErrorMsg still this:

"The password for this user has expired. Do you want to change your password now?"

Do you know why, it it hached somewhere or something? How make BOI understand that password was already updated...

Parents Reply Children
  • 0 in reply to Dmytro Oliinyk

    Greetings,

     Please have the Sage admin that gave you the credentials validate that they can logon to Sage 100 with that user and password and that the proper role has been assigned to the user in Sage 100.  If the user is setup properly in Sage 100 and the company has the Allow External Access flag set and your code is connecting to the same Sage 100 instance, then BOI should allow access.

    I did notice one thing in your code which is that you have the Logon() method and SetUser() methods reversed.  Typically, they should be like the following.

    using (dynamic sySession = pvx.NewObject("SY_Session"))
    {
         int result = sySession.nLogon();
         if (result == 0)
         {
              result = sySession.nSetUser("username", "userpassword");
              if (result == 0) throw new Exception(sySession.sLastErrorMsg);
         }

    }

    Thanks,
    Kent