Hi all, We have a strange issue with one process model. When we start a new

Hi all,
We have a strange issue with one process model. When we start a new instance, it stops on a report and it displays in a chain activity "User does not exist".
We issued the command: checkengine.bat -cu, but it won't solve the issue. We are currently on Appian 7.0.
Any help would be much appreciated. Thanks you advance......

OriginalPostID-105211

OriginalPostID-105211

  Discussion posts and replies are publicly visible

  • It could be you are using the touser() function or the user() function somewhere and the username that is being passed is indeed not a valid user.

    Does checkengine -u still show warnings?
  • At first, I am using the function tostring(), so that I could show multiple values in one cell of a Report (because reports don't work with multiple values in a cell).
    Then, in the process model, after reading from the report, I am using the read data (string) to convert them back to users.
    If you have any idea how to solve this problem, I would very much appreciate it.
    Thank you in advance...
  • 1. Reports can show multiple users in a single cell (see attachment)
    2. What is the exact expression you are using? Can you attach screenshots explaining the behavior?




  • Yes, you can show multiple users in a single cell, but when you try to read all the users from that cell, it returns only the first one. In our scenario, we needed to send an email to all the users from the cell, but we could only send an email to the first one in the cell. I asked about this on the forum and found out that you can not use arrays of arrays in Reports. That's why on the report I am combining the array of users into a string (text), and in the process model, when I am trying to read them from the report, I use the rule =touser(split(touniformstring(ri!Users), ";")) .
    The strange thing is that this works well on our UAT server, but on PROD it makes this problem. Maybe it has something to do with the Hotfix package - on UAT we have pure Appian 7.0, and on PROD (where is the problem) we have installed Hotfix Package A.
    Thank you in advance...
  • 1. Your approach worked for me (see attachment). Are you also calling this touser() expression in a custom output of the execute process report like me? or where?

    2. I suggest you add a filter to the report to narrow down the issue to a single username. Since this is happening in a single environment it could be there's data in the PROD report that is pointing to an invalid username

    3. Try these expressions to see if any log more information (in the application-server.log). Since internally strings represent users you don't need to call touser() if the variable is of type user.

    =apply(fn!touser,split(touniformstring(ri!Users), ";"))

    =split(touniformstring(ri!Users), ";")
  • Yes, we are also calling the touser() expression in a custom output of the execute process report. But I don't think the problem is there. I think the problem is in reading the users correctly from the Report. Maybe it has something to do with the Hotfix Package A (that is installed on PROD, and not on UAT).
    Thanks again... Best Regards, Bojan
  • Basically my point is that if you use any of the other two expressions I suggested maybe the log will tell you exactly what username is giving us trouble. Since this is working on a different environment I don't think it's a logic/design issue but rather something with a username. I tested this with Hotfix Package A and no issues, so it seems that you need to find what user is giving you trouble.

    To find out:

    1. Try any of the two other expressions and review the server.log to see if they give you better information
    2. Or get the list of users as text and then one by one manually execute the user(xxxxxx,"firstName") function until you find what account is giving you the error.