Re: WAIT ECB=ECBLIST Storage Key

2017-01-31 Thread Jim Mulder
  If the key 0 ECB is the  Communications (Stop/Modify) ECB for the job, 
your key should be 8.   WAIT has special processing to recognize the 
Communications ECB, and handle that for a non-key 0 WAIT.

  If you are running in an address space where not all of the programs
are trusted (so a non-trusted program could free a key 8 ECB), then you
should not be doing a key 0 WAIT for a key 8 ECB, as that would likely be 
a 
system integrity exposure.

 How would the program under which you are issuing the WAIT have gotten 
the authorization to get into key 0?   What address space are you running 
in?
Is it an APF-authorized job step? 

  What exactly are the ECBs on which you want to WAIT?  How did you
get the addresses of those ECBs?

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

IBM Mainframe Discussion List  wrote on 
01/30/2017 10:00:46 PM:

> From: Joseph Reichman 
> To: IBM-MAIN@LISTSERV.UA.EDU
> Date: 01/31/2017 03:24 AM
> Subject: WAIT ECB=ECBLIST Storage Key
> Sent by: IBM Mainframe Discussion List 
> 
> Hi
> 
> If I have 2 ECB's in storage key 8 one storage key 0
> 
> What should my storage key be ?



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


Re: WAIT ECB=ECBLIST Storage Key

2017-01-31 Thread Joseph Reichman
One ECB is waiting for completion from EZASMI=READ one ECB is in CSA
Without going into much detail this is posted by a recovery routine just in 
case I have a issue

With the program 
Thanks 

> On Jan 31, 2017, at 3:36 AM, Jim Mulder  wrote:
> 
>  If the key 0 ECB is the  Communications (Stop/Modify) ECB for the job, 
> your key should be 8.   WAIT has special processing to recognize the 
> Communications ECB, and handle that for a non-key 0 WAIT.
> 
>  If you are running in an address space where not all of the programs
> are trusted (so a non-trusted program could free a key 8 ECB), then you
> should not be doing a key 0 WAIT for a key 8 ECB, as that would likely be 
> a 
> system integrity exposure.
> 
> How would the program under which you are issuing the WAIT have gotten 
> the authorization to get into key 0?   What address space are you running 
> in?
> Is it an APF-authorized job step? 
> 
>  What exactly are the ECBs on which you want to WAIT?  How did you
> get the addresses of those ECBs?
> 
> Jim Mulder z/OS Diagnosis, Design, Development, Test  IBM Corp. 
> Poughkeepsie NY
> 
> IBM Mainframe Discussion List  wrote on 
> 01/30/2017 10:00:46 PM:
> 
>> From: Joseph Reichman 
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Date: 01/31/2017 03:24 AM
>> Subject: WAIT ECB=ECBLIST Storage Key
>> Sent by: IBM Mainframe Discussion List 
>> 
>> Hi
>> 
>> If I have 2 ECB's in storage key 8 one storage key 0
>> 
>> What should my storage key be ?
> 
> 
> 
> --
> 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: sdsf in rexx

2017-01-31 Thread Tim Brown
I got it to work using a different a RACF user, not sure what changed for 
previous user

Tim

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jousma, David
Sent: Monday, 30 January, 2017 11:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: sdsf in rexx


** THIS IS AN EXTERNAL EMAIL ** Use caution before opening links / attachments. 
Never supply UserID/PASSWORD information.


Tim,

I have a REXX exec I use to issue operator commands using the ISFSLASH keyword 
and writes the output to a temp file.   I think I may have stole it then 
enhanced it for my use either from IBM, or someone on this list, but the 
processing of the ISFULOG array is somewhat more complicated than you have 
listed.  I am posting the entire exec for you to play with, along with the JCL 
I use to execute.  You can have as many commands as you want in SYSIN.

//VARYOFF  EXEC PGM=IKJEFT1B,PARM='%OPERCMDB'  
//SYSEXEC  DD   DSN=your.sysexec.dataset,DISP=SHR   
//SYSTSIN  DD   DUMMY  
//SYSTSPRT DD   DUMMY  
//SYSINDD   *,SYMBOLS=JCLONLY  
 RO *ALL,V &TARGUCB.,OFFLINE   
/* 

/* REXX */
/* this REXX exec will issue operator commands via SDSF REXX interface
   security is based on the person using the command.  this exec is to be 
   used for batch only   */   
'EXECIO * DISKR SYSIN (STEM mycmd. FINIS' 
if rc > 0 then do 
   say 'Return code from OPEN was' rc 
   say 'Aborting...'  
   exit   
   end
  
/* Allocate results output file  */   
ddnm = 'DD'||random(1,9)  
Address TSO "Alloc Fi("ddnm") SYSOUT" 
  
/* Process all input commands*/   
Do c=1 to mycmd.0 
 oper_command.0 = 1   
 oper_command.1 = mycmd.c 
 Call Main_process
End   
  
/* Free results output file  */
Address TSO "Free Fi("ddnm")"  
Return 0   
   
Main_process:  
/* process all data from SYSIN   */
rc=isfcalls('ON')  
Address SDSF ISFSLASH "("oper_command.") (WAIT)"   
l_cnt = 0  
If datatype(isfulog.0) = "NUM" Then Do 
 If isfulog.0 <> 0 Then Do 
  l_cnt = l_cnt + 1
  l.l_cnt = substr(isfulog.1,1,43) 
  Do ix=1 to isfulog.0 
   ll = length(isfulog.ix) 
   if ll <> 0 Then 
qdata = substr(isfulog.ix,44,ll-43)
   else
qdata = isfulog.ix 
   l_cnt = l_cnt + 1   
   l.l_cnt = qdata 
  End  
 End   
 Else Do
  l_cnt = l_cnt + 1 
  l.l_cnt = "No command response available" 
 End
End 
Else Do 
 l_cn

RES: SFTP on z/OS

2017-01-31 Thread Carlos Bodra - Pessoal
Check MDI product at luminex.com for fast and secure SFTP or FTP

Carlos Bodra
IBM System Certified System z
São Paulo - Brazil

-Mensagem original-
De: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] Em nome de 
venkat kulkarni
Enviada em: domingo, 29 de janeiro de 2017 14:38
Para: IBM-MAIN@LISTSERV.UA.EDU
Assunto: SFTP on z/OS

Hello Group,



We tested SFTP on our test z/OS system to Test AIX box and we are able to 
transfer data between these host. But now, I am trying in production system 
with below detail.



1) Our aim is to convert all our FTP jobs into SFTP.

2) We are using $universe as scheduler for submitting these FTP jobs on time to 
time.

3) We using user called "STCSYS" all these jobs.

4) But in FTP jobs, for every other host ( Ex AIX1, AIX2,AIX3 etc) we are using 
different user id password to login to target host and then start FTP process.

5) But in SFTP, it create TSO env using IKJEFT01 program and then run SFTP 
commands to transfer files between systems.



Example of SFTP Job, we using





//SFTPSFT JOB (7330),MSGCLASS=X,MSGLEVEL=(1,1),CLASS=P,

//  NOTIFY=&SYSUID

//STEP1   EXEC PGM=IKJEFT01,REGION=0M

//SYSEXEC  DD   DISP=SHR,DSN=SYS1.SBPXEXEC

//SYSTSIN   DD DSN=SFTPSFT.TEST.JCL(FTPTST1),DISP=SHR

//OUTPUT DD SYSOUT=*

//SYSTSPRT DD SYSOUT=*

/*



EDIT   SFTPSFT.TEST.JCL(FTPTST1) - 01.02

Command ===>

** * Top of Data 

000800 OPUT 'SFTPSFT.SFTP.TEST(SFTP1)'  '/u/SFTPSFT/vp12'

000900 OSHELL { echo 'lcd /u/stcsys' ; +

001000  echo 'ascii'; +

001100  echo 'cd /home/ftp4rpt/';  +

001200  echo 'mput test.txt'; } | +

001300sftp -v ftprpt@10.22.22.220

001400 /*





So, now I have stcsys user id created on mainframe with all



# cd .ssh

# ls -al

total 96

drwx--   2 MEAS OMVSGRP 8192 Jan 24 08:23 .

drwxr-xr-x   3 MEAS OMVSGRP 8192 Jan 24 08:22 ..

-rw---   1 MEAS OMVSGRP  791 Jan 24 08:36 authorized_keys

-rw---   1 MEAS OMVSGRP 1675 Jan 24 08:23 id_rsa

-rw-r--r--   1 MEAS OMVSGRP  396 Jan 24 08:25 id_rsa.pub

-rw-r--r--   1 MEAS OMVSGRP  697 Jan 29 10:26 known_hosts

# pwd

/u/stcsys/.ssh




and in AIX1 side, I have ftprpt user defined and



$ cd /home/ftprpt /.ssh

$ ls -al

total 48

drwx--2 ftprpt staff   256 Jan 13 15:37 .

drwxr-xr-x3 ftprpt staff  4096 Jan 15 12:15 ..

-rw-r--r--1 ftprptstaff   791 Jan 15 12:12 authorized_keys

-rw-r--r--1 ftprpt staff   395 Jan 13 15:37
authorized_keys.old

-rw---1 ftprpt staff  1675 Dec 11 14:25 id_rsa

-rw-r--r--1 ftprpt staff   394 Dec 11 14:25 id_rsa.pub

-rw-r--r--1 ftprpt staff   352 Jan 15 10:31 known_hosts

$







and we exchanged rsa.pub key in authorized_keys file and exchanged ECDSA.pub 
key in  known_hosts file but while running Job, I am getting below issue.



OpenSSH_6.4, OpenSSL 1.0.1c 10 May 2012


debug1: Reading configuration data /etc/ssh/ssh_config


debug1: Reading configuration data /etc/ssh/zos_ssh_config


debug1: zsshSmfSetConnSmfStatus: SMF status is 0


debug1: Connecting to 10.22.22.220 Ý10.22.22.220¨ port 22.


debug1: Connection established.


debug1: cipher_init: none from source OpenSSL


debug1: cipher_init: none from source OpenSSL


debug1: permanently_set_uid: 0/1000


debug1: identity file /u/stcsys/.ssh/id_rsa type 1


debug1: identity file /u/stcsys/.ssh/id_rsa-cert type -1


debug1: Enabling compatibility mode for protocol 2.0


debug1: Local version string SSH-2.0-OpenSSH_6.4


debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0


debug1: match: OpenSSH_6.0 pat OpenSSH*


FOTS1061 key_read: uudecode E2VjZHNhLXNoYTItbmlzdHAyNTYIbm
lzdHAyNTYAAAB

 failed


debug1: SSH2_MSG_KEXINIT sent


debug1: SSH2_MSG_KEXINIT received


debug1: mac_setup_by_alg: hmac-sha1 from source OpenSSL


debug1: kex: server->client aes128-ctr hmac-sha1 none


debug1: mac_setup_by_alg: hmac-sha1 from source OpenSSL


debug1: kex: client->server aes128-ctr hmac-sha1 none


debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<2048<8192) sent


debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP


debug1: SSH2_MSG_KEX_DH_GEX_INIT sent


debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY


debug1: Server host key: RSA ce:14:d1:2f:b2:d1:7c:83:12:9a:16:1e:31:9d:b6:b7


FOTS1061 key_read: uudecode E2VjZHNhLXNoYTItbmlzdHAyNTYIbm
lzdHAyNTYAAAB

 failed


debug1: read_passphrase: can't open /dev/tty: EDC5128I No such device.
(errno2=0

FOTS1370 Host key verification failed.


debug1: zsshSmfSetConnSmfStatus: SMF status is 0


FOTS0841 Connection closed





Can you please help, if I am not following correct way on this new setup or I 
should be using same userid on both mainframe and aix side for exchanging keys 
with password less.



Thanks in advance.



Thanks & Regards

Venkat

-

Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!)
The manual states that the length must be 1 greater than the maximum length 
possible for the returned attribute. Since a dataset name can only be 44 bytes, 
the length value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
with a specific DD name.

I have built the "command" string as follows:

bpxwdyn-command   DC  Y(L'bpxwdyn-info)
bpxwdyn-info   DC  C'INFO FI(MYDDN) '

I have built the information return parameter as follows:
bpxwdyn-dsname-p   DC  Y(102)
bpxwdyn-dsname   DC  CL100'INRTDSN '

The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, bpxwdyn-dsname-p)
What's happening is that I getting a return code of 20, invalid parameter.
What I don't get is whether it is with my command string or my returned value 
strings.

The manual states that on a call from a non-REXX environment, R0 must be zero.

According to the Easytrieve manual, the CALL verb generates an MVS convention 
calling list. So, based on that I can only assume that the last address in the 
parameter list has it's high order bit on. Also, have written several routines 
which trigger off of the number of parameters with the number of parameters 
signaled by the high order but of the last one being on, and having called 
these routines successfully in Easytrieve, I suspect my assumption is correct.

What I don't know is whether Easytrieve sets R0 to zero for the call. If it 
doesn't, that could account for the return code of 20.

So, my question is, has anyone ever called bpxwdyn from within an Easytrieve 
program?

Thanks,
Chuck


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


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


Re: sdsf in rexx

2017-01-31 Thread Hardee, Chuck
Tim,

I haven't had a chance to try what you are attempting, at least not 
specifically the command, but something I stumbled upon a while back was when I 
wrote an SDSF enabled REXX, I tried asking for something that was in the 
extended screen layout rather than the default screen layout. Is it possible 
that what you are asking for is on the extended screen layout, the one you get 
by typing ? in the command line?
If so, did your previous user have access to that screen?

Chuck

Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Tim Brown
Sent: Tuesday, January 31, 2017 7:25 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: sdsf in rexx

I got it to work using a different a RACF user, not sure what changed for 
previous user

Tim

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jousma, David
Sent: Monday, 30 January, 2017 11:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: sdsf in rexx


** THIS IS AN EXTERNAL EMAIL ** Use caution before opening links / attachments. 
Never supply UserID/PASSWORD information.


Tim,

I have a REXX exec I use to issue operator commands using the ISFSLASH keyword 
and writes the output to a temp file.   I think I may have stole it then 
enhanced it for my use either from IBM, or someone on this list, but the 
processing of the ISFULOG array is somewhat more complicated than you have 
listed.  I am posting the entire exec for you to play with, along with the JCL 
I use to execute.  You can have as many commands as you want in SYSIN.

//VARYOFF  EXEC PGM=IKJEFT1B,PARM='%OPERCMDB'  
//SYSEXEC  DD   DSN=your.sysexec.dataset,DISP=SHR   
//SYSTSIN  DD   DUMMY  
//SYSTSPRT DD   DUMMY  
//SYSINDD   *,SYMBOLS=JCLONLY  
 RO *ALL,V &TARGUCB.,OFFLINE   
/* 

/* REXX */
/* this REXX exec will issue operator commands via SDSF REXX interface
   security is based on the person using the command.  this exec is to be 
   used for batch only   */   
'EXECIO * DISKR SYSIN (STEM mycmd. FINIS' 
if rc > 0 then do 
   say 'Return code from OPEN was' rc 
   say 'Aborting...'  
   exit   
   end
  
/* Allocate results output file  */   
ddnm = 'DD'||random(1,9)  
Address TSO "Alloc Fi("ddnm") SYSOUT" 
  
/* Process all input commands*/   
Do c=1 to mycmd.0 
 oper_command.0 = 1   
 oper_command.1 = mycmd.c 
 Call Main_process
End   
  
/* Free results output file  */
Address TSO "Free Fi("ddnm")"  
Return 0   
   
Main_process:  
/* process all data from SYSIN   */
rc=isfcalls('ON')  
Address SDSF ISFSLASH "("oper_command.") (WAIT)"   
l_cnt = 0  

COUPLExx syntax question.

2017-01-31 Thread Vernooij, Kees (ITOPT1) - KLM
Hello group,

Is there a limit on:

a)  The number of PATHIN or PATHOUT statements in COUPLExx?

b)  The number of CTC devnums per PATHIN or PATHOUT 
DEVICE(devnum,devnum...) statement?

Init and Tuning of z/OS V2.2 does mention any limit.

Thanks,
Kees.


For information, services and offers, please visit our web site: 
http://www.klm.com. This e-mail and any attachment may contain confidential and 
privileged material intended for the addressee only. If you are not the 
addressee, you are notified that no part of the e-mail or any attachment may be 
disclosed, copied or distributed, and that any other action related to this 
e-mail or attachment is strictly prohibited, and may be unlawful. If you have 
received this e-mail by error, please notify the sender immediately by return 
e-mail, and delete this message.

Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its 
employees shall not be liable for the incorrect or incomplete transmission of 
this e-mail or any attachments, nor responsible for any delay in receipt.
Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch 
Airlines) is registered in Amstelveen, The Netherlands, with registered number 
33014286


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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Nims,Alva John (Al)
I think you forgot to do the "+" in:
bpxwdyn-command   DC  Y(L'bpxwdyn-info)
should be:
bpxwdyn-command   DC  Y(L'bpxwdyn-info+1)

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Calling bpxwdyn from CA-Easytrieve

I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!) The manual 
states that the length must be 1 greater than the maximum length possible for 
the returned attribute. Since a dataset name can only be 44 bytes, the length 
value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
with a specific DD name.

I have built the "command" string as follows:

bpxwdyn-command   DC  Y(L'bpxwdyn-info)
bpxwdyn-info   DC  C'INFO FI(MYDDN) '

I have built the information return parameter as follows:
bpxwdyn-dsname-p   DC  Y(102)
bpxwdyn-dsname   DC  CL100'INRTDSN '

The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, 
bpxwdyn-dsname-p) What's happening is that I getting a return code of 20, 
invalid parameter.
What I don't get is whether it is with my command string or my returned value 
strings.

The manual states that on a call from a non-REXX environment, R0 must be zero.

According to the Easytrieve manual, the CALL verb generates an MVS convention 
calling list. So, based on that I can only assume that the last address in the 
parameter list has it's high order bit on. Also, have written several routines 
which trigger off of the number of parameters with the number of parameters 
signaled by the high order but of the last one being on, and having called 
these routines successfully in Easytrieve, I suspect my assumption is correct.

What I don't know is whether Easytrieve sets R0 to zero for the call. If it 
doesn't, that could account for the return code of 20.

So, my question is, has anyone ever called bpxwdyn from within an Easytrieve 
program?

Thanks,
Chuck


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration EAS Information 
Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275 Phone +1 (724) 517-2633 | Mobile +1 
(412) 877-2809 | FAX: +1 (412) 490-9230 
chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


--
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: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Farley, Peter x23353
I don't know in which language CA Easytrieve is coded, but a few years back I 
tried setting up calls to BPXWDYN in Enterprise COBOL (V4.1 at the time) and 
they did not work because COBOL does not zero R0 as BPXWDYN requires.  I had to 
code an assembler stub routine to put between the COBOL program and BPXWDYN to 
get it to work.  For simplicity the stub was non-reentrant to be able use the 
LOAD macro to find a copy of BPXWDYN and save the entry point address for later 
use.

Email me privately if you want a copy of the stub routine.  It wasn't hard to 
code, 40 actual code lines and 7 lines of comments.

Peter

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Calling bpxwdyn from CA-Easytrieve

I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!)
The manual states that the length must be 1 greater than the maximum length 
possible for the returned attribute. Since a dataset name can only be 44 bytes, 
the length value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
with a specific DD name.

I have built the "command" string as follows:

bpxwdyn-command   DC  Y(L'bpxwdyn-info)
bpxwdyn-info   DC  C'INFO FI(MYDDN) '

I have built the information return parameter as follows:
bpxwdyn-dsname-p   DC  Y(102)
bpxwdyn-dsname   DC  CL100'INRTDSN '

The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, bpxwdyn-dsname-p)
What's happening is that I getting a return code of 20, invalid parameter.
What I don't get is whether it is with my command string or my returned value 
strings.

The manual states that on a call from a non-REXX environment, R0 must be zero.

According to the Easytrieve manual, the CALL verb generates an MVS convention 
calling list. So, based on that I can only assume that the last address in the 
parameter list has it's high order bit on. Also, have written several routines 
which trigger off of the number of parameters with the number of parameters 
signaled by the high order but of the last one being on, and having called 
these routines successfully in Easytrieve, I suspect my assumption is correct.

What I don't know is whether Easytrieve sets R0 to zero for the call. If it 
doesn't, that could account for the return code of 20.

So, my question is, has anyone ever called bpxwdyn from within an Easytrieve 
program?

Thanks,
Chuck


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


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

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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
Thanks Peter.

What I have done since I posted the query was to code a small assembler program:

MYTSTPGM CSECT
 USING *,15
 EXRL  0,*
 END   MYTSTPGM

I then called this program instead of BPXWDYN and took a look at the dump.
Sure enough, R0 is not zero.
In looking at the storage pointed to by R0, it looks a bit like the results of 
a BLDL against BPXWDYN.



Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter x23353
Sent: Tuesday, January 31, 2017 10:14 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

I don't know in which language CA Easytrieve is coded, but a few years back I 
tried setting up calls to BPXWDYN in Enterprise COBOL (V4.1 at the time) and 
they did not work because COBOL does not zero R0 as BPXWDYN requires.  I had to 
code an assembler stub routine to put between the COBOL program and BPXWDYN to 
get it to work.  For simplicity the stub was non-reentrant to be able use the 
LOAD macro to find a copy of BPXWDYN and save the entry point address for later 
use.

Email me privately if you want a copy of the stub routine.  It wasn't hard to 
code, 40 actual code lines and 7 lines of comments.

Peter

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Calling bpxwdyn from CA-Easytrieve

I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!)
The manual states that the length must be 1 greater than the maximum length 
possible for the returned attribute. Since a dataset name can only be 44 bytes, 
the length value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
with a specific DD name.

I have built the "command" string as follows:

bpxwdyn-command   DC  Y(L'bpxwdyn-info)
bpxwdyn-info   DC  C'INFO FI(MYDDN) '

I have built the information return parameter as follows:
bpxwdyn-dsname-p   DC  Y(102)
bpxwdyn-dsname   DC  CL100'INRTDSN '

The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, bpxwdyn-dsname-p)
What's happening is that I getting a return code of 20, invalid parameter.
What I don't get is whether it is with my command string or my returned value 
strings.

The manual states that on a call from a non-REXX environment, R0 must be zero.

According to the Easytrieve manual, the CALL verb generates an MVS convention 
calling list. So, based on that I can only assume that the last address in the 
parameter list has it's high order bit on. Also, have written several routines 
which trigger off of the number of parameters with the number of parameters 
signaled by the high order but of the last one being on, and having called 
these routines successfully in Easytrieve, I suspect my assumption is correct.

What I don't know is whether Easytrieve sets R0 to zero for the call. If it 
doesn't, that could account for the return code of 20.

So, my question is, has anyone ever called bpxwdyn from within an Easytrieve 
program?

Thanks,
Chuck


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the int

Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
While you think you would be right, check the end of the string and you will 
see that there is a space present.
That makes the PARM length equal to the actual number of characters plus 1.
It's the return parms that must include 1 extra byte for the string terminator 
to occupy.

Just to be clear, this is NOT an assembler program. It is an CA-Easytrieve 
program.
The variables are defined using CA-Easytrieve's definition format.
I simply supplied them here in assembler form to make things a bit easier for 
explanation.


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Nims,Alva John (Al)
Sent: Tuesday, January 31, 2017 10:06 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

I think you forgot to do the "+" in:
bpxwdyn-command   DC  Y(L'bpxwdyn-info)
should be:
bpxwdyn-command   DC  Y(L'bpxwdyn-info+1)

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Calling bpxwdyn from CA-Easytrieve

I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!) The manual 
states that the length must be 1 greater than the maximum length possible for 
the returned attribute. Since a dataset name can only be 44 bytes, the length 
value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
with a specific DD name.

I have built the "command" string as follows:

bpxwdyn-command   DC  Y(L'bpxwdyn-info)
bpxwdyn-info   DC  C'INFO FI(MYDDN) '

I have built the information return parameter as follows:
bpxwdyn-dsname-p   DC  Y(102)
bpxwdyn-dsname   DC  CL100'INRTDSN '

The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, 
bpxwdyn-dsname-p) What's happening is that I getting a return code of 20, 
invalid parameter.
What I don't get is whether it is with my command string or my returned value 
strings.

The manual states that on a call from a non-REXX environment, R0 must be zero.

According to the Easytrieve manual, the CALL verb generates an MVS convention 
calling list. So, based on that I can only assume that the last address in the 
parameter list has it's high order bit on. Also, have written several routines 
which trigger off of the number of parameters with the number of parameters 
signaled by the high order but of the last one being on, and having called 
these routines successfully in Easytrieve, I suspect my assumption is correct.

What I don't know is whether Easytrieve sets R0 to zero for the call. If it 
doesn't, that could account for the return code of 20.

So, my question is, has anyone ever called bpxwdyn from within an Easytrieve 
program?

Thanks,
Chuck


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration EAS Information 
Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275 Phone +1 (724) 517-2633 | Mobile +1 
(412) 877-2809 | FAX: +1 (412) 490-9230 
chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu wi

Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Nims,Alva John (Al)
You are correct, I saw that too, but in my defense, in the example there is a 
blank space at the end of the parameter string and there is also and the "+1" 
in the length value (just to make things confusing).

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 10:33 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

While you think you would be right, check the end of the string and you will 
see that there is a space present.
That makes the PARM length equal to the actual number of characters plus 1.
It's the return parms that must include 1 extra byte for the string terminator 
to occupy.

Just to be clear, this is NOT an assembler program. It is an CA-Easytrieve 
program.
The variables are defined using CA-Easytrieve's definition format.
I simply supplied them here in assembler form to make things a bit easier for 
explanation.


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275 Phone +1 (724) 517-2633 | Mobile +1 
(412) 877-2809 | FAX: +1 (412) 490-9230 chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Nims,Alva John (Al)
Sent: Tuesday, January 31, 2017 10:06 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

I think you forgot to do the "+" in:
bpxwdyn-command   DC  Y(L'bpxwdyn-info)
should be:
bpxwdyn-command   DC  Y(L'bpxwdyn-info+1)

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Calling bpxwdyn from CA-Easytrieve

I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!) The manual 
states that the length must be 1 greater than the maximum length possible for 
the returned attribute. Since a dataset name can only be 44 bytes, the length 
value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
with a specific DD name.

I have built the "command" string as follows:

bpxwdyn-command   DC  Y(L'bpxwdyn-info)
bpxwdyn-info   DC  C'INFO FI(MYDDN) '

I have built the information return parameter as follows:
bpxwdyn-dsname-p   DC  Y(102)
bpxwdyn-dsname   DC  CL100'INRTDSN '

The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, 
bpxwdyn-dsname-p) What's happening is that I getting a return code of 20, 
invalid parameter.
What I don't get is whether it is with my command string or my returned value 
strings.

The manual states that on a call from a non-REXX environment, R0 must be zero.

According to the Easytrieve manual, the CALL verb generates an MVS convention 
calling list. So, based on that I can only assume that the last address in the 
parameter list has it's high order bit on. Also, have written several routines 
which trigger off of the number of parameters with the number of parameters 
signaled by the high order but of the last one being on, and having called 
these routines successfully in Easytrieve, I suspect my assumption is correct.

What I don't know is whether Easytrieve sets R0 to zero for the call. If it 
doesn't, that could account for the return code of 20.

So, my question is, has anyone ever called bpxwdyn from within an Easytrieve 
program?

Thanks,
Chuck


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration EAS Information 
Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275 Phone +1 (724) 517-2633 | Mobile +1 
(412) 877-2809 | FAX: +1 (412) 490-9230 
chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWID

Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
Yes, I felt IBM's documentation and requirements to be confusing as well.
Unfortunately, it is what it is.
The parm needs the extra blank and the return variables need to have a length 1 
greater than the max length expected.
Go figure, way to make it easy IBM!

But, I guess one needs to consider it was apparently designed for REXX and then 
retrofitted for non-REXX environments since it's documented in the manual " 
Using REXX and z/OS UNIX System Services".



Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Nims,Alva John (Al)
Sent: Tuesday, January 31, 2017 10:37 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

You are correct, I saw that too, but in my defense, in the example there is a 
blank space at the end of the parameter string and there is also and the "+1" 
in the length value (just to make things confusing).

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 10:33 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

While you think you would be right, check the end of the string and you will 
see that there is a space present.
That makes the PARM length equal to the actual number of characters plus 1.
It's the return parms that must include 1 extra byte for the string terminator 
to occupy.

Just to be clear, this is NOT an assembler program. It is an CA-Easytrieve 
program.
The variables are defined using CA-Easytrieve's definition format.
I simply supplied them here in assembler form to make things a bit easier for 
explanation.


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275 Phone +1 (724) 517-2633 | Mobile +1 
(412) 877-2809 | FAX: +1 (412) 490-9230 chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Nims,Alva John (Al)
Sent: Tuesday, January 31, 2017 10:06 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

I think you forgot to do the "+" in:
bpxwdyn-command   DC  Y(L'bpxwdyn-info)
should be:
bpxwdyn-command   DC  Y(L'bpxwdyn-info+1)

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Calling bpxwdyn from CA-Easytrieve

I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!) The manual 
states that the length must be 1 greater than the maximum length possible for 
the returned attribute. Since a dataset name can only be 44 bytes, the length 
value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
with a specific DD name.

I have built the "command" string as follows:

bpxwdyn-command   DC  Y(L'bpxwdyn-info)
bpxwdyn-info   DC  C'INFO FI(MYDDN) '

I have built the information return parameter as follows:
bpxwdyn-dsname-p   DC  Y(102)
bpxwdyn-dsname   DC  CL100'INRTDSN '

The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, 
bpxwdyn-dsname-p)

Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Nims,Alva John (Al)
"Preaching to the Choir!"  :-)

We all wonder about some of the documentation and requirements.

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 10:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

Yes, I felt IBM's documentation and requirements to be confusing as well.
Unfortunately, it is what it is.
The parm needs the extra blank and the return variables need to have a length 1 
greater than the max length expected.
Go figure, way to make it easy IBM!

But, I guess one needs to consider it was apparently designed for REXX and then 
retrofitted for non-REXX environments since it's documented in the manual " 
Using REXX and z/OS UNIX System Services".



Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275 Phone +1 (724) 517-2633 | Mobile +1 
(412) 877-2809 | FAX: +1 (412) 490-9230 chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Nims,Alva John (Al)
Sent: Tuesday, January 31, 2017 10:37 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

You are correct, I saw that too, but in my defense, in the example there is a 
blank space at the end of the parameter string and there is also and the "+1" 
in the length value (just to make things confusing).

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 10:33 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

While you think you would be right, check the end of the string and you will 
see that there is a space present.
That makes the PARM length equal to the actual number of characters plus 1.
It's the return parms that must include 1 extra byte for the string terminator 
to occupy.

Just to be clear, this is NOT an assembler program. It is an CA-Easytrieve 
program.
The variables are defined using CA-Easytrieve's definition format.
I simply supplied them here in assembler form to make things a bit easier for 
explanation.


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275 Phone +1 (724) 517-2633 | Mobile +1 
(412) 877-2809 | FAX: +1 (412) 490-9230 chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Nims,Alva John (Al)
Sent: Tuesday, January 31, 2017 10:06 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

I think you forgot to do the "+" in:
bpxwdyn-command   DC  Y(L'bpxwdyn-info)
should be:
bpxwdyn-command   DC  Y(L'bpxwdyn-info+1)

Al Nims
Systems Admin/Programmer 3
UFIT
University of Florida
(352) 273-1298

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Calling bpxwdyn from CA-Easytrieve

I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!) The manual 
states that the length must be 1 greater than the maximum length possible for 
the returned attribute. Since a dataset name can only be 44 bytes, the length 
value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
wi

MGCRE with custom console security. - or - How does SDSF do it? "WHEN(CONSOLE(SDSF))"

2017-01-31 Thread Leonardo Vaz
Hello List!

I am attempting to create a program to issue specific system commands (modify) 
that users aren't usually allowed to in the OPERCMDS class; basically, I'm 
attempting to do the same thing SDSF does on, for example, cancelling jobs, 
where you secure which jobs a user has access to on the SDSF class, and on the 
OPERCMDS class you add a WHEN(CONSOLE(SDSF)) to the rule.

The RACF manual seems to indicate that the "WHEN(CONSOLE(" parm is to specify a 
console name, but that doesn't seem to be the case, I've tried using a 
CONSNAME= on the MGCRE for a console with that name (activated with MCSOPER), 
but no luck.

Does anyone know how I can achieve this?

PS.: Not really using RACF, but ACF2 and the equivalent for "WHEN(CONSOLE(".

Thanks,
Leo

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


Re: MGCRE with custom console security. - or - How does SDSF do it? "WHEN(CONSOLE(SDSF))"

2017-01-31 Thread Lizette Koehler
Could you show that section of code you are concerned about?

Are there any error messages?  If yes, please provide them.

Thanks

Lizette


-Original Message-
>From: Leonardo Vaz 
>Sent: Jan 31, 2017 9:11 AM
>To: IBM-MAIN@LISTSERV.UA.EDU
>Subject: MGCRE with custom console security. - or - How does SDSF do it? 
>"WHEN(CONSOLE(SDSF))"
>
>Hello List!
>
>I am attempting to create a program to issue specific system commands (modify) 
>that users aren't usually allowed to in the OPERCMDS class; basically, I'm 
>attempting to do the same thing SDSF does on, for example, cancelling jobs, 
>where you secure which jobs a user has access to on the SDSF class, and on the 
>OPERCMDS class you add a WHEN(CONSOLE(SDSF)) to the rule.
>
>The RACF manual seems to indicate that the "WHEN(CONSOLE(" parm is to specify 
>a console name, but that doesn't seem to be the case, I've tried using a 
>CONSNAME= on the MGCRE for a console with that name (activated with MCSOPER), 
>but no luck.
>
>Does anyone know how I can achieve this?
>
>PS.: Not really using RACF, but ACF2 and the equivalent for "WHEN(CONSOLE(".
>
>Thanks,
>Leo
>

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


Re: MGCRE with custom console security. - or - How does SDSF do it? "WHEN(CONSOLE(SDSF))"

2017-01-31 Thread Walt Farrell
On Tue, 31 Jan 2017 16:11:42 +, Leonardo Vaz  wrote:

>I am attempting to create a program to issue specific system commands (modify) 
>that users aren't usually allowed to in the OPERCMDS 
>class; basically, I'm attempting to do the same thing SDSF does on, for 
>example, cancelling jobs, where you secure which jobs a user has 
>access to on the SDSF class, and on the OPERCMDS class you add a 
>WHEN(CONSOLE(SDSF)) to the rule.
>
>The RACF manual seems to indicate that the "WHEN(CONSOLE(" parm is to specify 
>a console name, but that doesn't seem to be the >case, I've tried using a 
>CONSNAME= on the MGCRE for a console with that name (activated with MCSOPER), 
>but no luck.

MGCRE accepts a security UTOKEN as one of its parameters. 

For commands generated against protected resources (vs commands issued with / 
on the command line), after proper security checks are done, SDSF does 
something like:
(1) Extract a copy of the user's UTOKEN.
(2) Change the session type in the copy so it represents a console operator
(3) Change the port of entry in the copy so it says "SDSF"
(4) Issue the MGCRE using the modified UTOKEN.

Note that / commands would be issued without a UTOKEN, or with the user's 
standard UTOKEN rather than the modified one.

-- 
Walt

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


Re: MGCRE with custom console security. - or - How does SDSF do it? "WHEN(CONSOLE(SDSF))"

2017-01-31 Thread Leonardo Vaz
Thank you very much kind Walt! Beauty! So I'm guessing a "RACROUTE 
REQUEST=TOKENBLD" to copy the UTOKEN, then change the port of entry in the 
copy; never done this before, with a quick look in the book I am guessing the 
mapping DSECT is RUTKN and field TOKPOE, is that right?

Lizette, to answer your question, here is what I was trying to do, obviously 
the wrong thing:
MCSOPER REQUEST=ACTIVATE,NAME=MYCON,CONSID=IDAREA, X
   MCSCSA=STATUS_AREA,MCSCSAA=MY_ALET, X
   MSGECB=ALERT_ECB,TERMNAME=USERID
 MGCRE MF=(E,LAREA),TEXT=(R3),CONSNAME=MYCON
...
MYCONDCCL8'VMCF'

This is what I get:
VMCF 0290  F LLA,REFRESH
JOB46608 0090  IEE345I MODIFY   AUTHORITY INVALID, FAILED BY SECURITY 
PRODUCT
JOB46608 0094  ACF04056 ACCESS TO RESOURCE MVS.MODIFY.STC.LLA.LLA TYPE ROPR 
BY xxx
   NOT AUTHORIZED

Even though the security rule is:
MODIFY.- UID(*) SOURCE(VMCF) ALLOW

Thanks again Walt! :)

Regards,
Leo

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Walt Farrell
Sent: Tuesday, January 31, 2017 11:24 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: MGCRE with custom console security. - or - How does SDSF do it? 
"WHEN(CONSOLE(SDSF))"

On Tue, 31 Jan 2017 16:11:42 +, Leonardo Vaz  wrote:

>I am attempting to create a program to issue specific system commands 
>(modify) that users aren't usually allowed to in the OPERCMDS class; 
>basically, I'm attempting to do the same thing SDSF does on, for example, 
>cancelling jobs, where you secure which jobs a user has access to on the SDSF 
>class, and on the OPERCMDS class you add a WHEN(CONSOLE(SDSF)) to the rule.
>
>The RACF manual seems to indicate that the "WHEN(CONSOLE(" parm is to specify 
>a console name, but that doesn't seem to be the >case, I've tried using a 
>CONSNAME= on the MGCRE for a console with that name (activated with MCSOPER), 
>but no luck.

MGCRE accepts a security UTOKEN as one of its parameters. 

For commands generated against protected resources (vs commands issued with / 
on the command line), after proper security checks are done, SDSF does 
something like:
(1) Extract a copy of the user's UTOKEN.
(2) Change the session type in the copy so it represents a console operator
(3) Change the port of entry in the copy so it says "SDSF"
(4) Issue the MGCRE using the modified UTOKEN.

Note that / commands would be issued without a UTOKEN, or with the user's 
standard UTOKEN rather than the modified one.

--
Walt

--
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: MGCRE with custom console security. - or - How does SDSF do it? "WHEN(CONSOLE(SDSF))"

2017-01-31 Thread Leonardo Vaz
Really curious now, what exactly changing TOKSTYP to TOKCONS will achieve?

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Walt Farrell
Sent: Tuesday, January 31, 2017 11:24 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: MGCRE with custom console security. - or - How does SDSF do it? 
"WHEN(CONSOLE(SDSF))"

On Tue, 31 Jan 2017 16:11:42 +, Leonardo Vaz  wrote:

>I am attempting to create a program to issue specific system commands 
>(modify) that users aren't usually allowed to in the OPERCMDS class; 
>basically, I'm attempting to do the same thing SDSF does on, for example, 
>cancelling jobs, where you secure which jobs a user has access to on the SDSF 
>class, and on the OPERCMDS class you add a WHEN(CONSOLE(SDSF)) to the rule.
>
>The RACF manual seems to indicate that the "WHEN(CONSOLE(" parm is to specify 
>a console name, but that doesn't seem to be the >case, I've tried using a 
>CONSNAME= on the MGCRE for a console with that name (activated with MCSOPER), 
>but no luck.

MGCRE accepts a security UTOKEN as one of its parameters. 

For commands generated against protected resources (vs commands issued with / 
on the command line), after proper security checks are done, SDSF does 
something like:
(1) Extract a copy of the user's UTOKEN.
(2) Change the session type in the copy so it represents a console operator
(3) Change the port of entry in the copy so it says "SDSF"
(4) Issue the MGCRE using the modified UTOKEN.

Note that / commands would be issued without a UTOKEN, or with the user's 
standard UTOKEN rather than the modified one.

--
Walt

--
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: MGCRE with custom console security. - or - How does SDSF do it? "WHEN(CONSOLE(SDSF))"

2017-01-31 Thread Leonardo Vaz
Walt, the following worked flawlessly:

 RACROUTE REQUEST=TOKENXTR,TOKNOUT=TOKORIG,X
   WORKA=RACWK,RELEASE=1.9
 RACROUTE REQUEST=TOKENBLD,TOKNIN=TOKORIG,TOKNOUT=TOKMOD,  X
   POE=MYPOE,WORKA=RACWK,RELEASE=1.9
 LAR4,TOKMOD
 MGCRE MF=(E,LAREA),TEXT=(R3),CONSID=MYCON,UTOKEN=(R4)

Thank you very much, I would have never figured "WHEN(CONSOLE(" meant the port 
of entry.

Much appreciated,
Leo


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Walt Farrell
Sent: Tuesday, January 31, 2017 11:24 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: MGCRE with custom console security. - or - How does SDSF do it? 
"WHEN(CONSOLE(SDSF))"

On Tue, 31 Jan 2017 16:11:42 +, Leonardo Vaz  wrote:

>I am attempting to create a program to issue specific system commands 
>(modify) that users aren't usually allowed to in the OPERCMDS class; 
>basically, I'm attempting to do the same thing SDSF does on, for example, 
>cancelling jobs, where you secure which jobs a user has access to on the SDSF 
>class, and on the OPERCMDS class you add a WHEN(CONSOLE(SDSF)) to the rule.
>
>The RACF manual seems to indicate that the "WHEN(CONSOLE(" parm is to specify 
>a console name, but that doesn't seem to be the >case, I've tried using a 
>CONSNAME= on the MGCRE for a console with that name (activated with MCSOPER), 
>but no luck.

MGCRE accepts a security UTOKEN as one of its parameters. 

For commands generated against protected resources (vs commands issued with / 
on the command line), after proper security checks are done, SDSF does 
something like:
(1) Extract a copy of the user's UTOKEN.
(2) Change the session type in the copy so it represents a console operator
(3) Change the port of entry in the copy so it says "SDSF"
(4) Issue the MGCRE using the modified UTOKEN.

Note that / commands would be issued without a UTOKEN, or with the user's 
standard UTOKEN rather than the modified one.

--
Walt

--
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: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Alan Young
I have called it for many years from COBOL using the C string parameter 
format (NULL terminated parameter string in the doc). No wrappers 
needed. Here's a short snippet:


WORKING-STORAGE SECTION.

01  WORKAREA.

05  BPXWDYN PIC  X(08) VALUE 'BPXWDYN'.

05  WS-BPXWDYN-RETCODE  PIC  9(08) COMP SYNC.

05  WS-OUT1-ALLOC-STRING.
10  PIC  X(15) VALUE
  'ALLOC MSG(WTP) '.

10  PIC  X(14) VALUE
  'DD(OUT1) DSN('''.

10  WS-OUT1-DSN PIC  X(45).

10  PIC  X(01) VALUE SPACE.

10  PIC  X(23) VALUE
  'NEW DELETE UNIT(SYSDA) '.

10  PIC  X(27) VALUE
  'CYL SPACE(01,01) DSORG(PS) '.

10  PIC  X(34) VALUE
  'RECFM(FB) LRECL(80) BLKSIZE(27920)'.

*** TERMINATE COMMAND STRING
*** COULD SET THE LAST PARM AS A Z STRING
10  PIC  X(01) VALUE LOW-VALUE.


PROCEDURE DIVISION.

STRING 'A.DYNAMIC.DSNAME'
   ''')' DELIMITED BY SPACE
INTO WS-OUT1-DSN.

CALL BPXWDYN USING WS-OUT1-ALLOC-STRING
 RETURNING WS-BPXWDYN-RETCODE.

IF WS-BPXWDYN-RETCODE EQUAL ZERO
   OPEN OUTPUT OUT-FILE

   MOVE 'THIS IS SOME DATA ' TO OUT-REC
   WRITE OUT-REC

   CLOSE OUT-FILE
ELSE
   DISPLAY 'ERROR BPX RC=' WS-BPXWDYN-RETCODE
END-IF.

GOBACK.

Alan

Farley, Peter x23353 wrote:

I don't know in which language CA Easytrieve is coded, but a few years back I 
tried setting up calls to BPXWDYN in Enterprise COBOL (V4.1 at the time) and 
they did not work because COBOL does not zero R0 as BPXWDYN requires.  I had to 
code an assembler stub routine to put between the COBOL program and BPXWDYN to 
get it to work.  For simplicity the stub was non-reentrant to be able use the 
LOAD macro to find a copy of BPXWDYN and save the entry point address for later 
use.

Email me privately if you want a copy of the stub routine.  It wasn't hard to 
code, 40 actual code lines and 7 lines of comments.

Peter

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, January 31, 2017 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Calling bpxwdyn from CA-Easytrieve

I have a need to be able to call bpxwdyn from within an CA-Easytrieve "program".

According to the manual, IBM says that bpxwdyn can be called from non-REXX 
environments as long as certain rules are followed.
It also states that values can be returned as long as the return value 
parameter follows the following format:

PARMx DC  Y(L'PARMxVAL+1)
PARMxVAL DC  C'parameter value '
(Notice the very important space at the end of the value string!)
The manual states that the length must be 1 greater than the maximum length 
possible for the returned attribute. Since a dataset name can only be 44 bytes, 
the length value should be fine.

My need it to call bpxwdyn and have it return to me the dataset name associated 
with a specific DD name.

I have built the "command" string as follows:

bpxwdyn-command   DC  Y(L'bpxwdyn-info)
bpxwdyn-info   DC  C'INFO FI(MYDDN) '

I have built the information return parameter as follows:
bpxwdyn-dsname-p   DC  Y(102)
bpxwdyn-dsname   DC  CL100'INRTDSN '

The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, bpxwdyn-dsname-p)
What's happening is that I getting a return code of 20, invalid parameter.
What I don't get is whether it is with my command string or my returned value 
strings.

The manual states that on a call from a non-REXX environment, R0 must be zero.

According to the Easytrieve manual, the CALL verb generates an MVS convention 
calling list. So, based on that I can only assume that the last address in the 
parameter list has it's high order bit on. Also, have written several routines 
which trigger off of the number of parameters with the number of parameters 
signaled by the high order but of the last one being on, and having called 
these routines successfully in Easytrieve, I suspect my assumption is correct.

What I don't know is whether Easytrieve sets R0 to zero for the call. If it 
doesn't, that could account for the return code of 20.

So, my question is, has anyone ever called bpxwdyn from within an Easytrieve 
program?

Thanks,
Chuck


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | 
www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, dist

Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Paul Gilmartin
On Tue, 31 Jan 2017 12:41:10 +, Hardee, Chuck wrote:
>
>The manual states that on a call from a non-REXX environment, R0 must be zero.
> 
Why?

This is bizarre.  And sometimes hard to satisfy.  BPXWDYN ought to provide an
alternate entry point free of the requirement so users don't to need to write
wrappers to clear R0 and CALL BPXWDYN.

And if you don't LOAD/LINK/ATTACH BPXWDYN dynamically you risk missing
future updates.

-- gil

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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
Thanks Alan, but what you have indicated won't work for me in CA-Easytrieve.
The biggest problem is that to use null or space terminated strings as 
parameters, I have to be able to call BPXWDYN with R0 = 0 and Easytrieve 
doesn't provide a method of setting R0 to zero.

A wrapper is going to be needed.


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Alan Young
Sent: Tuesday, January 31, 2017 1:11 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

I have called it for many years from COBOL using the C string parameter 
format (NULL terminated parameter string in the doc). No wrappers 
needed. Here's a short snippet:

 WORKING-STORAGE SECTION.

 01  WORKAREA.

 05  BPXWDYN PIC  X(08) VALUE 'BPXWDYN'.

 05  WS-BPXWDYN-RETCODE  PIC  9(08) COMP SYNC.

 05  WS-OUT1-ALLOC-STRING.
 10  PIC  X(15) VALUE
   'ALLOC MSG(WTP) '.

 10  PIC  X(14) VALUE
   'DD(OUT1) DSN('''.

 10  WS-OUT1-DSN PIC  X(45).

 10  PIC  X(01) VALUE SPACE.

 10  PIC  X(23) VALUE
   'NEW DELETE UNIT(SYSDA) '.

 10  PIC  X(27) VALUE
   'CYL SPACE(01,01) DSORG(PS) '.

 10  PIC  X(34) VALUE
   'RECFM(FB) LRECL(80) BLKSIZE(27920)'.

*** TERMINATE COMMAND STRING
*** COULD SET THE LAST PARM AS A Z STRING
 10  PIC  X(01) VALUE LOW-VALUE.


 PROCEDURE DIVISION.

 STRING 'A.DYNAMIC.DSNAME'
''')' DELIMITED BY SPACE
 INTO WS-OUT1-DSN.

 CALL BPXWDYN USING WS-OUT1-ALLOC-STRING
  RETURNING WS-BPXWDYN-RETCODE.

 IF WS-BPXWDYN-RETCODE EQUAL ZERO
OPEN OUTPUT OUT-FILE

MOVE 'THIS IS SOME DATA ' TO OUT-REC
WRITE OUT-REC

CLOSE OUT-FILE
 ELSE
DISPLAY 'ERROR BPX RC=' WS-BPXWDYN-RETCODE
 END-IF.

 GOBACK.

Alan

Farley, Peter x23353 wrote:
> I don't know in which language CA Easytrieve is coded, but a few years back I 
> tried setting up calls to BPXWDYN in Enterprise COBOL (V4.1 at the time) and 
> they did not work because COBOL does not zero R0 as BPXWDYN requires.  I had 
> to code an assembler stub routine to put between the COBOL program and 
> BPXWDYN to get it to work.  For simplicity the stub was non-reentrant to be 
> able use the LOAD macro to find a copy of BPXWDYN and save the entry point 
> address for later use.
>
> Email me privately if you want a copy of the stub routine.  It wasn't hard to 
> code, 40 actual code lines and 7 lines of comments.
>
> Peter
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of Hardee, Chuck
> Sent: Tuesday, January 31, 2017 7:41 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Calling bpxwdyn from CA-Easytrieve
>
> I have a need to be able to call bpxwdyn from within an CA-Easytrieve 
> "program".
>
> According to the manual, IBM says that bpxwdyn can be called from non-REXX 
> environments as long as certain rules are followed.
> It also states that values can be returned as long as the return value 
> parameter follows the following format:
>
> PARMx DC  Y(L'PARMxVAL+1)
> PARMxVAL DC  C'parameter value '
> (Notice the very important space at the end of the value string!)
> The manual states that the length must be 1 greater than the maximum length 
> possible for the returned attribute. Since a dataset name can only be 44 
> bytes, the length value should be fine.
>
> My need it to call bpxwdyn and have it return to me the dataset name 
> associated with a specific DD name.
>
> I have built the "command" string as follows:
>
> bpxwdyn-command   DC  Y(L'bpxwdyn-info)
> bpxwdyn-info   DC  C'INFO FI(MYDDN) '
>
> I have built the information return parameter as follows:
> bpxwdyn-dsname-p   DC  Y(102)
> bpxwdyn-dsname   DC  CL100'INRTDSN '
>
> The call in Easytrieve is CALL BPXWDYN USING (bpxwdyn-command, 
> bpxwdyn-dsname-p)
> What's happening is that I getting a return code of 20, invalid parameter.
> What I do

Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
You got that right!
Or, if a "high level language" (and I use that term reeaalll loosely in 
reference to Easytrieve), there should be a way to indicate the value of the 
"parm" registers (R0 and R1). It would also be nice to be able to signal what 
the high-order bit of a parameter should be as well.
Oh, well, it is what it is.



Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Tuesday, January 31, 2017 1:20 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

On Tue, 31 Jan 2017 12:41:10 +, Hardee, Chuck wrote:
>
>The manual states that on a call from a non-REXX environment, R0 must be zero.
> 
Why?

This is bizarre.  And sometimes hard to satisfy.  BPXWDYN ought to provide an
alternate entry point free of the requirement so users don't to need to write
wrappers to clear R0 and CALL BPXWDYN.

And if you don't LOAD/LINK/ATTACH BPXWDYN dynamically you risk missing
future updates.

-- 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: MGCRE with custom console security. - or - How does SDSF do it? "WHEN(CONSOLE(SDSF))"

2017-01-31 Thread Walt Farrell
On Tue, 31 Jan 2017 16:51:21 +, Leonardo Vaz  wrote:

>Really curious now, what exactly changing TOKSTYP to TOKCONS will achieve?

It would enable use of WHEN(CONSOLE(...)) on a RACF PERMIT command.

-- 
Walt

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


Re: MGCRE with custom console security. - or - How does SDSF do it? "WHEN(CONSOLE(SDSF))"

2017-01-31 Thread Leonardo Vaz
Ok, so ACF2 doesn't check that on its SOURCE(x) parm, I only changed POE 
and it worked for me; I'll make sure to add that just in case my program ever 
runs under RACF.

Thanks again Walt!

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Walt Farrell
Sent: Tuesday, January 31, 2017 1:55 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: MGCRE with custom console security. - or - How does SDSF do it? 
"WHEN(CONSOLE(SDSF))"

On Tue, 31 Jan 2017 16:51:21 +, Leonardo Vaz  wrote:

>Really curious now, what exactly changing TOKSTYP to TOKCONS will achieve?

It would enable use of WHEN(CONSOLE(...)) on a RACF PERMIT command.

--
Walt

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


Last comment (was HMC mail domain)

2017-01-31 Thread David Boyes
> It's an unnecessary change which was forced on us because of an error due to 
> a request from a single user.

> It's not like the HMC is in and of itself an SMTP server.  THe HMC doesn't 
> have the capability to be an SMTP server.



And it's not acting as one. It does however have to act like a well-behaved 
client. I cited RFC 2505 as a list of commonly accepted requirements for mail 
servers to illustrate the expectations present in modern mail.



> It's using the services of and "existing" SMTP server, and therefor should be 
> adaptable to that existing environemnt,

> not force an additional change to support the HMC.



Regrettably, IBM missed that train years ago. Relying on backward compatibility 
and continuity of interoperability in the Internet standards process has gotten 
them a long way, and the industry has moved on.



If we hung spammers at dawn, this kind of code change and operational practice 
change wouldn't be necessary. Unfortunately, jerks exist and the software has 
to set reasonable defaults for "most people" that exclude trivially preventable 
misuses. That's what happened here.



> it was okay of IBM to require this change based on the request of a single 
> (or even a small or large number) of clients.



IBM didn't do it, the rest of the world did. IBM could have better documented 
the change in the overall expectations as a usage note, but the rest of the 
world has been doing this for a while. It's been close to a decade since the 
release of sendmail 8.6 which introduced the checks we're discussing here. I 
guess it never occurred to anyone that there were people who weren't requiring 
DNS to be present for everything, etc.



(FWIW, the next version of sendmail does away with the possibility of turning 
off these checks entirely. exim and postfix (the other two widely used SMTP 
daemons on Unix boxes) already do not allow turning off these checks, as do 
Exchange and Lotus Notes. Ya gotta bite the bullet and force people to do the 
right thing for their own good eventually.)



In answer to the other question about do we still need the ability to set the 
From: line, unfortunately, yes. As more and more organizations outsource their 
mail infrastructure to cloud providers, most outsourced mail servers check for 
the existance of the user in some directory and refuse to interact if no entry 
is found. These outsourced servers don't allow the ability to make exceptions, 
so the ability to supply a valid From: line is necessary.



(While we have your attention, IBM, could we please get SMTP over TLS support, 
pretty please? Being able to really know who you're talking to before you start 
chatting about userids, etc would really, really be nice.)






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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Alan Young
Chuck, this is a quick and dirty conversion of the COBOL snippet to 
Easytrieve. I did not test actual I/O, but I do see the dynamic 
allocation in the JES messages and RC 0 is returned from BPXWDYN. This 
was tested with Easytrieve 11.6.


DEFINE BPXWDYN  W   8 A VALUE 'BPXWDYN '.
DEFINE BPXWDYN-RETCODE  W   4 B.

DEFINE ALLOC-STRING  W 159 A.
DEFINE A1ALLOC-STRING   15 A.
DEFINE A2ALLOC-STRING +15   13 A.
DEFINE ALLOC-DSN ALLOC-STRING +28   45 A.
DEFINE ALLOC-DSN-PAD ALLOC-STRING +731 A.
DEFINE A5ALLOC-STRING +74   23 A.
DEFINE A6ALLOC-STRING +97   27 A.
DEFINE A7ALLOC-STRING +124  34 A.
DEFINE ALLOC-TERMALLOC-STRING +158   1 A.

JOB INPUT (NULL)

 MOVE SPACES   TO ALLOC-STRING.
 MOVE 'ALLOC MSG(WTP) 'TO A1.
 MOVE 'DD(OUT1) DSN('  TO A2.
 MOVE 'A.TEST.DSN)'TO ALLOC-DSN.
 MOVE 'NEW DELETE UNIT(SYSDA) 'TO A5.
 MOVE 'CYL SPACE(01,01) DSORG(PS) 'TO A6.
 MOVE 'RECFM(FB) LRECL(80) BLKSIZE(27920)' TO A7.
 MOVE LOW-VALUES   TO ALLOC-TERM.

 CALL BPXWDYN USING (ALLOC-STRING)+
  RETURNS BPXWDYN-RETCODE.

 IF BPXWDYN-RETCODE = 0
 ELSE
 DISPLAY 'ERROR BPX RC= ' BPXWDYN-RETCODE
 END-IF.

STOP.

Alan

Hardee, Chuck wrote:

Thanks Alan, but what you have indicated won't work for me in CA-Easytrieve.
The biggest problem is that to use null or space terminated strings as 
parameters, I have to be able to call BPXWDYN with R0 = 0 and Easytrieve 
doesn't provide a method of setting R0 to zero.

A wrapper is going to be needed.


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Alan Young
Sent: Tuesday, January 31, 2017 1:11 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

I have called it for many years from COBOL using the C string parameter 
format (NULL terminated parameter string in the doc). No wrappers 
needed. Here's a short snippet:


 WORKING-STORAGE SECTION.

 01  WORKAREA.

 05  BPXWDYN PIC  X(08) VALUE 'BPXWDYN'.

 05  WS-BPXWDYN-RETCODE  PIC  9(08) COMP SYNC.

 05  WS-OUT1-ALLOC-STRING.
 10  PIC  X(15) VALUE
   'ALLOC MSG(WTP) '.

 10  PIC  X(14) VALUE
   'DD(OUT1) DSN('''.

 10  WS-OUT1-DSN PIC  X(45).

 10  PIC  X(01) VALUE SPACE.

 10  PIC  X(23) VALUE
   'NEW DELETE UNIT(SYSDA) '.

 10  PIC  X(27) VALUE
   'CYL SPACE(01,01) DSORG(PS) '.

 10  PIC  X(34) VALUE
   'RECFM(FB) LRECL(80) BLKSIZE(27920)'.

*** TERMINATE COMMAND STRING
*** COULD SET THE LAST PARM AS A Z STRING
 10  PIC  X(01) VALUE LOW-VALUE.


 PROCEDURE DIVISION.

 STRING 'A.DYNAMIC.DSNAME'
''')' DELIMITED BY SPACE
 INTO WS-OUT1-DSN.

 CALL BPXWDYN USING WS-OUT1-ALLOC-STRING
  RETURNING WS-BPXWDYN-RETCODE.

 IF WS-BPXWDYN-RETCODE EQUAL ZERO
OPEN OUTPUT OUT-FILE

MOVE 'THIS IS SOME DATA ' TO OUT-REC
WRITE OUT-REC

CLOSE OUT-FILE
 ELSE
DISPLAY 'ERROR BPX RC=' WS-BPXWDYN-RETCODE
 END-IF.

 GOBACK.

Alan

Farley, Peter x23353 wrote:
  

I don't know in which language CA Easytrieve is coded, but a few years back I 
tried setting up calls to BPXWDYN in Enterprise COBOL (V4.1 at the time) and 
they did not work because COBOL does not zero R0 as BPXWDYN requires.  I had to 
code an assembler stub routine to put between the COBOL program and BPXWDYN to 
get it to work.  For simplicity the stub was non-reentrant to be able use the 
LOAD macro to find a copy of BPXWDYN and save the entry point address for later 
use.

Email me privately if you want a copy of the stub routine.  It wasn't hard to 
code, 40 actual code lines and 7 lines of comments.

Peter

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Hardee, Chuck
Sent: Tuesday, Januar

Re: COUPLExx syntax question.

2017-01-31 Thread Jesse 1 Robinson
Taking the second question (b) first. We code one PATHIN 
DEVICE(,,,...) statement that contains all of CTC devices for all 
the 'other' members of the sysplex. Same for PATHOUT. I suppose that you can 
code as many devices as there are members in the sysplex, so any limit would be 
the sysplex size.

As for question (a), I'm pretty sure there is no limit because we code one 
PATHIN STRNAME(xxx) for each sysplex communication structure. There is no limit 
on those as the size varies according to CLASS. IBM recommends a modest number 
of CLASSes (we have three) but you could create a whole bunch if you wish. 

Unless someone else has hit a limit in practice, I'm guessing that there is no 
architectural limit. 

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler 
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
robin...@sce.com

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Vernooij, Kees (ITOPT1) - KLM
Sent: Tuesday, January 31, 2017 6:29 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: (External):COUPLExx syntax question.

Hello group,

Is there a limit on:

a)  The number of PATHIN or PATHOUT statements in COUPLExx?

b)  The number of CTC devnums per PATHIN or PATHOUT 
DEVICE(devnum,devnum...) statement?

Init and Tuning of z/OS V2.2 does mention any limit.

Thanks,
Kees.


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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
Thanks Alan.

At the moment, allocation is not what I am trying to do.
I am trying to use the INFO function to return the dataset name.
I am getting a return code of 0 from the BPXWDYN call, but I am not getting 
anything returned.

Have you tried doing an INFO call?

This is the special flavor of parameter that you have to supply since BPXWDYN 
doesn't have REXX variables to update.

Chuck

Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Alan Young
Sent: Tuesday, January 31, 2017 2:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

Chuck, this is a quick and dirty conversion of the COBOL snippet to 
Easytrieve. I did not test actual I/O, but I do see the dynamic 
allocation in the JES messages and RC 0 is returned from BPXWDYN. This 
was tested with Easytrieve 11.6.

DEFINE BPXWDYN  W   8 A VALUE 'BPXWDYN '.
DEFINE BPXWDYN-RETCODE  W   4 B.

DEFINE ALLOC-STRING  W 159 A.
DEFINE A1ALLOC-STRING   15 A.
DEFINE A2ALLOC-STRING +15   13 A.
DEFINE ALLOC-DSN ALLOC-STRING +28   45 A.
DEFINE ALLOC-DSN-PAD ALLOC-STRING +731 A.
DEFINE A5ALLOC-STRING +74   23 A.
DEFINE A6ALLOC-STRING +97   27 A.
DEFINE A7ALLOC-STRING +124  34 A.
DEFINE ALLOC-TERMALLOC-STRING +158   1 A.

JOB INPUT (NULL)

  MOVE SPACES   TO ALLOC-STRING.
  MOVE 'ALLOC MSG(WTP) 'TO A1.
  MOVE 'DD(OUT1) DSN('  TO A2.
  MOVE 'A.TEST.DSN)'TO ALLOC-DSN.
  MOVE 'NEW DELETE UNIT(SYSDA) 'TO A5.
  MOVE 'CYL SPACE(01,01) DSORG(PS) 'TO A6.
  MOVE 'RECFM(FB) LRECL(80) BLKSIZE(27920)' TO A7.
  MOVE LOW-VALUES   TO ALLOC-TERM.

  CALL BPXWDYN USING (ALLOC-STRING)+
   RETURNS BPXWDYN-RETCODE.

  IF BPXWDYN-RETCODE = 0
  ELSE
  DISPLAY 'ERROR BPX RC= ' BPXWDYN-RETCODE
  END-IF.

STOP.

Alan

Hardee, Chuck wrote:
> Thanks Alan, but what you have indicated won't work for me in CA-Easytrieve.
> The biggest problem is that to use null or space terminated strings as 
> parameters, I have to be able to call BPXWDYN with R0 = 0 and Easytrieve 
> doesn't provide a method of setting R0 to zero.
>
> A wrapper is going to be needed.
>
>
> Charles (Chuck) Hardee
> Senior Systems Engineer/Database Administration
> EAS Information Technology
>
> Thermo Fisher Scientific
> 300 Industry Drive | Pittsburgh, PA 15275
> Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
> chuck.har...@thermofisher.com  | www.thermofisher.com
>
> WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of 
> this e-mail or the information herein by anyone other than the intended 
> recipient, or an employee or agent of a system responsible for delivering the 
> message to the intended recipient, is prohibited. If you are not the intended 
> recipient, please inform the sender and delete all copies.
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of Alan Young
> Sent: Tuesday, January 31, 2017 1:11 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Calling bpxwdyn from CA-Easytrieve
>
> I have called it for many years from COBOL using the C string parameter 
> format (NULL terminated parameter string in the doc). No wrappers 
> needed. Here's a short snippet:
>
>  WORKING-STORAGE SECTION.
>
>  01  WORKAREA.
>
>  05  BPXWDYN PIC  X(08) VALUE 'BPXWDYN'.
>
>  05  WS-BPXWDYN-RETCODE  PIC  9(08) COMP SYNC.
>
>  05  WS-OUT1-ALLOC-STRING.
>  10  PIC  X(15) VALUE
>'ALLOC MSG(WTP) '.
>
>  10  PIC  X(14) VALUE
>'DD(OUT1) DSN('''.
>
>  10  WS-OUT1-DSN PIC  X(45).
>
>  10  PIC  X(01) VALUE SPACE.
>
>  10  PIC  X(23) VALUE
>'NEW DELETE UNIT(SYSDA) '.
>
>  10  PIC  X(27) VALUE
>'CYL SPACE(01,01) DSORG(PS) '.
>
>  10  PIC  X(34) VALUE
>'RECFM(FB) LRECL(80) BLKSIZE(

Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Paul Gilmartin
On Tue, 31 Jan 2017 19:58:48 +, Hardee, Chuck wrote:
>
>At the moment, allocation is not what I am trying to do.
>I am trying to use the INFO function to return the dataset name.
>I am getting a return code of 0 from the BPXWDYN call, but I am not getting 
>anything returned.
>
>Have you tried doing an INFO call?
>
>This is the special flavor of parameter that you have to supply since BPXWDYN 
>doesn't have REXX variables to update.
> 
If there's anything to be gained by experimenting in Rexx, you can simulate a
non-Rexx call with "address LINKPGM".  You need to supply the length halfwords
explicitly.  I doubt that this allows controlling R0.

There's an ICSF example in SYS1.SAMPLIB.

Does Easytrieve allow return values in the CALL arguments and neither
copy them nor protect them?

-- gil

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


CAVMEN Meeting February 9, 2017 - SECOND NOTICE

2017-01-31 Thread Jack H. Slavick
The first quarter meeting of the Chicago Area VM (and Linux) Enthusiasts
will be held on Thursday, February 9, 2017.

Refreshments and Lunch will be provided by Avalon Management Consulting
Corp.   

Meeting Location: 
This quarter's meeting will once again be held at the AON Hewitt 'West
Campus' located at 4 Overlook Point, in Lincolnshire, IL. 
Attendees are asked to enter through the Building A North Wing entrance.
Please use the stated entrance.  Please be attentive to where you park and
where you attempt to enter the building.Security has been instructed to
send you to the correct entrance should you ignore this warning and show up
at the wrong entrance. 
If you have not attended a meeting at this location before and do not know
the location of this entrance, please Click here: www.cavmen.org . Check the
links out!!!
There is a lot of information on the this site for your benefit!!!   


Attendance: 
We would like to request a count of expected attendees by the Monday before
the meeting, so that we may plan appropriately for arranging the facilities,
and for refreshments and lunch. If you are planning to attend, PLEASE send
an E-Mail by that date to jslavi...@comcast.net  with a subject line of
"Meeting Attendance".  

This is meant to be a facilities planning aid and should not be interpreted
as a registration requirement. If you suddenly become available at the last
minute, please feel free to attend even if you have not responded. 

Thank you in advance for your cooperation in this matter.  It is only
necessary to reply once concerning attendance.   


Meeting Agenda:

TBA. It will include Bruce Hayden of IBM, Rich Smrcina of Velocity Software,
Don Vosberg of SUSE and Mike Walter of Retirement Village.

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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Paul Gilmartin
On Tue, 31 Jan 2017 12:41:10 +, Hardee, Chuck wrote:

>I have a need to be able to call bpxwdyn from within an CA-Easytrieve 
>"program".
>...
>The manual states that on a call from a non-REXX environment, R0 must be zero.
> 
I took this to MVS-OE where an expert swiftly answered:

...  This does turn out to be inconvenient.
We are trying to improve this.  Watch for apar OA51807
If you have an immediate need, bridge code is necessary.

(   http://www-01.ibm.com/support/docview.wss?crawler=1&uid=isg1OA51807 - NF
closed a couple weeks ago. )

-- gil

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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
In order to return a value from BPXWDYN to an Easytrieve caller, one must use 
the variable definition as follows:

VARFIELD  DC   Y(L'VARVALUE)
VARVALUE  DC   CLx('..')

Where 'x' is large enough to contain the maximum value that can be returned. 
For example, a dataset name's max length is 44 characters so in this example, x 
would be 45.

The keyword representing the value to be returned must start in position 1 of 
VARVALUE and must include a SPACE at the end of the keyword.
For instance, if one wants the dataset name associated with an allocated 
DDname, then the VARVALUE would be coded as 'INRTDSN '.



Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Tuesday, January 31, 2017 6:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

On Tue, 31 Jan 2017 19:58:48 +, Hardee, Chuck wrote:
>
>At the moment, allocation is not what I am trying to do.
>I am trying to use the INFO function to return the dataset name.
>I am getting a return code of 0 from the BPXWDYN call, but I am not getting 
>anything returned.
>
>Have you tried doing an INFO call?
>
>This is the special flavor of parameter that you have to supply since BPXWDYN 
>doesn't have REXX variables to update.
> 
If there's anything to be gained by experimenting in Rexx, you can simulate a
non-Rexx call with "address LINKPGM".  You need to supply the length halfwords
explicitly.  I doubt that this allows controlling R0.

There's an ICSF example in SYS1.SAMPLIB.

Does Easytrieve allow return values in the CALL arguments and neither
copy them nor protect them?

-- 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: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Paul Gilmartin
On 2017-01-31, at 17:04, Hardee, Chuck wrote:

> In order to return a value from BPXWDYN to an Easytrieve caller, one must use 
> the variable definition as follows:
> 
> VARFIELD  DC   Y(L'VARVALUE)
> VARVALUE  DC   CLx('..')
> 
> Where 'x' is large enough to contain the maximum value that can be returned. 
> For example, a dataset name's max length is 44 characters so in this example, 
> x would be 45.
> 
> The keyword representing the value to be returned must start in position 1 of 
> VARVALUE and must include a SPACE at the end of the keyword.
> For instance, if one wants the dataset name associated with an allocated 
> DDname, then the VARVALUE would be coded as 'INRTDSN '.
>  
That describes (some of) BPXWDYN's requirements.  It makes no
presentation of whether Easytrieve supports return values in
CALL arguments, which is an uncommon practice.  I believe it is
more commom to pass the address of a reply buffer rather than
expecting the reply to replace the argument string itself.

-- gil

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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
Well, suffice it to say, Easytrieve allows one to define a variable following 
the BPXWDYN non-REXX return variable structure and allows BPXWDYN to return a 
value for use in the Easytrieve program.

After playing with different options all day, I have successfully called 
Easytrieve with an INFO request, FREE request and ALLOC request.
All of these requests following BPXWDYN's non-REXX calling requirements.


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Tuesday, January 31, 2017 7:24 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

On 2017-01-31, at 17:04, Hardee, Chuck wrote:

> In order to return a value from BPXWDYN to an Easytrieve caller, one must use 
> the variable definition as follows:
> 
> VARFIELD  DC   Y(L'VARVALUE)
> VARVALUE  DC   CLx('..')
> 
> Where 'x' is large enough to contain the maximum value that can be returned. 
> For example, a dataset name's max length is 44 characters so in this example, 
> x would be 45.
> 
> The keyword representing the value to be returned must start in position 1 of 
> VARVALUE and must include a SPACE at the end of the keyword.
> For instance, if one wants the dataset name associated with an allocated 
> DDname, then the VARVALUE would be coded as 'INRTDSN '.
>  
That describes (some of) BPXWDYN's requirements.  It makes no
presentation of whether Easytrieve supports return values in
CALL arguments, which is an uncommon practice.  I believe it is
more commom to pass the address of a reply buffer rather than
expecting the reply to replace the argument string itself.

-- 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: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Paul Gilmartin
On Wed, 1 Feb 2017 00:51:03 +, Hardee, Chuck wrote:

>Well, suffice it to say, Easytrieve allows one to define a variable following 
>the BPXWDYN non-REXX return variable structure and allows BPXWDYN to return a 
>value for use in the Easytrieve program.
>
>After playing with different options all day, I have successfully called 
>Easytrieve with an INFO request, FREE request and ALLOC request.
>All of these requests following BPXWDYN's non-REXX calling requirements.
> 
(ITYM "... called BPXWDYN ...")

What did you do to deal with R0?

--  gil

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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread David Crayford
> On 1 Feb 2017, at 2:20 am, Paul Gilmartin 
> <000433f07816-dmarc-requ...@listserv.ua.edu> wrote:
> 
> Why?
> 

Probably because R0 points to the REXX environment block which is used to 
signify its a REXX environment in use. 

> This is bizarre.  And sometimes hard to satisfy.  BPXWDYN ought to provide an
> alternate entry point free of the requirement so users don't to need to write
> wrappers to clear R0 and CALL BPXWDYN.

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


Re: SFTP on z/OS

2017-01-31 Thread Paul Gilmartin
On Mon, 30 Jan 2017 09:55:29 -0600, Kirk Wolf wrote:

>With SSH host authentication, the ssh server has the private key and you
>need to get the matching public key into your known_hosts or
>/etc/ssh/ssh_known_hosts
>
>The ssh-keyscan returns the public key(s).
>This public key should be obtained or verified independently on untrusted
>networks.   Once you have it, a Man-In-The-Middle attack would be detected.
>
A Google search:
https://www.google.com/search?q=known_hosts+mitm

Finds this, which concurs and which seems reasonable to me and you affirm:
https://serverfault.com/questions/132970/can-i-automatically-add-a-new-host-to-known-hosts/316100
@Mnebuerquo: If you were worried about security then you wouldn't have 
anything at all to do
with this question. You'd have the correct host key in front of you, 
gathered from the console
of the system you wanted to connect to, and you would manually verify it 
upon first connecting.
You certainly wouldn't do anything "automatically". – Ignacio 
Vazquez-Abrams Jun 15 '16 at 17:31

>You can also have ssh display the "ascii art" fingerprint of public key(s)
>for visual verification:
>
Transmitted independently and securely.  Courier pouch?

>ssh-keygen -lv -f ~/.ssh/known_hosts
>...
>2048 3b:87:95:6d:74:84:4f:d4:8e:bd:63:65:b1:5b:8e:74 [localhost]:6622 (RSA)
>+--[ RSA 2048]+
>| oo. |
>|.|
>|.o.+o|
>|   + .+.E|
>|S o o. ==|
>| + .  .=.|
>|+ .   . .|
>| o   |
>| |
>+-+

-- gil

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


KC!?

2017-01-31 Thread Paul Gilmartin
My bookmark:
http://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0

... which I think used to work, now shows the KC front page
briefly (1 or 2 seconds), then redirects to:

https://www.ibm.com/support/knowledgecenter/v1/sso/login?redirect_url=http%3A%2F%2Fwww.ibm.com%2Fsupport%2Fknowledgecenter%2FSSLTBW_2.2.0%2Fcom.ibm.zos.v2r2%2Fen%2Fhomepage.html

... which shows only a blank screen.

Should I be surprised?

-- gil

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


Re: Calling bpxwdyn from CA-Easytrieve

2017-01-31 Thread Hardee, Chuck
I was provided a stub program by Peter that he had used to get around a similar 
issue with COBOL.


Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Tuesday, January 31, 2017 8:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Calling bpxwdyn from CA-Easytrieve

On Wed, 1 Feb 2017 00:51:03 +, Hardee, Chuck wrote:

>Well, suffice it to say, Easytrieve allows one to define a variable following 
>the BPXWDYN non-REXX return variable structure and allows BPXWDYN to return a 
>value for use in the Easytrieve program.
>
>After playing with different options all day, I have successfully called 
>Easytrieve with an INFO request, FREE request and ALLOC request.
>All of these requests following BPXWDYN's non-REXX calling requirements.
> 
(ITYM "... called BPXWDYN ...")

What did you do to deal with R0?

--  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: KC!?

2017-01-31 Thread Elardus Engelbrecht
Paul Gilmartin wrote:

>My bookmark: http://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0

>... which I think used to work, now shows the KC front page
>briefly (1 or 2 seconds), then redirects to:
>
> https://www.ibm.com/support/knowledgecenter/v1/sso/login?redirect_url=http%3A%2F%2Fwww.ibm.com%2Fsupport%2Fknowledgecenter%2FSSLTBW_2.2.0%2Fcom.ibm.zos.v2r2%2Fen%2Fhomepage.html

>... which shows only a blank screen.

Clear out your browser's cache. I got the usual contents (after the 
re-direction just as you said) starting with 'Welcome to IBM z/OS V2R2 
documentation (December 2016)'

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