You found the solution, fine. Fyi, I recently wrote a assembler subroutine, it
can be called from COBOL, C, PL/I and probably other, to access REXX variables
and the TSO stack, and it can also start a REXX. It is available on request.
Thanks Bernd,
yes I did wonder about that, I will fix it.
Willy
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Thanks Peter,
worked like a charm and makes the program much simpler.
Now I just wonder why it is neccessary to use a specific pointer specification
for int fields and not for char fields. Anyway, it works.
Willy
--
For
Kirh,
thank you for your alternate solution, I will keep that in mind.
Willy
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Found it, it was down to C pointers as expected / feared.
This works, note the use of 'textlenp' in the call:
#pragma linkage (rxhlicpl, OS)
main () {
extern int rxhlicpl();
Thanks Tony,
yes I am at the 'I just want it to work stage'.
I do actually have a "#pragma linkage(rxhlicpl,OS)" statement in there, should
have listed that as well.
I would really prefer not to get involved with LE at this point, but if that is
what it takes, then I guess I have to.
Your idea
Anybody have a sample of how to return a fullword to a C program from an
assembler subroutine?
Apologies if this seems basic, but I really haven't looked seriously at C
before.
I have read about 'Combining C or C++ and Assembler programs', which didn't
help.
I have this C program (extract):
Yes if is has been named. You can use the $DI(n) to check for the name, or look
at the JES2 parmlib member.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the
I think that DSN=44XL’04’ is the VTOC. Perhaps allocate with ABSTR?
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
I have an edit macro that might help, extract from the help screen:
ARRANGE I|M|O|X c l t s
Parameter description
I Insert block
Seems that the VATLSTxx parmlib member is still relevant.
From the z/OS 2.5 MVS Initialization and Tuning Reference:
The VATLSTxx member contains an optional VATDEF statement followed by entries
that define the mount
and use attributes of DASD volumes.
Use the VATDEF statement in VATLSTxx to
I can offer my ISPCMDU found at https://harders-jensen.com. With it you can
update the ISPF command table ISPCMDS in flight, no restart required.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to
Most SMF records can be copied to a normal VB dataset. As I recall, only one or
two CICS records were really that big (or perhaps it is DB2, it's been a
while)? Anyway, you can select the record types that you need and the use SORT
to convert to normal VB.
Turns out the problem is with IRXSAY, I can read and write variables using
IRXEXCOM. But IRXSAY returns with return code 28 'A language processor
environment could not be located'. Unfortunately I was not checking for IRXSAY
return codes, as IRXSAY just works, well at least in TSO it does. So
"PROF NOPREFIX works but can leave you that setting when you don't want it on
termination."
Do check if it is already off before you change it, and if so dont set it on
afterwards. Also remember that the prefix is not neccessarily the user id, so
you need something like the following to
"INRTDDN, which is valid for INFO but not for ALLOC"
For alloc you must use the RTDSN(varname) parameter. But a good point, it
really should have been the same.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
> . .
>Unquote: return strip(space(translate(arg(1)," ","'")))
>
>Isn't that a verbose equivalent of:
>return strip( arg( 1 ), 'Both', )
Not exactly, the Unquote also removes spaces between the quote and the text. It
has
Hi,
I am trying to make a REXX function writen in assembler run in Netview REXX.
The function in question reads. lists and writes variables, it uses IRXEXCOM
for variable access, IRXSTK for stack access and IRXSAY for terminal output.
When running in Netview it doesn't abend, but it doesn't do
or requote as a function, I think it looks nicer
cc=Listdsi(requote(ds))
. .
Unquote: return strip(space(translate(arg(1)," ","'")))
Requote: if arg(1)='' then
Instead of changing the TSO profile, I usually remove quotes using a function
like so:
cc=Listdsi("'"unquote(ds)"'")
. .
Unquote: return strip(space(translate(arg(1)," ","'")))
SDSF has an ENQD command, which might be available via the API.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
I found an old program which checks a field named ascbtsb, if this is not zero
then the task is a TSU.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message:
Maybe s/he was thinking about defining them, which I am pretty sure I have done
in a distant past using MLA, rather actually using them.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to
www.cbttape.org file 669 contains program ISPDPX01, which is an ISPF panel exit
allowing you to define the entire panel, or parts thereof, in on or more REXX
stems.
--
For IBM-MAIN subscribe / signoff / archive access
Maybe some DISP=(OLD,DELETE) might have unforseen consequenses when actually
executing the JCL, even with PGM=IEFBR14.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu
I for one would be sorry to see the STEPLIB program from CBT file 452 go away.
I find it very useful for packaging applications in separate set of libraries
and then use ISPF LIBDEFs, TSO ALTLIB and the STEPLIB program to make the
neccessary allocations. Sadly ISPLLIB has severe limitations and
I have a free alternative to TSO PIPE, it can do member list as you require.
Let me know if you are interrested.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the
I think I put it badly, by "used a key search to position at the first record"
when I really meant that I used a key search to position at the first record
matching the partial key, and then switched to sequential processing.
The one time I have done it, I used a key search to position at the first
record, then sequential processsing from then on, till I reached my end point.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send
This will issue any TSO command, but security-wise I think it opens a barn door.
Save it as member TSOCMD in your SYSREXX lib.
/* general TSO command rexx */
address tso arg(1)
Exit 0
Sample use (@ is my SYSREXX command char):
@TSOCMD LISTCAT
This DD override feature can be used for all IBM standard utilities, I have
recently used it with IEBGENER.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the
It will work, that is how I usually do it.
And so will this:
"line_after .zl = 'this is a new line'"
"line_after .zl = ' and so is this '"
Though I prefer to assigh the value to a variable and then use that, mostly
because it is easier to handle quotes and complex strings that way.
Since you are running a REXX anyway, that REXX could copy DDname SYSIN to a
temporary dataset, which is then used for SYSIN in the 2nd step, A simple REPRO
INFILE(SYSIN) OUTFILE(TEMP) should do it.
--
For IBM-MAIN subscribe /
If it is a short template then you can insert the lines from the macro. Replace
the COPY command with
/* Insert template */
s='Template line 1'
"line_after .zl = (s)"
s='Template line 2'
"line_after .zl = (s)"
and so on and so forth
I think this is the shortest sample I can come up with. It generates first or
next membername for the day, then edits that member using itself as edit macro.
The edit macro part copies the template and saves the member. Remove the
'CANCEL' command to stay in edit.
The command can be executed
Yeah I know, I really should strip that from the web text.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
For asking RACF from a REXX, check RXSAFCHK at http://harders-jensen.com.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
I'm ok wth the layout of the SMF record as such, what I am looking for is the
layout of the field SMF61CRC.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the
Hi, anybody knows where to find the mapping of Integrated Catalog records?
I am looking at SMF type 61 and at the end it says 'New catalog record for
defined entry', but doesn't say where to find the mapping. I am primarily
looking for volser information for non-vsam datasets. I have found the
Forgot to metion, you can run an ISPF skeleton directly from the edited member
using the SKEL command from http://harders-jensen.com. And I know that there
are others.
--
For IBM-MAIN subscribe / signoff / archive access
A small ISPF skeleton like this:
)CM Copy datasets with rename
)REXX DSN COUNT
/* make dataset list */
address tso "delstack"
queue dsn
You can pull the information from the XMIT dataset and then either present it
to the user in a dialog, or act upon it directly.
Here is a snippet that 'says' the original datasetname and user..
/* get xmit datasetname */
arg inda
Probably a quoting issue, this works:
Address SDSF ISFSLASH "'send ''howdy folks'' user(xx)'"
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO
You have the statement ARG hsmcmd':'seconds
Could it be that the seconds value is not entirely numeric?
Maybe do something like this:
seconds=word(seconds 2,1) /* set default =2 */
if datatype(seconds)<>'NUM' then call error 'bad seconds value "'seconds"'"'
re "why do you recommend the REXX/SDSF API rather than TSO GETMSG"
I think it is simpler to use and saves one RACF definition (CONSOLE class).
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to
In any case, I will strongly recommend that you use the REXX/SDSF API rather
than TSO GETMSG, i.e.:
/* Demo REXX/SDSF API system command */
zz=isfcalls('ON')
isfdelay=2 /* value for WAIT */
Address SDSF ISFSLASH "'d prog,apf'
You might be missing something. This is (one of) my TSO console pgms. The delay
of 2 seconds could be a variaible.
/* Issue command, receive response via the TSO CONSOLE commandrexx */
I have a program which abends with the code in the parm field, it supports both
system- and user abends. You are welcome to a copy, send me a private mail.
Sample:
PARM=S0C8
PARM=U123
You will still need some other program to do the wait, but a simple REXX in
batch could do that.
"Members with ISPF statistics are marked with 'no-stat'"
should of course have said
"Members without ISPF statistics are marked with 'no-stat'"
doc will be fixed asap
Re FAMS, the dialog uses whatever PDS86 provides as timestamp.
The SETDatadif command compares all members in both libraries
I have an ISPF based dialog to compare 2 libraries, and copy between them. See
MLCMP at http://harders-jensen.com
Start by taking a look at the doc - click on the 'text' text in the righthand
column. Note that the PDS86 program from cbtttape.org file 182 is required.
Core FTP Server
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
I found this link https://developer.ibm.com/articles/jes2-privilege-support/ to
the article, brilliant, thanks Ravi.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with
Try this REXX using the SDSF API:
zz=isfcalls('ON')
Address SDSF ISFSLASH "'D SMS,STORGRP(ALL)' (WAIT)"
cc=rc
zz=isfcalls('OFF')
if rc<>0 then say 'Console failed rc' cc
I strongly recommend that you use the SDSF/REXX API. Use the following as a
model. The actual fields to use are described in the SDSF Users guide.
isfsysname='**'
isfowner=''
isfprefix=''
Depending on what you mean by 'dump' then the RLIST and REXPORT commands of the
REXXGBLV program also at https://harders-jensen.com might be useful.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email
See the REXXVARS program at https://harders-jensen.com
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
A demo of ISPF dynamic area. It handles scrolling.
/*rexx
Demo ISPF panel using dynamic scrollable area
It changes the color of the text if line cmd is 1, 2, 3 or 4
Also, the ZCMD field may not be wide enough for your purpose. Personally I
would just write a small prompt panel, as I then would have full control over
format etc. Com to think of it, I do have (at least) one such panel.
--
Long thread, not sure if this has been mentioned before.
The first input (or output field for that matter) will have a variable name
associated with it, that is the variable name you use in the assignment. Not X.
--
For IBM-MAIN
Be aware that multi-line messages may be interleaved with other messages.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
If you are ok with installing freeware then I suggest that you take a look at a
couple of programs found at www.cbttape.org:
OFFLOAD in files 093 and 316, PDSPRINT in file 316.
--
For IBM-MAIN subscribe / signoff / archive
I too have tried to get in touch with the local IBM sales with no response so
far. When you filled in the form what did you enter as company name? In my
opinion entering a company name runs contrary to requesting the Learners
Edition as a hobbyist.
Hi,
I would like to avoid linkage-editor messages IEW2646W 4B07 ESD RMODE(24)
CONFLICTS WITH USER-SPECIFIED RMODE(ANY) FOR SECTION when I have internal
CSECTs in my program without specific RMODE statement. I know that it is just a
warning, but still..
I haven't found any assembler symbol for
I am already allocating a large initial buffer. The issue is with my general
routines like the CBT program REXXGBLV, where since they are in the public
domain, I have no idea of nor control over how they will be used.
I have a couple of methods for handling the issue, but a direct read access,
The reason is that IRXEXCOM GET does a MOVE, meaning that you must already have
a buffer big enough to hold the data. For a normal GET you can just redo the
request with a bigger buffer and IRXEXCOM will tell you how big it needs to be.
For GETNEXT however you must start again from the top as a
Some time ago I read something somewhere that indicated that there is a way to
read REXX variables directly by an assembler program, without using neither
IRXEXCOM nor IKJCT441.
Any ideas?
Willy
--
For IBM-MAIN subscribe /
Hi,
anyone have any info on how to deploy zPDT in a Docker container? I have tried
to seach the net and IBM's Internet Library, but no luck so far.
Willy
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send
Hm, interesting.
My started job starts with this:
//WTOTEST JOB (1),'WTOTEST',
// CLASS=A,REGION=32M
//*
. . . etc etc
SDSF shows the following files:
JESMSGLG
JESJCL
JESYSMSG
SYSTSPRT TB
No SYSMSGS.
The JESMSGS
I would recommend the VTOC program from CBTTAPE.ORG file 112. It can provide a
lot of information, including the CCHHR of the dataset. You can filter by
datasetname and volser.
Willy
--
For IBM-MAIN subscribe / signoff /
A started job will not tell you from where it came. On the other hand, it will
also not say instream.
Willy
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the
70 matches
Mail list logo