Re: External Functions in C on z/OS

2023-11-17 Thread David Crayford
Unfortunately, ooRexx has not been ported to z/OS. There is hope though. The 
z/OS Open Tools initiative has developers from IBM working full time porting 
languages and tools to z/OS. They frequently solicit recommendations so if 
there is a demand for ooRexx there the guys to ask 
https://github.com/ZOSOpenTools. What’s important to note is that their ports 
use enhanced ASCII and run in the z/OS UNIX environment so there is very little 
chance of using ooRexx to write an edit macro or a TSO/ISPF program. 

> On 17 Nov 2023, at 11:00 pm, Rony G. Flatscher  
> wrote:
> 
> On 16.11.2023 22:54, David Crayford wrote:
>> I don't find ooRexx useful on the PC as it's basically on life support
>> where Python has millions of contributors. Take data validation as an
>> example. There is a first class library https://docs.pydantic.dev/latest/.
>> 
>> Python isn't my favorite language by a large margin. But it is useful so it
>> wins. Same same with Java. Personal preference is secondary to a pragmatic
>> choice.
> 
> The combination of ooRexx [1] with Java [2] - on all platforms - allows one 
> to exploit all of Java (the Java runtime environment) as a huge external 
> class library for ooRexx. Unlike with Python there would be no need to 
> locate, choose and import specific modules with the needed functionality, 
> rather one can use the Rexx skills to immediately exploit all of the Java 
> functionality on all platforms.
> 
> It is hard to realize/assess the potential of this combination without a 
> little bit of curiosity and the will to learn new tricks.
> 
> ---rony
> 
> [1] ooRexx download site: 
> 
> [2] ooRexx-Java bridge (BSF4ooRexx850) download site: 
> 
> 
> 
>> On Fri, Nov 17, 2023 at 5:32 AM Seymour J Metz  wrote:
>> 
>>> I find REXX extremely useful on PCs, but TSO/E REXX is a backwater
>>> compared to ooRexx, and I would be tempted to use Java or Python for
>>> complicated TSO scripts. But on z/Linux ooRexx with BSF4REXX is a viable
>>> option.
>>> 
>>> 
>>> --
>>> Shmuel (Seymour J.) Metz
>>> http://mason.gmu.edu/~smetz3
>>> עַם יִשְׂרָאֵל חַי
>>> 
>>> 
>>> 
>>> 
>>> From: IBM Mainframe Discussion List  on behalf
>>> of David Crayford 
>>> Sent: Thursday, November 16, 2023 4:02 PM
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: External Functions in C on z/OS
>>> 
>>> I choose a language on capabilities rather than personal preference. I’ve
>>> been accused on this forum by my ex-colleague and pal Wayne Bickerdyke of
>>> having a pathological dislike of REXX. That’s not true, but I do find it
>>> less useful than other languages. Python has a useful library called ctypes
>>> which includes classes for mapping data structures with Python classes. We
>>> use BigEndianStructure for mapping control blocks
>>> https://docs.python.org/3/library/ctypes.html#ctypes.BigEndianStructure.
>>> It would be cool if the tooling that we worked on with Peter Relson to
>>> create C header files could be reused to generate Python mappings. With the
>>> recent zIIP offloading Python is strategic.
>>> 
 On 17 Nov 2023, at 12:38 am, Charles Mills  wrote:
 
  Different strokes for different folks.
 
 1. I was not aware of that pointer. This is the classic documentation
>>> problem. The answer is right there in the manual, clear as day -- provided
>>> you know where to look. A lot of these answers are easy to find, assuming
>>> you already know the answer.
 2. My code is running a complex Rexx environment that frankly I do not
>>> fully understand. (I didn't write it and it isn't "mine.") I wanted to be
>>> sure I had THE right environment block, not SOME environment block. An
>>> 11-instruction assembler module seemed like a great solution. I still
>>> believe that it was.
  Charles
 
 On Thu, 16 Nov 2023 11:31:20 +0800, David Crayford 
>>> wrote:
> There's a TSO/E vector table that has the address of the REXX routines.
> 
> // get the address of the TSO/e vector table
> CVT  * cvt  = *(( CVT ** ) CVTPTR);
> TSVT * tsvt = cvt->cvttvt;
> 
> --
> 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: PL/I question

2023-11-17 Thread Robin Vowels

On 2023-11-18 03:38, Bernd Oppolzer wrote:

Sorry for jumping in VERY late.

If you have something like

    DCL X CHAR (6);

    X = DATE;

then you will get strange results, because DATE is not recognized as 
the

well-known builtin function DATE which returns the
current date. But instead it is a DECIMAL FLOAT(6) variable


Not when you specify explicit declarations.
In his case, the identifier is marked as not declared, and it is treated
as a compile-time ERROR.

The default in PL/I (F) days for undeclared identifiers whose initial
letter was A-H and O-Z was FLOAT BINARY.


with an undefined value (given the "normal" default rules, inherited
from FORTRAN, which defines an undefined variable depending on its 
first letter ... and, of course, if you don't have the more
modern compiler options which prevent you from using undefined 
variables etc.).


Now, if you want the compiler to use the builtin function DATE instead 
of this undefined variable, you have two choices:


- declare DATE as a BUILTIN function

   DCL DATE BUILTIN;
   X = DATE;

- put parantheses after DATE; that is:

   X = DATE ();

   this way, DATE is known to be the BUILTIN function "by context".

Both variants will do.

Same goes for all other builtin functions without arguments.

HTH,
kind regards

Bernd


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


PDSE compression and IDCAMS error

2023-11-17 Thread Radoslaw Skorupka

I just enabled PDSE compression (see STGADMIN.SMS.ALLOW.PDSE.COMPACT).
It works fine.
However I wanted to see some details of the dataset using LISTCAT ENTRY 
command and got weird data.
Both compressed and uncompressed size is (NULL) and token is set to 
F...

Is it result of missing PTF or I should wait for one?

--
Radoslaw Skorupka
Lodz, Poland

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


Re: Rexx to clone users in RACF

2023-11-17 Thread Walt Farrell
IBM used to, and may still, supply an unofficial REXX exec that I wrote named 
DBSYNC. One of its operational modes allows cloning a user, though I don't 
recall if that is described in the documentation or only anecdotally on RACF-L. 
And I have no idea where such tools & toys are distributed today, but someone 
on RACF-L could probably provide more information.

(And, arguably, RACF-L is a better place for a discussion about cloning RACF 
users than ibm-main, in my opinion :) )

-- 
Walt

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


Re: Rexx to clone users in RACF

2023-11-17 Thread Joel C. Ewing
The problem with cloning an existing user's RACF setup is that permits 
to a resource are only stored as part of the resource profile, so when a 
permit is given directly to a user there is nothing that can be listed 
from the user's profile that indicates the resource permission was 
given.  If you know such permits have been directly granted to some 
users (and there are cases where it may be unavoidable), the only way 
guaranteed to discover all such permits in real time is to somehow list 
and parse all the permits for all resources in all classes that have 
treated that way and replicate all permits found granted to the old user 
to the new user.


To do this directly from the RACF database would be grossly inefficient, 
as you potentially have to list and parse the entire database.  
Fortunately, a RACF user that would be used for such a cloning is 
generally one that has been set up and been functional for some time, so 
you do not really need to look at the real-time RACF database.  
Information that is one or more days old is usually more than adequate.


There is a RACF utility that unloads the entire RACF database in a 
format that can be used to reload the entire database into appropriately 
defined DB2 tables.  We used to rebuild those tables every night as part 
of a RACF database backup procedure so they could be used for queries 
that the RACF database was not designed to efficiently handle.  If you 
set up appropriate alternate indexes, those DB2 tables can be 
efficiently queried to find all permits associated directly to a 
specific user.  After the information in the old user profile was used 
to define the new user profile, a REXX exec used these DB2 tables to 
create any necessary direct permits when cloning a user.  Our 
installation standards and conventions limited which RACF classes needed 
to be considered.


To keep RACF maintenance more manageable, you do want to grant almost 
all RACF resource permits to  RACF groups, and use connection of a user 
to various groups to grant permissions. Running with list-of-groups 
checking (GRPLIST) enabled allows group connections to add to existing 
authorities, rather than requiring an explicit login specifying that 
group.  That makes it easy to add new roles to a user or to change a 
user's functional roles by adding or removing the user to or from RACF 
groups associated with the role.


Group connections are easy to clone to a new user, because all group 
connections are reflected by fields in both the user profiles and the 
group profiles.


Our installation RACF standards were enforced by the procedures used by 
our RACF administrators.  This enabled us make some assumptions and 
simplifications in what needed to be checked when cloning a RACF user.  
Those assumptions might not be appropriate in other environments.


Having manually-maintained user-definition templates might work in some 
environments, but there is always the risk they will drift out of sync 
from the current RACF definitions as RACF changes are made.


    Joel C Ewing

On 11/16/23 05:17, Radoslaw Skorupka wrote:

W dniu 16.11.2023 o 05:04, Peter pisze:

Hello

I am looking for a rexx logic which can multiple RACFID based on one 
model

user ?

Does anyone have any sample rexx code or any logic that you can share 
with

me?


Hint: use template.
Just create some member with all definitions needed to create a user. 
Then CHANGE USER1 USER2.

If you really need it "automated" then use REXX/ISPF edit features.

BTW: Think about security model. Vast majority of RACF users should 
have authorities coming from group membership. Such approach allows 
very easy addition/deletion of users.



--
Joel C. Ewing

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


Re: PL/I question

2023-11-17 Thread Bernd Oppolzer

Sorry for jumping in VERY late.

If you have something like

    DCL X CHAR (6);

    X = DATE;

then you will get strange results, because DATE is not recognized as the 
well-known builtin function DATE which returns the
current date. But instead it is a DECIMAL FLOAT(6) variable with an 
undefined value (given the "normal" default rules, inherited
from FORTRAN, which defines an undefined variable depending on its first 
letter ... and, of course, if you don't have the more
modern compiler options which prevent you from using undefined variables 
etc.).


Now, if you want the compiler to use the builtin function DATE instead 
of this undefined variable, you have two choices:


- declare DATE as a BUILTIN function

   DCL DATE BUILTIN;
   X = DATE;

- put parantheses after DATE; that is:

   X = DATE ();

   this way, DATE is known to be the BUILTIN function "by context".

Both variants will do.

Same goes for all other builtin functions without arguments.

HTH,
kind regards

Bernd
(PL/1 teacher since 1991 - and many other stuff, ASSEMBLER, C, DB2, ...)



Am 15.11.2023 um 18:34 schrieb Binyamin Dissen:

A PL/I source code member has

DCL foobar BUILTIN

and must be compiled with RULES(LAXDCL)

I see no reference to FOOBAR as a function call.

My question is if FOOBAR was invoked, what does the BUILTIN clause do? A
different calling sequence? Looking for an internal label?

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

Director, Dissen Software, Bar & Grill - Israel

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


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


Re: External Functions in C on z/OS

2023-11-17 Thread Rony G. Flatscher

On 16.11.2023 22:54, David Crayford wrote:

I don't find ooRexx useful on the PC as it's basically on life support
where Python has millions of contributors. Take data validation as an
example. There is a first class library https://docs.pydantic.dev/latest/.

Python isn't my favorite language by a large margin. But it is useful so it
wins. Same same with Java. Personal preference is secondary to a pragmatic
choice.


The combination of ooRexx [1] with Java [2] - on all platforms - allows one to exploit all of Java 
(the Java runtime environment) as a huge external class library for ooRexx. Unlike with Python there 
would be no need to locate, choose and import specific modules with the needed functionality, rather 
one can use the Rexx skills to immediately exploit all of the Java functionality on all platforms.


It is hard to realize/assess the potential of this combination without a little bit of curiosity and 
the will to learn new tricks.


---rony

[1] ooRexx download site: 

[2] ooRexx-Java bridge (BSF4ooRexx850) download site: 





On Fri, Nov 17, 2023 at 5:32 AM Seymour J Metz  wrote:


I find REXX extremely useful on PCs, but TSO/E REXX is a backwater
compared to ooRexx, and I would be tempted to use Java or Python for
complicated TSO scripts. But on z/Linux ooRexx with BSF4REXX is a viable
option.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי




From: IBM Mainframe Discussion List  on behalf
of David Crayford 
Sent: Thursday, November 16, 2023 4:02 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: External Functions in C on z/OS

I choose a language on capabilities rather than personal preference. I’ve
been accused on this forum by my ex-colleague and pal Wayne Bickerdyke of
having a pathological dislike of REXX. That’s not true, but I do find it
less useful than other languages. Python has a useful library called ctypes
which includes classes for mapping data structures with Python classes. We
use BigEndianStructure for mapping control blocks
https://docs.python.org/3/library/ctypes.html#ctypes.BigEndianStructure.
It would be cool if the tooling that we worked on with Peter Relson to
create C header files could be reused to generate Python mappings. With the
recent zIIP offloading Python is strategic.


On 17 Nov 2023, at 12:38 am, Charles Mills  wrote:

  Different strokes for different folks.

1. I was not aware of that pointer. This is the classic documentation

problem. The answer is right there in the manual, clear as day -- provided
you know where to look. A lot of these answers are easy to find, assuming
you already know the answer.

2. My code is running a complex Rexx environment that frankly I do not

fully understand. (I didn't write it and it isn't "mine.") I wanted to be
sure I had THE right environment block, not SOME environment block. An
11-instruction assembler module seemed like a great solution. I still
believe that it was.

  Charles

On Thu, 16 Nov 2023 11:31:20 +0800, David Crayford 

wrote:

There's a TSO/E vector table that has the address of the REXX routines.

// get the address of the TSO/e vector table
CVT  * cvt  = *(( CVT ** ) CVTPTR);
TSVT * tsvt = cvt->cvttvt;


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


Re: What is HMEX or FMEX?

2023-11-17 Thread Radoslaw Skorupka

Some update:
I found some description in the Application Programming Interfaces for JAVA.
However "known" modes like General, or Linux are described shortly, but 
for HMEX, etc. the description is '???'. Just three question marks.

Well, I would prefer to see "Reserved for future use" or so.


--
Radoslaw Skorupka
Lodz, Poland





W dniu 31.10.2023 o 21:20, Radoslaw Skorupka pisze:

BCPii
HWIC2ASM mapping or HWIC2REX contains the following names:
HWMCA_FMEX_OPERATING_MODE
HWMCA_HMEX_OPERATING_MODE
HWMCA_HMAS_OPERATING_MODE

and several others, like HWMCA_CF_OPERATING_MODE, 
HWMCA_LINUX_OPERATING_MODE or HWMCA_GENERAL_OPERATING_MODE


It is obvious the names describe the operating mode of an LPAR. Some 
modes are obsolete, like ESA390 or ESA390 TPF. Or short-lived zAware. 
But I cannot find any reference to HMEX or FMEX. What is it?







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


Re: Rexx to clone users in RACF

2023-11-17 Thread Lionel B. Dyck
You can always try the open-source REXXADM ISPF dialog found at www.cbttape.org 
(check the updates page for the most recent) or at 
https://github.com/lbdyck/racfadm (I host it but I didn't write it - just 
contributed to it)


Lionel B. Dyck <><
Github: https://github.com/lbdyck

“Worry more about your character than your reputation. Character is what you 
are, reputation merely what others think you are.”   - - - John Wooden

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
ITschak Mugzach
Sent: Friday, November 17, 2023 6:49 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx to clone users in RACF

If you do not have a product, use RACF unload utility and look for all records 
associated with the source user and generate racf commands to copy the user. 
The records are described in racf macros and interfaces guide.

ITschak

בתאריך יום ו׳, 17 בנוב׳ 2023 ב-14:44 מאת Steve Beaver <
050e0c375a14-dmarc-requ...@listserv.ua.edu>:

> You only have 3 choices. zSecure or VRA Or write your own utility
>
> Sent from my iPhone
>
> No one said I could type with one thumb
>
> > On Nov 16, 2023, at 23:08, Wayne Bickerdike  wrote:
> >
> > *Doesn't the RACF ISPF interface have the ability to close a user?*
> >
> > No, Consul RACF which became z/Secure has that capability. As 
> > Radowslaw says, set up a template or use an ISPF file tailoring 
> > skeleton with a set of templates and generate from a panel.
> >
> >
> >> On Fri, Nov 17, 2023 at 1:55 PM Jon Perryman 
> wrote:
> >>
> >>> On Thu, 16 Nov 2023 08:04:47 +0400, Peter 
> wrote:
> >>>
> >>> I am looking for a rexx logic which can multiple RACFID based on 
> >>> one
> >> model user ?
> >>
> >> Doesn't the RACF ISPF interface have the ability to close a user?
> >>
> >> ---
> >> --- For IBM-MAIN subscribe / signoff / archive access instructions, 
> >> send email to lists...@listserv.ua.edu with the message: INFO 
> >> IBM-MAIN
> >>
> >
> >
> > --
> > Wayne V. Bickerdike
> >
> > 
> > -- For IBM-MAIN subscribe / signoff / archive access instructions, 
> > send email to lists...@listserv.ua.edu with the message: INFO 
> > IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send 
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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

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


Re: Rexx to clone users in RACF

2023-11-17 Thread Ituriel do Neto
Hi,

Years ago I created a small DFSORT job to parse an IRRDBU00 dataset to clone 
userids and all authorizations. Later, Mr Kolusu enhanced and optimized it to 
its final version. Thank you again Mr Kolusu.

If you want to try, here goes the job:
  
//RACFCLON JOB (),CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID,REGION=0M        
//*                                                                  
//   SET BASEUSER='ZR15'        <== SOURCE                           
//   SET CLONUSER='ZR23'        <== TARGET                           
//*  
//* CREATE RACF STATEMENTS TO CLONE THE USERID                   **  
//*  
//STEP0100 EXEC PGM=SORT,PARM='JP1"&BASEUSER",JP2"&CLONUSER"'        
//SYSOUT   DD SYSOUT=*                                               
//SORTIN   DD DISP=SHR,DSN=ZDATA.UNLOAD.RACF                         
//ADDUSER  DD SYSOUT=*                                               
//ALTUSER  DD SYSOUT=*                                               
//CONNECT  DD SYSOUT=*                                               
//PERMIT   DD SYSOUT=*                                               
//SYSIN    DD *                                                      
  OPTION COPY,VLSCMP                                                 
  INCLUDE COND=((005,4,CH,EQ,C'0200',AND,010,8,CH,EQ,JP1),OR,        
                (005,4,CH,EQ,C'0220',AND,010,8,CH,EQ,JP1),OR,        
                (005,4,CH,EQ,C'0270',AND,010,8,CH,EQ,JP1),OR,        
                (005,4,CH,EQ,C'0102',AND,019,8,CH,EQ,JP1),OR,        
                (005,4,CH,EQ,C'0404',AND,062,8,CH,EQ,JP1),OR,        
                (005,4,CH,EQ,C'0505',AND,266,8,CH,EQ,JP1))           
  INREC IFTHEN=(WHEN=INIT,                                           
         BUILD=(001,004,                                             
                005,1100)),                                          
        IFTHEN=(WHEN=(5,4,CH,EQ,C'0200'),                            
         BUILD=(1,4,                                                 
                C' ADDUSER ',                                        
                JP2,C' OWNER(',30,8,C') DFLTGRP(',100,8,C')   + ',   
                85:C'         PASSWORD(',10,8,C') ',                 
                   C'NAME(''',79,20,C''')')),                        
         IFTHEN=(WHEN=(5,4,CH,EQ,C'0220'),                           
          BUILD=(1,4,                                                
                C' ALTUSER ',                                        
                JP2,C' TSO(PROC(',154,8,C')  ',                      
                C' ACCTNUM(',19,8,C') + ',                           
               85:C'         SIZE(',163,8,C') ',                     
                  C' MAXSIZE(',176,10,C') ',                         
                  C' UNIT(',209,8,C') )')),                          
         IFTHEN=(WHEN=(5,4,CH,EQ,C'0270'),                           
          BUILD=(1,4,                                                
                C' ALTUSER ',                                        
                JP2,C' OMVS(UID(',15,10,C') ',                       
                C' HOME(',30,10,C') ',                               
                C' PROGRAM(',1054,8,C') )')),                        
         IFTHEN=(WHEN=(5,4,CH,EQ,C'0102'),                           
          BUILD=(1,4,                                                
                C' CONNECT ',                                
                JP2,C' GROUP(',10,8,C') ',                   
                C'OWNER(',10,8,C') ',                        
                C'AUTHORITY(',28,8,C') ')),                  
         IFTHEN=(WHEN=(5,4,CH,EQ,C'0404'),                   
          BUILD=(1,4,                                        
                C' PERMIT ',                                 
                C' ',10,44,C'       GEN + ',                 
                85:C'         CLASS(DATASET ) ',             
                   C'ID(',JP2,C') ',                         
                   C'ACCESS(',71,8,C') ')),                  
         IFTHEN=(WHEN=(5,4,CH,EQ,C'0505'),                   
          BUILD=(1,4,                                        
                C' PERMIT ',                                 
                C' ',10,44,C'       + ',                     
                85:C'         CLASS(',257,8,C') ',           
                   C'ID(',JP2,C') ',                         
                   C'ACCESS(',275,8,C') '))                  
  OUTFIL FNAMES=ADDUSER,INCLUDE=(5,8,CH,EQ,C' ADDUSER '),    
  VTOF,BUILD=(5,80,/,85,80)                                  
  OUTFIL FNAMES=ALTUSER,INCLUDE=(5,8,CH,EQ,C' ALTUSER '),    
  VTOF,BUILD=(5,80,/,85,80)                                  
  OUTFIL FNAMES=CONNECT,INCLUDE=(5,8,CH,EQ,C' CONNECT '),    
  VTOF,BUILD=(5,80)             

Re: Rexx to clone users in RACF

2023-11-17 Thread ITschak Mugzach
If you do not have a product, use RACF unload utility and look for all
records associated with the source user and generate racf commands to copy
the user. The records are described in racf macros and interfaces guide.

ITschak

בתאריך יום ו׳, 17 בנוב׳ 2023 ב-14:44 מאת Steve Beaver <
050e0c375a14-dmarc-requ...@listserv.ua.edu>:

> You only have 3 choices. zSecure or VRA Or write your own utility
>
> Sent from my iPhone
>
> No one said I could type with one thumb
>
> > On Nov 16, 2023, at 23:08, Wayne Bickerdike  wrote:
> >
> > *Doesn't the RACF ISPF interface have the ability to close a user?*
> >
> > No, Consul RACF which became z/Secure has that capability. As Radowslaw
> > says, set up a template or use an ISPF file tailoring skeleton with a set
> > of templates and generate from a panel.
> >
> >
> >> On Fri, Nov 17, 2023 at 1:55 PM Jon Perryman 
> wrote:
> >>
> >>> On Thu, 16 Nov 2023 08:04:47 +0400, Peter 
> wrote:
> >>>
> >>> I am looking for a rexx logic which can multiple RACFID based on one
> >> model user ?
> >>
> >> Doesn't the RACF ISPF interface have the ability to close a user?
> >>
> >> --
> >> For IBM-MAIN subscribe / signoff / archive access instructions,
> >> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> >>
> >
> >
> > --
> > Wayne V. Bickerdike
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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


Re: Rexx to clone users in RACF

2023-11-17 Thread Steve Beaver
You only have 3 choices. zSecure or VRA Or write your own utility 

Sent from my iPhone

No one said I could type with one thumb 

> On Nov 16, 2023, at 23:08, Wayne Bickerdike  wrote:
> 
> *Doesn't the RACF ISPF interface have the ability to close a user?*
> 
> No, Consul RACF which became z/Secure has that capability. As Radowslaw
> says, set up a template or use an ISPF file tailoring skeleton with a set
> of templates and generate from a panel.
> 
> 
>> On Fri, Nov 17, 2023 at 1:55 PM Jon Perryman  wrote:
>> 
>>> On Thu, 16 Nov 2023 08:04:47 +0400, Peter  wrote:
>>> 
>>> I am looking for a rexx logic which can multiple RACFID based on one
>> model user ?
>> 
>> Doesn't the RACF ISPF interface have the ability to close a user?
>> 
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>> 
> 
> 
> -- 
> Wayne V. Bickerdike
> 
> --
> 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