Call test cases with not all steps

Let me describe my problem:
I have a test cases where I always delete all entered data after successful run
In some specific scenarios I would like to use these tests but call them in that way that will not run last steps for deletion
I know that is a possibility to call test case with Global Variable and use if statement but in that case deletion will be skipped always
Any ideas how I can do this?

The following post may interest you. There I described a concept of “Controller” : a test case calls other test cases with custom flow control.