Poor programming practice
On a SEM/BPS system you'll find this program UPC_BUNDLE_DYNVAR supplied by SAP. We're invited to copy it and adjust to our own requirements, which I'm doing.
It is so POORLY written. Global variables abound, data declarations are all over the place. There's some use of subroutines, but very inconsistent. A lot of stuff is done at the top level.
I do wonder whether there is ANY quality assurance of code among the SAP development teams? Have they never heard of, or just don't care about the basics of good development - encapsulation, modularisation, layers. I simply wouldn't allow stuff of this standard to get out of development, let alone be shipped to customers. I'd be frankly embarrassed if it did.
Poor programming style leads to EXPENSIVE maintenance It's that simple.
If this execrable programming had been properly written, I'd have been able to make the necessary adjustments far more quickly, and easily, with less risk of introducing bugs.