But we've started to gradually replace green screen development with .NET web front-ends.
...so where does Angular/React fit in here? I'm a tad confused (as usual!) about the mix of .NET and the JS frameworks for the front-end. Especially in the light of this sentence...

If we adopt node, then we could also take advantage of .NET Core JavaScript Services, which allows .NET apps to incorporate node modules and custom JavaScript functions running on node on windows.
...which seems to imply .NET on the server side?

In any case, I think my advice would remain the same - make your existing backend application available as a web service. If you have .NET developers writing fat clients then I would refactor these so that they no longer communicate with the IBM i via ADO but using web service calls too, this gives you many advantages, not least of which means that you can use exactly the same web services to write web applications as you can to write your .NET clients.






________________________________
From: WEB400 <web400-bounces@xxxxxxxxxxxx> on behalf of Kelly Cookson <KCookson@xxxxxxxxxxxx>
Sent: 10 April 2018 14:32
To: Web Enabling the IBM i (AS/400 and iSeries)
Subject: Re: [WEB400] ibm_db node module and IBM Data Server Driver

Basically, yes. We have a lot of COBOL legacy that we want to keep using. But we've started to gradually replace green screen development with .NET web front-ends.

Our .NET developers used to connect to the IBM I via database drivers (SQL for DB2 tables and stored procedures for COBOL programs). But the drivers they were using had a dependency on ADO.NET. ADO.NET is not supported in the new .NET Core framework. Hence, we're looking into our options.

I was over-complicating things with ibm_db and node on windows. This approach would require the licensed product IBM Connect. My guess is that .NET developers could use drivers directly with IBM Connect.

One of the options we are considering is creating web services on the IBM i using Node.JS, Express and Node Toolkit for i. If we adopt node, then we could also take advantage of .NET Core JavaScript Services, which allows .NET apps to incorporate node modules and custom JavaScript functions running on node on windows. I was exploring ways we might leverage that capability. That's what lead to me asking about the ibm_db node module.

Thanks,

Kelly Cookson
IT Project Leader
Dot Foods, Inc.
217-773-4486 ext. 12676
https://eur02.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7Cc9c3cb9d471547e6f1e908d59edf2de6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636589603735738045&sdata=y7VMHiOamrlPBkSmstkbtq68UozrRYEEKnIhvLUD%2F1k%3D&reserved=0<https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7Cc9c3cb9d471547e6f1e908d59edf2de6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636589603735738045&sdata=N6Tq%2FHkyhv8Sr9veZxNO0L%2B2ZmxCOrzg9n%2BYeuOoKXU%3D&reserved=0>

From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Tim Fathers
Sent: Tuesday, April 10, 2018 3:23 AM
To: Web Enabling the IBM i (AS/400 and iSeries) <web400@xxxxxxxxxxxx>
Subject: [EXTERNAL] Re: [WEB400] ibm_db node module and IBM Data Server Driver

Based on your previous posts my understanding of your situation is this: you have quite a lot of legacy code in COBOL and such like, you want to interface that with some nice web front end using a web app framework like Angular or React and you're looking for the middleware "glue" to join these two worlds. The glue you're looking at is potentially NodeJs and/or some .NET middleware. If I've understood correctly (forgive me if not) I can't help thinking that you might be over-complicating things a bit.

If you're going to be writing SPA's then just need to expose your application as a RESTful-type API which accepts and returns JSON and there are quite a few options for doing this. One question I'm not clear on is where you see your application code being written in future - I think I gleaned from your posts that you wanted your legacy programmers to be able to continue to be productive and you weren't planning to move your backend code from COBOL to .NET or NodeJs. If this is the case then your middleware just needs to be able to interpret the incoming web requests, execute the appropriate backend code and return the results, you don't necessarily need any complicated logic in there. You can write or find existing frameworks to run SQL, call native programs, access native IBM i objects etc. etc. but you can simplify this even further by using stored procedures because they provide a uniform, consistent and secure way to do any of the previous things. Then your middleware Nod
eJs/.NET layer just needs to wire the correct web service call to the correct stored procedure call and do the JSON transformation of the parameters and results coming in and out. You can take this a step further, as we have, and make the whole thing entirely generic, so that new stored procedures can be exposed directly over the RESTful(ish) API, then you don't need to change or write any code in the middleware layer when your COBOL programmers write some new functionality that your web app builders want to use.

The middleware to do the above is relatively simple to write, I would guess ours is just a few hundred lines of Java at most and although I haven't got around to porting it to NodeJs it would be easy enough to do (and I'm not convinced about the benefits of doing so at the moment anyway). I'm sure a .NET version would be easy to do too.


________________________________
From: WEB400 <web400-bounces@xxxxxxxxxxxx<mailto:web400-bounces@xxxxxxxxxxxx>> on behalf of Kelly Cookson <KCookson@xxxxxxxxxxxx<mailto:KCookson@xxxxxxxxxxxx>>
Sent: 09 April 2018 15:28
To: Web Enabling the IBM i (AS/400 and iSeries)
Subject: Re: [WEB400] ibm_db node module and IBM Data Server Driver

Hi Tim,

Maybe I'm misunderstanding this, but it seems you want to
have a .NET application use a NodeJs wrapper to call an ODBC
driver (via ibm-db) to access the IBM i? In which case why not
just have the .NET application use the Client Access ODBC
driver directly, surely this must be possible? Why involve
NodeJs/ibm_db at all?

Yeah, with the DB2 Connect license, probably no ROI on doing what I proposed.

The .NET Core framework includes JavaScript Services. JavaScript services allow .NET programs to use JavaScript running on node under the covers. There are two main parts of JavaScript Services. First, SPA Services allow .NET to use single page apps developed with React, Angular and some other libraries/frameworks. Second, Node Services allow .NET to use the various JavaScript libraries available through npm. I was exploring options to make use of Node Services to connect to the IBM i.

The general idea would be to have JavaScript developers who could:

1. Develop IBM i web services that run in node on the IBM i.

2. Develop single page apps or UI components for .NET apps (using JavaScript services).

3. Develop functionality for .NET apps using npm modules (using JavaScript services - here is where I was exploring the idea of connections to IBM i DB2).

4. Develop mobile apps using JavaScript frameworks like Angular (we already do this).
Not sure we our shop will do 1-3 above. I'm just exploring options.

Thanks,

Kelly Cookson
IT Project Leader
Dot Foods, Inc.
217-773-4486 ext. 12676
https://nam02.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=TngyeFHzNZWWWMTVFPn888xHxWdA9KidiK7a4XF9WT4%3D&reserved=0<https://nam02.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=TngyeFHzNZWWWMTVFPn888xHxWdA9KidiK7a4XF9WT4%3D&reserved=0><https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=49kt51H6B1fmikNeoKhm5F8dKccYUG5JD1nl0DMj5qo%3D&reserved=0<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=49kt51H6B1fmikNeoKhm5F8dKccYU
G5JD1nl0DMj5qo%3D&reserved=0>>

From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Tim Fathers
Sent: Monday, April 09, 2018 4:29 AM
To: Web Enabling the IBM i (AS/400 and iSeries) <web400@xxxxxxxxxxxx<mailto:web400@xxxxxxxxxxxx>>
Subject: [EXTERNAL] Re: [WEB400] ibm_db node module and IBM Data Server Driver

4. So, could a person do something like this?
a. A .NET Core web app uses Node Services to access the ibm_db node module.

Maybe I'm misunderstanding this, but it seems you want to have a .NET application use a NodeJs wrapper to call an ODBC driver (via ibm-db) to access the IBM i? In which case why not just have the .NET application use the Client Access ODBC driver directly, surely this must be possible? Why involve NodeJs/ibm_db at all?

c. This connection is then used for SQL against database tables and/or for calling CL and COBOL programs using stored procedures.

Personally I wouldn't allow SQL against the database, only stored procedure calls. One thing with the ibm_db driver, that I mentioned before I think, it that is doesn't support the retrieval of meta-data from the stored procedure result sets. This may or may not be an issue for you but for my framework this is a showstopper at the moment which is one of the reasons why I haven't ported of from Java to Node. If you cannot get the meta-data it makes it impossible to know what data-type each column is and therefore you can't use this information to transform or format the data correctly in a generic way.


________________________________
From: WEB400 <web400-bounces@xxxxxxxxxxxx<mailto:web400-bounces@xxxxxxxxxxxx<mailto:web400-bounces@xxxxxxxxxxxx%3cmailto:web400-bounces@xxxxxxxxxxxx>>> on behalf of Kelly Cookson <KCookson@xxxxxxxxxxxx<mailto:KCookson@xxxxxxxxxxxx<mailto:KCookson@xxxxxxxxxxxx%3cmailto:KCookson@xxxxxxxxxxxx>>>
Sent: 08 April 2018 20:34
To: Web Enabling the IBM i (AS/400 and iSeries) (web400@xxxxxxxxxxxx<mailto:web400@xxxxxxxxxxxx<mailto:web400@xxxxxxxxxxxx%3cmailto:web400@xxxxxxxxxxxx>>)
Subject: [WEB400] ibm_db node module and IBM Data Server Driver

Hi,

I would like to pick people's thoughts on an idea.


1. I just came across the ibm_db node module at npm: https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fibm_db&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=EF3xiaMapYby74ikImGZmnXtPV2ha4gjabos4MHpa8c%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fibm_db&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=EF3xiaMapYby74ikImGZmnXtPV2ha4gjabos4MHpa8c%3D&reserved=0><https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fibm_db&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=EF3xiaMapYby74ikImGZmnXtPV2ha4gjabos4MHpa8c%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fibm_db&dat
a=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=EF3xiaMapYby74ikImGZmnXtPV2ha4gjabos4MHpa8c%3D&reserved=0>>. It looks to me like this will run in node on windows.


2. It also looks like the ibm_db node module can access DB2 on the IBM i, thanks to the IBM Data Server Driver for ODBC and CLI. (https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fcommunity%2Fblogs%2Fpd%2Fentry%2Fusing_ibm_db2_from_node_js4%3Flang%3Des&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=QFxpaERPQoWvjJuRNWg8k8DubO%2FgosJFygsBcVv9te0%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fcommunity%2Fblogs%2Fpd%2Fentry%2Fusing_ibm_db2_from_node_js4%3Flang%3Des&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=QFxpaERPQoWvjJuRNWg8k8DubO%2FgosJFygsBcVv9te0%3D&reserved=0><https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fcommunity%2Fblogs%2Fpd%2Fentry%2Fusing_ibm_db2_from_node_js4
%3Flang%3Des&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=QFxpaERPQoWvjJuRNWg8k8DubO%2FgosJFygsBcVv9te0%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fcommunity%2Fblogs%2Fpd%2Fentry%2Fusing_ibm_db2_from_node_js4%3Flang%3Des&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=QFxpaERPQoWvjJuRNWg8k8DubO%2FgosJFygsBcVv9te0%3D&reserved=0>>)


3. The .NET Core framework has something called Node Services. Node Services allows .NET apps to use node modules (using node on windows under the covers).



4. So, could a person do something like this?

a. A .NET Core web app uses Node Services to access the ibm_db node module.

b. The ibm_db node module uses the IBM Data Server for ODBC and CLI to connect to a DB2 database on the IBM i.

c. This connection is then used for SQL against database tables and/or for calling CL and COBOL programs using stored procedures.

I'm not suggesting this is our preferred option. It's not even on the table for consideration yet. I would like to get some expert insights first (of which this list is full, and truly appreciated). Where does the above fall down or bite us?

Thanks,

Kelly Cookson
IT Project Leader
Dot Foods, Inc.
217-773-4486 ext. 12676
https://eur03.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=xvOu50a2RHe949PW7Hl1FqQQsO8FWTttNnlEDwlOci4%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=xvOu50a2RHe949PW7Hl1FqQQsO8FWTttNnlEDwlOci4%3D&reserved=0><https://eur03.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=xvOu50a2RHe949PW7Hl1FqQQsO8FWTttNnlEDwlOci4%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=xvOu50a2RHe949PW7Hl1FqQQsO8FWTttNnlEDwlOci4%3D&reserved
=0>><https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=B2slnsVZVDR6aLumpA6uq1dzDsl0hMfbcHnnDmF0GZY%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=B2slnsVZVDR6aLumpA6uq1dzDsl0hMfbcHnnDmF0GZY%3D&reserved=0><https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=B2slnsVZVDR6aLumpA6uq1dzDsl0h<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=B2slnsVZVDR6aLumpA6uq1dzD
sl0h>
MfbcHnnDmF0GZY%3D&reserved=0>>

--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx%3cmailto:WEB400@xxxxxxxxxxxx>>
To subscribe, unsubscribe, or change list options,
visit: https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=yxT7ZNU%2BA8pXtpAm0GfnE9NogQ9n%2BoEo%2FuwucxHVrqo%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=yxT7ZNU%2BA8pXtpAm0GfnE9NogQ9n%2BoEo%2FuwucxHVrqo%3D&reserved=0><https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=yxT7ZNU%2BA8pXtpAm0GfnE9NogQ9n%2BoEo%2FuwucxHVrqo%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.c
om%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=yxT7ZNU%2BA8pXtpAm0GfnE9NogQ9n%2BoEo%2FuwucxHVrqo%3D&reserved=0>>
or email: WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx%3cmailto:WEB400-request@xxxxxxxxxxxx>>
Before posting, please take a moment to review the archives
at https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=4JxkDh%2BXUquzP%2FGnjqgsdG%2F6UpgiXEY4VWX98XF%2BEGY%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=4JxkDh%2BXUquzP%2FGnjqgsdG%2F6UpgiXEY4VWX98XF%2BEGY%3D&reserved=0><https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=4JxkDh%2BXUquzP%2FGnjqgsdG%2F6UpgiXEY4VWX98XF%2BEGY%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d
59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=4JxkDh%2BXUquzP%2FGnjqgsdG%2F6UpgiXEY4VWX98XF%2BEGY%3D&reserved=0>>.

--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx%3cmailto:WEB400@xxxxxxxxxxxx>>
To subscribe, unsubscribe, or change list options,
visit: https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=o0ljXdlBhXg7BbahacXN9PFTnpWJVLMUx%2FtMuxwqkcY%3D&reserved=0<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=o0ljXdlBhXg7BbahacXN9PFTnpWJVLMUx%2FtMuxwqkcY%3D&reserved=0><https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=o0ljXdlBhXg7BbahacXN9PFTnpWJVLMUx%2FtMuxwqkcY%3D&reserved=0<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman
%2Flistinfo%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=o0ljXdlBhXg7BbahacXN9PFTnpWJVLMUx%2FtMuxwqkcY%3D&reserved=0>>
or email: WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx%3cmailto:WEB400-request@xxxxxxxxxxxx>>
Before posting, please take a moment to review the archives
at https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=UCETsQyOIivJskkNNYjkuM9Dd8JUtnsDGYIoSwwNpbc%3D&reserved=0<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=UCETsQyOIivJskkNNYjkuM9Dd8JUtnsDGYIoSwwNpbc%3D&reserved=0><https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=UCETsQyOIivJskkNNYjkuM9Dd8JUtnsDGYIoSwwNpbc%3D&reserved=0<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f6
40afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=UCETsQyOIivJskkNNYjkuM9Dd8JUtnsDGYIoSwwNpbc%3D&reserved=0>>.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx>
To subscribe, unsubscribe, or change list options,
visit: https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=o0ljXdlBhXg7BbahacXN9PFTnpWJVLMUx%2FtMuxwqkcY%3D&reserved=0<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=o0ljXdlBhXg7BbahacXN9PFTnpWJVLMUx%2FtMuxwqkcY%3D&reserved=0>
or email: WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx>
Before posting, please take a moment to review the archives
at https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=UCETsQyOIivJskkNNYjkuM9Dd8JUtnsDGYIoSwwNpbc%3D&reserved=0<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7C5232625a328345a35a1708d59e1de88a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588773641718515&sdata=UCETsQyOIivJskkNNYjkuM9Dd8JUtnsDGYIoSwwNpbc%3D&reserved=0>.

--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx>
To subscribe, unsubscribe, or change list options,
visit: https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cc9c3cb9d471547e6f1e908d59edf2de6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636589603735738045&sdata=kMUHXL4EgrICa3J1bj0ECGc0oN9t%2BZFqXpZd0tG6JDE%3D&reserved=0<https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cc9c3cb9d471547e6f1e908d59edf2de6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636589603735738045&sdata=kMUHXL4EgrICa3J1bj0ECGc0oN9t%2BZFqXpZd0tG6JDE%3D&reserved=0>
or email: WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx>
Before posting, please take a moment to review the archives
at https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cc9c3cb9d471547e6f1e908d59edf2de6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636589603735738045&sdata=12zB8mverYbtKN55gABGBs%2BX%2BkrMBCZdZdVJo7vKTFU%3D&reserved=0<https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cc9c3cb9d471547e6f1e908d59edf2de6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636589603735738045&sdata=12zB8mverYbtKN55gABGBs%2BX%2BkrMBCZdZdVJo7vKTFU%3D&reserved=0>.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cc9c3cb9d471547e6f1e908d59edf2de6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636589603735738045&sdata=kMUHXL4EgrICa3J1bj0ECGc0oN9t%2BZFqXpZd0tG6JDE%3D&reserved=0
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cc9c3cb9d471547e6f1e908d59edf2de6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636589603735738045&sdata=12zB8mverYbtKN55gABGBs%2BX%2BkrMBCZdZdVJo7vKTFU%3D&reserved=0.


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.