Re: Sv: Execute Rexx from Cobol
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. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do one return a fullword binary to a C program from an assembler subroutine?
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
Re: How do one return a fullword binary to a C program from an assembler subroutine?
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 IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do one return a fullword binary to a C program from an assembler subroutine?
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
Re: How do one return a fullword binary to a C program from an assembler subroutine?
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(); int retcode; char hlicmd[8]; char name[61]; /* text + eod */ int *namelenp, namelen; char text[121]; /* text + eod */ int *textlenp, textlen; int retval; - - - retcode = 0; strcpy (hlicmd, "VGET"); strcpy (name, "TESTVAR"); namelen = 7 ; textlen = 120; textlenp= retcode = rxhlicpl (hlicmd, name, namelen, text, textlenp); printf("rc is %d, text is %d '%s'\n\n", retcode, textlen, text); -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do one return a fullword binary to a C program from an assembler subroutine?
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 of a small C programs looks interesting too. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
How do one return a fullword binary to a C program from an assembler subroutine?
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): extern int rxhlicpl(); int retcode; char hlicmd[8]; char name[61]; int namelen; char text[121]; int textlen; . . . strcpy (hlicmd, "VGET"); strcpy (name, "TESTVAR"); namelen = 7 ; strcpy (text, " "); textlen = 120; retcode = rxhlicpl (hlicmd, name, namelen, text, textlen); printf("rc is %d, text is %d '%s'\n\n", retcode, textlen, text); Running the program shows: rc is 0, text is 120 'Kilroy was here yesterday' The RXHLICPL program is an assembler subroutine which returns data to the C program. The char field is updated, but not the int field. I know from tracing the assembler subroutine that the length value is correct and not 120. The same subroutine, except from setting the end-of-data char in the text area, runs in COBOL and sets the textlen field correctly. I assume that it has something to do with C pointers, I never could get my head around those. The assembler pgm (extract): ndp_blkdsect ndp_cmda ds a ndp_namea ds a ndp_namela ds a ndp_texta ds a ndp_textla ds a ereg 0,1 lrr9,r1 using ndp_blk,r9 l r5,zrx_getdldata size l r1,ndp_textla -> data length field str5,0(,r1) I am not using the the prolog and epilog macros as it seemed to work without, and I really would like to avoid LE. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Initiator purge or start based on imitator alphabet
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 message: INFO IBM-MAIN
Re: How read Cyl 0 from within a program?
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
Re: ISPF edit - clone a column
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 at 'to', leave the original. O overlay at 'to' with block, leave the original. M Insert block at 'to', whitespace the original. X Insert block at 'to', delete the original cColomn lLength of sub-field. tTo colomn. And a small sample for moving a block: Sample original data: =COLS> +1+2+3+4+- ** * Top of Data 01 key1 02 this line does not contain any value 03 this line do contain the key1 value 04 this line also does not contain any value 05 this line do contain the lastkey value 06 this line also contains the lastkey value 07 lastkey Sample command: arrange m 1 5 25 Sample modified data: =COLS> +1+2+3+4+5- ** * Top of Data * 01 key1 02 this line does not contain any value 03 this line do contai n the key1 value 04 this line also does not contain any value 05 this line do contai n the lastkey value 06 this line also cont ains the lastkey value 07 ey lastk I can send it to you if you like, it's not on the CBT web. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Antiquarian Curiosity: Pre-MVS/XA Mount Command for DASD Volumes
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 specify a default use attribute. If you do not specify VATDEF, the system assigns a default of PUBLIC to those volumes that are not specifically assigned a use attribute in the VATLSTxx member or in a MOUNT command. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Sv: Custom ISPF command
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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Masking SMF data internally
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. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Netview, REXX and assembler interfaces for variable access
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 now to find an alternative to that. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: LISTDSI - hardcoded dsn vs. read in from file
"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 preserve the value: pfx = sysvar('syspref') -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: ISPF setup macro
"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, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: LISTDSI - hardcoded dsn vs. read in from file
> . . >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 happened. >Requote: if arg(1)='' then return '';else return "'"Unquote(arg(1))"'" > >If arg( 1 ) is a string of blanks, do you want to pass listds() >an empty string? Yes, though one could return something like '*missing name*' I guess and/or do a SAY with a message. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Netview, REXX and assembler interfaces for variable access
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 anything either, except that the return value is valid. It returns 0, which indicates success. I have written another test program, which shows that on entry r0 points to an ENVBLOCK field ENVBLOCK_IRXEXTE points to a valid IRXEXTE, but the fields IRXEXCOM, IRXSTK and IRXSAY in there points to the TSO modules. I verified this by running the program under TSO. I have read the manuals, but haven't found a clue. My old friend Google was no help either. I did look at the sample Netview program CNMS8002, but that didn't help. Anybody got a hint? A link to or the name of a manual would be nice, a working sample even better. rgds Willy -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: LISTDSI - hardcoded dsn vs. read in from file
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 return '';else return "'"Unquote(arg(1))"'" -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: LISTDSI - hardcoded dsn vs. read in from file
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)," ","'"))) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Checking status of multiple datasets in CLIST and REXX
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
Re: Find the ASID type?
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: INFO IBM-MAIN
Re: Page Datasets in User Catalog
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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Converting Assembler TPUTS to ISPF
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 instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Accessing JCL SETs in Rexx
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 with the message: INFO IBM-MAIN
Re: Equivalent of TSOLIB for batch
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 TSOLIB cannot be used inside ISPF, unless something has changed since I last checked. I sure would welcome a built-in TSO STEPLIB equivalent. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: PDS/PDSE Member information
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 message: INFO IBM-MAIN
Re: VSAM skip sequential processing
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. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: VSAM skip 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 email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: TSO command System Rexx
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 ENT(SYS1.HELP) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: rexx calls to utilities using dd list
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 message: INFO IBM-MAIN
Re: ISPF macro/script
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. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL Procedure help
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 / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: ISPF macro/script
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 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: ISPF macro/script
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 from a dataset list, or from a member list. You must of course change the 'your.template.lib' to your own library. /*rexx */ Address Isredit "MACRO PROCESS (PRM)" if rc=0 then exit EditMac() /* edit macro */ chrl='?ABCDEFGHIJKLMNOPQRSTUVWXYZ' parse source @sys @what @me @ddn @where . /* get dsn from parm */ parse value translate(arg(1)," ","'()") with dsn . /* get member list using TSO services */ zz=outtrap('mbl.') "listds '"dsn"' members" zz=outtrap('off') /* Locate previous members with date, member base is Dyymmdd */ mbrb='D'substr(date('s'),3) do n=mbl.0 to 7 by -1 until left(mbr,7)=mbrb mbr=strip(mbl.n) end if left(mbr,7)=mbrb then c=right(mbr,1) /* found one */ else c='?' /* 1st of day, use A */ mbr=mbrb||substr(chrl,pos(c,chrl)+1,1) /* make new mbrname */ /* edit (create) new member, using self as macro */ Address ispexec "Edit dataset('"dsn"("mbr")') macro("@me")" exit 0 /* Here is the inline edit macro */ EditMac: Address Isredit "(ds)=dataset" "(mb)=member " /* Get template */ "Copy 'your.template.lib(TEMPLATE)' after .zf" /* insert after first */ /* save and quit */ "save" "cancel"/* to avoid any prompts */ exit 0 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: REXX Question
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
Re: REXX Question
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
Re: Integrated Catalog record layout
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 message: INFO IBM-MAIN
Integrated Catalog record layout
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 position by printing a few records and eye-balling the result, but I would like something a bit more official. I did look at the CSI interface returned info, but it doesn't match up with what I see in the SMF record. I couldn't find any IBM documentation nor anything in the internet in general. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Iebcopy rename hlq??
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 instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Iebcopy rename hlq??
A small ISPF skeleton like this: )CM Copy datasets with rename )REXX DSN COUNT /* make dataset list */ address tso "delstack" queue dsn count=queued() say 'count='count )ENDREXX //DSCOPY EXEC PGM=ADRDSSU //SYSPRINT DD SYSOUT=* )DO N = 1 TO )REXX DSN NDS pull dsn nds='NEWHQ'.dsn )ENDREXX COPY DATASET(INC( )) - RENAMEU((,)) - TOL(ENQF) CATALOG SHR NULLSTORCLAS SPHERE )ENDDO For the demo a dataset is queued inside the skeleton itself, but you can of course do the queues before running the skeleton. Or you can do a LISTCAT inside the skeleton and build the dataset list from that. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Automation of the TSO RECEIVE command
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 say 'xmitda='inda /* get xmit data */ queue 'END' Call DoReceive parse var resp.1 xmsg . srcds . srcuser . say 'srcds='srcds say 'srcuser='srcuser exit 0 DoReceive: p=prompt('on') zz=outtrap('resp.') "receive inda("inda")" cc=rc zz=outtrap('off') p=prompt(p) if cc<>0 then do n=1 to resp.0 say resp.n end return cc Silent: zz=outtrap(word(arg(2) '$.',1)) address tso arg(1);zz=outtrap('off');return rc -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: SDSF ISFEXEC issue - help (please)
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 IBM-MAIN
Re: How to set time parameter in TSO/E REXX getmsg function
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"'"' -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to set time parameter in TSO/E REXX getmsg function
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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to set time parameter in TSO/E REXX getmsg function
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' (WAIT)" if rc<>0 then say 'Console failed rc' rc else do n=1 to isfulog.0 say '->'isfulog.n end -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to set time parameter in TSO/E REXX getmsg function
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 */ cons = userid()'C' cart = 'C'right(time('s'),7,0) parse arg cmd cc= XTSO("Console deactivate") cc= XTSO("CONSOLE SYSCMD("cmd") CART("cart") NAME("cons")") if cc>0 then do say 'Console rc' cc if datatype($.0)='NUM' then do n=1 to $.0 say $.n end Call close 20 end Do cn=1 to 2/* #2 is sometimes needed to pick up all messages */ cm.0=0 cc= GETMSG('CM.','SOL',cart,,2) if cc>4 then call close 8 "GETMSG error retrieving message, rc" cc if cm.0=0 then leave do cmsgi=1 to cm.0 say strip(cm.cmsgi,'t') end if cm.0>1 then leave End call close 0 Close: parse arg crc cmsg crc=word(crc 0,1) if cmsg<>'' then call line cmsg cc= XTSO("Console deactivate") Exit crc XTSO: trace off; zz=outtrap(word(arg(2) '$.',1)) address tso arg(1);zz=outtrap('off');xtsorc=rc;return rc -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Tool for abend testing
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. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: sys1.parmlib compare
"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 using SUPERC, marks lines where member data differ with 'datadif' in pink. I think that it is too costly to have that option as default. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: sys1.parmlib compare
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. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: FTP Software for Mainframe to PC
Core FTP Server -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JES2 spool outputs
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 the message: INFO IBM-MAIN
Re: Do you have an example of .......
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 else do n=1 to isfulog.0 say '->'isfulog.n end -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: SDSF Process
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='' call isfcalls 'ON' call syscalls 'ON' do 2 /* forever */ address SDSF "ISFEXEC DA" if rc<>0 then exit msgrtn do n=1 to jname.0 rec.n=left(jname.n,8), left(jtype.n,8), left(jobid.n,8), left(ownerid.n,8) end /*"execio" jname.0 "diskw output (stem rec.)" */ do n=1 to jname.0;say rec.n;end address syscall 'sleep 5' end return 0 msgrtn: if isfmsg<>"" then Say "isfmsg is:" isfmsg do ix=1 to isfmsg2.0 Say "isfmsg2."ix "is:" isfmsg2.ix end return 0 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx routine to dump all variables when debugging?
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 to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx routine to dump all variables when debugging?
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
Re: ISPF Table Display attribute
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 See the panel source at the end Input is 3 rexx stems, pos 1 in each stem is the panel attribute psel selection field pmbr member name - leading text ptxt just some text Panel attributes x'11' input color turq caps off hilite uscore x'12' input color yellow caps off hilite uscore x'13' input color red caps off hilite uscore x'14' output color turq caps off x'15' output color green caps off x'16' output color pink caps off x'17' output color white caps off Control and reference variables dpascsrwt panel width dpaarea dynamic area dpacsrp cursor pos in field dpacsrf fieldname of cursor */ parse value '111213'x with pai1 +1 pai2 +1 pai3 parse value '14151617'x with pao1 +1 pao2 +1 pao3 +1 pao4 dpascrwt=80 address ispexec "control errors return" address ispexec "vget (zscrmaxd zscrmaxw)" Call Load pcsr= 1 Call Display say 'End...' exit 0 Display: dpatop=1/* position in data */ pnlareap=6 /* line in panel where the area is found */ pnlaread=zscrmaxd-pnlareap /* area depth */ do forever /* format screen area */ if dpatop>pseln-pnlaread+1 then dpatop=pseln-pnlaread+1 /*if dpatop>pseln then dpatop=pseln */ if dpatop<1 then dpatop=1 dpaarea='' do n=dpatop to pseln dpaarea=dpaarea||left(left(psel.n,3)left(pmbr.n,9)ptxt.n,dpascrwt-1)||pao2 end /* control display, pull info */ "display panel(ISPDYN2#)" "vget (zverb zscrolla zscrolln)" if rc>4 | wordpos(zverb,'END RETURN')>0 then return 0 /* handle linecmd */ lcn=0 do lcp=2 to zscrmaxd*dpascrwt by dpascrwt lcmd=strip(substr(dpaarea,lcp,2)) lcn=lcn+1 if lcmd<>'' then do
Re: ISPF, How to insert text to the first input field in the panel ?
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. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: ISPF, How to insert text to the first input field in the 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 subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to use dfsort to filter keywords that aren't fixed position
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
Re: how to copy entire pds to sequential file ?
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 access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: IBM ZDNT Learner's Edition - beware
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. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Inherit RMODE in local CSECTs?
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 current RMODE aka the for section name. Any ideas? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Read REXX variables directly by an assembler program
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, or a READ NEXT LOCATE, would be so much simpler. Can't have it all I guess. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Read REXX variables directly by an assembler program
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 a specific GET will destroy the information that REXX stored for GETNEXT. At least that is how I read the documentation, and experimentation seems to prove it. So perhaps what I really need is a GET LOCATE. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Read REXX variables directly by an assembler program
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 / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
zPDT and containers
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 email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Scheduled STCs running as instream procs?
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 shows: IEF695I START WTOTEST WITH JOBNAME WTOTEST IS ASSIGNED TO USER START2 , GROUP SYS1 IEF236I ALLOC. FOR WTOTEST TB IEF237I 0AB4 ALLOCATED TO SYSEXEC IEF237I 0AB4 ALLOCATED TO IEF237I JES2 ALLOCATED TO SYSTSPRT IEF237I JES2 ALLOCATED TO SYSPRINT IEF237I JES2 ALLOCATED TO SYSTERM IEF237I DMY ALLOCATED TO SYSTSIN Reply to continue IEF142I WTOTEST TB - STEP WAS EXECUTED - COND CODE IEF285I SYSX.JOBLIB.DATA KEPT IEF285I VOL SER NOS= SYSXS1. IEF285I SYSX.EXECKEPT IEF285I VOL SER NOS= SYSXS1. IEF285I START2.WTOTEST.STC08485.D101.? SYSOUT IEF285I START2.WTOTEST.STC08485.D102.? SYSOUT IEF285I START2.WTOTEST.STC08485.D103.? SYSOUT IEF373I STEP/TB /START 2016119.0923 IEF032I STEP/TB /STOP 2016119.0923 CPU: 0 HR 00 MIN 00.25 SECSRB: 0 HR 00 MIN 00.00 SEC VIRT:68K SYS: 268K EXT: 360K SYS:10800K IEF375I JOB/WTOTEST /START 2016119.0923 IEF033I JOB/WTOTEST /STOP 2016119.0923 CPU: 0 HR 00 MIN 00.25 SECSRB: 0 HR 00 MIN 00.00 SEC This is from a z/OS 1.13. The proclib is in the IEFPDSI concatenation in the MSTJCL. Perhaps we mean different things when we talk about started jobs? Willy -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Dataset space information
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 / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Scheduled STCs running as instream procs?
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 message: INFO IBM-MAIN