On 1/24/2014 8:29 AM, Alan Cassidy wrote:

I just did this:
CHGVAR&VALUE3&PARAMETER3
MONMSG MCH3601 EXEC(DO)
SNDPGMMSG MSG( 'Did not receive 3 parameters') TOPGMQ(*EXT)
ENDDO
ENDPGM

Worked at least.

I just want to make sure that it's clear that this technique should absolutely never be used.

It often seems to work in testing, but it's almost guaranteed to give a false positive at some point, indicating that a parameter was passed when it wasn't.

What's especially bad about this technique is that if your program modifies a parameter that was not actually passed, you can cause bizarre and unpredictable errors that might show up long after your program has returned.





Return to Archive home page | Return to MIDRANGE.COM home page