AW: [IBM-MAIN] Control dispatcher time-slice?

2024-05-06 Thread Beate Kawelke
You could try to directly change the dispatching priority of a TCB with CHAP: 
https://www.ibm.com/docs/en/zos/2.5.0?topic=hsp-chap-change-dispatching-priority

My understanding is that after changing the dispatching priority for your task, 
the dispatcher will get control and (if you downgraded your TCB's priority) 
select another task to be run.

Caveat: I don't know enough of the inner workings of z/OS, maybe IBM can shed 
some light here...

-Ursprüngliche Nachricht-
Von: IBM Mainframe Discussion List  Im Auftrag von 
Thomas David Rivers
Gesendet: Dienstag, 7. Mai 2024 04:34
An: IBM-MAIN@LISTSERV.UA.EDU
Betreff: [IBM-MAIN] Control dispatcher time-slice?

We've got a test (with pthread-created TCBs) that we'd like to really have 
dispatched with tiny time slices so we can make sure things are working 
correctly...

But - it seems that all of our time slices are "big"
so we don't get the conflicts we'd like to exercise.

Is there a way to tell the dispatcher to switch more quickly between TCBs - so 
we can get more radical multi-tasking?

This is on a zPDT system (L01) with only one "physical"
CPU... so we need the dispatcher to perhaps act in an atypical way for this 
exercise.  Right now, we're seeing very little multi-tasking between our TCBs.

  - Thanks -
  - Dave R. -

--
riv...@dignus.comWork: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com/

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

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


AW: [IBM-MAIN] TSO ALLOC with/wo unit

2024-03-20 Thread Beate Kawelke
SYSALLDA will also work - see 
https://www.ibm.com/docs/en/zos/2.5.0?topic=up-subparameter-definition-1

-Ursprüngliche Nachricht-
Von: IBM Mainframe Discussion List  Im Auftrag von 
Itschak Mugzach
Gesendet: Mittwoch, 20. März 2024 09:54
An: IBM-MAIN@LISTSERV.UA.EDU
Betreff: Re: [IBM-MAIN] TSO ALLOC with/wo unit

Agree, but it is common to use the devtype 3390.

*| **Itschak Mugzach | Director | SecuriTeam Software **|** IronSphere
Platform* *|* *Information Security Continuous Monitoring for Z/OS, zLinux and 
IBM I **|  *

*|* *Email**: i_mugz...@securiteam.co.il **|* *Mob**: +972 522 986404 **|*
*Skype**: ItschakMugzach **|* *Web**: http://www.securiteam.co.il/  **|*





On Wed, Mar 20, 2024 at 10:52 AM Mike Schwab < 
05962a42dc49-dmarc-requ...@listserv.ua.edu> wrote:

> UNIT is defined in the I/O gen and is customized by each site.  3390,
> SYSDA, etc may or may not be present.
>
> On Wed, Mar 20, 2024 at 1:57 AM ITschak Mugzach
> <05a7ced721d8-dmarc-requ...@listserv.ua.edu> wrote:
> >
> > I have a program in Rexx that allocates a dataset using dsname and
> > volume serial (1) . it works well in my shop but requires a unit
> > type (2) in another shop. Actually the error is msg "IKJ56241I
> > SPECIFIED UNIT IS UNDEFINED".
> > Why does 1 work here and fails in another shop?
> >
> >1. ALLOC F(XXX) DA('dsname') VOLUME(volser)
> >2. ALLOC F(XXX) DA('dsname') VOLUME(volser) UNIT(390)
> >
> > ITschak
> >
> > ITschak Mugzach
> > *|** IronSphere Platform* *|* *Information Security Continuous
> > Monitoring for z/OS, x/Linux & IBM I **| z/VM coming soon  *
> >
> > 
> > -- For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO
> > IBM-MAIN
>
>
>
> --
> Mike A Schwab, Springfield IL USA
> Where do Forest Rangers go to get away from it all?
>
> --
> 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


AW: [IBM-MAIN] IPCS beginners primer WAS: IPCS and Rexx

2023-10-17 Thread Beate Kawelke
Another tip: If, like me, you are really bad at memorizing the IPCS command 
syntax, you can write a small REXX which uses "address IPCS" to run all those 
commands which you found useful. If you redirect the output into a PO dataset 
(one member per command) you can then look through these reports to analyze 
what's going on.

-Ursprüngliche Nachricht-
Von: IBM Mainframe Discussion List  Im Auftrag von 
Jon Perryman
Gesendet: Dienstag, 17. Oktober 2023 04:30
An: IBM-MAIN@LISTSERV.UA.EDU
Betreff: [IBM-MAIN] IPCS beginners primer WAS: IPCS and Rexx

On Fri, 13 Oct 2023 22:57:18 -0500, Bruce Hewson  
wrote:

>A replacement STORAGE function for use in IPCS:-

For IPCS beginners, I strongly encourage learning a few basics IPCS subcommands 
before taking code from others or writing IPCS REXX / IPCS exits. The large 
number of IPCS subcommands and many args is confusing / overwhelming. It's all 
extremely useful but you can live without them in the beginning.

There are many solutions to every problem and if the solution solves your 
problem, then it's a good solution. Thiw STORAGE function works but it has some 
limitations that should be corrected before providing for public use. For 
instance, an additional solution or extra coding is needed to STORAGE("X", 100).
. 
For IPCS beginners, here are my essentials suggestion for starting.

* ISPF IPCS option 6 (IPCS commands) has a more flexible "IP " that is used 
from command lines which also stacks displays. For instance, IP CBFORMAT 0 
STR(PSA) formats the PSA. Find CVT and issue IP CBFORMAT ### STR(CVT) without 
exiting the first screen.

* Practice using offsets and pointers. E.g. IP LIST 0+32?+40?+80?-16?+20+16*30? 
LEN(300) ? is 4 byte pointer versus % is 3 byte pointer

* Caution when using PF8 "M". IPCS pauses at each full screen. Scroll to the 
end can take minutes formatting data you never look at.

* Learn to notice hex / decimal number problems: IP L 10 IP L X'10'IP L 
10.IP L 10+10IP L 10+x'10'

* Practice snooping around control blocks using CBFORMAT. For instance, start 
with IP CBF 0 STR(PSA). From there PSAAOLD =>ASCBASXB =>ASXBFTCB => TCBTCB. 
. 
*Practice the same using offsets. Notice for instance the left of each line 
from IP CBF 0 STR(PSA) has the offset for the first field. Recall the command 
and insert +##? and change the STR(). Repeat for additional control blocks.

* Practice using IP LIST 0 len(500) to look at some storage. I think it 
displays the subpool too.

* Practice using EQUATE. E.g. IP EQUATE PSA 0 STR(PSA) and use IP CBF PSA and 
IP LIST PSA. Save a symbol for example IP EQUATE SAVE_PSA PSA.

* Practice understanding period. IP L F0.   IP L F0 IP L 0.   IP L 0   

At this point, you should have enough to write some REXX and IPCS assembler 
exits.

* REXX   ADDRESS IPCS   commands sent to IPCS instead of TSO

* REXX  EVALUATE  "EVAL 20. LEN(512) REXX(STORAGE(varname))" fills 
variable varname with 512 bytes starting at x'20'. 512 is the limit.

* REXX attention routine should be written ensuring you don't get stuck in a 
loop.




 

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


AW: [IBM-MAIN] Access to PDS(E) ISPF statistics outside of TSO/ISPF

2023-10-11 Thread Beate Kawelke
For JAVA, you might want to look into the RESTful APIs which come with z/OSMF. 
Lots of good stuff to access datasets 

-Ursprüngliche Nachricht-
Von: IBM Mainframe Discussion List  Im Auftrag von 
ITschak Mugzach
Gesendet: Mittwoch, 11. Oktober 2023 10:00
An: IBM-MAIN@LISTSERV.UA.EDU
Betreff: Re: [IBM-MAIN] Access to PDS(E) ISPF statistics outside of TSO/ISPF

There is a sample assembler program in xephon magazine. Find it in the cbttape 
website

ITschak

בתאריך יום ג׳, 10 באוק׳ 2023 ב-21:46 מאת Matt Hogstrom :

> Thanks Mike, this helps a lot.
>
> Matt Hogstrom
> m...@hogstrom.org
> +1-919-656-0564
> PGP Key: 0x90ECB270
> Facebook   LinkedIn < 
> https://linkedin/in/mhogstrom>  Twitter 
>
> “It may be cognitive, but, it ain’t intuitive."
> — Hogstrom
>
> > On Oct 10, 2023, at 1:53 PM, Mike Shaw  wrote:
> >
> > Matt,
> >
> > I have Assembler code to decode the ISPF stats once you have the
> directory
> > entry in-hand. Here is the IBM mapping macro for the ISPF stats in a 
> > directory entry:
> >
> > MACRO
> > ISPDSTAT ,   Macro from ISP.AISPMACS ISPF DLIB
> > ISPFDIR  DSECT
> > ISPVERS  DSX   Version
> > ISPMOD   DSX   Modification level
> > ISPFLAGS DSX   Flag byte
> > ISPSCLM  EQU   X'80'   Stats created by SCLM
> > *EQU   X'40'   Reserved for ISPF
> > ISPESTAT EQU   X'20'   Extended statistics
> > *EQU   X'10'   Reserved for ISPF
> > *EQU   X'08'   Reserved for ISPF
> > *EQU   X'04'   Reserved for ISPF
> > *EQU   X'02'   Reserved for ISPF
> > *EQU   X'01'   Reserved
> > ISPMSEC  DSX   '   Seconds portion of Mod Time
> > * see the description of the TIME DEC macro for the format of
> > * ISPCDATE and ISPMDATE
> > ISPCDATE DSCL4 Date Statistics created
> > ISPMDATE DSCL4 Date Statistics modified
> > ISPMTIME DSCL2 Time modified HHMM
> > ISPCLINE DSCL2 Current number of lines
> > ISPILINE DSCL2 Initial number of lines
> > ISPMLINE DSCL2 Number of modified lines
> > ISPUSRID DSCL7 Userid
> > ISPBLANK DSCL3 Reserved for ISPF
> > *  Next 10 bytes must not be
> > *  referenced unless ISPESTAT is
> > *  ON and SMDE_USRD_LEN = X'14'
> > DSCL10Reserved for ISPF
> > * when ISPESTAT = On and SMDE_USRD_LEN = X'28' then
> > ORG   ISPBLANK+1
> > ISPECLIN DSCL4 Current number of lines
> > ISPEILIN DSCL4 Initial number of lines
> > ISPEMLIN DSCL4 Number of modified lines
> > MEND
> >
> >
> > Mike Shaw
> > MVS/QuickRef Support Group
> > Chicago-Soft, Ltd.
> >
> > On Tue, Oct 10, 2023 at 12:53 PM Matt Hogstrom 
> wrote:
> >
> >> I’m looking for a way to access ISPF statistics from Java or C 
> >> outside
> of
> >> a TSO / ISPF environment.  Does such an animal exist out there ?
> >>
> >> Matt Hogstrom
> >> m...@hogstrom.org
> >>
> >> “It may be cognitive, but, it ain’t intuitive."
> >> — Hogstrom
> >>
> >>
> >> ---
> >> --- For IBM-MAIN subscribe / signoff / archive access instructions, 
> >> send email to lists...@listserv.ua.edu with the message: INFO 
> >> IBM-MAIN
> >>
> >
> > 
> > -- For IBM-MAIN subscribe / signoff / archive access instructions, 
> > send email to lists...@listserv.ua.edu with the message: INFO 
> > IBM-MAIN
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send 
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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

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


AW: Generate a data set with record numbers?

2023-09-18 Thread Beate Kawelke
Hi Michael,

you could directly run the REXX as in-stream in the JCL: 
https://www.ibm.com/docs/en/zos/2.5.0?topic=routine-using-irxjcl-execute-in-stream-rexx-exec

Best regards,
Beate

-Ursprüngliche Nachricht-
Von: IBM Mainframe Discussion List  Im Auftrag von 
Schmitt, Michael
Gesendet: Freitag, 15. September 2023 22:20
An: IBM-MAIN@LISTSERV.UA.EDU
Betreff: [IBM-MAIN] Generate a data set with record numbers?

I want to generate a data set that has the record number on each line, such as:

RECORD 1
RECORD 2
RECORD 3

Or

RECORD 1
RECORD 2
RECORD 3

Perhaps I want to generate 1,000 records. Or 10,000.

The question is, what's the simplest way to do this with a *standard* z/OS 
utility (i.e. that comes with z/OS), or with a standard sort product (e.g. 
DFSORT or SyncSort), where it is all in a self-contained job?

I thought of IEBDG or IEBGENER but I don't see where you can tell it to 
generate a sequence number in the records it is building. Is it there and I'm 
just missing it?


I came up with two solutions:

A. IEBGENER to copy instream REXX into a PDS, then IRXJCL to execute it. The 
REXX exec generates the records.

Or

B. IEBDG to generate a file of N records that just say "RECORD", followed by a 
SORT that uses INREC to modify the record to contain the RECNUM. The sort would 
just copy the records.


Both of these solutions are two steps.

I'm curious if there's a simpler solution that I haven't thought of.

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


AW: [IBM-MAIN] VSAM File issue in read

2014-06-27 Thread Beate Kawelke
What abend do you encounter get?

Your assembler module might get into trouble because the read-in area, where 
the record is moved to, might be too small. This can lead to an overlay of the 
data behind this area (the extraneous 50 bytes) or, if you cross a page 
boundary, to an abend (S0C4 most of the times). The former might get you into 
trouble much later in the process.

Please post more details,
Beate

-Ursprüngliche Nachricht-
Von: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] Im Auftrag 
von Ron Thomas
Gesendet: Freitag, 27. Juni 2014 08:22
An: IBM-MAIN@LISTSERV.UA.EDU
Betreff: [IBM-MAIN] VSAM File issue in read

Hello

We have a KSDS VSAM File which is of record length in production as 200 bytes 
and we modified the VSAM file to 250  record length . We then copied old 
records to the new records.
There is a online screen which updates the file and once that happen the file 
is updated with low values after 200 bytes. There is assembler program when it 
reads it is failing in get call.
So is there a way by which from the online we can limit the length of the file 
to 200 bytes . Please do share thoughts on this?

Thanks
Ron T

--
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: Relative generation - how to recognize new datasets under TSO

2013-07-18 Thread Beate Kawelke
Hi Elardus,

I have coded FREE=CLOSE (DALCLOSE) and also checked with DDLIST that neither 
the GDG nor the dataset itself are allocated after the CLOSE. DALRTDSN shows 
that I always get the same DSN.

Best regards,
Beate

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
 On Behalf Of Elardus Engelbrecht
 Sent: Thursday, July 18, 2013 11:54 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: [IBM-MAIN] Relative generation - how to recognize new
 datasets under TSO
 
 Beate Kawelke wrote:
 
 I've been searching for hours but did not find a solution for the
 following: During a TSO session, a user specifies a dataset name. He
 may use a relative generation number (e.g., MY.DSN(0)) and he may do
 this several times, each resulting in a DYNALLOC (DALMEMBR set to the
 generation number). When a new generation is created during the TSO
 session, any subsequent DYNALLOC will NOT get this new dataset because,
 as I read in one of IBM's manuals, at the first usage of a GDG the
 operating system makes some sort of connection to make sure that
 generation 0 is always pointing to the same dataset. While this makes a
 lot of sense for batch jobs, it is not what I want in the above case.
 
 Is there a way to release / ignore that connection (I have looked
 through the DYNALLOC parameters, but to no avail) or do I have to go
 through the catalog and use my own logic to determine the correct DSN?
 ISPF Edit, much to my surprise, gets it right - if I specify generation
 0, the new dataset will be found.
 
 Where is your FREE statements when you're finished with a generation?
 AFAIK, you should ensure you have no GDG allocated before attempting to
 do a [new/another] DYNALLOC.
 
 Groete / Greetings
 Elardus Engelbrecht
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions, send
 email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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


Re: Relative generation - how to recognize new datasets under TSO

2013-07-18 Thread Beate Kawelke
I've tried it and it works - thank you so much! I'm still wondering which 
search keywords I should have used to find this via Google ;-)

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
 On Behalf Of Norbert Friemel
 Sent: Thursday, July 18, 2013 1:31 PM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: [IBM-MAIN] Relative generation - how to recognize new
 datasets under TSO
 
 On Thu, 18 Jul 2013 10:59:52 +0200, Beate Kawelke wrote:
 
 
 
 Is there a way to release / ignore that connection (I have looked
 through the DYNALLOC parameters, but to no avail) or do I have to go
 through the catalog and use my own logic to determine the correct DSN?
 ISPF Edit, much to my surprise, gets it right - if I specify generation
 0, the new dataset will be found.
 
 
 http://www-01.ibm.com/support/docview.wss?uid=isg1II08285
 
 Note:  Dynamic allocations can turn on bit S99GDGNT to bypass
using the table and thus always locate the current entry
(generation 0) at the time of the allocation.  This allows
them always to know the current generation, even when this
job (or another job), running on the same system (or a
different system, as long as the catalog is shared between
systems) has added generations since this job began.
 
 
 Norbert Friemel
 
 --
 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