Workflow in PPS Planning is completely asynchronous. This allows the server side to scale and handle many, many simultaneous submissions, job requests etc. Its possible to add more server's to the pool that handles this asynchronous queue. From the add-in perspective there are 2 things that interact with workflow: Jobs and Assignments. How Jobs work is another post, today we're just going to look at Assignments and even then just the different statuses. This is already documented pretty well in the add-in documentation. (I can't find anything in office online yet, but look for "About assignment status" in the add-in help and you'll get table describing the states.
BTW: my new analogy for how workflow works is the banking system - especially via paper checks. Instead of assignment submissions, think of writing a check and putting it in the mail. By the time the receiver gets the check and asks its bank to cash the check any number of things could have happened to your bank account or even the bank! When you pick a workflow action its like asking the bank to do something. Generally they put you on hold and then say its all taken care of. But later you still need to check your statement to make sure that the promised operation really did happen. Let me know in the comments if this is an apt analogy or if it just confuses the issue...
Now on to the various statuses you are likely to encounter for assignments:
After all approver's have performed the "Approve" action we reach this state. This is like both you, the bank, and the third party agreeing that your check has cleared and the money has exchanged hands. Pretty straightforward I think.
Because the data writeback process is asynchronous its possible that the add-in was out of sync with the server. For example, maybe the form was published prematurely before the administrators realized that permissions were set wrong on the model. But the user had already changed data and submitted to the queue before the permissions changed. Then when the submission was processed it tried to write to the wrong data and a permission error was encountered by the data validation logic. Kind of like bouncing a check. In some kinds of models (financial models usually) its also possible that there was data validation beyond what the server advertised in the writable region that failed.
When assignments are first created they are in this state. Unless a contributor specifically goes to the Assignments dialog and searches for an assignment they won't see these. This status just means that the data entry cycle for the assignment hasn't opened and there is not yet any work for the contributor to do. Contributors generally shouldn't have any available workflow actions for this status. I guess this is like when the bank isn't open and their web site is down.
If the action "Submit Draft" is available to a user, this is the status the assignment will reach after the submission is successfully processed. Any data included in the submission will have been written both to the fact table and is available in the cube. Generally the same actions that are available during "Started" will be availble for this status.
When there are approvers for an assignment they can "Reject" the submission. Probably for a budget/forecast kind of scenario it means the boss wants you to spend less and earn more. Or for an HR scenario you have to reduce headcount or live with what you got last year. Sound like a familiar scenario? Here the contributor will have the same submission options they had previously but generally are expected to modify the data and resubmit. In the banking analogy, this is like the business says "we don't take Discover" or the frustration I have as an American in Europe "we only take MasterCard with the smart chip". You have a "do-overin American slang.
All reviewers for the assignment have reviewed it. I don't know yet how this one fits into the banking system. Anyway it makes enough sense since it happens after the "Review" action, doesn't it?
This is usually the status an assignment will have the first time contributors open an assignment. Assignments do not appear on the action pane until they are in this state. This status simply means that the data entry task for a contributor is ready to be worked on. (Although data entry is assumed for an assignment, there is no requirement that an assignment require the user to enter data.) The submission actions generally should be available for contributors in this status. Its like when a bank or store is open: everybody is ready for business (although no guarantee that by the time you see a teller that the computer's aren't down).
After a successful submission action the assignment can reach this state. Just like any other submission aciton, the data is written both to the fact table and is available in the cube. If the assignment allows multiple submissions, then "Submit" will be still be available. At this point the contributor might be done with the assignment and no further action is needed at this time. But it will continue to appear in the action pane while the assignment is still active.
After an action has been chosen and it is in the workflow queue the assignment will be this technical status. It means the server either hasn't processed the request or is still processing it. Generally there are no actions available to the contributor at this time. They will have to refresh the system data or search in the assignments dialog to wait for the assignment status to change. (There is also the possibility for an e-mail notification but that's another post.) This is basically "the check is in the mail" status.
This is another technical status. It means the server has removed the assignment from the queue and done any fact table updates. But the AS cube is also updated asynchronously. It will remain in this state until the cube has been reprocessed, hence the user just has to wait until the cube is processed. Again they can refresh system data or search in the assignments dialog for an upated status. This is kind of like when the bank says one thing, but the business you are trying to pay says another thing.
Ok that's it. Shortly you can expect a post about the workflow actions... Really I think the add-in docs are quite clear on these statuses, but I still get questions. Really if the docs are unclear you should click on the "Send Feedback" link that appears in every page of the docs. That feedback really does go directly to the documentation team and they assure me they make use of it. So please help point out when I reviewed the docs that I missed something wasn't clear. (To be fair though, for that part my job is just technical accuracy. The professionally trained writers are the ones who do the hard work of writing good prose...