Re: calling a webservice using HTTPS from batch (and CICS)

2019-03-10 Thread Denis
If your https target has a determinable ip address port combination, then you 
can let the z/os networking guys onfigure SSL for you by using AT-TLS. Then you 
don't need to change anything on your program, the encryption will be 
transparent to your application and from the z/os tcpip stack to the endpoint. 
There will be no encryption internal to z/os from your application to the z/os 
tcpip stack.
So ask for an AT-TLS configuration.
Hope it helps,Denis.


-Original Message-
From: Bernd Oppolzer 
To: IBM-MAIN 
Sent: Sun, Mar 10, 2019 05:55 PM
Subject: calling a webservice using HTTPS from batch (and CICS)


Hello all,

some months ago, I wrote a program which allows to call webservices 
(HTTP POST or HTTP GET)
from batch programs, written in C or PL/1. The program (subroutine) is 
written in C
and uses the standard TCP/IP socket interface, available in the 
classical z/OS environment.
I am doing all the conversion work myself, and I build the necessary 
HTTP headers, and
analyze them on return. This works without problems.

When running under CICS, I provide the same interface to the callers, 
but I use the
EXEC CICS WEB CONVERSE calls instead (because CICS does not allow me to do
standard socket calls, when under CICS control).

Now the problem is: I am limited to HTTP at the moment, but customer's 
politics
requires me to do HTTPS in the middle and long term.

I have no idea what I need to do to provide HTTPS communication in the 
batch and
in the CICS case; what are my options and what is the easiest migration 
path?

Thank you all,
kind regards

Bernd

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: IMS/DLI Macros

2020-05-28 Thread Denis
IMSHLQ.SDFSMAC


-Original Message-
From: Neale Ferguson 
To: IBM-MAIN 
Sent: Thu, May 28, 2020 12:47 PM
Subject: IMS/DLI Macros


What maclib(s) would I find the macros used to generate DLI databases and 
screen definitions?

Neale Ferguson


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Using bpxbatch to compress an MVS dataset

2019-06-30 Thread Denis
I wonder if the jar command of the Java SDK in z/OS creates gzip compatible jar 
files, which in Windows can be extracted/used by renaming Form .jar to .ZIP.I 
cannot remember if the jar compression uses ziip.Any file type can be added to 
a jar, but I have not tried dd names.

-Original Message-
From: Donald Russell 
To: IBM-MAIN 
Sent: Sun, Jun 30, 2019 09:21 PM
Subject: Re: Using bpxbatch to compress an MVS dataset


I sincerely appreciate people’s feedback on this subject but the problem
I’m trying to solve is how to compress the file, not whether compression is
needed. The decision to compress was made based on frequency of use,
bandwidth between source and destination and difference in file
size/transmission time, the value of that benefit etc.

Currently I use pkzip to create a gzip file. If I can accomplish this with
bpxbatch then I may be able to cancel the pkzip license. The other aspect
is I’d like to run this on an mvs system that doesn’t have non-ibm products
on it so bpxbatch may be available whereas pkzip is not.

Don



On Sun, Jun 30, 2019 at 10:51 Thomas Kern <
0041d919e708-dmarc-requ...@listserv.ua.edu> wrote:

> Another consideration is how many times the compressed file would be
> transferred. We used to host lots of documents on our mainframe to be
> served out on a website. When the transfer load became noticeable on the
> performance reports, we started compressing the most common documents.
> The transfer load dropped dramatically and Management decided to
> compress all documents before loading them into the website.
>
>
> /Tom Kern
>
> On 06/30/2019 12:45, Donald Russell wrote:
> > I???m not considering the cost of compression  in relation to the
> transfer
> > savings because the size of the files is huge (several million lines of
> > text) that compress really well. Pkzip/gzip seems to get well over 80%
> > compression. Then yes, after the mvs job step runs, the ftp target is in
> > another city or even continent, and the ftp traffic is encrypted inflight
> > using ftps.
> >
> > My goal is to to compress the text file prior to ftp.
> >
> > Can bpxbatch programs like tar read/write from/to dd names, or fully
> > qualified dataset names instead of Unix-like file paths?
> >
> > Don
> >
> >
> > On Sun, Jun 30, 2019 at 09:19 Steve Thompson  wrote:
> >
> >> If this file is being sent inside your firewall, the time and CPU cycles
> >> will cost more than the ftp. This is based on experiences using MFT
> >> products. (Basically what Gadi said).
> >>
> >> We found in testing that compressing was really only useful with small
> >> pipes. Of course, there is a ratio between number of bytes to transfer
> and
> >> bandwidth in determining the effectiveness of the compression (and
> >> compression method).
> >>
> >> Now, if this is confidential data, and is going outside of your
> firewall,
> >> you have to consider encryption. Compress first, then encrypt, because
> >> encrypted data is generally uncompressable.
> >>
> >> HTH
> >> Steve Thompson
> >>
> >> Sent from my iPhone ??? small keyboarf, fat fungrs, stupd spell manglr.
> >> Expct mistaks
> >>
> >>
> >>> On Jun 30, 2019, at 12:05 PM, Gadi Ben-Avi  wrote:
> >>>
> >>> If both systems are on the same physical computer, it might not be
> worth
> >> it.
> >>> The time and cpu cycles it would take to compress and uncompress might
> >> take longer than transferring the un compressed file.
> >>>
> >>>
> >>> -Original Message-
> >>> From: IBM Mainframe Discussion List  On
> >> Behalf Of Donald Russell
> >>> Sent: Sunday, June 30, 2019 6:58 PM
> >>> To: IBM-MAIN@LISTSERV.UA.EDU
> >>> Subject: Using bpxbatch to compress an MVS dataset
> >>>
> >>> I have a batch process in zOS 2.1 (soon to be 2.3) that creates a large
> >> text file I want to FTP to a zLinux system.
> >>> How can I use bpxbatch tar or compress (or ?) to create a smaller file
> I
> >> can ftp instead instead of the original file? I don???t want to use
> pkzip
> >> unless that???s the only choice. Terse is no good because Linux can???t
> unterse
> >> it.
> >>> Is there a way to specify a DD name for the input and output files,
> >> similar to how FTP allows put/get //DD:
> >>> Part two... the text in the file is EBCDIC, but Linux wants ASCII. I
> >> don???t see an option to do the conversion.
> >>> I???ll have to check tr, but maybe there???s a way to use more
> traditional
> >> Unix syntax like
> >>> cat //dd:in | tr ... | tar -cv //dd:out
> >>>
> >>> Cheers,
> >>> Don
> >>>
> >>> --
> >>> For IBM-MAIN subscribe / signoff / archive access instructions, send
> >> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> >>> --
> >>> For IBM-MAIN subscribe / signoff / archive access instructions,
> >>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> >> ---

Re: Unzip on z/OS ?

2023-03-23 Thread Denis
If you have Java on z/OS, try the jar command.jar xf zipfile


-Original Message-
From: MARTIN, MIKE <04b29373b847-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Thu, Mar 23, 2023 3:33 pm
Subject: Unzip on z/OS ?

Hi all,

(This seems like one of those easy answers to find, but I'm not having much 
luck)

We have z/OS 2.4 and we are wondering if we can unzip an ASCII file that was 
zipped on the Windows platform.

I've seen references to gzip, Ported Tools, 3rd party software.  What are our 
options for unzipping a file with the z/OS 2.4?

Mike Martin

This email may contain confidential and privileged material for the sole use of 
the intended recipient. If you are not the intended recipient, please contact 
the sender and delete all copies. Any review or distribution by others is 
strictly prohibited. Personal emails are restricted by policy of the State 
Employees' Credit Union (SECU).  Therefore SECU specifically disclaims any 
responsibility or liability for any personal information or opinions of the 
author expressed in this email.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: [EXT] Re: Invoke Java from Assembler

2023-07-12 Thread Denis
 Hi Robert,

IMS uses the CEEPIPI approach to make the JVM persistent, but thats actually 
only needed if multiple modules are serially executed and (speaking with COBOL) 
end with a GOBACK. The GOBACK of the first module called would terminate the LE 
enclave (and as such the JVM) so CEEPIPI is used to allow the next program to 
work the same way without tiering down the JVM.
The COBOL (and C JNI) work like this, you start a program e.g. with JCL 
PGM=PROG1. Enterprise COBOL initializes the JVM (CreateJavaVM and 
AttachCurrentThread JNI calls under the covers if I remember correctly, in C 
and e.g. PL/I you do that by yourself and the environment for the JVM is 
pointed to by _CEE_ENVFILE) and with that JVM pointer you can do any number of 
JNI calls (e.g. call Java methods) and after each call the calling program is 
returned control. The JNIEnvPtr will be valid as long as the JVM or the LE 
enclave stay up.You can do the same thing in assembler, but you need an LE 
enclave with POSIX(ON) and XPLINK(ON) since the JVM on z/OS is written in C and 
requires those settings (in addition that up to Java 8 the 31bit version of 
Java needs to be used). But if the inital assembler uses CEEENTRY and CEETERM 
it will be quite easy to achieve, because it would create the LE enclave and 
remain until the initial assembler ends. From that first module you can call 
any non LE assembler as you like.The JVM can be ended by using JNI call 
DestroyJavaVM to make sure any unfinished work on the Java side is ended (as 
opposed to just end the first module and terminate the JVM together with the LE 
enclave and the address space).
One question is, why would you need to make the JVM persistent with CEEPIPI in 
batch?You can do PROG1 call anything then return, PROG1 call Java then return 
as long and as many times as you want without the need of CEEPIPI and reusing 
the JVM - since its not terminated after return from Java.
But to make it more complicated, since Java 11 for z/OS there is no 31bit JVM 
anymore and the JVM will be in a secondary 64bit LE enclave. There is a 
libjvm31.so shared library which can be used to make the JNI calls work, with 
the difference that most references require 64bit parameters. (Under the covers 
CEL4RO64 service is 
used)https://www.ibm.com/support/pages/enhancement-coboljni-interface

For now, I think the easiest way to do it, is in COBOL.
Hope that helps,Denis.
On Wednesday, July 12, 2023 at 02:40:08 PM GMT+2, Crawford Robert C 
(Contractor) <04e08f385650-dmarc-requ...@listserv.ua.edu> wrote:
 
 
 Thanks, Allan.

Back in the 90's I used CEEPIPI to create a persistent C enclave I could call 
from Assembler because building the environment is expensive.  Unfortunately, 
CEEPIPI documentation is kind of scarce.  What we do find doesn't give us very 
many clues for how to get to Java.

Robert Crawford
Abstract Evolutions LLC
(210) 913-3822

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
allan winston
Sent: Tuesday, July 11, 2023 5:22 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: [EXT] Re: Invoke Java from Assembler

Robert,

  This reminds me of a situation I ran into 25 years ago involving assembler 
and COBOL.  Granted, COBOL and Java are different environments, but there may 
be enough similarity in the issues to be relevant.

    We had an assembler main program that called a COBOL subroutine repeatedly. 
 It was chugging along just fine until LE maintenance showed a large spike in 
CPU time within LE library routines, as shown by Strobe.
It seemed as though the LE environment was constantly being created and torn 
down. I did look into solutions, such as using CEEPIPI, but this program was a 
major CPU consumer in this shop and we needed a quick solution.  The solution I 
proposed and was implemented was to create a new main program, written in 
COBOL, that called the former assembler main program.  That way the new main 
program established the LE environment that persisted until the program 
terminated.

  So, ALC calling COBOL changed to COBOL calling ALC calling COBOL.
In your case: Java calling COBOL changed to COBOL calling Java calling COBOL.

  I have never used Java, so this is somewhat a shot in the dark.

  I should have created an ETR on IBMLINK about the increased CPU overhead, but 
did not bother since we had a circumvention.

    Allan

On Tue, Jul 11, 2023 at 5:58 PM Crawford Robert C (Contractor) < 
04e08f385650-dmarc-requ...@listserv.ua.edu> wrote:

> We're interested in invoking Java from assembler in batch.  
> Specifically, we'd like to create a persistent Java environment we can 
> call repeatedly and terminate when we're through.
>
> Has anyone done this?  Is the LE pre-initialization module CEEPIPI 
> worth exploring?
>
> Thanks.
>
> Robert Crawford
> Abstract Evolutions LLC
> (210) 913-3822
>
>
> -

Re: Utility to Read from JES2 spool

2023-09-29 Thread Denis
 How about IBM Z Open Automation Utilities, there is a free version without 
subscription and support.
jls to find the job id
https://www.ibm.com/docs/en/zoau/1.2.x?topic=reference-jls
ddls to list ddnames for a given job id
https://www.ibm.com/docs/en/zoau/1.2.x?topic=reference-ddls
then pjdd to print the output for a given job id and job dd
https://www.ibm.com/docs/en/zoau/1.2.x?topic=reference-pjdd
Those are unix commands, so you could write a script and run it with BPXBATCH 
and then copy or print to Dataset.

Denis.

On Friday, September 29, 2023 at 04:10:17 PM GMT+2, Roberto Halais 
 wrote:  
 
 Listers:

Is there an z/os utility that will allow the reading of a spool file (in
some class) and copy it to a sequential dataset?

We need to read a report from spool and copy it o a sequential dataset.
Just a z/os utility or a CBT tape utility.
Thank you for any pointers.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  


Re: CEE3512S / CSV034I

2023-11-09 Thread Denis
 Hi Henri,
if you google the reason code you find other entries that point to not enough 
region size. So try increasing the region size?
Denis.

On Thursday, November 9, 2023 at 10:31:52 PM GMT+1, Henri Kuiper 
 wrote:  
 
 Heya Fellow Mainframers,

I'm trying to do some 'normal ES256K' JWT token signage with python...

on my 'test SYSPLEX' this works like a charm.yet one hop over I get the
following

CEE3512S An HFS load of module
/.../site-packages/cryptography/hazmat/bindings/_openssl.abi3.so
failed. The system return code was 000157; the reason code was
0BDF019B.

MSGTXT: CSV034I PGMF FETCH FAILED FOR THE REQUESTED MODULE. RETURN CODE 14,
REASON CODE 26110021 PATHNAME =
/../site-packages/cryptography/hazmat/bindings/_openssl.abi3.so

I've checked all the obvious stuff : perms, openssl versions,
module/package versions for cryptography, python version etc. and they're
all the same...

. Does anyone have another idea where to look?...

Thanks!

*Henri Kuiper*
*zdevops*

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  


Re: GIT z/OS - ftp to mainframe - record length issue

2019-12-09 Thread Denis
I had the same issue, because the mainframe is not allowed to access anything 
outside. So git clone does not work.I used git clone on windows, did an ascii 
ftp upload to a z/OS HFS and then used the cp -F lf -U -M ZIGI.V1R3.PANELS/* 
//'HLQ.ZIGI.V1R3.PANELS' command to copy. You need to tailor it to suit your 
needs and do the same for EXEC.The -F lf is required because the records are 
x'25' delimited. The quote site did not work for me either, I also tried 
SBSENDEOL=LF, which did not work too.

Hope it helps, Denis.

-Original Message-
From: Prashant Joshi3 
To: IBM-MAIN 
Sent: Mon, Dec 9, 2019 9:36 am
Subject: GIT z/OS - ftp to mainframe - record length issue

Hello all,

I am trying to ftp GIT package from windows to z/OS. Some of the files are
FTPed ok but many of them lost the record length. Instead of multiline
files it ftped as single line (single record).
I opened file in window and those appeared normal text. Some are html, VB
script code. I used ASCII while doing FTP.
I also used SITE parm for CTRLF, Record length, blocksize but still no
help.

Anybody has experienced same issue? any solution?


Thank you.
Prashant Joshi

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: GIT z/OS - ftp to mainframe - record length issue

2019-12-10 Thread Denis
I was not precise enough, I did the git clone in the mac, but it lacks an FTP 
command line client, so the FTP was done from the Windows 10 in VMware Fusion 
sharing the macbooks directory.
Denis.

-Original Message-
From: Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN 
Sent: Mon, Dec 9, 2019 09:46 PM
Subject: Re: GIT z/OS - ftp to mainframe - record length issue


On Mon, 9 Dec 2019 12:29:17 +, Denis wrote:

>I had the same issue, because the mainframe is not allowed to access anything 
>outside. So git clone does not work.I used git clone on windows, did an ascii 
>ftp upload to a z/OS HFS and then used the cp -F lf -U -M ZIGI.V1R3.PANELS/* 
>//'HLQ.ZIGI.V1R3.PANELS' command to copy. You need to tailor it to suit your 
>needs and do the same for EXEC.The -F lf is required because the records are 
>x'25' delimited. The quote site did not work for me either, I also tried 
>SBSENDEOL=LF, which did not work too.
>
??

How ever did you get there?

The network standard delimiter is x'0D0A'

The Windows delimiter is also x'0D0A'.  Windows FTP makes no change to that.

The UNIX/Linux delimiter is x'0A'.  Their FTP software converts to/from
network standard.

The z/OS delimiter is x'15'.  z/OS FTP converts to/from network standard.

--gil




>Hope it helps, Denis.
>
>-Original Message-
>From: Prashant Joshi3 
>To: IBM-MAIN 
>Sent: Mon, Dec 9, 2019 9:36 am
>Subject: GIT z/OS - ftp to mainframe - record length issue
>
>Hello all,
>
>I am trying to ftp GIT package from windows to z/OS. Some of the files are
>FTPed ok but many of them lost the record length. Instead of multiline
>files it ftped as single line (single record).
>I opened file in window and those appeared normal text. Some are html, VB
>script code. I used ASCII while doing FTP.
>I also used SITE parm for CTRLF, Record length, blocksize but still no
>help.
>
>Anybody has experienced same issue? any solution?
>
>
>Thank you.
>Prashant Joshi
>
>--
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
>--
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: GIT z/OS - ftp to mainframe - record length issue

2019-12-10 Thread Denis
Hi Andrew,
does not work, no git clone from the mainframe to anywhere, the mainframe 
cannot do any outbound communication, but it runs SSHD. So the plan is to use 
git/ZIGI with local SSHD to pretend that ZIGI is used with a remote git 
repository for a demo. There is currently no way to have a server that hosts 
git nearby the mainframe.
I could probably push from mac to the mainframe using SSH after cloning to the 
mac, but I haven't yet succeeded to make the certificate based SSH 
authentication work, public key was added to .ssh/authorized_keys and SSHD on 
z/OS set up and restarted to allow for certificate bases authentication, but no 
luck so far or choose the wrong parameters.
Denis.

-Original Message-
From: Andrew Rowley 
To: IBM-MAIN 
Sent: Mon, Dec 9, 2019 11:31 pm
Subject: Re: GIT z/OS - ftp to mainframe - record length issue

On 9/12/2019 11:29 pm, Denis wrote:
> I had the same issue, because the mainframe is not allowed to access anything 
> outside. So git clone does not work.

Presumably the mainframe can do a git clone from *somewhere*, otherwise 
you wouldn't install zigi. So you could clone the Gihub repo to a local 
repository the mainframe can reach, and clone that from z/OS. That's the 
advantage of git.

You would then periodically fetch the changes from Github into the local 
repository as required to keep up to date.


-- 
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Need Mainframe as a Service

2020-01-09 Thread Denis
SVA does that in Germany for other customers.
https://www.sva.de/en/index.html

I am neither employee nor associated with that company.

-Original Message-
From: Pranshu Singh 
To: IBM-MAIN 
Sent: Thu, Jan 9, 2020 1:52 pm
Subject: Need Mainframe as a Service

Hi All

My customer is looking for a mainframe as a service option ( kind of a
cloud) model for hosting its ~900 mips in London. Customer would migrate
everything to such an organisation and would Pay a monthly price. Anything
Non IBM, Non Sungard.

Does anybody know any non IBM, Non Sungard organisation that can provide
such a service in UK, may be a boutique provider.

Pranshu

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: [External] Re: IBM AOAR O44855

2020-01-23 Thread Denis
Hi,
you can also combine several techniques.
You could also set up a firewall rule that blocks someones ip, that has e.g. 
more than 3 ip connects (create socket) within 3 minutes or so against the 
telnet 3270 port, the port can be blocked for e.g. 60min. That will make ddos 
even harder. All numbers in the sample are configurable.
I wonder if the apar disconnects the socket after a false attempt?

Denis.

-Original Message-
From: Pommier, Rex 
To: IBM-MAIN 
Sent: Thu, Jan 23, 2020 4:31 pm
Subject: Re: [External] Re: IBM AOAR O44855


On 1/23/2020 9:32 AM, Peter Vander Woude wrote:
> The apar is meant to deal with those types of hacks, where someone has 
> a list of userids and then just try to logon to TSO by connecting and 
> attempting to logon to TSO.  Without the apar/parm, the normal logon 
> screen shows the person IF the userid actually has a TSO profile.d
> 
> When the correct parm is in the IKJTSO00 parmlib member, they just get a 
> prompt for the password.  There is no notification at that point that the 
> user does, or does not, have TSO access.  Even the response does not tell the 
> hacker that information.
> 
> While I agree that it could be a vein for a ddos of getting the users id 
> revoked, the premise is valid to prevent the identification of someone with 
> TSO access is very valid.
> 
> That opens the way to a denial of service attack; someone can write a script 
> to cause revocation of a long list of userids.
> 

This fix was not an attempt to prevent a DDOS revocation attack.  It was 
designed to prevent the ability of a hacker to enumerate the TSO id's on a 
system.  With PASSWORDPREPROMPT(ON), both a valid TSO id and password are 
required to present the fullscreen TSO logon panel, or a nebulous error message 
is presented.  Without it, the error messages clearly state whether you have a 
valid TSO userid or password.  Armed with a list of valid TSO id's, then the 
attacker could start social engineering or other phishing attempts to get a 
valid password.

Once a hacker gets access to a TN3270 port, a DDOS revocation attack is 
possible whether you have PASSWORDPREPROMPT(ON) or not.  The fix did not enable 
the DDOS revocation attack, the potential has always been there to run it.

Regards,
Tom Conley



Hi Tom,

I agree completely.  The DDOS vector has always been there, and from my point 
of view, this makes it much harder for a DDOS to revoke a bunch of IDs - unless 
they already have the IDs.  Without this change active, somebody can just 
randomly throw characters at the ID field until they get a hit then throw 
passwords to revoke it, then move on to the next ID.  With it, how does one 
know if they have a valid ID or not - they don't, so they need to keep guessing 
at both IDs and passwords.  

Rex


The information contained in this message is confidential, protected from 
disclosure and may be legally privileged.  If the reader of this message is not 
the intended recipient or an employee or agent responsible for delivering this 
message to the intended recipient, you are hereby notified that any disclosure, 
distribution, copying, or any action taken or action omitted in reliance on it, 
is strictly prohibited and may be unlawful.  If you have received this 
communication in error, please notify us immediately by replying to this 
message and destroy the material in its entirety, whether in electronic or hard 
copy format.  Thank you.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

2020-04-29 Thread Denis
We had a similar issue in IMS regions, stalling after out of memory abend, no 
way to get rid of them, IMS STO REG, z/OS CANCEL and z/OS FORCE did not work, 
except with some vendor tool cancel that just gets rid of the address space 
without proper cleanup that gets you closer to IPL.I wondered back then, how 
dare the z/OS RTM routine doing getmains or module loads in a region that 
abended with end of memory, does not make sense to me.The answer is probably, 
it has been that way ever since and use IEFUSI.Why would terminating an address 
space in 64bit or 31bit mode require loading 24bit routines, sounds awkward?!

My two cents, Denis.

-Original Message-
From: Martin Packer 
To: IBM-MAIN 
Sent: Wed, Apr 29, 2020 9:45 am
Subject: Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

As much to the point, why does this need to be 24-bit LSQA?

Cheers, Martin

Martin Packer

zChampion, Systems Investigator & Performance Troubleshooter, IBM

+44-7802-245-584

email: martin_pac...@uk.ibm.com

Twitter / Facebook IDs: MartinPacker

Blog: 
https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker

Podcast Series (With Marna Walle): https://developer.ibm.com/tv/mpt/   or 
  
https://itunes.apple.com/gb/podcast/mainframe-performance-topics/id1127943573?mt=2


Youtube channel: https://www.youtube.com/channel/UCu_65HaYgksbF6Q8SQ4oOvA



From:  Barbara Nitz 
To:    IBM-MAIN@LISTSERV.UA.EDU
Date:  29/04/2020 08:21
Subject:        [EXTERNAL] Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!
Sent by:        IBM Mainframe Discussion List 



You say that the problem happens when all the tasks terminate. Your 
problem is with not enough LQSA for termination. During termination a 
number of RBs are getmained by RTM to handle termination - like an RB that 
your ESTAE gets control under (a PRB, IIRC). Or a PURGEDQ SVRB. Depending 
on what your ESTAE does, you'll need more LSQA for further stuff. 

I don't have a rule of thumb how much LSQA is needed per TCB. Given that 
you say you create 1000 tcbs, and each tcb creates at least one subtask, 
we're talking at least 2000 TCBs. Plus their associated RBs and CDEs. I'd 
guess that you need at least 6MB below the line of storage reserved for 
LSQA, possibly more. The only way to do that is to write a custom IEFUSI 
that really reserves that much LSQA especially for your job. Or the 
equivalent parmlib member.

Remember that LSQA 'grows' from top of region below downwards while 
private storage 'grows' from bottom of region upwards. So conditional 
getmains don't help here IMHO. You would have to determine current top of 
region programmatically and then subtract 1-2MB for termination and then 
check if you've still got enough room to do your getmain.

Anecdote: Before IBM introduced command classes and all the messages that 
go with too many commands issued at the same time there used to be regular 
wait states (wait07E, IIRC) due to LSQA exhausted in *master*. Commands 
execute in *master* (for the most part). Too many commands at the same 
time generated the exact same situation you currently have - not enough 
LSQA left. Which is really deadly when it happens in asid 1. IBM only 
allows 100 commands per class these days. If more are issued, they get 
held back until there's 'room' again to have them execute.

Why do you need 1000 tcbs?

Regards, Barbara

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN




Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

2020-04-29 Thread Denis
Hi Barbara,
thanks for the insights.Nevertheless, to me it looks like z/OS still is a 24bit 
operating system with some 31/64bit addressing and instructions as long as 
under the covers such old mechanisms need to be maintained and taken into 
account.
If region termination requires space in 24bit LSQA, z/OS should at least 
reserve it silently behind the scenes without a need to put that on the agenda 
or todo list of system programmers and with enough space that the termination 
of an address space never stalls because of RTM running out of memory. It 
should be default and IEFUSI or the parmlib member optional.I think of it 
telling the management, we need to maintain this 24bit memory hole to allow for 
proper cleanup of anything within z/OS. These are the things that make z/OS 
look old and to be replaced and not considered modern, even if it is for a very 
good reason not losing compatibility for old modules, etc.
Thanks, Denis.

-Original Message-
From: Barbara Nitz 
To: IBM-MAIN 
Sent: Wed, Apr 29, 2020 10:26 am
Subject: Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

>We had a similar issue in IMS regions, stalling after out of memory abend, no 
>way to get rid of them, IMS STO REG, z/OS CANCEL and z/OS FORCE did not work, 
>except with some vendor tool cancel that just gets rid of the address space 
>without proper cleanup that gets you closer to IPL.I wondered back then, how 
>dare the z/OS RTM routine doing getmains or module loads in a region that 
>abended with end of memory, does not make sense to me.The answer is probably, 
>it has been that way ever since and use IEFUSI.Why would terminating an 
>address space in 64bit or 31bit mode require loading 24bit routines, sounds 
>awkward?!

The address space *task structures*  (TCBs, PRBs, SVRBs, IRBs, CDEs) are all 
allocated in below the line LSQA. It has been that way since before MVS/XA, I 
think. The RTM2WA is allocated above the line. Also, there is no one 'RTM 
routine' that gets executed. When RTM gets control (remember PSW swap?) it 
doesn't *know* yet what it got control for. So it just needs to figure that 
out, which costs some storage. And recovery always goes back to the last PRB, 
which means that RTM gets control under a new PRB to ensure that things are not 
muddied by the recovery (think dump analysis). And then system integrity 
demands that proper cleanup is done (as in resource managers need to run), not 
to mention possible recovery routines that the application set up. Or the 
routine doing the cleanup. Terminating an address space without violating 
system integrity or hanging up the address space (or the system) is a very 
complex business.

In a previous life I also had to deal regularly with IMS regions not 
terminating due to various reasons. In 50% of the cases the 'callrtm' program 
(which has now morphed into a variant of the force command) did the trick. In 
all other cases IMS needed to get recycled. I always took a dump to determine 
the TCB address that I needed to terminate (the bottom one that needs to 
terminate so everything above can terminate), and most of the time a few of 
those ominous 'non-cancelable' bits were on. What is worth more? System 
integrity or IMS restart?

As for routines running in 24 bit - if it is an application routine, it 
*should* be at least located above the line. But some of the *system* routines 
*must* run in 24bit, IIRC. IBM has made a real effort over the years to put as 
much as possible above the line, without rewriting all of the operating system. 
And yes, IEFUSI is there to deal with reserving sufficient LSQA to be able to 
terminate cleanly.

Barbara

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

2020-04-30 Thread Denis

Wanna bet?

FORCE,ARM runs in the address space so would have been affected.
FORCE does not.
We had PMRs open on that, countless dumps. CANCEL and FORCE are rejected 
because the region is still registered with IMS.Sometimes the Mainview KILL 
worked, I think it calls CALLRTM directly under the covers without driving the 
FORCE or CANCEL command.Those address spaces were IMS message regions with an 
JVM to allow PL/I or COBOL Java interoperability.In one of the dumps a former 
collegue found a S806 trying to load a z/OS routine, I think but I am not sure, 
it was RTM related.After that IEFUSI was implemented and the hint was also 
added to the documentation for Java interoperability.But until today there are 
less but still noticable occurrences of regions that cannot be removed, some of 
them even live after IMS restart without being able to get rid of them.While 
the LE enclave runs with ALL31(ON) but there is no HEAP Option the prevents LE 
from allocating 24bit storage if the 31bit private between 2G and 16M is full, 
some of the assembler/COBOL programs in the mix with Java still use GETMAIN 
under the covers, which might allocate 24bit storage outside the LE enclave.We 
did not find an option (LOC=) for GETMAIN to fail the request, if above 16M and 
below 2G area has not enough room?!My guess is that the OutOfMemory conditions 
would behave more stable if LE and GETMAIN can be restricted to not allocate 
storage below 16M if the area between 16M and 2G is full.We also discovered LE 
storage fragmentation, with some newer COBOL modules in an application mix with 
e.g. 200 different modules within an address space, using e.g. 8M working 
storage areas, applications use cancel to not run out of storage with the side 
effect that after the cancel a program with 512k working storage occupies the 
beginning of the free 8M area and as such with the next larger working storage 
module being loaded and initialized, another 8M need to be allocated, because 
it needs to be continous for working storage. Leaving the module loaded is not 
an option, because the sum of all working storage areas would exceed 31bit 
private available which is around 800M.Because of the JVM the LE enclave never 
terminates, it lives for the lifetime of the IMS region, so in pre JVM times or 
without a JVM, one could parameterize that after a schedule for an IMS program 
ends, the LE enclave is recreated and as such is the HEAP area.
For now IMS regions are restarted every two hours to try to avoid running out 
of storage. So still looking for a better solution.Maybe 3 items would help, 
LOC=(ABOVE16 or whatever name is suitable), HEAP(...ABOVE) and a preserved area 
in LE that can be used for modules with large working storage but is not filled 
with smaller working storage modules, LE heap never shrinks.There need to be 
options to avoid clattering the storage below 16M, but there aren't.
Thanks, Denis.
-Original Message-
From: Peter Relson 
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Thu, Apr 30, 2020 3:09 pm
Subject: Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!


z/OS FORCE did not work


Wanna bet?

FORCE,ARM runs in the address space so would have been affected.
FORCE does not.


z/OS still is a 24bit operating system with some 31/64bit addressing and 
instructions as long as under the covers such old mechanisms need to be 
maintained and taken into account. 


Of couse it is, if you change "some" to "most" or even "almost all". That 
is because our customers demand it. That is why many programs written 40 
and 50 years ago still work. Compatibility is the cornerstone of this 
operating system (and even the machine architecture, particularly for 
things available to problem state programs).

Peter Relson
z/OS Core Technology Design


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

2020-04-30 Thread Denis
Hi Attila, 1.) Does not work, because LE does not support mixing of 64bit (JVM 
C code) and 31bit (Assembler, COBOL, PL/I) in the same LE enclave which is 
required for transactionality. When using 2 sets of modules (31bit and 64bit) 
it also introduces testing the modules from the same source twice and that e.g. 
Db2 does not have a precompiler for 64bit, so you cannot do Db2 calls in those 
modules anymore. Have not checked MQ.But the IBM labs are evaluating a way to 
support mixing 31bit modules and 64bit JVM, but it will still take some 
time.2.) I will have to investigate that. Thanks, Denis. -Original 
Message-
From: Attila Fogarasi 
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Fri, May 1, 2020 12:43 am
Subject: Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

If your application consists of 200+ modules with up to 8m working storage
per module, then storage management becomes a key application capability.
There are some solutions available, with or without programming.
Presumably you have already used the LE storage tuning user exit to get
insight into the heap and other storage usage.  Perhaps worth looking at:
1. use of 64bit JVM ... this works very well in z/OS and would offload
considerable 31 bit storage competition with your Cobol etc. modules.
2. you can write an application shell to alter LE behaviour, the interfaces
provided by LE for this are documented in the LE Vendor Interfaces manual
(which is available for anyone, not limited to vendors, but requires usage
with care and skill to work effectively).
I would say your application storage usage can be easily changed to be more
efficient and avoiding the abends that you describe, without a complete
re-architecture of this monolithic application.  It just falls outside of
the norm in terms of stressing storage management by LE and JVM (I've seen
worse, and it is fixable).

On Fri, May 1, 2020 at 3:40 AM Denis <
01664d8ede6c-dmarc-requ...@listserv.ua.edu> wrote:

> 
> Wanna bet?
>
> FORCE,ARM runs in the address space so would have been affected.
> FORCE does not.
> We had PMRs open on that, countless dumps. CANCEL and FORCE are rejected
> because the region is still registered with IMS.Sometimes the Mainview KILL
> worked, I think it calls CALLRTM directly under the covers without driving
> the FORCE or CANCEL command.Those address spaces were IMS message regions
> with an JVM to allow PL/I or COBOL Java interoperability.In one of the
> dumps a former collegue found a S806 trying to load a z/OS routine, I think
> but I am not sure, it was RTM related.After that IEFUSI was implemented and
> the hint was also added to the documentation for Java interoperability.But
> until today there are less but still noticable occurrences of regions that
> cannot be removed, some of them even live after IMS restart without being
> able to get rid of them.While the LE enclave runs with ALL31(ON) but there
> is no HEAP Option the prevents LE from allocating 24bit storage if the
> 31bit private between 2G and 16M is full, some of the assembler/COBOL
> programs in the mix with Java still use GETMAIN under the covers, which
> might allocate 24bit storage outside the LE enclave.We did not find an
> option (LOC=) for GETMAIN to fail the request, if above 16M and below 2G
> area has not enough room?!My guess is that the OutOfMemory conditions would
> behave more stable if LE and GETMAIN can be restricted to not allocate
> storage below 16M if the area between 16M and 2G is full.We also discovered
> LE storage fragmentation, with some newer COBOL modules in an application
> mix with e.g. 200 different modules within an address space, using e.g. 8M
> working storage areas, applications use cancel to not run out of storage
> with the side effect that after the cancel a program with 512k working
> storage occupies the beginning of the free 8M area and as such with the
> next larger working storage module being loaded and initialized, another 8M
> need to be allocated, because it needs to be continous for working storage.
> Leaving the module loaded is not an option, because the sum of all working
> storage areas would exceed 31bit private available which is around
> 800M.Because of the JVM the LE enclave never terminates, it lives for the
> lifetime of the IMS region, so in pre JVM times or without a JVM, one could
> parameterize that after a schedule for an IMS program ends, the LE enclave
> is recreated and as such is the HEAP area.
> For now IMS regions are restarted every two hours to try to avoid running
> out of storage. So still looking for a better solution.Maybe 3 items would
> help, LOC=(ABOVE16 or whatever name is suitable), HEAP(...ABOVE) and a
> preserved area in LE that can be used for modules with large working
> storage but is not filled with smaller working storage modules, LE heap
> never shrinks.There need to 

Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

2020-05-04 Thread Denis
Hi Barbara,
There seems to be a new command STOP REGION ABDUMP FORCE, but only for some 
status of ims regions:
https://www.ibm.com/support/pages/apar/PH05432
But it is not properly documented, so we tried several things, but it did not 
work.
DFSSTOP0 : Code has been modified to allow region to be
cancelled by new command /STOP REG ABDUMP FORCE when region is
in right status. A new DFS5060I error message will be issued if
the region cannot be stopped as it is  not in WAIT-INIT-INPROG
or TERM-PENDING status.Maybe abdump needs to be issued first, but we have not 
tried this yet.
Denis.
-Original Message-
From: Barbara Nitz 
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Mon, May 4, 2020 10:23 am
Subject: Re: S0F9 and SOFD ABENDs and SVC dumps - oh my!

On Thu, 30 Apr 2020 09:09:32 -0400, Peter Relson  wrote:

>
>z/OS FORCE did not work
>
>
>Wanna bet?
>
>FORCE,ARM runs in the address space so would have been affected.
>FORCE does not.

Doesn't matter. With an IMS region, you cannot use cancel (z/OS: 
"non-cancelable, use force arm"). You cannot use force arm (z/OS: "cancel 
first, please"). And you cannot use force because IMS intercepts that and tells 
you to terminate the IMS region by de-registering it from IMS. Which doesn't 
work because it is already *unknown* (i.e. deregistered) in the control region, 
but the de-registering hasn't made it down the tcbs in that IMS message region. 
Sometimes the callrtm program worked after the 5th invocation, but sometimes it 
didn't work even after 10 invocations.  (With the dumps to verify it didn't 
work in between invocations.)

IMS message regions are BAD, IMHO.

Regards, Barbara

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rocket's Git and GitHub Enterprise

2021-08-06 Thread Denis
Hi,
Github Enterprise provides callbacks/webhooks, which are executed on commit. So 
I have successfully tested the following:IMS Proclib members as files in a 
directory in a Github repository. Callback enabled that invokes a jenkins job, 
which in turn updates the IMS Proclib PDS.So you need Github Enterprise, 
Jenkins and ssh access to your z/OS, at best by using certificates. And 
anything additional you require beyond that.The jenkins job can be set up to do 
whatever you want in whatever language/method you want, it can be Ansible or 
just a bash script executed with ssh command on z/OS or ftp that submits a job 
using ftp spool api. There are all sorts of plugins for Jenkins.For example the 
jenkins job could update z/OS Parmlib and issue a z/OS command to refresh it 
afterwards. You could even add a step to the jenkins job to issue a display 
command and check the output if the refresh was successful, otherwise the 
jenkins job can be marked as failed.The jenkins job could call an IMS or CICS 
transaction or do some SQL to Db2 as part of the job. It could run an image 
copy or flash copy restore.The webhook/callback provides the names of the 
changed entities, so the update can be limited to just the member that has 
changed.
After that is tested you can switch to github being the leading system and 
every commit to github will drive the change on z/OS.
But for some tasks you might need a REXX or python scripts, bash scripts or 
even an assembler routine, because functionality to be called can sometimes be 
implemented easier running on z/OS.For review on github you could setup forks 
and each change is a pull request, which needs to be reviewed before 
merged/commited into the actual repo. The github web interfaces also allow for 
discussions, so there could be a thread with a discussion tied to a pull 
request or commit, which can be used for auditing.
Of course its not limited to Jenkins, other solutions work as well, but just to 
give you the idea.

Hope it helps,Denis.

-Original Message-
From: kekronbekron <02dee3fcae33-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Fri, Aug 6, 2021 4:51 pm
Subject: Re: Rocket's Git and GitHub Enterprise

So z/OS datasets are still the source of truth, and just a copy is being made 
into GitHub for visibility from the outside.
I'm thinking of implementations that work the other way.
Running Git server on Z**, hooking it to GitHub UI / web service, use GitHub 
Actions or other release mechanisms to rollout directly into live Z datasets.
I mean live as in.. the way in which we normally do in Z. Just hooking GH into 
the usual current procedures/jobs/REXX in Z.

**Noticed that Github Enterprise Server, the thing where you run the GitHub 
Enterprise servers yourself in 'your' cloud, or on-prem on VMware or OpenStack 
(lol) KVM... can't actually run in Z.
That is, can it even run in Linux on Z, seeing that currently there's only 
OpenStack KVM flavour?
Z can run KVM instead of z/OS but who's going to setup KVM just for this.

- KB

‐‐‐ Original Message ‐‐‐

On Friday, August 6th, 2021 at 7:04 PM, Pew, Curtis G 
 wrote:

> On Aug 5, 2021, at 11:32 PM, kekronbekron 
> 02dee3fcae33-dmarc-requ...@listserv.ua.edu wrote:
>
> > > I periodically copy over the current libraries and push the changes to 
> > > GitHub.
> >
> > Do you mean push to GitHub and then 'build/deploy/copy over the current 
> > (PARMLIB) libraries using some build workflow?
>
> I have a script in my repository that runs commands like “rm sys1.parmlib/*; 
> cp "//'sys1.parmlib'" sys1.parmlib” (where “sys1.parmlib” is a directory in 
> the repository.) After running it I commit the changes and then push to 
> GitHub.
>
> > > It’s not perfect, but I can get some idea of when a change was made or 
> > > find an older version of a member that isn’t working right.
> > >
> > > Why is it not perfect, what would you want to work better?
>
> “Perfect” would be if git could manage the actual PDS(E)s, but that seems 
> like a lot to ask for.
>
>
> 
>
> Pew, Curtis G
>
> curtis@austin.utexas.edu
>
>
> -
>
> For IBM-MAIN subscribe / signoff / archive access instructions,
>
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Connecting to IMS DB in SpringBoot

2021-08-09 Thread Denis
Hi,
there is the following 
APAR:https://www.ibm.com/support/pages/apar/PH17246Please check if the COBOL 
importer plugin was installed or open a case with Rational Tooling.
Denis.


-Original Message-
From: Larry Zhang <03b304d39e8e-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Mon, Aug 9, 2021 2:27 am
Subject: Re: Connecting to IMS DB in SpringBoot

 HI, IBM folks,

We are from the Ford group, and we were advised by IBM to follow the 
instruction from git GitHub - imsdev/ims-java-springboot to set up connect to 
IMS transaction but we have encountered some issues.

| 
| 
| 
|  |  |

 |

 |
| 
|  | 
GitHub - imsdev/ims-java-springboot

Contribute to imsdev/ims-java-springboot development by creating an account on 
GitHub.
 |

 |

 |




We are not able to generate the Java class from the COBOL COPY book by using 
the J2C CICS/IMS Data Binding wizard are required.
We got errors com.ibm.adapter.framwrok.BaseException Reason: IWAA0654S: Missing 
template file in the plugin directory. null
We are working with IBM consulting group trying to find out a solution but I 
wanted to post this here maybe some one can help?
Please help! ( also this is my first time using the listserv, and I really hope 
this mail reach to you expert). Thanks.


  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Connecting to IMS DB in SpringBoot

2021-08-12 Thread Denis
Hi Larry,
lets connect directly through your IBM contacts.
Denis.
-Original Message-
From: Larry Zhang <03b304d39e8e-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Wed, Aug 11, 2021 10:27 pm
Subject: Re: Connecting to IMS DB in SpringBoot

 Any insigts on this error:
2021-08-11 15:30:35.774 ERROR 12564 --- [nio-8080-exec-1] com.ibm.j2ca          
                   : CWYBS0497E: The Resource Bundle 
com.ibm.connector2.ims.ico.LogMessages using Locale en_US cannot be 
loaded.2021-08-11 15:30:35.780 ERROR 12564 --- [nio-8080-exec-1] com.ibm.j2ca   
                          : javax.resource.ResourceException: ICO0024E: 
com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection@74dbb0d0.buildInputMsg(Record)
 error. Invalid segment length (LL) of [-15902] in the input object. 
[com.ibm.ims.ico.IMSInputOTMAMsg@3978a98f.setAppData(byte[]): 
com.ibm.ims.ico.IMSConnResourceException] at 
com.ibm.connector2.ims.ico.IMSManagedConnection.buildInputMsg(IMSManagedConnection.java:472)
 at 
com.ibm.connector2.ims.ico.IMSManagedConnection.buildInputMsg(IMSManagedConnection.java:411)
 at 
com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection.callSendRecv(IMSTCPIPManagedConnection.java:229)


    On Monday, August 9, 2021, 06:11:27 PM EDT, Larry Zhang 
 wrote:  
 
  Thanks the APAR didn't work for us as we have checked it ... our tooling 
is RSA 9.7.0 which is already >9.6. But we can check to see if the COBOL 
importer plugin exists. Can you detail how to see if this plugin is installed? 
IBM has mentioned the name Denis and I think it was you. Any chance for us to 
have a working session?
Lastly, I have tried to submit a tooling ticket to IBM via Ford -- maybe there 
tomorrow.
    On Monday, August 9, 2021, 03:56:07 AM EDT, Denis 
<01664d8ede6c-dmarc-requ...@listserv.ua.edu> wrote:  
 
 Hi,
there is the following 
APAR:https://www.ibm.com/support/pages/apar/PH17246Please check if the COBOL 
importer plugin was installed or open a case with Rational Tooling.
Denis.


-Original Message-
From: Larry Zhang <03b304d39e8e-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Mon, Aug 9, 2021 2:27 am
Subject: Re: Connecting to IMS DB in SpringBoot

 HI, IBM folks,

We are from the Ford group, and we were advised by IBM to follow the 
instruction from git GitHub - imsdev/ims-java-springboot to set up connect to 
IMS transaction but we have encountered some issues.

| 
| 
| 
|  |  |

 |

 |
| 
|  | 
GitHub - imsdev/ims-java-springboot

Contribute to imsdev/ims-java-springboot development by creating an account on 
GitHub.
 |

 |

 |




We are not able to generate the Java class from the COBOL COPY book by using 
the J2C CICS/IMS Data Binding wizard are required.
We got errors com.ibm.adapter.framwrok.BaseException Reason: IWAA0654S: Missing 
template file in the plugin directory. null
We are working with IBM consulting group trying to find out a solution but I 
wanted to post this here maybe some one can help?
Please help! ( also this is my first time using the listserv, and I really hope 
this mail reach to you expert). Thanks.


  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
    

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: IMS Resource Adaptor to ( IMS connect) Error -for ManagedConnectionFactory

2021-09-09 Thread Denis
Hi Larry,
did you read and follow the sequence documented 
here:https://www.ibm.com/docs/en/ims/14.1.0?topic=cci-sample-application-code???
1. Create mcf = new IMSManagedConnectionFactory2. Use the setter methods3. 
IMSConnectionFactory icf = (IMSConnectionFactory)mcf.createConnectionFactory(); 
(if you dont create your own poolmgr instance)4. IMSConnectionSpec ics = new 
IMSConnectionSpec()5. Use the setter methods6. conn = icf.getConnection(ics);
Hope it helps.


-Original Message-
From: Larry Zhang <03b304d39e8e-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Fri, Sep 10, 2021 4:35 am
Subject: Re: IMS Resource Adaptor to ( IMS connect) Error -for 
ManagedConnectionFactory

 yes, I already went there, if you read it, this article helps me nothing;  
  - IBM IMS
  - 14.1.0
FeedbackProduct list
ICO0054E javax.resource.ResourceException:
ICO0054E:methodname error.
Invalid ConnectionSpec.

Explanation
The IMS TM resource adapter was unable to cast the provided connectionSpec for 
this connection to type IMSConnectionSpec. Although the Common Client Interface 
accepts a connectionSpec object for any supported connector, the IMS TM 
resource adapter works only with an IMSConnectionSpec or a derivative of 
IMSConnectionSpec as its connectionSpec.
User response
Ensure that the connectionSpec used by your application is an IMSConnectionSpec 
or inherits from IMSConnectionSpec.Parent topic:IMS TM resource adapter 
messages and exceptions

    On Thursday, September 9, 2021, 08:05:13 PM EDT, Sri h Kolusu 
 wrote:  
 
 > ICO0054E:
com.ibm.connector2.ims.ico.IMSConnectionFactory@2a5c2062.getConnection(ConnectionSpec)

> error. Invalid ConnectionSpec.


Larry zhang,

Did you try to resolve the above error?

https://www.ibm.com/docs/en/ims/14.1.0?topic=exceptions-ico0054e


Thanks,
Kolusu



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: IMS Resource Adaptor to ( IMS connect) Error -for ManagedConnectionFactory

2021-09-13 Thread Denis
Hi Larry,
it might sound strange, but setting userid and password is optional, so you can 
set it in the IMSConnectionSpec even though it is absent in the docs.
Denis.


-Original Message-
From: Larry Zhang <03b304d39e8e-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Fri, Sep 10, 2021 8:07 pm
Subject: Re: IMS Resource Adaptor to ( IMS connect) Error -for 
ManagedConnectionFactory

 Thanks Denis. Ford has a framework which sets all this info as you listed in 
the doc, that framework has been up and running for 20 years, thus the 
caller(my poc) does not need to do the sequence call /set up again. but what I 
wanted to know is , seeing the doc you listed here, there is no user name and 
password passed over for the managed connection?
    On Friday, September 10, 2021, 01:45:36 AM EDT, Denis 
<01664d8ede6c-dmarc-requ...@listserv.ua.edu> wrote:  
 
 Hi Larry,
did you read and follow the sequence documented 
here:https://www.ibm.com/docs/en/ims/14.1.0?topic=cci-sample-application-code???
1. Create mcf = new IMSManagedConnectionFactory2. Use the setter methods3. 
IMSConnectionFactory icf = (IMSConnectionFactory)mcf.createConnectionFactory(); 
(if you dont create your own poolmgr instance)4. IMSConnectionSpec ics = new 
IMSConnectionSpec()5. Use the setter methods6. conn = icf.getConnection(ics);
Hope it helps.


-Original Message-
From: Larry Zhang <03b304d39e8e-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Fri, Sep 10, 2021 4:35 am
Subject: Re: IMS Resource Adaptor to ( IMS connect) Error -for 
ManagedConnectionFactory

 yes, I already went there, if you read it, this article helps me nothing;  
  - IBM IMS
  - 14.1.0
FeedbackProduct list
ICO0054E javax.resource.ResourceException:
ICO0054E:methodname error.
Invalid ConnectionSpec.

Explanation
The IMS TM resource adapter was unable to cast the provided connectionSpec for 
this connection to type IMSConnectionSpec. Although the Common Client Interface 
accepts a connectionSpec object for any supported connector, the IMS TM 
resource adapter works only with an IMSConnectionSpec or a derivative of 
IMSConnectionSpec as its connectionSpec.
User response
Ensure that the connectionSpec used by your application is an IMSConnectionSpec 
or inherits from IMSConnectionSpec.Parent topic:IMS TM resource adapter 
messages and exceptions

    On Thursday, September 9, 2021, 08:05:13 PM EDT, Sri h Kolusu 
 wrote:  
 
 > ICO0054E:
com.ibm.connector2.ims.ico.IMSConnectionFactory@2a5c2062.getConnection(ConnectionSpec)

> error. Invalid ConnectionSpec.


Larry zhang,

Did you try to resolve the above error?

https://www.ibm.com/docs/en/ims/14.1.0?topic=exceptions-ico0054e


Thanks,
Kolusu



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Java->C->HLASM non-XPLINK

2017-03-21 Thread Denis
Hi,
 
I think I recall problems with static linkage when LE DLLs are mixed with non 
LE assembler modules (which I assume you are using non LE and no DLL).
If your assembler is LE conforming and uses CEEENTRY, it needs to have MAIN=NO.
Have you tried calling the Assembler dynamically from C using fetch and the 
procedure pointer, like this example for COBOL does:
linkage(CBL_FUNC,COBOL).

typedef void CBL_FUNC();
  .
  .
  .

CBL_FUNC *fetch_ptr;
fetch_ptr = (CBL_FUNC*) fetch("COBEP");   /* fetch the routine */
fetch_ptr(args);  /* call COBEP*/

 
On JVM execution you can try the following option to percolate e.g. an 0C4 or 
S806:
-Xsignal:userConditionHandler=percolate

Denis.
 
 
-Original Message-
From: Don Poitras 
To: IBM-MAIN 
Sent: Tue, Mar 21, 2017 2:43 pm
Subject: Re: Java->C->HLASM non-XPLINK

First, more people will see your post if you send to the listserv rather 
than the newsgroup. 

Second, you need to have R13 pointing to a save area when you call the
non-XPLINK program. If it has any parms, you need to have R1 pointing
to them. If you are in AMODE 64 and calling an AMODE 31 program, you
need to copy the parms below the bar and make sure that all pointers
in the parms (or in blocks pointed to by the parms) are also below
the bar. I've found the easiest way to do this is to have the asm
program you call be an XPLINK assembler stub that fixes up the stack
and parms and you pass it the address of the routine to call and the
plist.

In article  you wrote:
> Hi.  I am not new to any of this, but _am_ new to java on z/OS

> I'm just trying to get some ideas firmed up in my head, by playing with code.
> I am having no luck at all calling HLASM unless it's an XPLINK module.

> I know what my end-game is -- a java class which will call an existing HLASM 
> module, which is _not_ XPLINK -- I wrote a dummy HLASM program called 
> JAVAOSLI, which simply does a WTO.

> It's my understanding that the only way to call HLASM from java is via an 
> intermediate C program, using JNI.

> That means this intermediate C program will need to be XPLINK.

> So, how does that mesh with the fact that this C program will call a 
> non-XPLINK program?
> I thought this would be handled in the C program with a #pragma for the HLASM 
> program, but I seem to be missing something

> Some snippets follow.
>  
> my C implementation: of my java JNI function:

> extern void JAVAOSLI(void);
> #pragma linkage (JAVAOSLI,OS)
> /* Implementation of JNI C function. */
> JNIEXPORT int JNICALL
> Java_sbjava_MYClass_cFunction1(JNIEnv *e, jobject o) {
>printf("in ... Java_sbjava_MYClass.cFunction1\n");
>printf("call JAVAOSLI\n");
>JAVAOSLI();
>printf("returned from call JAVAOSLI\n");
>return (0);
> }
>  
> My compile:
> c89 -c -o sbjava_myc.o -W "c,langlvl(extended)" -W c,exportall -DNEEDSIEEE754 
> -DNEEDSLONGLONG -I/usr/lpp/java/J7.0/include -I/usr/lpp/java/J7.0/include/zos 
> sbjava_myc.c
>  
>  
> My link:
> c89 -Wl,map -o libsbjava_myc.so sbjava_myc.o "//OBJ(JAVAOSLI)"
>  
>  
> I see the output from the first 2 printfs ("in ... 
> Java_sbjava_MYClass.cFunction1", and "call JAVAOSLI") , then I get my error 
> during the JAVAOSLI() call:
> Unhandled exception
> Type=Segmentation error vmState=0x0004
> J9Generic_Signal_Number=0004 Signal_Number=000b Error_Value= 
> Signal_Code=0035
> Handler1=13526F80 Handler2=13AB3C80
>  
> I'm assuming the problem is the linkage somewhere along the way.
>  
> Any ideas where I am going wrong?
> If I change the assembler program to XPLINK, and use the xplink comile/link 
> options, it all works.

-- 
Don Poitras - SAS Development  -  SAS Institute Inc. - SAS Campus Drive
sas...@sas.com   (919) 531-5637Cary, NC 27513

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Easiest way to share incore data between batch jobs

2017-03-23 Thread Denis
How about using Unix System Services shared memory and optionally semaphores?
 
If found this, but it uses C.
http://www.infodd.com/images/infodd/downloads/I33.pdf
 
You can also do it from COBOL with the BPX1Mxx calls (like GT for get or AT for 
Attach), it can run unauthorized in keys 2, 8 and 9.
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r1.bpxb100/mgt.htm
 
Hope that helps.
Denis.
 
-Original Message-
From: IronSphere by SecuriTeam Software 
To: IBM-MAIN 
Sent: Thu, Mar 23, 2017 6:25 pm
Subject: Re: Easiest way to share incore data between batch jobs

If your interest is sharing, CICS can store a complete vsam file in
dataspace using a standard IO routines (GET, PUT, POINT etc.). It is few
CICS parameters away and involves no code change. I am not sure that EXCI
will save you CPU or elapse. BTW, there are few products that store data in
storage and/or dataspaces (Matrix from Expanse comes to mind).
Another alternative is to store the dataset in a common area (nay be above
the bar), and store the start and end addresses in single name-token pair.
you just need a loaded program and a search one. this fits for a none
updated file.

HTH
ITschak

On Thu, Mar 23, 2017 at 5:52 PM, Victor Gil 
wrote:

> A co-worker suggested to save CPU by having one job to cache a VSAM file
> [which is frequently looked up by multiple jobs] and introduce a new "look
> up" API to "connect" to that job and locate a particular record with a
> given key.
>
> I am a bit outdated in current systems services, so my first suggestion
> was to use EXCI into a CICS region or call a DB2 stored procedure which
> would act as a "server", but the question is - is there an easier way to
> accomplish this in pure batch?  I am familiar with the cross-memory access
> but this would require heavy assembler coding, APF authorization, etc. all
> of which we are trying to avoid.
>
> TIA!
> -Victor-
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>



-- 
ITschak Mugzach
*|** IronSphere Platform* *|** An IT GRC for Legacy systems* *| Automated
Security Readiness Reviews (SRR) **|*

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JZOS Java CLASSPATH

2017-04-26 Thread Denis
Hi Andrew,
 
your understanding is not correct.
Wildcards do not and have never worked with CLASSPATH.
 
Hope it helps.
Denis.
 
 
-Original Message-
From: Andrew Rowley 
To: IBM-MAIN 
Sent: Wed, Apr 26, 2017 1:04 pm
Subject: JZOS Java CLASSPATH

The JCL supplied with the JZOS batch launcher has a section to add jars 
to the classpath:

# Add Application required jars to end of CLASSPATH
for i in "${APP_HOME}"/*.jar; do
 CLASSPATH="$CLASSPATH":"$i"
 done

My understanding is you should be able to use a wildcard instead and the 
JVM will add all files ending with jar or JAR to the classpath,

e.g. CLASSPATH="$CLASSPATH":"${APP_HOME}"/*

but it doesn't seem to work. The classes are not found. If I display the 
classpath from within the program I can see the directory including the 
wildcard. If I copy and paste that entry and use it in "ls" it lists the 
jars.

What an I missing? Does the z/OS JVM support the wildcard syntax (under 
JZOS)?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JZOS Java CLASSPATH

2017-04-26 Thread Denis
Hi Andrew,
 
I have been working with Java since Java 1.1. So it seams wildcard work since 
JDK 6. However *.jar does not work, you need to use dir1/* to get what you 
wanted with dir1/*.jar.
In addition it will not search in subdirectories, so you have to specify every 
subdirectory.
I have not tried what is decribed in the document you have referenced.
 
Denis.
 
 
-Original Message-
From: Andrew Rowley 
To: IBM-MAIN 
Sent: Wed, Apr 26, 2017 2:34 pm
Subject: Re: JZOS Java CLASSPATH

On 26/04/2017 09:19 PM, Denis wrote:
> Hi Andrew,
>   
> your understanding is not correct.
> Wildcards do not and have never worked with CLASSPATH.
I was reading:
https://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html
"Understanding class path wildcards"

I thought it was working on another platfom, I will have to go back and 
check.

Maybe the IBM JVM is different to the Oracle one? I tried to find IBM 
documentation, but it is not so explicit.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JZOS Java CLASSPATH

2017-04-27 Thread Denis
Hi Carmen,
 
as the classpath size affects performance, its definitly a good idea to limit 
the jars and its contents to what is required.
In addition some customers require a certain order of the jar files in some 
cases and as such, wildcards are not an option, since they produce 
unpredictable results with the order of the jars.
 
Denis.
 
 
-Original Message-
From: Carmen Vitullo 
To: IBM-MAIN 
Sent: Thu, Apr 27, 2017 8:31 pm
Subject: Re: JZOS Java CLASSPATH

Funny I'm looking at both right now, getting ready for a migration of an 
application from Java on Unix to Java on z/OS, I've been testing the BCD batch 
process and the JZOS proc, the scripting seems to work as designed, and seeing 
how it works with a small test I wonder if that's overkill to allow Java to 
load all the class libraries ? 
I'll need some real testing with an application right now using the defaults I 
set 



APP_HOME=$JAVA_HOME <--- change 
CLASSPATH=$APP_HOME:"${JAVA_HOME}"/lib:"${JAVA_HOME}"/lib/ext 
# Add Application required jars to end of CLASSPATH 
for i in "${APP_HOME}"/*.jar; do 
CLASSPATH="$CLASSPATH":"$i" 
done 
export CLASSPATH="$CLASSPATH": 


Carmen 

- Original Message -

From: "Kirk Wolf"  
To: IBM-MAIN@LISTSERV.UA.EDU 
Sent: Thursday, April 27, 2017 12:23:27 PM 
Subject: Re: JZOS Java CLASSPATH 

Yes, this is a feature of the "java" command JVM launcher that is not 
present in the JZOS batch launcher and the "java" command launcher. 

Both launchers invoke the JVM launcher API and pass in "-Djava.class.path=" 
as an option using $CLASSPATH, but the "java" command launcher seems to be 
enhanced (somewhat recently) to expand an entry with a basename of "*" to 
include all of the jar files in that directory: 
http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html 

And yet I fail to see why this is an issue since the JZOS sample JCL shows 
how to use the shell language to handle this - with more flexibility. 

For example, the "java" command launcher can't do this: 

for i in "${MYDIR}"/foo*.jar; do 
CLASSPATH="$CLASSPATH":"$i" 
done 



Kirk Wolf 
Dovetailed Technologies 
http://dovetail.com 

On Thu, Apr 27, 2017 at 7:22 AM, Andrew Rowley  wrote: 

> On 27/04/2017 09:49 PM, Peter Hunkeler wrote: 
> 
>> You need to escape the * so that the shell will assign it to the 
>> environment variable instead of "resolving" it. Try: 
>> 
>> I don't think so. I have a small Java program to display the CLASSPATH 
> environement variable and what it resolves to: 
> 
> import java.net.URL; 
> import java.net.URLClassLoader; 
> 
> public class ClassPath { 
> public static void main (String args[]) { 
> System.out.println(System.getenv("CLASSPATH")); 
> ClassLoader cl = ClassLoader.getSystemClassLoader(); 
> URL[] urls = ((URLClassLoader)cl).getURLs(); 
> for(URL url: urls){ 
> System.out.println(url.getFile()); 
> } 
> } 
> } 
> 
> Under JZOS: 
> 
> JVMJZBL1023N Invoking ClassPath.main()... 
> JVMJZBL1024N ClassPath.main() completed. 
> JVMJZBL1021N JZOS batch launcher completed, return code=0 
> /home/andrewr/java/target:/usr/lpp/java/J8.0/lib:/usr/lpp/ 
> java/J8.0/lib/ext:/home/andrewr/java/lib/*: 
> /home/andrewr/java/target/ 
> /VERSYSB/usr/lpp/java/J8.0/lib/ 
> /VERSYSB/usr/lpp/java/J8.0/lib/ext/ 
> /home/andrewr/java/lib/* 
> /home/andrewr/ 
> 
> Under BPXBATCH: 
> 
> java/target:java/lib/* 
> /home/andrewr/java/target/ 
> /home/andrewr/java/lib/easysmf-je-1.5.2.jar 
> /home/andrewr/java/lib/easysmf-je-samples-1.5.2.jar 
> /home/andrewr/java/lib/javax.mail.jar 
> /home/andrewr/java/lib/slf4j-api-1.7.21.jar 
> /home/andrewr/java/lib/slf4j-simple-1.7.21.jar 
> /home/andrewr/java/lib/jsoup-1.10.2.jar 
> 
> In both cases I can see the asterisk in the CLASSPATH variable. Under 
> BPXBATCH the jars in that directory are in the classpath as expected. Under 
> JZOS the asterisk itself ends up as an entry. 
> 
> 
> -- 
> For IBM-MAIN subscribe / signoff / archive access instructions, 
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN 
> 

-- 
For IBM-MAIN subscribe / signoff / archive access instructions, 
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN 


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JZOS Java CLASSPATH

2017-04-27 Thread Denis
Hi Andrew, 

One example, the jvm needs to scan every java class for specific annotations. 
The more unneccessary files in the classpath, the longer that takes. And the 
cache size is not unlimited, I have seen classpaths with more than 100mb in 
size.
If shared classloader cache is used, common storage is also not unlimited. As 
soon as a cache is too small, it uses more cpu time. There is plenty of more 
stuff.
I am not talking about the java applications that have 5mb jars in the 
classpath, but once started the classpath usually continues to grow.

Denis.


-Original Message-
From: Andrew Rowley 
To: IBM-MAIN 
Sent: Fri, Apr 28, 2017 02:08 AM
Subject: Re: JZOS Java CLASSPATH


On 28/04/2017 4:34 AM, Denis wrote:
> as the classpath size affects performance, its definitly a good idea to limit 
> the jars and its contents to what is required.
>
I wouldn't expect the classpath size to have a significant effect on 
performance, since Java can read and cache the directories from the jar 
files. A quick google search suggests this is the consensus.

The bigger problem of course is management of dependencies.

-- 
Andrew Rowley
Black Hill Software
+61 413 302 386

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: you can request improvements to IBM Knowledge Center using the RFE process now

2017-05-25 Thread Denis
While your arguments are reasonable to have a plan C, it just sounds like a bad 
excuse for the provider of plan A to provide not more than 60% availability.
Keeping in mind that it used to be 90% availability.
 
60 and 90 are just numbers to describe the difference. And remember that the 
provider of plan A has not cut its prices by the same amount as its 
availability of plan A.
 
Denis.
 
 
-Original Message-
From: Timothy Sipples 
To: IBM-MAIN 
Sent: Thu, May 25, 2017 6:14 pm
Subject: Re: you can request improvements to IBM Knowledge Center using the RFE 
process now

Edward Gould wrote:
>I am sorry Timothy but that is an exposure I am not willing to chance.

What are you sorry about? Aren't you agreeing with me? I specifically
suggested you can have a "Plan C" if you wish. You describe one possible
Plan C: dead trees holding certain documentation, hopefully
useful-in-the-emergency-circumstances documentation. We're certainly not
disagreeing, at least as far as I can tell.

IBM Knowledge Center is available at IBM via the public Internet, but
*nobody* is recommending exclusive reliance on that offering for your
mission critical needs. If you're mission critical, you must plan for the
"What if?" that you cannot access the IBM Knowledge Center on the Internet,
for whatever reason(s). (They might be "good" reasons or not, but
"whatever.") IBM Knowledge Center for z/OS is also available, at no
additional charge with your base z/OS license. That's a *terrific* "Plan
B." If you *still* want a Plan C, e.g. dead trees, no problem! I suggested
that possibility! We're agreeing.


Timothy Sipples
IT Architect Executive, Industry Solutions, IBM z Systems, AP/GCG/MEA
E-Mail: sipp...@sg.ibm.com

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: changing batch job to use SSL

2017-06-15 Thread Denis
Hi Andrew,
 
AT-TLS is only for the server side, so you also need something for the client 
side, e.g. stunnel (I am mentioning it, because I have worked with it) or 
others.
Assuming you have a TCPIP client and a TCPIP Server and you want to SSL enable 
it, add AT-TLS to the server (which means that the connection between TCPIP 
Server and AT-TLS is unencrypted) and either add a piece of software/hardware 
on the client side to transfrom the SSL encrypted stream into TCPIP and pass it 
to your client or rewrite the client to be native SSL capable.
There are languages (e.g. Java) where a TCPIP client can be turned into a SSL 
enabled client just with some parameters and there are languages, where it will 
be a complete rewrite.
 
 Hope that helps.
Denis.
 
 
-Original Message-
From: Andrew Rowley 
To: IBM-MAIN 
Sent: Thu, Jun 15, 2017 1:52 pm
Subject: Re: changing batch job to use SSL

On 10/06/2017 08:41 PM, Timothy Sipples wrote:
> Have you looked at AT-TLS yet? It's a feature within Communications Server
> for z/OS.
>
I don't quite understand how AT-TLS works as a client. If it inserts 
itself at the TCP level, how does it perform functions like e.g. 
validating the certificate from the server?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: changing batch job to use SSL

2017-06-15 Thread Denis
Hi Tony,

This is new for me, can you point me to docs how to set up at-tls on windows 
for a tcpip c client program connecting to z/os?

Thanks,
Denis.


-Original Message-
From: Tony Harminc 
To: IBM-MAIN 
Sent: Thu, Jun 15, 2017 05:05 PM
Subject: Re: changing batch job to use SSL


On 15 June 2017 at 08:02, Denis <
01664d8ede6c-dmarc-mailto:requ...@listserv.ua.edu";>requ...@listserv.ua.edu> wrote:

> AT-TLS is only for the server side, so you also need something for the
> client side, e.g. stunnel (I am mentioning it, because I have worked with
> it) or others.


This is not right. AT-TLS works fine at the client or server end. You can
configure it for either or both for any given TCP application. AT-TLS is a
big thing to understand the details of, and the configuration and debugging
are particularly and annoyingly difficult, but conceptually it's quite
simple.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: changing batch job to use SSL

2017-06-15 Thread Denis
Tony,

yes I missed the part of a z/os client, sorry for that.
But it only makes sense, if both z/os are on different boxes or use external 
tcpip paths, otherwise since between tcpip and the calling application of the 
socket api its unencrypted anyway, it would be a waste of cpu cycles.

Denis.


-Original Message-
From: Tony Harminc 
To: IBM-MAIN 
Sent: Thu, Jun 15, 2017 07:12 PM
Subject: Re: changing batch job to use SSL


On 15 June 2017 at 12:24, Denis <
01664d8ede6c-dmarc-mailto:requ...@listserv.ua.edu";>requ...@listserv.ua.edu> wrote:

> This is new for me, can you point me to docs how to set up at-tls on
> windows for a tcpip c client program connecting to z/os?


Denis, I don't think Windows is in this picture anywhere; certainly it was
not mentioned until now. The OP spoke of a COBOL client program on z/OS
talking to a platform-unspecified external server (presumably not under his
control). AT-TLS on z/OS can provide the required client side protocol
support for TLS. The OP said that the server program already supports TLS,
so it's mostly a matter of getting the certificate stuff and the AT-TLS
config right.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: changing batch job to use SSL

2017-06-16 Thread Denis
Hi Andrew,

have a look at the following sample, where just the jobname and the outbound 
port specify the need to use tls.
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.cfzu100/step6b.htm
Scroll down to the sample policy that says outbound.
Maybe thats all you need to do, but I have not tested it.

Denis.

-Original Message-
From: Andrew Rowley 
To: IBM-MAIN 
Sent: Sat, Jun 17, 2017 07:45 AM
Subject: Re: changing batch job to use SSL


On 17/06/2017 03:05 AM, Tony Harminc wrote:
> It's validated the same way(s) any TLS client app (such as your desktop
> browser) validates a server certificate. I'm not sure why you seem to think
> this can't be done without client application program involvement.

There are 2 things that need to be validated with the certificate:
- That is is valid, i.e. has been signed by a trusted CA etc. AND

- That it belongs to the entity that the client is trying to connect to.

The description of AT-TLS says it takes control when the connection is 
opened, but at this point name resolution has already occurred, hasn't it?

So how does AT-TLS know who the client is trying to connect to so it can 
check the name in the certificate? I guess it would have to intercept 
name resolution and assume that later connections to a resolved IP 
address must match the name.

Or, maybe it is not intended for this type of general SSL connection.

I have been reading the documentation, but haven't been able to find 
anything about how (or whether) the name in the certificate is validated.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: changing batch job to use SSL

2017-06-19 Thread Denis
Hi Frank,
 
since policy agent belongs to Communication Server and used to have some 
requirements to be started before TCPIP, I would guess that in most shops a 
developer cannot do that.
Except maybe for play LPARs and zPDT.
 
Denis.
 
-Original Message-
From: Frank Swarbrick 
To: IBM-MAIN 
Sent: Mon, Jun 19, 2017 8:30 pm
Subject: Re: changing batch job to use SSL

Curious question.  Is this something a developer could do in order to test this 
out, or does it require System level access?

Frank

From: IBM Mainframe Discussion List  on behalf of 
Denis <01664d8ede6c-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, June 17, 2017 12:29 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: changing batch job to use SSL

Hi Andrew,

have a look at the following sample, where just the jobname and the outbound 
port specify the need to use tls.
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.cfzu100/step6b.htm
Example: Configuring AT-TLS for secure 
communication<https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.cfzu100/step6b.htm>
www.ibm.com
Example: Configuring AT-TLS for secure communication This topic shows the 
exemplary setup of the Policy Agent to secure communication for the CIM server.


Scroll down to the sample policy that says outbound.
Maybe thats all you need to do, but I have not tested it.

Denis.

-Original Message-
From: Andrew Rowley 
To: IBM-MAIN 
Sent: Sat, Jun 17, 2017 07:45 AM
Subject: Re: changing batch job to use SSL


On 17/06/2017 03:05 AM, Tony Harminc wrote:
> It's validated the same way(s) any TLS client app (such as your desktop
> browser) validates a server certificate. I'm not sure why you seem to think
> this can't be done without client application program involvement.

There are 2 things that need to be validated with the certificate:
- That is is valid, i.e. has been signed by a trusted CA etc. AND

- That it belongs to the entity that the client is trying to connect to.

The description of AT-TLS says it takes control when the connection is
opened, but at this point name resolution has already occurred, hasn't it?

So how does AT-TLS know who the client is trying to connect to so it can
check the name in the certificate? I guess it would have to intercept
name resolution and assume that later connections to a resolved IP
address must match the name.

Or, maybe it is not intended for this type of general SSL connection.

I have been reading the documentation, but haven't been able to find
anything about how (or whether) the name in the certificate is validated.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Question regarding system symbols

2017-07-13 Thread Denis
Hi Juergen,

I have seen customers using uppercase unix paths.
Is there a specific requirement that you cannot use uppercase paths or path 
parts in your shop?

Denis.


-Original Message-
From: Juergen Kehr 
To: IBM-MAIN 
Sent: Thu, Jul 13, 2017 10:00 AM
Subject: Question regarding system symbols


Hello,

in qur installation we use the system symbol &RZ for the system name. It has 
values like A1,B2,C3 (all letters are uppercase) Now we have to build the JCL 
for an STC where we would like to use this symbol, but our problem is that we 
need it in lowercase characters, because the value would become part of an USS 
path name like /abc/xyza1 or /abc/xyzb2 etc. 

We don't want to define new system symbols in lowercase (BTW: Is it possible to 
define lowercase values?), so we're looking for any good idea solving this 
problem.

Kind regards
Juergen

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: ServiceLink down?

2021-12-10 Thread Denis
I usually use the even shorter:ibm.com/ibmlink

Denis.

-Original Message-
From: Carmen Vitullo 
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Fri, Dec 10, 2021 3:43 pm
Subject: Re: ServiceLink down?

I should have added, the link you provided does not work

I used

www-03.ibm.com/ibmlink/servicelink

Carmen


On 12/10/2021 8:33 AM, Richards, Robert B. (CTR) wrote:
> Is anyone else having trouble logging  into ServiceLink?
>
> www.ibmlink.ibm.com<http://www.ibmlink.ibm.com>
>
> Bob
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN
>
-- 
/I am not bound to win, but I am bound to be true. I am not bound to 
succeed, but I am bound to live by the light that I have. I must stand 
with anybody that stands right, and stand with him while he is right, 
and part with him when he goes wrong. *Abraham Lincoln*/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: is there any documentation on using the new 64 bit instructions?

2022-06-28 Thread Denis
Hi Joe,
you should have a look at LE 31/64 bit interoperability:
https://www.ibm.com/docs/en/zos/2.4.0?topic=interoperability-introduction-amode-31-amode-64-programs
Denis.

-Original Message-
From: Joe Monk 
To: IBM-MAIN@LISTSERV.UA.EDU
Sent: Tue, Jun 28, 2022 7:33 pm
Subject: Re: is there any documentation on using the new 64 bit instructions?

If youre using LE, you can't mix 31 and 64 bit, because 64-bit C using LE
uses a 64-bit XPLINK which passes parameters from the stack above the bar.

I think you will have to write a glue assembler module to receive control
in AMODE 64 then SAM31 CALL  SAM64 and back.

Joe



On Tue, Jun 28, 2022 at 9:13 AM Colin Paice  wrote:

> I've been working on calling an (amode 31) assembler program from a 64 bit
> C program, and have been struggling.Is there is a good guide on how to use
> these new instructions?
> For example
> 1)
> I've found you need to use a  LLGTR R1... instruction to clear the register
> before using a L R1... because without it the high part of the register
> will have some 64 bit rubbish in it
>
> 2)
> I used
>
> BAKR  R14,0
> PR
> But it kept returning in amode 24 bit mode.  It needs BSM  14,0  before
> the  BAKR.__
>
> The POP tells you all about the instructions - but not how to use it.  The
> z/OS doc says use BACK/PR  without mentioning the  BSM, so this is not
> completely trustworthy.
> _
> Is there a better place to ask?
>
> Colin
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CPU and I/O statistics for BPXBATCH executions?

2024-06-27 Thread Denis
Hi,

I did some correlation by using the environment variables _BPX_JOBNAME and 
_BPX_ACCT_DATA. Documented here:
https://www.ibm.com/docs/en/izoda/1.1.0?topic=sjndicdm-using-bpx-acct-data-assign-accounting-information-spark-processes
Should be easy to add those environment variables globally or for specific 
tasks.
I tried it with ansible scripts which does ssh + forks to python scripts.

But there is 8 byte limitation, so you probably need to come up with generating 
an 8 byte unique identifier for the initial script that gets forked from.

Hope it helps, Denis.



On Thursday, June 27, 2024 at 04:57:45 AM GMT+2, Andrew Rowley 
 wrote: 





On 27/06/2024 10:54 am, Farley, Peter wrote:
> I am not asking about batch jobs that can start long-lasting or somehow 
> disconnected Unix processes that outlive the batch job execution.  I am only 
> asking about synchronous processes started and completed in the course of one 
> batch job.  Your reference to “sshd” is what has confused me.  What does the 
> “ssh” demon process have to do with a simple batch job that runs shell 
> commands and a python (or go, etc.) program for some application-specific 
> reasons?

SSHD was an example of a BPXBATCH job/stc where the resulting tasks far 
outlive the job that started them.

Even for a simple batch job: BPXBATCH -> shell -> shell script -> Python,

the different parts are running in separate address spaces, and I don't 
think that the system can be sure which order they will end. How can it 
tell the difference between a simple batch job and something that 
behaves like sshd?

It would be nice if the CPU etc was rolled up into the BPXBATCH job, but 
I think it would make writing the SMF records when unix tasks end very 
complex.

The CPU/IO etc for the cp, Python etc. steps is recorded, but it is in 
separate SMF records with SMF30WID = OMVS. IEFACTRT could presumably 
process them, but there are potentially thousands per second.

-- 
Andrew Rowley
Black Hill Software


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: python calling COBOL [was: RE: z/OS 3.1 Enhancements & Support News]

2024-07-09 Thread Denis
Hi Peter,

retcode 4 means failed to load target DLL (COBOL).
Did you do an export STEPLIB=HLQ.DSN where the COBOL DLL resides? Is the first 
COBOL compiled as DLL?
Did not had the time yet to upload the sources to the git repo.

Denis.


On Wednesday, July 10, 2024 at 01:07:52 AM GMT+2, Farley, Peter 
<031df298a9da-dmarc-requ...@listserv.ua.edu> wrote: 





Not in SYSLIB for the LINK step as far as I could see (“ax” and “bx” outputs 
from the “cc” link step are pasted below), but hlq.SCEERUN2 is in the LINKLIST 
here.

I am using the “cc” module I could find on our system, so my actual compile and 
link of that program from the z/OS Unix shell may or may not be correct.

I am a total newbie to compiling under the shell, so I may have not done 
everything needed to make this go right.  Plus I am not certain at all that the 
Unix version of “cc” that I found on the system is current or even configured 
correctly.

In any case, the output from trying to run the python starting program (after 
setting STEPLIB to include the PDSE with all the linked COBOL parts) is:

$ python3 call_cobol.py
Call cel4ro31 to run target program in AMODE 31
Error in CEL4RO31, retcode is 4
output:  7

Adding hlq.SCCRUN2 to the STEPLIB did not make a difference in the output.

Peter

“ax” Output from the LINK step of “call_cobol.c” module:

XL_CONFIG=/usr/lpp/cbclib/xlc/etc/xlc.cfg:cc
-v -Wl,DYNAM=DLL -Wl,lp64 -o./call_cobol.so call_cobol.o
STEPLIB=NONE
_C89_ACCEPTABLE_RC=4
_C89_PVERSION=0x4204
_C89_PSYSIX=
"_C89_L6SYSIX=SYS1.SCEELIB(CELQS003)"
_C89_L6SYSLIB=SYS1.SCEEBND2:SYS1.SCCNOBJ:SYS1.CSSLIB
//* c89 --
//LINKEDIT  EXEC  PGM=LINKEDIT,
//  PARM='AMODE=64,TERM=YES,
//  DYNAM=DLL,ALIASES=NO,UPCASE=NO,
//  LIST=OFF,MAP=NO,XREF=NO,INFO=NO,MSGLEVEL=4,
//  REUS=RENT,EDIT=YES,AC=0,CALL=YES,CASE=MIXED
//  ,DYNAM=DLL
//  ,LP64'
//SYSLIB  DD  DSN='SYS1.SCEEBND2',DISP=SHR,DCB=DSORG=DIR
//        DD  DSN='SYS1.SCCNOBJ',DISP=SHR,DCB=DSORG=DIR
//        DD  DSN='SYS1.CSSLIB',DISP=SHR,DCB=DSORG=DIR
//C8920    DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//            STORCLAS=,MGMTCLAS=,DATACLAS=,DSNTYPE=,
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//C8921    DD  DSN='SYS1.SCEELIB(CELQS003)',DISP=SHR,DCB=DSORG=NOTDIR
//SYSPRINT DD  PATH='/dev/fd1',
//            PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,
//            PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)
//SYSTERM  DD  PATH='/dev/fd2',
//            PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,
//            PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)
//SYSLMOD  DD  PATH='./call_cobol.so',
//            PATHOPTS=(OWRONLY,OCREAT),
//            PATHMODE=(SIRWXO,SIRWXG,SIRWXU)
//SYSLIN  DD  *
  INCLUDE C8920
  INCLUDE './call_cobol.o'
  INCLUDE C8921
/*

“bx” Output from the LINK step of “call_cobol.c” module:

FSUMI  Utility(xlc)                      Level(D191018.Z2R4)
FSUMI  Utility(c89)                      Level(D190809.Z2R4)
IEW2689W 4C40 DEFINITION SIDE FILE IS NOT DEFINED.
FSUM3065 The LINKEDIT step ended with return code 4.

From: IBM Mainframe Discussion List  On Behalf Of Sri 
Hari Kolusu
Sent: Tuesday, July 9, 2024 6:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: python calling COBOL [was: RE: z/OS 3.1 Enhancements & Support 
News]


>> test on our z/OS V2.5 system, but apparently the essential LE module 
>> CEL4RO31 does not exist on our system (or at least I nave not yet found it).



Peter,



CEL4RO31 is supported in V2R4 and higher .  Do you have hlq.SCEERUN2 in your 
SYSLIB ?



Thanks,

Kolusu

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: python calling COBOL [was: RE: z/OS 3.1 Enhancements & Support News]

2024-07-16 Thread Denis
Hi Peter,

can you please share the program name clause of the DLL and the compile + the 
link option?
Does the DLL just contain one function/entry point or more?

I recall there were several cases where the load failed, but the reason was 
not, that the module was not there and it was not a DLL. But there were no 
separate reason codes for the different cases.
Please also check the C code (which was created for the 7 (or 6?) byte module 
name), that the length calculation for the CEL4RO31 call parameters (module 
length, function name length) is correct. At one time I changed a name to be 
longer and then the load did not work, because there was a shift inside the 
byte blob that makes the CEL4RO31 parameters. I borrowed the C code but it can 
easily go wrong if something is changed.

Hope that helps
Denis.


On Wednesday, July 10, 2024 at 06:15:36 PM GMT+2, Farley, Peter 
<031df298a9da-dmarc-requ...@listserv.ua.edu> wrote: 





Hi Denis,

First, thank you for such an interesting blog.  Answering your questions:

Yes, I did export a STEPLIB with the hlq.PDSE that contains all three of the 
COBOL programs before running the python script (we are Ent. COBOL V6.2 here).  
All COBOL programs were compiled and bound/linked with JCL into that PDSE.  I 
have saved copies of the compile and link listings for each one.

Yes, the first COBOL is compiled as DLL.

It may be that the C program is not compiled/linked correctly though.

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
Denis
Sent: Wednesday, July 10, 2024 1:05 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: python calling COBOL [was: RE: z/OS 3.1 Enhancements & Support 
News]


Hi Peter,



retcode 4 means failed to load target DLL (COBOL).

Did you do an export STEPLIB=HLQ.DSN where the COBOL DLL resides? Is the first 
COBOL compiled as DLL?

Did not had the time yet to upload the sources to the git repo.



Denis.





On Wednesday, July 10, 2024 at 01:07:52 AM GMT+2, Farley, Peter 
<031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:



Not in SYSLIB for the LINK step as far as I could see (“ax” and “bx” outputs 
from the “cc” link step are pasted below), but hlq.SCEERUN2 is in the LINKLIST 
here.



I am using the “cc” module I could find on our system, so my actual compile and 
link of that program from the z/OS Unix shell may or may not be correct.



I am a total newbie to compiling under the shell, so I may have not done 
everything needed to make this go right.  Plus I am not certain at all that the 
Unix version of “cc” that I found on the system is current or even configured 
correctly.



In any case, the output from trying to run the python starting program (after 
setting STEPLIB to include the PDSE with all the linked COBOL parts) is:



$ python3 call_cobol.py

Call cel4ro31 to run target program in AMODE 31

Error in CEL4RO31, retcode is 4

output:  7



Adding hlq.SCCRUN2 to the STEPLIB did not make a difference in the output.



Peter



“ax” Output from the LINK step of “call_cobol.c” module:



XL_CONFIG=/usr/lpp/cbclib/xlc/etc/xlc.cfg:cc

-v -Wl,DYNAM=DLL -Wl,lp64 -o./call_cobol.so call_cobol.o

STEPLIB=NONE

_C89_ACCEPTABLE_RC=4

_C89_PVERSION=0x4204

_C89_PSYSIX=

"_C89_L6SYSIX=SYS1.SCEELIB(CELQS003)"

_C89_L6SYSLIB=SYS1.SCEEBND2:SYS1.SCCNOBJ:SYS1.CSSLIB

//* c89 --

//LINKEDIT  EXEC  PGM=LINKEDIT,

//  PARM='AMODE=64,TERM=YES,

//  DYNAM=DLL,ALIASES=NO,UPCASE=NO,

//  LIST=OFF,MAP=NO,XREF=NO,INFO=NO,MSGLEVEL=4,

//  REUS=RENT,EDIT=YES,AC=0,CALL=YES,CASE=MIXED

//  ,DYNAM=DLL

//  ,LP64'

//SYSLIB  DD  DSN='SYS1.SCEEBND2',DISP=SHR,DCB=DSORG=DIR

//        DD  DSN='SYS1.SCCNOBJ',DISP=SHR,DCB=DSORG=DIR

//        DD  DSN='SYS1.CSSLIB',DISP=SHR,DCB=DSORG=DIR

//C8920    DD  UNIT=SYSDA,SPACE=(32000,(30,30)),

//            STORCLAS=,MGMTCLAS=,DATACLAS=,DSNTYPE=,

//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)

//C8921    DD  DSN='SYS1.SCEELIB(CELQS003)',DISP=SHR,DCB=DSORG=NOTDIR

//SYSPRINT DD  PATH='/dev/fd1',

//            PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,

//            PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)

//SYSTERM  DD  PATH='/dev/fd2',

//            PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,

//            PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)

//SYSLMOD  DD  PATH='./call_cobol.so',

//            PATHOPTS=(OWRONLY,OCREAT),

//            PATHMODE=(SIRWXO,SIRWXG,SIRWXU)

//SYSLIN  DD  *

  INCLUDE C8920

  INCLUDE './call_cobol.o'

  INCLUDE C8921

/*



“bx” Output from the LINK step of “call_cobol.c” module:



FSUMI  Utility(xlc)                      Level(D191018.Z2R4)

FSUMI  Utility(c89)                      Level(D190809.Z2R4)

IEW2689W 4C40 DEFINITION SIDE FILE IS NOT DEFINED.

FSUM3065 The LINKEDIT step ended with return code 4.



From: IBM Mainframe Discussion

Re: World’s largest computer outage!

2024-07-19 Thread Denis
Hi Joe,

the issue is windows, but caused by crowdstrike.
Unlike Linux, Microsoft Windows never implemented switchable boot images. 
Microsoft loads all drivers as separate files. Linux has a one file/image 
kernel that includes all the loadable kernel driver modules. Its just bad 
design, if one driver file is not readable or defunct, that the whole operating 
system is stuck in the boot process (think about GPU drivers that cause BOD 
bootloops, this is has been a problem since more than 20 years - remember 
disabling drivers via F8 boot into shell and then from shell using 
enable/disable commands). It would be so easy to keep the last good known boot 
images (including drivers) and switch back automatically, if booting does not 
succeed for e.g. 3 times.
Microsoft is not learning or improving the vulnerabilities of their boot 
process.

The quick fix is to delete a file from booting into safe mode windows, but if 
windows is bitlocker encrypted, you need the bitlocker key to do that, 
otherwise you are stuck. At least some hardware has the option to deploy new 
Windows images via some sort of Bios/Mini-Operating System that just takes an 
image via network and writes it to disk.

Denis.





On Saturday, July 20, 2024 at 01:39:33 AM GMT+2, Joe Monk 
<05971158733e-dmarc-requ...@listserv.ua.edu> wrote: 





More to the point, the issue is not Windows, but the abuse of Windows.
Example: requiring administrator rights to do ordinary, everyday tasks.

This led to "script kiddies" which caused us to be defensive on PCs, e.g.
Anti-Malware.

Joe

On Fri, Jul 19, 2024 at 6:31 PM Steve Beaver <
050e0c375a14-dmarc-requ...@listserv.ua.edu> wrote:

> We never had these problems until Windows showed up
>
>
> Sent from my iPhone
>
> No one said I could type with one thumb
>
> > On Jul 19, 2024, at 18:22, Paul Edwards <
> 0676ab6435a5-dmarc-requ...@listserv.ua.edu> wrote:
> >
> > On Sat, 20 Jul 2024 06:46:40 +1000, Wayne Bickerdike 
> wrote:
> >
> >> Some kind of false economy to make the PC the entire tool of choice for
> >> certain routine tasks.
> >>
> >> In the 1980s we had proprietary banking terminals, private/leased line
> >> point to point communications and passbooks.
> >
> > This is a topic of interest to me. I still program in C90 too.
> > Still restrict myself to S/370 instructions too (quibbling aside).
> >
> > However - for what reason would a proprietary banking terminal
> > be more reliable than a PC? Isn't it more the automatic update
> > feature of the PC that is the issue? That won't protect against
> > a date-related bug in some component though.
> >
> > So perhaps 2 different PC solutions (e.g. the Amiga) - if we're
> > talking 1980s.
> >
> >> No way our branch network would be unable to perform front counter
> >> transactions. We had store and forward whereby local transactions would
> be
> >> kept until the network was back up and running.
> >>
> >> In those days we had 3 ATMs, preferring to let other banks provide that
> >> service and we would absorb the fees.
> >>
> >> I drew out $620 in cash from an ATM yesterday, just a few hours before
> the
> >> crash. Too many people are embracing the cashless world. Time to wake up
> >> and apply some common sense.
> >
> > Are you suggesting using physical cash because software and
> > hardware engineers are unable to create a reliable alternative?
> >
> > The cost of handling physical cash is likely hidden in taxes or
> > whatever. If it was properly costed, maybe IBM mainframes
> > would be part of the solution, and Amigas too?
> >
> > Note that I created PDOS because I didn't want to be dependent on
> > millions of lines of code that I didn't understand and/or didn't have
> > access to. Simplicity. For simple tasks. My wife didn't have access to
> > her bank account for about 6 months because she either wasn't
> > receiving SMSes at all (from this one bank), or they would arrive too
> late.
> >
> > No-one was able to do anything other than say "try again later".
> >
> > 6 digits could have been sent with a Commodore 64 and a 300 bps
> > modem to any spot on earth within 0.2 seconds in the 1980s.
> >
> > That was in 2023, but even in 2024 SMSes still get lost - and other
> > situations too - I think Discord lost a message of mine in 2024.
> > I don't remember a zmodem file transfer ever losing a file of mine.
> >
> > BFN. Paul.
> >
> > --
> > For IBM-MAIN subscribe 

Re: World’s largest computer outage!

2024-07-21 Thread Denis
I have a linux based internet router. It has two partitions, A and B. Assuming 
A is running, B is updated or vice versa. After the update it boots into the 
updated partiton (e.g. B) and if there is a startup problem, it switches back 
to A on the next boot and will not retry B until after the next update. So a 
bootloop is not possible as long as one of A or B is still functioning. This 
works without user intervention (so no boot partition selection or something 
like that).
I don't see how that can be implemented with official Windows (while there are 
non official ways to live-boot/net-boot windows, mostly with some sort of 
intermediate Linux or based on cloning software or modifying Microsoft 
installer USB Sticks).
Nothing official from Microsoft though.

Denis.




On Sunday, July 21, 2024 at 08:46:06 AM GMT+2, Sebastian Welton 
 wrote: 





Crowdstrike not only had a, barely reported, major upset with various Linux 
distros not long ago but it also runs on mainframes:

https://www.crowdstrike.com/blog/crowdstrike-brings-xdr-to-z16-linuxone4-single-frame-and-rack-mount-models/

>
>the issue is windows, but caused by crowdstrike.
>Unlike Linux, Microsoft Windows never implemented switchable boot images. 
>Microsoft loads all drivers as separate files. Linux has a one file/image 
>kernel that includes all the 

Sebastian.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JAVA: Can it handle TIOT read?

2024-08-30 Thread Denis
 Have you tried to use peekOSMemory, its a bit strange to do control Block 
hopping in Java and using this method, there is No dsect conversion or so, Just 
Pointer Arithmetik, but it should be possible to do similar Things as in 
Assembler.
https://github.com/zsystems/java-samples/blob/master/PeekOSMemory.java

You could combine it with the jzos record Generator, that allows to create Byte 
identical Java records with getter and Setter methods based on cobol copybooks 
or Assembler dsects.
But the Code Looks strange to a Java Developer.
Denis.
On Friday, August 30, 2024 at 04:57:29 PM GMT+2, Steve Thompson 
 wrote:  
 
 I'm working on a project to "modernize" ALC to Java.

And I have code that is reading the TIOT to find DDs that the 
process is interested in.

The subject is the question. I'm documenting routines (biz logic) 
and the program I'm working on is a bit challenging.

I know Java, kinda, when I see it. But I haven't found any method 
for this.

Anyone have to deal with this before (in Java)?

Regards,
Steve Thompson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  


Re: Resolving Java import statements

2016-03-15 Thread Denis
Hi Janet,

yes the individual jars need to be on the classpath. The directory only works 
if the individual *.class files are in the directory tree and not in the jars. 
A directory on the classpath is never searched for jars.

dg

-Original Message-
From: Janet Graff <004dc9e91b6d-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN 
Sent: Tue, Mar 15, 2016 09:11 PM
Subject: Re: Resolving Java import statements


Sorry Jack, not following the intent.  Are you saying I need to add the 
individual jar files to the CLASSPATH definition?
The CLASSPATH does have the directory containing the required jar file.

Janet

>Jack J. Woehr wrote:
>> for jar in /somedir/*.jar
>>do
>> export CLASSPATH=$CLASSPATH:$jar
>>done 

>Oops, this should say export CLASSPATH=$CLASSPATH:/somedir/$jar

>-- 
>Jack J. Woehr

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Creating XLS file

2021-03-23 Thread Denis
 I have used java and jexcelapi library for that:
http://jexcelapi.sourceforge.net/

Its not maintained anymore but works pretty well. I have used it to extract SMF 
data and data from z/OS logs.But you need to do the programming, its just an 
API to create a workbook and add data to it and change parameters like cell 
data type, size, font. Formulas can also be added to the sheets.I used the jzos 
record builder to create Java record classes from Assembler dsecs, but the 
logic needs to be programmed, like the read loop and calculating offsets. And 
the rdw is needed to have the record lengths.

On Wednesday, March 24, 2021, 05:31:30 AM GMT+1, Peter 
 wrote:  
 
 Hello

I am looking for a freeware or any sample program which can covert my
mainframe file into an excel file.
Just to be clear we don't have SAS or any seperate tool to achieve this.

Is there any working solution who can point me in the right direction?


Peter

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  


Re: REGION=0M leads to CPU through the roof

2017-07-25 Thread Denis
I have seen that happening with JVMs in regions, e.g. comparing 384M and 512M 
and 0M.
So if you don't find any logic in the COBOL source that does its own 
allocation, its very likely the runtime.
 
dg.
 
-Original Message-
From: Tom Marchant <000a2a8c2020-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN 
Sent: Tue, Jul 25, 2017 3:40 pm
Subject: Re: REGION=0M leads to CPU through the roof

On Mon, 24 Jul 2017 15:33:55 -0700, Gerhard Adam wrote:

>Since the amount of storage was nearly 50 times greater than the original, it 
>seems that the program is clearly managing [or searching] are large amount of 
>storage that it doesn't need.  It seems that that might account for the CPU 
>time increase.
>
>I see no reason why a program that successfully ran using the default region, 
>should suddenly allocate all the available memory just because 0M was coded.
>
>Even though you said the increase in storage was not surprising, it actually 
>is.  

I agree. Increasing the region doesn't ordinarily increase the storage 
utilization.

-- 
Tom Marchant

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Blockchain on Mainframe ?

2017-10-20 Thread Denis
 banks and credit card 
processors and their fees in the first place? To replace it with fees paid for 
miners, brokers and exchanges? With fees that result in hash mining, which is a 
waste of electric energy?
Or some smart guy comes around the corner and finds a solution...
 
 
Just my 2 cent,
Denis.
 
-Original Message-
From: Rob Schramm 
To: IBM-MAIN 
Sent: Fri, Oct 20, 2017 7:10 pm
Subject: Re: Blockchain on Mainframe ?

>From what I have seen so far, I don't think native blockchain on z/OS is
there. I think all the work for mainframes is done in Linux on z.

It has been 3-6 months since I last looked and everything blockchain
related is in "heavy fluctuation".

Rob Schramm

On Fri, Oct 20, 2017 at 1:05 PM Jake Anderson 
wrote:

> Hi
>
> Is it possible to run blockchain on zOS ? Is it going to be completely a
> different layer within Mainframe ?
>
> One of the article says if blockchain comes then it can process the
> transaction even faster than VISA .
>
> Any thoughts ?
>
> Regards
> Jake
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
-- 

Rob Schramm

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CEEDUMP possible following 'new' failure

2016-10-07 Thread Denis
Hi,
 
this reminds me of some hanging IMS jobs that could neither be cancelled nor 
forced because the routines for memterm could not be loaded because of memory 
exhausted. Only BMC Tooling allowed to get rid of them.
The suggestion in the PMR was to code an IEFUSI to reserve 512k below to allow 
memterm to happen in any case.
 
Could you please raise another internal discussion why IEFUSI has to be coded 
at all in order to allow memterm to happen?
Why can't z/OS just ensure that there is always enough storage available in the 
address space for memterm?
 
Thanks.
 
 
-Original Message-
From: Jim Mulder 
To: IBM-MAIN 
Sent: Thu, Oct 6, 2016 10:33 pm
Subject: Re: CEEDUMP possible following 'new' failure

>From some internal discussion after this issue was raised today,
our intention is that LE will move the CEEDUMP modules to SCEELPA 
in the next release of z/OS. 

Jim Mulder z/OS Diagnosis, Design, Development, Test  IBM Corp. 
Poughkeepsie NY

> 
> So, when  will CEE.SCEELPA be z/OS standard? :) 
> 
> > -Original Message-
> > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
> > On Behalf Of Jim Mulder
> > Sent: Thursday, October 06, 2016 10:48 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: CEEDUMP possible following 'new' failure
> > 
> > > The remaining problem is that I am not getting any diagnostic
> > information,
> > > in other words, exactly *which* new failed -- which will of course
> > > make
> > any
> > > bug of this sort in the field hard to find. I call CEEDUMP to get a
> > > call trace and it produces an *empty* four-line dataset. On the
> > > console I get
> > >
> > > IEW4000I FETCH FOR MODULE CEEMENU3 FROM DDNAME *VLF* FAILED
> > BECAUSE
> > > INSUFFICIENT STORAGE WAS AVAILABLE.
> > > CSV031I LIBRARY ACCESS FAILED FOR MODULE CEEMENU3, RETURN CODE
> > 24,
> > REASON
> > > CODE 26080021, DDNAME *LNKLST*
> > 
> >   I would suggest putting the CEEDUMP-related modules in LPA.  Our
> > intention in z/OS is that modules involved in the production of
> > SYSABEND/SYSUDUMP/SYSMDUMP/IEATDUMP/SDUMP
> > should be in LPA, so that they don't need get loaded into exhausted 
REGION-
> > constrained storage while trying to take a dump of REGION-constrained
> > storage exhaustion.  (And I say "our intention"
> > because we do sometimes find cases where we did not do what we
> > intended).



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CEEDUMP possible following 'new' failure

2016-10-08 Thread Denis
Hi Jim,
 
I cannot remember exactly, but what happened was that in IMS the STOP REGION 
command was issued and the address space was not listed anymore in IMS (Display 
active showed it was gone).
It was visible in JES but nothing could be done about it, it did neither accept 
cancel nor force.
 
Fault Analyzer showed that the last thing that happened in the address space 
was trying to load some z/OS routines for termination (if it was not memory 
termination then it must have been task termination) and failed to load those 
routines because of an out of storage condition.
 
So the expectation of everyone for this situation is, task termination should 
be possible regardless if there was an IEFUSI reserving the 512k below or not.
If task termination, which is an operating system function, requires storage in 
an address space with no storage left, it should ensure that there is always 
enough room for task termination.

Thanks.
 
 
-Original Message-
From: Jim Mulder 
To: IBM-MAIN 
Sent: Fri, Oct 7, 2016 8:39 pm
Subject: Re: CEEDUMP possible following 'new' failure

> this reminds me of some hanging IMS jobs that could neither be 
> cancelled nor forced because the routines for memterm could not be 
> loaded because of memory exhausted. Only BMC Tooling allowed to get 
> rid of them.
> The suggestion in the PMR was to code an IEFUSI to reserve 512k 
> below to allow memterm to happen in any case.
> 
> Could you please raise another internal discussion why IEFUSI has to
> be coded at all in order to allow memterm to happen?
> Why can't z/OS just ensure that there is always enough storage 
> available in the address space for memterm?

  Since memterm does not access the storage of the address 
being terminated, there is no connection between IEFUSI and memterm.
There is no requirement for any available storage in the address
space being memtermed.  Task termination, yes. 
Memory termination, no. 


Jim Mulder z/OS Diagnosis, Design, Development, Test  IBM Corp. 
Poughkeepsie NY




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CEEDUMP possible following 'new' failure

2016-10-10 Thread Denis
Hi Barbara,
 
no, we did not have Compuware in this environment. 
But the callrtm command seams something we need to look at. Thanks for that.
 
Denis.
 
 
-Original Message-
From: Barbara Nitz 
To: IBM-MAIN 
Sent: Mon, Oct 10, 2016 9:22 am
Subject: Re: CEEDUMP possible following 'new' failure

>I cannot remember exactly, but what happened was that in IMS the STOP REGION 
>command was issued and the address space was not listed anymore in IMS 
>(Display active showed it was gone).
>It was visible in JES but nothing could be done about it, it did neither 
>accept cancel nor force.

Do you by any chance run Compuware Xpediter or something under IMS? A few jobs 
ago, we had the same problem with our IMS regions, and it turned out that 
Compuware code was hindering termination. (I took a dump and looked.)

In some cases I was successful by using the (unsupported) callrtm program that 
is now a (supported)  operator command. I specified the asid and the bottommost 
tcb and ran that program a number of times. In about 70% of the cases it 
succeeded in terminating the hung region, in the remaining 30% they needed a 
complete IMS restart (to enable to user whose id was blocked) to work again.

Barbara

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CEEDUMP possible following 'new' failure

2016-10-11 Thread Denis
Hi Peter,
 
yes I am aware of that, but we also have hang conditions, where the jobs are 
not out of memory and it might help in those situations.
Many of this situation occur when unix system services are in the game.
 
Thanks.
 
 
-Original Message-
From: Peter Relson 
To: IBM-MAIN 
Sent: Tue, Oct 11, 2016 1:44 pm
Subject: Re: CEEDUMP possible following 'new' failure

The "callrtm command" will do no better than anything else that requires 
private storage of the address space to run. It is nothing more than a 
targeted cancel.

Out of private storage is out of private storage.

Peter Relson
z/OS Core Technology Design


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: : Looking for some direction on USS / JAVA / C / COBOL and or Assembler please.

2016-11-03 Thread Denis
Hi Jim,
 
you cannot mix 64bit Java and 31bit COBOL. As of now there is no COBOL compiler 
that creates 64bit code.
Please switch to the 31bit JVM.
In addition, you can code JNI calls in COBOL, no C wrapper required and compile 
it using JCL.
Please note, that C can produce 64bit code and as such can be used with the 
64bit JVM. But without Assembler you cannot call the 64bit C module from COBOL 
(which is 31bit).
 
You can also find samples of COBOL/Java in the redbook:
New Ways of Running Batch Applications on z/OS: Volume 4 IBM IMS

Although it mentiones IMS and Batch, COBOL/Java interoperability is a Language 
Environment Feature, which is not limited to IMS or Batch.
All the compiles in the Book are done with JCL.

By the way, there is a Java Doc in preparation with samples and discussions for 
COBOL/Java which is expected to be released around mid November, which will 
replace and enhance information from the mentioned redbook.

Denis.

 
-Original Message-
From: Jim 
To: IBM-MAIN 
Sent: Wed, Nov 2, 2016 10:15 pm
Subject: Re : Looking for some direction on USS /  JAVA / C / COBOL and or 
Assembler please.

Listers,

For brevity ... I've been trying to get the Standalone Java vol 2 example of 
JAVA calling COBOL (and assembler) via a 
C glue working, unsuccessfully ..  

I'm on a  z/OS 2.2 box, Java 7 x64 only .. I can install 31bit java am hoping I 
won't be limited to that ... 

I've compiled my skeletons, both assembler and COBOL under native z/OS and 
included RENT, DYNAM(DLL) and AMODE64. 


For the Java part .. it's a simple javac programname.java followed by a javah 
programname (class name)... for the 
C part ... I've been using the below .. 

c89 -c -o programname.o -W "c,langlvl(extended)",lp64 -W c,expo,lp64,dll 
-DNEEDSIEE754 -DNEEDSLONGLONG -I/usr/lpp/java/J7.0_64/include programname.c
c89 -Wl,lp64,dll -o libprogramname.so programname.o 
"//'HLQ.PDSE.OBJ(COBOLPROGRAM | ASSEMBLERPROGRAM)'"

With the 'lp64' included .. for the 2nd step (link) .. I keep getting ..

IEW2480W A711 EXTERNAL SYMBOL CEELLIST OF TYPE LD WAS ALREADY DEFINED AS A   
  SYMBOL OF TYPE LD IN SECTION CEEBLLST.
 IEW2482W A712 THE ORIGINAL DEFINITION WAS IN A MODULE IDENTIFIED BY DDNAME   
  C8921.  THE DUPLICATE DEFINITION IS IN SECTION CELQLLST  IN A MODULE
  IDENTIFIED BY DDNAME SYSLIB.   
 IEW2491E 9373 CLASSES C_WSA and C_WSA64 ARE BOTH PRESENT IN THE MODULE.  
FSUM3065 The LINKEDIT step ended with return code 8.  

I do see that both, the COBOL and assembler objects (under z/OS) are amode 64 / 
rmode any ... I do not know how to do
the same under USS but am going by the options provided to 'c89' ... 

If I remove the 'lp64' option ... it compiles / links fine .. but when I try to 
run (java programname) .. I get a class not found error 
followed by a java.lang.unspecifiedlinkerror ... this is on the java 
System.loadLibrary statement ... when I changed it to 
System.load specifying the full path ... I got an EDC5253S An AMODE64 
application is attempting to load an AMODE31 DLL load
module .. 

Any advice / direction would be appreciated  ...

Kind Regards.

Jim 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: How to Identify modules as C/C++ or Cobol, or ASM from dump (SYSMDUMP)

2016-11-30 Thread Denis
Hi,
 
I once had a PMR open, where COBOL called a COBOL DLL and the program mask 
changed. Which was annoying for the assembler that later was called and 
depended on the exception bits in the PSW.
 
The outcome was:
1. Language Environment neithersaves nor restores the program mask setting 
across calls to Language Environment servicesor calls within the Language 
Environment environment.
http://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ceev100/pgmask.htm
2. The call from NODLL Cobol to the DLL COBOL was treated as new language 
(causing IGZCFCC calling CEEBADDM service to add a new member).
The maskable program exceptions are enabled for all member languagesrepresented 
in the root or main load module during Language Environment initialization.Each 
member language informs Language Environment of itsprogram mask requirements, 
and Language Environment ORs allof the requirements together and sets the 
program mask during initialization.During termination, the program mask is 
reset by Language Environment to itsvalue upon entry to Language Environment 
initialization.
3. While the enclave is running, the program mask is influenced bythe callable 
service, CEE3SPM, and by members' requirements that arenewly-added as a result 
of a dynamic call or fetch; this is handledby the CWI service CEE3ADDM.
4. If a program expects to work with a specific program mask, it needs to set 
it to the values it requires and reset it back, because of 1.

This basically means, in an unlucky mix or with new compilers/languages, the 
program mask might be different than it was before.
 
Hope that helps.
Denis.

 
-Original Message-
From: Peter Hunkeler 
To: IBM-MAIN 
Sent: Wed, Nov 30, 2016 1:38 pm
Subject: AW: Re: How to Identify modules as C/C++ or Cobol, or ASM from dump 
(SYSMDUMP)

Bill,Thanks a zillion for this information and the pointers in there.


While it does not represent a solution to my question, it does give me most 
valuable to the problem at hand. I'll have to discuss this with the people 
responsible for the Cobol V5 migtation here.

I'm kind of alerted by the statement "Cobol V5 always uses C". That means the 
decimal overflow mask will always be set after the first (internal) call to C 
code?

Can you be more specific on it means that "Cobol V5 always uses C"?

The 000A exception causes us problems, I understand so far, in context of 
programs running under control of Smart/Restart. Smart/Restart installs its own 
error handlers, which are obviously not supposed (or prepared) to handle an 
000A exception in Cobol context. It has something to do with S/R rolling back 
the DB changes and LE then ignoring the error giving contol back to the Cobol 
code. Later, a next DB call will fail with, mostly, a 0004 exception often in 
DSNHLI, because cursors are no longer open.

(Note that this is only vague information at this time. I'll have to understand 
what really happens. I have just gotten involved in this.)



--
Peter Hunkeler


 Von: Bill Woodger  An:   
IBM-MAIN@LISTSERV.UA.EDU Betreff: Re: How to Identify modules as C/C++ or 
Cobol, or ASM from dump (SYSMDUMP) Datum: 30.11.16, 04:07


Are you running LE with TRAP(OFF)? That's the only way I know, yet, of getting 
the S0CA from a COBOL program. See the discussion here: 
https://www.ibm.com/developerworks/community/forums/html/topic?id=a639cb05-5604-42ab-95da-2a77dfccadbf&ps=25.
 There was an RFE raised, which is currently an "Uncommitted Candidate", 
meaning it is a possible thing for the future, for a compiler option to provide 
the S0CA, during development, for instance.

However, would that, even if available, help you find the errant C/C++ 
program(s)? If the first C/C++ program set the bit and only the 300th COBOL 
program actually had an overflow?

Are you, ideally, looking for a list of the C/C++ programs which have already 
been "used" in the run-unit so that you can manually inspect them for the 
setting? That, as you are probably aware, won't give you anything for C/C++ 
program which just haven't been loaded yet, but will be.

How are the C/C++ programs setting the program mask? Do they use CEE3SPM, or 
some other method? If CEE3SPM, it shouldn't be too difficult to identify 
modules using that, although if you have 30,000 C/C++, 200 used (potentially) 
in your run-unit, and only four actually do the nasty of out 1,500 doing it in 
total...

There is an LE User Exit, CEEBINT, but since that is executed at the start of a 
program, even trying to check there won't quickly lead to the C/C++ program(s). 
Prog Z is CALLed by a chain of 25 other COBOL programs (try to guess what they 
are each named), Z CALLs a C/C++ program, which sets the mask, but no ill 
effect on Z (immediately, at least) and then a few GOBACKs and it arrives at 
Prog E, which then CALLs E1 which starts another huge chain, and eventually 
E1

Re: ASCII<->EBCDIC (was: convince programmer something else is better.)

2016-12-19 Thread Denis
One could have used NATIONAL-OF built-in function in Enterprise COBOL to 
exploit Unicode Conversion Services:
http://www.ibm.com/support/knowledgecenter/SS6SG3_3.4.0/com.ibm.entcobol.doc_3.4/igyc1uni.htm
 
 
-Original Message-
From: Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN 
Sent: Mon, Dec 19, 2016 4:47 pm
Subject: ASCII<->EBCDIC (was: convince programmer something else is better.)

On Mon, 19 Dec 2016 08:35:33 -0600, Peter Vander Woude wrote:
>
>Our programmers used to use a cobol to read in a file, for ebcdic to ascii 
>translation, and then this subprogram would be called for each record to 
>convert from ebcdic to ascii.  The job steps calling that routine spent over 
>90% of their cpu time in that subprogram.
>
>I re-wrote into hlasm, and eliminated at least 80-90% of the cpu time, just 
>due to the efficiencies that the assembler code management of the data in a 
>table, have vs cobol.
> 
And that conversion is built in to the z/OS UNIX kernel if the proper 
incantations are performed.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: New free / open source z/OS tools from Dovetailed Technologies

2017-01-18 Thread Denis
Hi,
 
you can run the z/OS FTP Server and the FTP client unchanged if you set up 
AT-TLS on the mainframe and use stunnel on the FTP client platform to do the 
reverse thing that AT-TLS does on z/OS (transparent SSL).
Stunnel uses OpenSSL libraries. There is no need for a ssh server or client.
 
Just as a remark:
The data (socket) between ftp client and stunnel as well as between AT-TLS 
(z/OS TCPIP) and z/OS FTP server is not encrypted.
This means only the transport channel is encrypted.
 
Denis.
 
-Original Message-
From: Allan Staller 
To: IBM-MAIN 
Sent: Wed, Jan 18, 2017 2:12 pm
Subject: Re: New free / open source z/OS tools from Dovetailed Technologies

I do not believe this can be done. You can look at FTPS (as opposed to SFTP).

I think you are describing a TLS type implementation. In this case, the 
encryption is at the link level. SFTP encrypts the data.

TLS normally requires application modification for use. IBM offers AT-TLS which 
does not require application modification.

HTH,



Can the standard z/OS FTP with SSL be used instead of either scp or sftp?  I 
don't think we have any ssh server running at all.




::DISCLAIMER::


The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only.
E-mail transmission is not guaranteed to be secure or error-free as information 
could be intercepted, corrupted,
lost, destroyed, arrive late or incomplete, or may contain viruses in 
transmission. The e mail and its contents
(with or without referred errors) shall therefore not attach any liability on 
the originator or HCL or its affiliates.
Views or opinions, if any, presented in this email are solely those of the 
author and may not necessarily reflect the
views or opinions of HCL or its affiliates. Any form of reproduction, 
dissemination, copying, disclosure, modification,
distribution and / or publication of this message without the prior written 
consent of authorized representative of
HCL is strictly prohibited. If you have received this email in error please 
delete it and notify the sender immediately.
Before opening any email and/or attachments, please check them for viruses and 
other defects.



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Block Chain

2017-01-19 Thread Denis
Hi Nathan,
 
this could be, but Cybercurrencies are just a subset of what blockchain 
technology can offer. Basically you create a hash of a data record and make 
that hash part of the data of the next record and so on, this produces a chain 
of unmutable (or difficult to change) data.
I think the broader exploit would be process optimization and storing data 
without the ability to change it (paperless, unmutable changes, device 
protocols, documentation, sensor data, goverment requirments).
 
Denis.
 
-Original Message-
From: Nathan Astle 
To: IBM-MAIN 
Sent: Thu, Jan 19, 2017 9:46 am
Subject: Block Chain

Hi

I was just reading through about block chain. If I understand correct it
said once block chain comes then payment authorizing party won't be There.
Does that mean this would bypass MasterCard or Visa processing ?


Apology if my understanding is not correct

Nathan

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: A Programing language called Scala?

2016-09-07 Thread Denis
Hi,
 
since java bytecode can be created without using a compiler and it runs on a 
z/OS JVM, its no problem to run Scala on the z/OS JVM.
Furthermore, since a scala class to the JVM looks just like a Java Class, you 
can also call Scala classes using JNI from COBOL, PL/I or C.
That also means you can submit Scala Spark jobs using JNI from COBOL, PL/I or C.
I have not tested JRuby, Clojure, Apache Groovy or Jyton, but any language the 
runs on a JVM, should work, if it does not have bugs like the following:
 
In the current implementations of Scala (the one that are packaged with Spark 
for z/OS) has a bug, which requires to set the JVM Option on z/OS 
-Dfile.encoding=ISO8859-1.
This problem is marked as fixed as of Scala 2.12.0-M5 which is not yet packaged 
with Spark for z/OS.
 
Hope that helps.
 
Denis.
 
 
-Original Message-
From: David Crayford 
To: IBM-MAIN 
Sent: Wed, Sep 7, 2016 2:41 pm
Subject: Re: A Programing language called Scala?

Apache Spark is written in Scala and that runs on z/OS so I would 
suggest no probs!

Scala is not for the neophyte. It's a fantastic language with so many 
plus points it makes Java look ordinary. However, beneath the succinct 
syntax lies
hideous complexity that the average Java programmer cannot grok let 
alone your average COBOL coder. It twists the brain!

  7/09/2016 7:57 AM, Paul Gilmartin wrote:
> On Tue, 6 Sep 2016 16:03:56 -0400, Tony Harminc wrote:
>>> http://www.scala-lang.org/download/
>>> http://www.ibm.com/systems/z/os/zos/tools/java/
>>> http://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.azkd100/azk_getting_started.htm
>> http://www-947.ibm.com/systems/support/machine_warranties/machine_code/aut.html
>>
>> One could argue that this precludes anything not actually written in
>> the Java language. Or one could argue that it's Java bytecodes or
>> class files that are or are not eligible, in which case Scala would be
>> fine. But any argument that says Scala is eligible would work just as
>> well to argue that COBOL compiled into a Java class would be eligible;
>> something I expect IBM would not agree to.
>>
> Why not?  One could similarly argue that HLASM code created
> by the PL/S compiler is supported by HLASM, but HLASM code
> created by the Dignus C compiler is not.  The telling point is
> whether the intermediate product conforms to the specifications
> of the subsequent processor.
>
>> I suppose the bottom line, as always, is that IBM can decide to
>> interpret this the way it wants at the time it wants.
>>
> Sort of.  If HLASM fails PL/S output, IBM is free to modify HLASM
> if they deem that easier than fixing PL/S.  IBM probably wouldn't
> do the same for Dignus C.  But Dignus might object strongly if HLASM
> is violating its own published specifications.
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: BPX mvssigsetup, the SIR, and ignoring Signal #9 (SIGKILL)

2018-02-27 Thread Denis
Defering to indefinite is probably the same as ignore...

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.bpxb100/bpx2cr_Delayed_signal_delivery.htm

-Original Message-
From: John McKown 
To: IBM-MAIN 
Sent: Tue, Feb 27, 2018 10:05 PM
Subject: Re: BPX mvssigsetup, the SIR, and ignoring Signal #9 (SIGKILL)


On Tue, Feb 27, 2018 at 2:39 PM, Thomas David Rivers riv...@dignus.com>
wrote:

> On a typical UNIX platform, the operating system enforces the rule that
> signal #9 cannot be blocked, and that a process that receives
> that signal will be removed from the process table (and thus "killed".)
>
> I've been setting up a BPX signal handler in some ASM code; using the BPX
> mvssigsetup() function, writing a SIR, etc...
>
> What I have discovered is that there seems to be nothing in z/OS that
> enforces the "signal #9 can't be intercepted" rule... my routines can't
> block that signal, but they are totally happy to receive it, ignore it
> and return back to the executing program.   The program isn't summarily
> "killed".
>
> I can't seem to find any particular documentation on the point, but I
> suppose
> in the event my program receives signal #9 - it's up to the program itself
> to die (perhaps horribly?) and it's not a function of the operating system?
>
> Because I'm not processing signal #9 and just returning to the point
> of the signal; I've essentially created an unkillable process... which
> could
> be a denial-of-service if nothing else.  Seems like you could easily fork()
> (which can create an unassociated task) and just catch signal #9 all day
> long.  I suppsoe the operator can still cancel the task somehow...  You can
> send my process a signal #9 all day long, and merrily continues on.
>
> But - a UNIX programmer would certainly be quite "flummoxed" at this
> behavior.
>
> Does anyone have any pointers about this?
>

​How about some more confusion.

On this page about mvssigsetup()"
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.bpxb100/mss.htm";
 
target="_blank">https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.bpxb100/mss.htm
​
[quote]

Default_override_signal_setSupplied parameterType:Character stringCharacter
set:No restrictionLength:8 bytes

The name of an 8-byte area containing a 64-bit mask of signals that the SIR
processes when their respective default actions take place. The leftmost
bit represents signal number 1, and the rightmost bit represents signal
number 64. The signals SIGSTOP, SIGDUMP, and SIGTRACE cannot be
intercepted. The bit positions that represent these signals are ignored.

[/quote]

On this page about BPXYSIGH
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.3.0/com.ibm.zos.v2r3.bpxb100/ysigh.htm";
 
target="_blank">https://www.ibm.com/support/knowledgecenter/SSLTBW_2.3.0/com.ibm.zos.v2r3.bpxb100/ysigh.htm

[quote]

 BPXYSIGH   ,
** BPXYSIGH: Component signal definition
**  Used By: KIL SIA SPM
*
* Signals with default action ABNORMAL TERMINATION
SIGKILL#   EQU   9   Termination (cannot be caught or ignored)
SIGDUMP#   EQU  39   Take a SYSMDUMP
* Signals with default action STOP
SIGSTOP#   EQU   7   Stop (cannot be caught or ignored)
SIGTHSTOP# EQU  34   Thread stop (cannot be caught or blocked or
SIGTHCONT# EQU  35   Thread continue (cannot be caught or blocked or
*ignored)



[/quote]

​The two pages disagree on what cannot be caught or ignored.​




>
> And - on receipt of signal #9 - what is the "good and proper" way to
> terminate
> the program?  BPX _exit() or something else?
>

​"good and proper"? I don't really know. How about the old stand by ABEND ?
To be really nasty, CALLRTM TYPE=MEMTERM ​



>  - Thanks -
>  - Dave Rivers -
>
> --
> mailto:riv...@dignus.com";>riv...@dignus.com  
>  Work: (919) 676-0847
> Get your mainframe programming tools at http://www.dignus.com"; 
> target="_blank">http://www.dignus.com
>
>

-- 
I have a theory that it's impossible to prove anything, but I can't prove
it.

Maranatha! <><
John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: GETMAIN LOC=32

2018-05-07 Thread Denis
Hi,

on behalf of a customer we discussed the idea of something like transparent 
64bit to 31bit mirroring. Such that IARV64 has an option like MAP31BIT=YES 
which gives you an address back that allows existing 31bit programs to address 
this area without copying. Every access off that returned address is mapped by 
hardware/z/os into that storage. Ideally also for already allocated areas and 
the possibility to deregister the 31bit addressing without freeing the 
allocated 64bit areas. Also the requirement to be able to mirror just parts of 
the 64bit area.
For now we have not pursued it. The business case was to be able to pass a 
31bit address to unchanged existing 31bit programs and be able to access 
storage beyond the 2G range without modifying those and without modifying the 
interfaces which only have roon for 31bit pointers.
I am wondering if there is interest from other customers for something like 
this?

Thanks, Denis.

-Original Message-
From: Paul Edwards 
To: IBM-MAIN 
Sent: Mon, May 7, 2018 12:32 PM
Subject: Re: GETMAIN LOC=32


On Sun, 6 May 2018 21:14:38 -0400, Jim Mulder <mailto:d10j...@us.ibm.com";>d10j...@us.ibm.com> wrote:

>>  GETMAIN is not going to ever manage 32-bit storage.
>> I would word you requirement this way:
>
> " I would like to have a USE2GTO4G=NO|YES 
> parameter on IARV64 GETSTOR,

Hi Jim. Thanks for the interesting suggestion, but
by separating the 2 GiB - 4 GiB region it means
that an application can't do a GETMAIN for 3 GiB
of memory. If GETMAIN is modified as I requested,
the 16 MiB to 4 GiB region will be a continuous
region and a GETMAIN of 3 GiB will work so long
as there hasn't been fragmentation. ie a 32-bit
program can allocate a single 3 GiB chunk.

BFN. Paul.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Strange file behaviour in Unix

2025-01-30 Thread Denis
Thats probably RACF. Checking file /dir1/dir2/dir3/file requires at least 4 
checks to my knowledge.
I guess putting every file into root directory could help.



On Thursday, January 30, 2025 at 08:48:54 AM GMT+1, Colin Paice 
<059d4daca697-dmarc-requ...@listserv.ua.edu> wrote: 





Looking at the SMF START 92-11 for individual Unix files, I'm seeing 100s
of records like pathname /tmp/shbdFEgaeEA reads=0 write=0 directory reads 8.

What is going on ? what does dir reads> 0 but no reads act mean?
what is using this file - and can we stop it(grin)

Colin

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Ideas of managing a data structure

2024-12-29 Thread Denis
That sounds pretty much like what the JVM is doing with garbage collection. But 
I think it has only allocated two data areas during copy and then frees the 
source after copy (one needs to think of what to do, if the second data area 
cannot be allocated). If your data structure contains pointers/references to 
other objects, they need to be updated after copy. But using indirect pointers 
(like object id of the target instead of pointer) can avoid that, but a search 
for the target object id would be required at access time - or you do some kind 
of pointer healing at first access after garbage collection (like setting a bit 
in the management area of your structures that marks them as not healed after 
copy). If think the JVM has some kind of meta data for maintaining the 
references.
Solution depends on the access frequency/pattern and requirement of cross 
references between the actual structures.


On Sunday, December 29, 2024 at 09:51:41 PM GMT+1, Binyamin Dissen 
<0662573e2c3a-dmarc-requ...@listserv.ua.edu> wrote: 





The data structure consists of various items of different lengths. The items
are added serially and periodically the area is scanned where most items are
removed. The remaining items are likely to be removed in a later scan (with
new items).

My thought was to have two data areas, and during the scan insert the
undeleted items into the alternate area. It will be a bit of data moves but is
simple.

Does Knuth talk about such a data structure?

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: IMS question

2025-04-10 Thread Denis
Hi,

IMS has its own address space which is called ODBM or IMS Open Database. It has 
an IMS Universal JDBC Driver. It either requires the IMS Catalog for Metadata 
or you have to use IMS Explorer to create the Metadata (by importing DBD, PSB 
and possibly copybook sources).

DVM and Infosphere Classic Federation Server for z/OS can also provide JDBC 
access to IMS data and tools to create the metadata mapping.

Denis.


On Thursday, April 10, 2025 at 04:47:47 PM GMT+2, Phil Smith III 
 wrote: 





This question was passed to me from someone else, so it may be so off-base it's 
not even wrong (TBH I can spell "IMS" about two out of three times and that's 
the extent of my knowledge):

Is there a product that lets a non-z/OS system interact with IMS/DB using 
ODBC/JDBC? I'm thinking that Data Virtualization Manager may be the answer: 
https://www.ibm.com/docs/en/dvm/1.2.0?topic=sources-configuring-access-ims-databases
 but figured someone might have done this and have some advice.

This is for a client who has a need to tour some z/OS data in Db2 (for which 
they have a driver) and IMS.

TIA

...phsiii

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: IMS MQ question - don't know of a better list

2025-03-31 Thread Denis
Yes you can, code MQPUT and after that an MQGET WAIT in the IMS application, 
like you would do in a standalone or batch program. Simply search for MQPUT 
with MQGET WAIT example (e.g. Search for COBOL example: Getting a message using 
the wait option). It will be any non IMS sample, you just need to link with 
CSQQSTUB. You have to do the MQOPEN after each IMS input message, because for 
security and integrity reasons in an IMS transaction the MQ connections are 
closed when the transaction instance ends (e.g. next GU IOPCB).
However, this is bad behaviour because the IMS region is blocked for other work 
- consider increasing number of IMS regions to process those transactions. In 
addition any lock aquired by DB calls will be held longer which might cause 
deadlocks. So at best do read without locking before and updates after it and 
then commit asap to keep locking windows small.

Denis.


On Monday, March 31, 2025 at 01:26:50 PM GMT+2, Binyamin Dissen 
<0662573e2c3a-dmarc-requ...@listserv.ua.edu> wrote: 





Can an IMS MPP initiate sending an MQ message and wait upon the response?

I am looking for examples, but all just show triggered (which is the other
way).

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Looking for clues on out-of-storage at end-of-jobstep

2025-06-16 Thread Denis
LE Option in place that uses HEAP below or STACK below?

IEFUSI or parmlib should reserve 512k below that is required for proper memterm.

Denis.



On Tuesday, June 17, 2025 at 12:09:25 AM GMT+2, Charles Mills 
 wrote: 





I have a C++ program under development that has started ABENDing *after the 
last line* of the program. The main() routine ends with 

    printf("Last line of main()\n");
    return M::ProgramReturnCode;

and I am seeing that printf() message, so the problem is not something that the 
program is doing explicitly in my logic.

Storage is apparently being exhausted, despite REGION=0M. In the SYSUDUMP I see 
allocation after allocation -- 13,000 lines or so -- of x'21000' bytes in 
subpool 2. What IBM component uses subpool 2? (My code does not use subpool 2 
explicitly.)

I don't seem to have enough disk space for an SVC dump.

Anyone ever see anything like this? Anyone have any clues to what the problem 
is?

Here are the messages I am seeing

16.52.47 JOB04842  +CEE3798I ATTEMPTING TO TAKE A DUMP FOR ABEND U4088 TO DATA 
SET: xx.D167.T1652476.xxCR      
16.52.49 JOB04842  IKJ56245I DATA SET xx.D167.T1652476.xxCR NOT 
ALLOCATED, NOT ENOUGH SPACE ON VOLUMES+        
16.52.49 JOB04842  IKJ56245I USE DELETE COMMAND TO DELETE UNUSED DATA SETS      
                                      
16.52.50 JOB04842  IEA820I TRANSACTION DUMP REQUESTED BUT NOT TAKEN  814        
                                      
  814                    AUTOMATIC ALLOCATION OF DUMP DATA SET FAILED           
                                     
16.52.50 JOB04842  +CEE3796I AN ATTEMPT TO DYNAMICALLY TAKE A DUMP WAS NOT 
SUCCESSFUL.  815                            
  815              THE ERROR RETURN CODE WAS 0008 AND THE REASON CODE WAS 
0026.                              
16.52.50 JOB04842  +CEE0374C CONDITION=CEE3204S TOKEN=00030C84 59C3C5C5 
  816                                  
  816                      WHILE RUNNING PROGRAM CERTREPT                       
                                     
  816                      AT THE TIME OF INTERRUPT                             
                                     
  816                      PSW    078D0400 9A804D70                             
                                   
  816                      GPR 0-3    0008          
                                    
  816                      GPR 4-7 00791860 1B41BB28 1A804D70 9A81EAA6          
                                    
  816                      GPR 8-B 9A81EA6C 1B424800 1B417D70 86087018          
                                    
  816                      GPR C-F 1A9181D8 1B17C840 0002 0002          
                                    
16.52.50 JOB04842  +IDI0012S Abend C9 occurred in abend exit processing,    
                                      
16.52.50 JOB04842  +IDI0013S R15=0 PSW=078D 1A72B7D6 DCAPSUB=1A713A80       
                                       
16.52.50 JOB04842  IEA043I SVC DUMP REACHED MAXSPACE LIMIT - MAXSPACE=0500 
MEG                                    
16.52.50 JOB04842  IEA794I SVC DUMP HAS CAPTURED:  821                          
                                      
  821            DUMPID=001 REQUESTED BY JOB (xxCR)                         
                                     
  821            DUMP TITLE=IDIDA ESTAE exit entered.              JOB04842 
SDWA                                    
  821                        =7F510B58                                          
                                      
  821            INSUFFICIENT RESOURCES FOR OPTIMIZE=YES PROCESSING             
                                     
16.52.50 JOB04842  $HASP375 xxCR ESTIMATED  LINES EXCEEDED        
etc. for 4 million lines of SYSUDUMP                                            
    

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Innovating an old IMS 3270-based application

2014-01-07 Thread Denis Gäbler
Hi,

Another idea is to implement a VPN Gateway.

So the mobile device connect to the VPN Gateway via certificates. The VPN 
connection would be encrypted. There are solutions by companies which could be 
a manditory app install on the mobile devices for monitoring what is installed 
there and only allowed apps on the device are allowed to use the VPN 
connection. It would also allow to remotely wipe out the mobile device, e.g. if 
a malware tries to do a Denial of Service attack. The mobile device is simply 
reset to factory settings as an example.

 
Then create a mobile website which is designed for mobile devices and runs on 
J2EE app server which uses IMS TM Resource Adapter to access IMS Transactions. 
So one could have EJBs, servlets, etc. that access IMS Transactions. Even 
service flows could be accessed. Or IMS SOAP Gateway for using SOAP Requests 
from the mobile device.

 Since with the VPN Connection and a dedicated port on IMS Connect it would 
also be possible to write an IPhone or Android app which uses the Java 
components of IMS TM Resource Adapter or IMS Connect API to connect to IMS 
Connect using a direct connection.

However that is a more difficult design and architecture discussion, but I like 
to make clear that this is not limited to 3270 emulators running on mobile 
devices.

Hope that helps,
Denis.

 

-Original Message-
From: Elardus Engelbrecht 
To: IBM-MAIN 
Sent: Tue, Jan 7, 2014 10:05 am
Subject: Re: Innovating an old IMS 3270-based application


Timothy Sipples wrote:

>1A. Users want Web-based access, OK. May I assume that means (or could soon 
mean) mobile as well (iPads, Android devices, and so on)?

Can you do SSL connection on those toys? [1]

[1] - I have a free TN3270 client [2] on my iPhone 5 and connected it via a SSL 
port using RACF certificate. At least my POC was successfull, so in case we 
need 
to move on, the technology is already established.

[2] - with limited PF key functionality. You need to buy [ I'm too cheap to do 
it ;-D ] the whole thing to make that 3270 client 100% useful. ;-)

Groete  / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Java Heap Size

2014-03-20 Thread Denis Gäbler
Define the healthcenter port for the jvm in question.
download and install ibm support Assistent v 4.1 with the healthcenter plugin.
start ibm support assistent.
start the jvm.
connect the healthcenter plugin to that jvm.
run the workload and healthcenter will collect the data.
look at the recommendations and the garbage collection statistics and chart.
draw your conclusions.
you might need a jvm expert for the conclusions.

denis gaebler.

Sent from AOL Mobile Mail


-Original Message-
From: Christian D 
To: IBM-MAIN 
Sent: Thu, Mar 20, 2014 10:10 AM
Subject: Java Heap Size





Hi Group,

How do we determine the correct maximum Java space for the JVM in USS ? Are
there any condition or constraint to understand ?

Chris

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

 


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Using DB2 and MQ under JZOS

2014-04-02 Thread Denis Gäbler
Hi,
 
what you are trying to achieve is the task of a transaction manager. Keep 
multiple resources (MQ, DB2) in sync.
What would you do to do the same thing from a COBOL application? TSO batch does 
not provide this functionality either.
RRS provides this functionality, but there is no API for it that you could use 
from pure Java.

As an example, instead of using JZOS you could run the Java application in IMS 
Java Regions, CICS, DB2 Java Stored Procedure or WebSphere z/OS.
What can also be considered is using a Java based persistence framework, e.g. 
Spring to keep the resources in sync.

In the end you could also write your own transaction manager.


Hope that helps,

Denis.

 

-Original Message-
From: Mohammad Khan 
To: IBM-MAIN 
Sent: Wed, Apr 2, 2014 4:11 pm
Subject: Using DB2 and MQ under JZOS


I have a batch program that runs under JZOS ( on z/OS 1.13 ) which connects to 
DB2 using jdbc type 2 connection and connects to a local MQ queue in binding 
mode. It updates DB2 data as well as writes to MQ. It seemed to work ok until 
it 
encountered an error writing to MQ and abended. More important was the fact 
that 
DB2 updates still got committed. Apparently the updates to the two resources 
are 
being managed in isolation rather than being coordinated in a global 
transaction. I guess I haven't figured out how to properly code for this 
scenario. I haven't found any guidance or sample code in MQ, DB2 or JZOS 
documents or have failed locate it. Any help, sample code or links to relevant 
documents will be highly appreciated.
Regards
Mohammad

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Creating .xls on z/OS

2012-09-14 Thread Denis Gäbler
I have successfully used the java based jexcelapi.

http://jexcelapi.sourceforge.net/

 
Its open source.

Denis.

 

 

-Original Message-
From: Walter Marguccio 
To: IBM-MAIN 
Sent: Fri, Sep 14, 2012 3:44 pm
Subject: Creating .xls on z/OS


Hello all,

I've been asked if there is the possibility to create Excel tables (.xls) files 
on z/OS, 
using a batch job. I've searched the archives, the developerwork IBM's site, 
redbooks,
but found no clue. 
We run the XMITIP tool which is able to create .csv files, but this seems not 
enough.

We are at z/OS 1.13, with Java 6.0.1, and Perl from the Ported Tools, 1.2.0.

Any thoughts, experiences links, books ?
 

Walter Marguccio
z/OS Systems Programmer
BELENUS LOB Informatic GmbH
Munich - Germany

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Get CPUID and srial number from JAVA code

2013-09-17 Thread Denis Gäbler
Have a look at the JZOS classes which are integrated with JDK for z/OS.

http://www.ibm.com/developerworks/java/zos/javadoc/jzos/com/ibm/jzos/ZUtil.html
ZUtil has a method, peekOSMemory:


public static void peekOSMemory(long address,
byte[] bytes,
int offset,
int len)
 throws RcException
Peek bytes from OS memory. 

Parameters:
address - the address of the OS memory to start peeking from.
bytes - the location to store the bytes peeked
offset - the 0-based offset into bytes where to store the first byte peeked
len - the number of bytes to copy from memory
Throws:
java.lang.IllegalArgumentException - if offset and len are incompatible with 
bytes
RcException - if there is an error accessing the memory location.
java.lang.SecurityException - if a a SecurityManager is active and the user 
doesn't have access to JzosPermission("peekOSMemory")

It should allow to get all sorts of information that you can get with Assembler.

Hope that helps.

Denis.

 

 

 

-Original Message-
From: Miklos Szigetvari 
To: IBM-MAIN 
Sent: Tue, Sep 17, 2013 3:36 pm
Subject: Re: Get CPUID and srial number from JAVA code


I hope gives better ideas as,  the SDSF JAVA interface, and the "D 
MP=CPU" operator command reply.


On 17.09.2013 15:28, Arye Shemer wrote:
> Hi,
>
> Has anyone know how I can get CPUID and machine serial number from JAVA
> code ?
>
> Is there a z/OS Java forum that I can get help on this issue ?
>
> thanks,
>
> Arye Shemer.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
>


-- 
Kind regards, / Mit freundlichen Grüßen
Miklos Szigetvari

Research&  Development
ISIS Papyrus Europe AG
Alter Wienerweg 12, A-2344 Maria Enzersdorf, Austria
T: +43(2236) 27551 333, F: +43(2236)21081
E-mail: miklos.szigetv...@isis-papyrus.com
Info: i...@isis-papyrus.com Hotline: +43-2236-27551-111
Visit our brand new extended Website at www.isis-papyrus.com
---
This e-mail is only intended for the recipient and not legally
binding. Unauthorised use, publication, reproduction or
disclosure of the content of this e-mail is not permitted.
This email has been checked for known viruses, but ISIS Papyrus accepts
no responsibility for malicious or inappropriate content.
---

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Get CPUID and srial number from JAVA code

2013-09-18 Thread Denis Gäbler
Hi Arye,

this will give you the CPUID from the first PCCA.

long cvt = ZUtil.peekOSMemory(16, 4);
long cvtpccat = ZUtil.peekOSMemory(cvt+764, 4);
long pcca = ZUtil.peekOSMemory(cvtpccat + 0*4, 4);
byte[] cpuid = new byte[12];
ZUtil.peekOSMemory(pcca+4, cpuid, 0, 12);
System.out.println(new String(cpuid));

Output Example:
FF112097

Matches D M=CPU Output:
RESPONSE=SYS1
 IEE174I 16.50.42 DISPLAY M 166  
 PROCESSOR STATUS
 ID  CPU  SERIAL 
 00  + 112097

Its z/OS dependent code. Hope it helps.

 

 Denis.

 

-Original Message-
From: Arye Shemer 
To: IBM-MAIN 
Sent: Tue, Sep 17, 2013 9:21 pm
Subject: Re: Get CPUID and srial number from JAVA code


Thank you guys,
I will consider all the options.

Thanks again,
Arye.


On 17 September 2013 18:54, Bernd Oppolzer wrote:

> I wrote an ANSI C function that fetched this information using
> the callable service CSRSI (System Information Service),
> so if nothing else helps, you should IMO be able to call this
> using JNI.
>
> Kind regards
>
> Bernd
>
>
>
> Am 17.09.2013 15:28, schrieb Arye Shemer:
>
>> Hi,
>>
>> Has anyone know how I can get CPUID and machine serial number from JAVA
>> code ?
>>
>> Is there a z/OS Java forum that I can get help on this issue ?
>>
>> thanks,
>>
>> Arye Shemer.
>>
>> --**--**
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>>
>>
> --**--**--
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Migration from Ca-sort to Dfsort (z/os) : any experience or paper ?

2013-12-04 Thread Denis Manach
Hi,
We run z/os 1.13 with ca-sort 7.1 (a Computer Associates product).
This sort software is discontinued since January 30, 2012 and I’m trying to 
evaluate the project of migration to dfsort in order to be full compatible and 
supported when z/os 2.1 will come. 
Before starting migration, I should be happy finding some document or 
experience about compatibility between these two sort softwares (supported 
files, sort functions and parameters, default sort options) in order to help me 
answer such questions:
-   Are there parameters wrotten differently ? 
-   Are there some ca-sort parameter which has no equivalent in dfsort ?
-   how long migration can spend ?
Ibm support could not help me in this task.
This IBM-MAIN Forum topic "Has anyone replaced ca-sort with ibm sort recently? 
any issues?" says it is not very difficult without bringing more information.
We use ca-sort in a basic way :
-   Svc 17 esr loaded at ipl time
-   a module defining default sort options
-   4000 batch sort steps 
o   //STEP030  EXEC PGM=SORT  
o   //SORTIN   DD   DSN=FPAIMA.AIMA864A,DISP=SHR  
o   //SORTOUT  DD   DSN=FPAIMA.AIMA864A,DISP=SHR  
o   //SORTWK01 DD   UNIT=SYSWK,SPACE=(CYL,(25,1),RLSE)
o   //SORTWK02 DD   UNIT=SYSWK,SPACE=(CYL,(25,1),RLSE)
o   //SORTWK03 DD   UNIT=SYSWK,SPACE=(CYL,(25,1),RLSE)
o   //SYSOUT   DD   SYSOUT=*  
o   //SYSINDD   *  
oSORT FIELDS=(1,38,A),FORMAT=CH
-   SUM FIELDS=NONE   
o   /*
-   Sort modules are in linklist 
-   Of course above sysin changes according to application’s need  
-   We don’t use sort exits and very few sorts are invoked by programs 
rather than by JCLs   
Regards
Denis

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: C Language: non-EBCDIC characters in literal strings.

2014-11-03 Thread Denis Gäbler

Hi,
 
you can do that very easily, with pragma convert in z/OS and z/VM:
 
http://www-01.ibm.com/support/knowledgecenter/SSB27U_6.2.0/com.ibm.zos.r12.cbclx01/zos_pragma_convert.htm
 
The compile will convert it at compile time but it remains readable in the 
source.
That would be useful these days in COBOL or PL/I as well.
 
However a sample will look like this (1208 is a Unicode codepage):
#pragma convert(1208)
const char[]=ISO8859-1("This is an ISO8850-1 encoded string");
#pragma convert(pop)
 
I have not tried it with #pragma convert("ISO8859-1"), but according to the C 
compiler docs this should work.

Hope it helps.
Denis.
 
-Original Message-
From: Bernd Oppolzer 
To: IBM-MAIN 
Sent: Mon, Nov 3, 2014 4:49 pm
Subject: Re: C Language: non-EBCDIC characters in literal strings.


Given the limitations of C and its macro language,
it is hard ... if not impossible ... to do such initializations
with const chars at compile time using the features of the
macro language.

It's of course easy to build macros like the ones I did
for string assignment, which, for example, assign strings
with respect to the length of the target buffer, fill strings with
blanks etc. (if the sending field is shorter) and so on ...
all by using C macro language and clever use of
memcpy et. al.

You can, while assigning strings using such functions,
do any code conversion you want, using simple
table driven translations or other conversion routines
like, for example, iconv ().

HTH,
kind regards

Bernd



Am 03.11.2014 16:09, schrieb John McKown:
> OK, unless I'm really missing something, this is a "no way" proposition.
> What I could really use is a _simple_ way to create non-EBCDIC literal
> strings. So that I could easily do somethng like:
>
> const char[]=ISO8859-1("This is an ISO8850-1 encoded string");
>
> Yes, I could just render that in "escape sequences". But that is _ugly_ and
> not as easily (intuitively) understood. Or I could use iconv() to convert
> it at run time.
>
> And ideas no how to accomplish my goal - easily?
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: C Language: non-EBCDIC characters in literal strings.

2014-11-03 Thread Denis Gäbler
1208 in the sample is actually UTF-8.
Limitations are in the manuals.

Sent from AOL Mobile Mail


-Original Message-
From: Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
To: IBM-MAIN 
Sent: Mon, Nov 3, 2014 06:24 PM
Subject: Re: C Language: non-EBCDIC characters in literal strings.





(What is it about this message that quoted 
text is not distinguished
with ">"?)

On Mon, 3 Nov 2014 12:16:49 -0500, Denis Gäbler wrote:
 
you can do that very easily, with pragma convert in z/OS and z/VM:
 
http://www-01.ibm.com/support/knowledgecenter/SSB27U_6.2.0/com.ibm.zos.r12.cbclx01/zos_pragma_convert.htm";
 
target="_blank">http://www-01.ibm.com/support/knowledgecenter/SSB27U_6.2.0/com.ibm.zos.r12.cbclx01/zos_pragma_convert.htm
 
The compile will convert it at compile time but it remains readable in the 
source.
That would be useful these days in COBOL or PL/I as well.
 
However a sample will look like this (1208 is a Unicode codepage):
#pragma convert(1208)
const char[]=ISO8859-1("This is an ISO8850-1 encoded string");
#pragma convert(pop)
 
I have not tried it with #pragma convert("ISO8859-1"), but according to the C 
compiler docs this should work.

Does it work with the very popular UTF-8?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

 


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: C Language: non-EBCDIC characters in literal strings.

2014-11-03 Thread Denis Gäbler

Its local, you can have as many occurences as you like and have different 
codepages.
To my understanding it can be nested, so you can set it on the first line of 
code and without using convert(pop) add another convert(codepage) which is then 
local until convert(pop) returns to the previous codepage being set.
I don't know if theres a limitation on the number of different codepages per 
compile, the convert stack or dependencies on Unicode system services 
definitions.
 
For your second question, yes you can have different codepage literals in the 
same source member.
 
Denis.
 
 
-Original Message-
From: Shmuel Metz (Seymour J.) 
To: IBM-MAIN 
Sent: Tue, Nov 4, 2014 1:22 am
Subject: Re: C Language: non-EBCDIC characters in literal strings.


In <8d1c5a116b049ff-1c5c-32...@webmail-vm009.sysops.aol.com>, on
11/03/2014
   at 12:16 PM, Denis Gäbler  said:

>you can do that very easily, with pragma convert in z/OS and z/VM:

Is that local or global? That is, can you have different strings
subject to different conversions in the same source member?
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see <http://patriot.net/~shmuel/resume/brief.html> 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Shop zSeries Issue

2015-02-24 Thread Denis Gäbler
Sometimes it helps to go into the anonymous mode/private Browsing or whatever 
it is named in the Browser. It ignores all history/cockies, etc.
 
Denis.
 
-Original Message-
From: Bob Shannon 
To: IBM-MAIN 
Sent: Tue, Feb 24, 2015 1:20 pm
Subject: Re: Shop zSeries Issue


> Error 404: javax.servlet.ServletException:
java.io.FileNotFoundException:
>/home/webapps/shopz/data-in/saftyURL.properties
(Too many open files)

Started yesterday, continues today. Very
frustrating.

Bob Shannon
Rocket
Software

Rocket Software, Inc. and
subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ +1 800.966.3270 ■ +1
781.577.4321
Unsubscribe From Commercial Email –
unsubscr...@rocketsoftware.com
Manage Your Subscription Preferences -
http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_SubscriptionCenter.html
Privacy
Policy -
http://www.rocketsoftware.com/company/legal/privacy-policy


This
communication and any attachments may contain confidential information of Rocket
Software, Inc. All unauthorized use, disclosure or distribution is prohibited.
If you are not the intended recipient, please notify Rocket Software immediately
and destroy all copies of this communication. Thank
you.

--
For
IBM-MAIN subscribe / signoff / archive access instructions,
send email to
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Enterprise PL/1 performance

2015-02-24 Thread Denis Gäbler
> Region defaultSTORAGE(00,NONE,00,0)

>The third
>parameter set to zero is a killer, get rid of it! The consequence of 
>using it
>Is that all automatic storage in a procedure will be set to binary 
>zeroes upon
>each entry to the procedure, and if you've got deeply nested 
>procedures with
>lots of local variables, you will suffer, big, big, big time! If 
>you need
>specific variables to be initialised use INIT(whatever) on those, and 
>only
>those.

While what you state is all true, its not a good advice to change that without 
proper testing, because they might have old (e.g. COBOL) LE programs, that rely 
on the storage being zero'd out by LE, because they do not have INIT or VALUES 
clauses and programs cannot be changed in time to allow the third parm to be 
set to something other than 00.
For example VS COBOL used to have the option WSCLEAR, which did not require 
initializing variables, I don't know about pre Enterprise Versions of PL/I.

Denis.
 
-Original Message-
From: Robert Prins 
To: IBM-MAIN 
Sent: Tue, Feb 24, 2015 2:54 pm
Subject: Re: Enterprise PL/1 performance
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: A product that supports issuing DB2 calls against IMS databases?

2013-05-16 Thread Denis Gäbler
IMS V13.
 

 

 

-Original Message-
From: Binyamin Dissen 
To: IBM-MAIN 
Sent: Thu, May 16, 2013 12:27 pm
Subject: A product that supports issuing DB2 calls against IMS databases?


Is there such a product, where the application does

  EXEC  SQL

and it is converted into an IMS call?

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Assembler data types to JSON.

2015-05-19 Thread Denis Gäbler
You can use the jzos record generator which is part of the java sdk for z/os.
It generates java records out of dsects. With java code it takes ebcdic byte 
arrays as input and allows to use getter methods to convert the assembler data 
types into strings, which is basically what json is.
You can write an assembler routine which starts a jvm, sends the ebcdic byte 
array to java and executes the java class (to be written by your java 
programmer) that calls the getter methods for the assembler data types and 
creates json.
Or you read the records from a dataset with a java batch job or from any other 
source that can provide  the byte array.

Hope that helps. Feel free to contact my directly for more details.

Sent from AOL Mobile Mail


-Original Message-
From: Mark Jacobs - Listserv 
To: IBM-MAIN 
Sent: Tue, May 19, 2015 06:22 PM
Subject: Assembler data types to JSON.





Can anyone point me to a document for best 
practices (or 
recommendations) for
mapping Assembler data types to

JSON. One of our developers has a requirement
to do so.

-- 
Mark Jacobs
Time Customer Service
Technology and Product
Engineering

The standard you walk past, is the standard you
accept.
Lieutenant General David
Morrison

--
For
IBM-MAIN subscribe / signoff / archive access instructions,
send email to
mailto:lists...@listserv.ua.edu";>lists...@listserv.ua.edu with the 
message: INFO IBM-MAIN

 


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JVMSHRC336E Port layer error code = -308

2012-06-20 Thread Denis Gäbler
Hi,

this happened to me, when z/OS was IPLed without bringing down JVMs gracefully 
or without stopping the shared cache.
The shared cache is then gone, but the files in /tmp/javasharedresources still 
exist and the JVM is trying to access them.
In most cases the problem goes away if the files for the JVM in question are 
deleted.
However be careful not to delete those files for other JVMs.
A possibility could be to empty the /tmp/javasharedresources directory upon 
z/OS IPL.

Hope that helps.
Denis.


-Original Message-
From: Peter Ten Eyck 
To: IBM-MAIN 
Sent: Tue, Jun 19, 2012 9:12 pm
Subject: JVMSHRC336E Port layer error code = -308


Can someone point me in the direction within the IBM doc. for this message (the 
meaning of 308):

JVMSHRC336E Port layer error code = -308

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: JVMSHRC336E Port layer error code = -308

2012-06-20 Thread Denis Gäbler
Hi,

my guess is from the error messages, that the region size is too small.
Either from your TSO session or from the job that was submitted. Any IEFUSI 
restrictions in place?

Denis.


-Original Message-
From: Peter Ten Eyck 
To: IBM-MAIN 
Sent: Wed, Jun 20, 2012 2:55 pm
Subject: Re: JVMSHRC336E Port layer error code = -308


/tmp/javasharedresources  is currently empty in my case...


Here is the full error I get when trying to run the script (with -Xmx95M):

FF00768:/cics/cmweb: >/usr/lpp/cicsts/cicsts41/lib/wsdl/DFHWS2L2





Running a modified z/OS proc and USS script, executed programs remains ws2ls





CLASSPATH: 
/usr/lpp/cicsts/cicsts41/lib/wsdl/:xsd.jar:xsd.resources.jar:common.jar:common.resources.jar:ecore.change.jar:ecore.jar:w
sdl4j.jar:XmlSchema.jar:woden.jar:dfjwsdl.jar:../dfjcdmn.jar:../bundle/dfjbundle.jar


PATH: 
/usr/lpp/java/J6.0/bin:/bin:/usr/lpp/internet/bin:/usr/lpp/java/J5.0/bin:/usr/lpp/etldapv3:/usr/lpp/db2/db2910/db2910_jdbc/lib
java version "1.6.0"


Java(TM) SE Runtime Environment (build pmz3160sr9fp1-20110303_01(SR9 FP1))  


IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 z/OS s390-31 
jvmmz3160sr9-20110203_74623 
(JIT enabled, AOT enabled)  
J9VM - 20110203_074623  


JIT  - r9_20101028_17488ifx3


GC   - 20101027_AA) 


JCL  - 20110203_01  


Running /usr/lpp/cicsts/cicsts41/lib/wsdl/DFHWS2L2...   
  

   
  

JVMSHRC022E Error creating shared memory region 
  

JVMSHRC336E Port layer error code = -308
  

JVMSHRC337E Platform error message: EDC5129I No such file or directory. 
  

JVMSHRC320E Error recovery: destroying shared memory semaphores.
  

JVMJ9VM015W Initialization error for library j9jit24(11): cannot initialize JIT 
  

JVMDUMP006I Processing dump event "abort", detail "" - please wait. 
  

JVMDUMP013I Processed dump event "abort", detail "".
  



Here is the full error I get when trying to run the script (with -Xmx105M):

FF00768:/cics/cmweb: >/usr/lpp/cicsts/cicsts41/lib/wsdl/DFHWS2L2





Running a modified z/OS proc and USS script, executed programs remains ws2ls





CLASSPATH: 
/usr/lpp/cicsts/cicsts41/lib/wsdl/:xsd.jar:xsd.resources.jar:common.jar:common.resources.jar:ecore.change.jar:ecore.jar:w
sdl4j.jar:XmlSchema.jar:woden.jar:dfjwsdl.jar:../dfjcdmn.jar:../bundle/dfjbundle.jar


PATH: 
/usr/lpp/java/J6.0/bin:/bin:/usr/lpp/internet/bin:/usr/lpp/java/J5.0/bin:/usr/lpp/etldapv3:/usr/lpp/db2/db2910/db2910_jdbc/lib
java version "1.6.0"


Java(TM) SE Runtime Environment (build pmz3160sr9fp1-20110303_01(SR9 FP1))  


IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 z/OS s390-31 
jvmmz3160sr9-20110203_74623 
(JIT enabled, AOT enabled)  
J9VM - 20110203_074623  


JIT  - r9_20101028_17488ifx3


GC   - 20101027_AA)