× 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.



And for what it's worth, since the QIBM_QCA_CHG_COMMAND examples seem to
be rare:

/copy qrpgsrc,umedheader
/Free
// QIBM_QCA_CHG_COMMAND Program for OVRPRTF to get practice code
in all spool files

Dcl-F Mctl Usage(*Input);

// *ENTRY
Dcl-PI PRACSPLF ExtProc('PRACSPLF');
changeCommandExitInfo Char(32767);
replacementCommand Char(32000);
replacementLength Int(10);
END-PI;

Dcl-Ds Chgc0100 Based(Chgc0100Pointer) Qualified;
exitPoint Char(20);
exitPointFormat Char(8);
commandName Char(10);
library Char(10);
changeAllowed Char(1);
prompt Char(1);
reserved Char(2);
commandOffset Int(10);
commandLen Int(10);
proxyOffset Int(10);
proxyEntries Int(10);
END-DS;

Dcl-s command Char(32000) Based(commandPointer);
Dcl-s incomingLength Int(10);
Dcl-s replacement Char(32000);

// Overlay CHGC0100 format on entry parm.
Chgc0100Pointer = %Addr(changeCommandExitInfo);
// Overlay Command
commandPointer = Chgc0100Pointer + Chgc0100.commandOffset;
incomingLength = Chgc0100.commandLen;

// Load original command into the replacement command
replacement = %Subst(command:1:incomingLength);

// If I can't get MCTL then I don't need to do anything.
Monitor;
Chain 1 Mctl;

// Check for USRDFNDTA
If %Scan('USRDFNDTA':replacement) = 0;
replacement = %Trim(replacement)
+ ' USRDFNDTA(''Prac:' + Ctprcd
+ ' ' + Ctprnm + ''')';
ENDIF;
On-Error;
EndMon;

replacementCommand = replacement;
replacementLength = %Len(%Trim(replacementCommand));

*Inlr = *On;
Return;

With thanks to Buck - since I started with his Datastructure from an old
message.




Kevin Bucknum
Senior Programmer Analyst
MEDDATA/MEDTRON
Tel: 985-893-2550

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf
Of Kevin Bucknum
Sent: Friday, July 7, 2017 3:44 PM
To: Midrange Systems Technical Discussion
Subject: RE: Exit point like functionality for spool files.

Still testing, but so far this looks to be the winner. It doesn't hit
100% of my
use cases, but it appears to be close enough that I can hold them off
until
they want to budget some real programming time.




Kevin Bucknum
Senior Programmer Analyst
MEDDATA/MEDTRON
Tel: 985-893-2550

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On
Behalf Of
Paul Roy
Sent: Friday, July 7, 2017 1:45 PM
To: Midrange Systems Technical Discussion
Subject: Re: Exit point like functionality for spool files.

Hi Kevin,

you could possibly modify the behavior of the OVRPRTF command using
the
Change Command exit point... registering OVRPRTF

a possible scenario could be
- assuming you have a way to retrieve client code from a
temporary data
area or a data base
- in the exit point program you retrieve the client code and
modify the
command string forcing for example TOSTMF(/&client/... )
WSCST(*PDF)

I did not test it but just an idea...

kind regards
Paul









From: Vernon Hamberg <vhamberg@xxxxxxxxxxxxxxx>
To: midrange-l@xxxxxxxxxxxx
Date: 07/07/2017 19:31
Subject: Re: Exit point like functionality for spool files.
Sent by: "MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx>



Kevin

IIRC there are a couple printing exit points - one where I think you
list OUTQs,
then an entry goes on a DTAQ when some status changes for spooled
files.

I did see another one in a Google, something about network printing.

I just looked in Knowledge Center - in there go to Programming, then
Apis,
then API Finder and go to the bottom of that page, where you can
search by
groups - one of those is "all exit programs" or something - in THAT
list there
are a couple items on DTAQ support for spooled files.
Things like SPLF creation and SPLF ready stuff.

Might give you something to use, eh?

HTH
Vern

On 7/7/2017 8:41 AM, Kevin Bucknum wrote:
Our setup has a common program library, a common data library, and
a
client specific library. As we switch from client to client, our
menu
programs set the current library to the client specific library.
The
powers that be are rolling out a new document management system
that
they want to bolt on to an existing workflow that uses a home
grown
spool file routing system that converts files to PDF's and can
then
route them various ways.



The problem I need to solve is that in order to automate the
workflow
in the document management system, I need the client code in the
PDF
file name. The options I have considered are: Go into each program
and
update the OVRPRTF that is already in the 99% of the programs to
stuff
the client code in the SPLFA's. Create separate outq's in the
routing
system and have those adjust the naming based on the outq used.
One
is
more work than I would like to do, and doesn't address thinks like
ad
hoc queries, and the other relies on the users knowing which outq
to
use, and then actually sending the spool file there. The 99% of
programs that have OVRPRTF's already use QPRINT and QSYSPRT as the
base PRTF. Unless I can come up with a better way, right now my
plan
is to put a modified copy of QPRINT, QSYSPRT, QPQUPRFIL and
possibly
a
few other print files into each client library with modified
USRDFNDTA
to indicate the client, and then have the master routing program
look
at that to create the file name.



Is there some sort of exit point that I'm not seeing that would
allow
me to modify the SPFLA at creation time? I see some security exit
points, and some for network print server, but too many of our
users
bypass the security requirements of the exit point, and my
understanding is that the network print server isn't involved in
regular 5250 spool file creation and printing.




--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take
a moment to review the archives at
http://archive.midrange.com/midrange-
l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: http://amzn.to/2dEadiD

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take
a moment to review the archives at
http://archive.midrange.com/midrange-
l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: http://amzn.to/2dEadiD
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
http://archive.midrange.com/midrange-
l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.