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



Anyone...

So, I have some questions which somebody may be able to answer (I know
this subject has been discussed in the past, but I'm looking for any new
information):
 
I have developed a web-enablement application which uses the 5250 data
stream to build  a web page (basically a fancy screen-scraper). This
works fine, but obviously because it uses the datastream, it hits
problems with interactive CPW, which is an issue for some of my
customers who aren't on big enterprise boxes, so I'm trying (as many
others have done in the past) to get round the problem in a legal way
(obviously!), without involving a change to the programs (a la Joe
Pluta's method) since my customers wouldn't accept major changes tho
their code.

Now my original thought was to forge a pointer to the QWSGET/QWSPUT
programs (in a copy of the SEPT from my PCO) and point to my own
intermediate programs (XWSGET/XWSPUT). Then in the XWS* programs
determine whether the job was running interactively (at which point my
program would call the 'real' QWS* programs) or in batch (at which point
it would call another one of my programs which would parse out the data
buffer and do stuff with that).

Eventually, I gave up on this, partly because it was such a HUGE hassle
and partly because I wouldn't really be able to include it in a packaged
application since it would be impossible to restore the XWS* programs on
a QSECLVL 40 or above machine without changing some security system
values (which DBA's are loath to do!), since they've been changed using
SST and therefore show up as 'dangerous'. I still have the programs
(which 'kind of' work), but they're a nightmare to debug and test...

But then, at COMMON, I was at a WebFacing presentation given by Satish
Gungabeeson and I noticed that a webfacing job is still technically an
interactive job AND it's still calling QWSGET/QWSPUT (which may be
subsequently calling QT3REQIO - I'm not sure). Having talked to Satish
afterwards, he as unwilling/unable to tell me exactly how the I/O
programs know that a job is a WebFacing job.

So, does anyone else know? I've tried dumping job structures in a
WebFacing and a non-WebFacing job to find a nice "This is a WebFacing
job" flag, but can't see any obvious difference. Maybe it simply checks
if the call-stack was started by WebFacing or includes the various
WebFacing controller programs - I dunno...

Also, if there IS a simple 'flag' and I can set it and then use the
data-buffers directly rather than the data-stream, would IBM consider
this 'illegal'? My guess would be "Hell, yes!", but I'd appreciate any
one else's POV. After all, if I'm not 'hacking' anything like some tools
in the past, then am I breaking the rules?

Regards,

Rory

p.s. Mark Waterbury gave Leif's MI programming presentation (in 2 parts,
'tho I was only able to see the first part) and it was both interesting
and informative (especially for relative newbies like me). But more
pictures next time showing the relative 'positions' of MI, SLIC, OS/400,
user programs etc. please!


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.