When we create a new program, its state will be Inactive until we activate it.
Whenever we change an existent program, we can still work with it without changing its LOAD compilation (active version interpreted at runtime). For that, we should work in ABAP Editor (SE38), and when we have to run it, we press F8 without changing its status to Active. Saving is allowed.
This is useful when functional consultant has to test program in the same system development is being performed. Developer and tester should never be working at the same program at the same time, but there are certain moments we just have to do it.
When we activate the code, if other user is running the program, an error will be returned, and transaction/program will have to be re-run.