× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



BTW, this is all being done green-screen, editing with SEU (and please don't even go there).

Within my new program, I am calling both CRTBNDRPG and CRTSQLRPGI, because those are the commands that are run by PDM option 14 (and yes I'm showing my age now).

Mark, I took your advice and added COMPILEOPT('OUTPUT(*NONE)') to both compile commands in my program, and it caused two different results. The SQLRPGLEs are now functioning correctly (no output). The RPGLEs are still generating output.

The plot thickens...



On 8/6/2019 8:24 AM, Mark Murphy wrote:
CRTSQLRPGI is an odd command as it really starts a pre-compiler, and
parameters for the command are for that pre-compiler, not the compiler. The
pre-compiler creates an RPG source and then executes CRTBNDRPG or
CRTRPGMOD. The OUTPUT(*NONE) parameter applies to the pre-compiler output,
not to the compiler output, and it is not passed along to CRTBNDRPG. But
there are a few things you can do. Create a command override for CRTBNDRPG
which includes OUTPUT(*NONE), or you can use COMPILEOPT('OUTPUT(*NONE)')
which passes OUTPUT(*NONE) to the compiler. In order to prevent all output,
you need both. OUTPUT(*NONE) prevents the spool file generated by the
pre-compiler, and COMPILEOPT('OUTPUT(*NONE)') stops the spool file
generated by the compiler.

On Mon, Aug 5, 2019 at 12:21 PM T. Adair <tadair@xxxxxxxxxxxxxxxx> wrote:

I am currently creating an application to compile all RPGLE/SQLRPGLE
programs that reference a particular file. I call my new CL pgm with a
single parameter of the filename, which then passes it into my new RPGLE
program, which then loops through and compiles every program that
references the filename passed. This is working very well with one
exception - the CRTBNDRPG & CRTSQLRPGI commands that I build within the
new program specify OUTPUT(*NONE), and yet the compile listings are
generated anyway. I can run the exact same command interactively and it
does not generate the compile listings. Why do these commands, when
built & run within my new RPG program, ignore the OUTPUT(*NONE)
directive? I have debugged my new program and the command is absolutely
correct. Example...:

cmd = 'CRTBNDRPG PGM(' + %trim(whlib) + '/' +
%trim(whpnam) + ') SRCFILE(' + %trim(whlib) +
'/QRPGLESRC) SRCMBR(' + %trim(whpnam) + ') ' +
'OUTPUT(*NONE) ' +
'DBGVIEW(*ALL) FIXNBR(*ZONED *INPUTPACKED)';
success2 = *on;
monitor;
qcmdexc( cmd : %len( %trim( cmd )));
on-error *ALL;
success2 = *off;
endmon;

Could it have something to do with the Monitor process? It's working
perfectly except that it generates the compile listing every time, even
though I've included the OUTPUT(*NONE) parm. I can debug and copy/paste
the exact command that's being generated on an interactive command-line,
and it works perfectly (no printout).

The field 'cmd' is plenty long enough, so that's not the problem. We're
currently on 7.2, but will be moving to 7.3 systems over the next few
months.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.