|
Proc1 receives an arg that is *NoPass: pProc1 b dProc1 pi d InArg1 n options(*NoPass) /free Proc2( InArg1 ) ; /end-free p e and passes it along to Proc2 which also defines the arg as *NoPass: pProc2 b dProc2 pi d InArg1 n options(*NoPass) /free if %parms >= 1 ; dsply 'Arg1 is passed' ; endif ; /end-free p e In practice, Proc2 always thinks it was passed an argument. Even when Proc1 is called without an arg value. Shouldnt passing a not passed *NoPass argument either signal an exception or pass along the *NoPass indicator? I was hoping that options(*NoPass:*Omit) was the answer. That a missing arg value would be passed as *Omit and passed downstream as *Omit also. But it does not work that way. Unless Proc1 is called as "Proc1( *Omit ) ;", Proc2 will think it was passed something. Steve Richter
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.