Case-When is basically a row operation. Specifically, you need to think about the set of data you are working with based on joins and where clauses, and then think about the case-when operator running against each row in the result set. Because of this, there is no concept of previous row, next row or "has next".
That being said, there's always a way to accomplish what you want. Generically speaking, I would usually recommend a "self join". This is really just a special case of a regular type of join (inner, left, right, full and cross). The difference here is that instead of joining two different tables, you join the same table back to itself. If you introduce a Row_Number function and include that in the where clause, you can effectively join one row to the next row, which would effectively give you a way to accomplish a "has next" functionality.