Anything wrong with the below statement
CONSTANTS lc_5000 type werks_d value '5000'.
The compiler doesn't complain - syntax checks are okay.
The code inspector doesn't complain - as the following statements will use lc_5000 instead of '5000'.
Then what is wrong? Because the whole reason on why 5000 needs to be made a constant is lost.
The constant's main purpose is readability and maintainability - neither of them are supported by a declaration like this.It is better off to hard code than to use a constant like this.
Readability - the person reading the code should understand what 5000 is , e.g. its plant in Atlanta. lc_5000 doesn't say that.
Maintainability - Hypothetical situation, lets say before go-live , for some reason it was decided to rename plant Atlanta to 9000.
Then what should we do, a short cut like CONSTANTS lc_5000 type werks_d value '9000'. - most weird thing.
Or rename lc_5000 to lc_9000 and change all occurrences of lc_50000 - any advantage over hard coding?
The most ideal statement would be:
CONSTANTS lc_atlanta type werks_d value '5000'. This statement achieves both Readability and Maintainability.