This morning I got question from an old RPG3 chum of mine:
I know a couple of questions they will ask me, what are the different parms used on sub-procedures like *OMIT/*Nopass. Didn't we use those any way? I thought we were writing programs that did or did not necessarily get parms depending what called them using those keywords? To be honest, I know I can look it up but what the bloody hell is a sub-procedure?
My answer started off little then got into the huge waffling email stage. Bear in mind this is a very high level overview and not designed to get into the nitty-gritty of anything. Anyway, I just decided to copy/paste it here for future reference.
*OMIT/*NOPASS makes parameters funky
*OMIT - Lets you send a parameter as a value or as *nulls
Lets you use the *OMIT keyword when calling you program. So, if you just dont want to pass anything, you can say *OMIT - I think it just passes *NULLS and in the program that is being called you would say something like
if %addr( parm1 ) = *NULL ; parmvalueinprogram = 'something'; else ; parmvalueinprogram = 'parm1'; endif ;
*NOPASS - lets you just neglect to pass anything at all
Don't even bother. I think it just passes *NOTHING and in the program that is being called you would say something like