|
Thank you.
eric.delong@pmsi-services.com on 05/26/2000 04:18:05 PM
Please respond to RPG400-L@midrange.com@Internet
To: RPG400-L@midrange.com@Internet
cc:
Fax to:
Subject: Re: 'system' function, was Re: Re[2]: Retrieving Spool File
My example did not show this, but often I use something like:
C If 0 <> System('command')
C* Error handler
C Select
C When ErrorCFP='CPFxxxx'
C* Fix Stuff
C EndSL
C EndIf
The above code would not even need a defined ErrorFlag.
I can't say how it compares to QCAPCMD, but it is superior to
QCMDEXC. One of the main advantages I've see is when applying
overrides to UC files, when using QCMDEXC I had to specify
OVRSCOPE(*JOB) so that the overrides were still applicable when
returning to the RPG program. System seems to execute at the same
call level as the calling program, so the OVRSCOPE parm is not
necessary. Makes life a bit simpler.
Here's a link to V4R3 online docs.
http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/QB3AT800/1.2.204
hth
eric.delong@pmsi-services.com
______________________________ Reply Separator _________________________________
Subject: 'system' function, was Re: Re[2]: Retrieving Spool File Name
Author: <RPG400-L@midrange.com> at INET_WACO
Date: 5/25/00 8:44 AM
I stand corrected. I was using a wrapper to QCAPCMD
which returns the error message number.
Does one use the ErrorFlag usually, or do you use the
imported variable instead? (I almost asked how you
convert the ErrorFlag into the ErrorCPF until I remember
you can import variables along with subprocedures.)
I know that QCAPCMD can do a bazillion other functions,
but, for this part of it, is there any advantage to one
versus the other?
Uh, can you pass a link to this manual?
I haven't finished the whole RPG redbook yet. Is this covered?
I am just on my way to the 'library' after I finish this
memo.
eric.delong@pmsi-services.com on 05/24/2000 06:40:45 PM
Please respond to RPG400-L@midrange.com@Internet
To: RPG400-L@midrange.com@Internet
cc:
Fax to:
Subject: Re[2]: Retrieving Spool File Name in RPG
System is a C runtime function. I use it all the time.
H DATFMT(*ISO) BNDDIR('QC2LE') DFTACTGRP(*NO)
* Prototyped Procedures / Functions ............................
D ErrorCPF S 7 import('_EXCP_MSGID')
D ErrorFlag S 10i 0
D System PR 10i 0 extproc('system')
D Cmd * value options(*string)
C EVAL ErrorFlag = System('CLRPFM +
C FILE(PHPARV4)')
eric.delong@pmsi-services.com
______________________________ Reply Separator
_________________________________
Subject: Re: Retrieving Spool File Name in RPG
Author: <RPG400-L@midrange.com> at INET_WACO
Date: 5/24/00 2:35 PM
system must be a wrapper someone at your company wrote. I do a
WRKOBJ SYSTEM and do not find it.
pcunnane@learningco.com on 05/24/2000 01:44:40 PM Please respond to
RPG400-L@midrange.com@Internet To:
RPG400-L@midrange.com@Internet
cc:
Fax to:
Subject: Re: Retrieving Spool File Name in RPG
[While tossing about possible methods to set the USRDTA value of the spool
files, the programmers responsible for the application programming stated
that they did not feel it was productive to create a CL for every RPG that
would need to set the USRDTA value and wanted to accomplish this from
within the RPG program. This would avoid coding lots of CL's that merely
passed parameter strings after doing an OVRPRTF. Perhaps this is a valid
objection, perhaps it isn't. I'm not really able to influence their
preference, in any event I figured that what they wanted to do ought to be
easily accomplished from within the RPG with a bit of thought.]
Maybe I'm missing something here, but couldn't you do the override
within the RPG program? Set the printer file to USROPN, use the
system() API (or QCMDEXC) to override the printer file, and then OPEN
the file?
Fprinter o e printer usropn
F
D system pr 10i 0 extproc('system')
D cmd * const options(*string)
D
D UserData s 10a
D
C callp system('ovrprtf printer usrdta('
C + UserData + ')')
C
C open printer
Maybe I've misinterpreted your requirement.
--
Paul
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.