Re: Request: Examples of an IPCS RUNARRAY command where the EXEC clause display storage using a pointer as a displacement off of X
On Tue, 19 Apr 2022 at 20:58, CM Poncelet <03e99a92061c-dmarc-requ...@listserv.ua.edu> wrote: > > FWIW No idea what "runarray" does, but attached is an example [in this > case for a CICS SVC dump] of some native IPCS REXX [as IPCSREXX.txt] - > which can then be modified to read/process any system dump. > > BTW Was written to be executed from within IPCS - else add "ARG" and > "ADDRESS IPCS" etc. cards at the start of the REXX code if to be invoked > via TSO batch JCL. I'm just curious what the purpose of X_E0 = C2X('E0'X) X_00 = C2X('00'X) X_40 = C2X('40'X) X_60 = C2X('60'X) X_80 = C2X('80'X) X_C0 = C2X('C0'X) is. Tony H. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Request: Examples of an IPCS RUNARRAY command where the EXEC clause display storage using a pointer as a displacement off of X
FWIW No idea what "runarray" does, but attached is an example [in this case for a CICS SVC dump] of some native IPCS REXX [as IPCSREXX.txt] - which can then be modified to read/process any system dump. BTW Was written to be executed from within IPCS - else add "ARG" and "ADDRESS IPCS" etc. cards at the start of the REXX code if to be invoked via TSO batch JCL. HTH On 19/04/2022 23:45, Richard Pace wrote: > Hi Ben: Not sure if you're still looking...Here's my example. I had an array > of 512 size blocks that I wanted to display 6 bytes from offset +8 in each > block (a volser). I positioned IPCS at the first block and tried this: > > ipcs runarray address(+0) length(512) entries(1:10) exec((list X+8 length(6))) > > This did not work. It listed the first control block repeatedly, similar to > what you experienced I think. On advice from IBM, I changed the command to > this: > > ipcs runarray address(+8) length(512) entries(1:10) exec((list X length(6))) > > This worked -- setting the displacement value, +8, in the address field, > instead of trying to add to X. I didn't really get an explanation from IBM; > just "working as designed". However, I suspect that inside the EXEC, LIST > X+n is treated different than LIST X; i.e. X only needs to be evaluated once > for X+n, whereas X by itself, List knows to use the new position as > determined by the origin start (the offset value, +8), the entry number, and > entry length (512). > Richard > > -- > 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 /*-REXX--*/ /* IPCS CLIST TO ANALYSE A CICS REGION SVC DUMP AND DETERMINE THE*/ /* ADDRESS OF THE CSA (DFHCSA). */ /* */ /* INPUT: NONE: IS INVOKED AS A COMMAND, FROM WITHIN IPCS, AND */ /* ¯¯IT THEN ANALYSES THE DUMP CURRENTLY ALLOCATED */ /* */ /* OUTPUT: ADDRESS OF CICS TCB. */ /* ¯¯¯"" " GENERAL PURPOSE REGISTERS FROM TCB. */ /*"" " PRB, IF ANY. */ /*"" " GENERAL PURPOSE REGISTERS FROM ANY PRB. */ /*"" " IRB, IF ANY. */ /*"" " GENERAL PURPOSE REGISTERS FROM ANY IRB. */ /*"" " < ... OTHER RB'S, IF ANY ... >*/ /*"" " DFHCSA. */ /* */ /* 06/01/95 CORRECTION TO ACTIVE/SUSPENDED TASK CHAINING */ /* 21/03/94 CMP: AMENDED TO OUTPUT ACTIVE + SUSPENDED TCA'S */ /* 16/03/94 CHRIS PONCELET */ /*---*/ ADDRESS IPCS TRACE I PSA_ADDRESS = '' "EVALUATE" PSA_ADDRESS||. , "POSITION("X2D(224)") LENGTH(4) REXX(STORAGE(OLD_ASCB_ADDRESS))" "EVALUATE" OLD_ASCB_ADDRESS||. , "POSITION("X2D(6C)") LENGTH(4) REXX(STORAGE(OLD_ASXB_ADDRESS))" "EVALUATE" OLD_ASXB_ADDRESS||. , "POSITION("X2D(4)") LENGTH(4) REXX(STORAGE(TCB_CHAIN_START_ADDRESS))" "EVALUATE" OLD_ASXB_ADDRESS||. , "POSITION("X2D(8)") LENGTH(4) REXX(STORAGE(TCB_CHAIN_STOP_ADDRESS))" SAY ' ' FIND_CICS_TCB: FOUND = 'NO' STOP = 'NO' TCB_CHAIN_NEXT_ADDRESS = TCB_CHAIN_START_ADDRESS X_E0 = C2X('E0'X) X_00 = C2X('00'X) X_40 = C2X('40'X) X_60 = C2X('60'X) X_80 = C2X('80'X) X_C0 = C2X('C0'X) DFHSIP = C2X('DFHSIP ') /* FOR EACH TCB, SEARCH FOR ALL RB'S */ DO WHILE (FOUND = 'NO') & (STOP = 'NO') IF TCB_CHAIN_NEXT_ADDRESS = TCB_CHAIN_STOP_ADDRESS THEN , STOP = 'YEAH' "EVALUATE" TCB_CHAIN_NEXT_ADDRESS||. , "POSITION(0) LENGTH(4) REXX(STORAGE(RB_ADDRESS))" /* FOR EACH RB: FIND PRB, IF ANY, AND CHECK WHETHER ASSOCIATED */ /* PROGRAM IS DFHSIP*/ PRB_ADDRESS = 0 IRB_ADDRESS = 0 TIRB_ADDRESS = 0 SIRB_ADDRESS = 0 SVRB_ADDRESS = 0 DO K = 0 TO 999 WHILE (RB_ADDRESS ¬= TCB_CHAIN_NEXT_ADDRESS) LINK_ADDRESS.K = RB_ADDRESS "EVALUATE" RB_ADDRESS||. , "POSITION("X2D(0A)") LENGTH(1) REXX(STORAGE(RBSTAB1))" RB_TYPE_VAL = C2X(BITAND(X2C(X_E0),X2C(RBSTAB1))) SELECT; WHEN RB_TYPE_VAL = X_00 THEN DO /* PRB */ LINK_RB.K = 'PRB' "EVALUATE" RB_ADDRESS||. , "POSITION("X2D(0C)") LENGTH(4) REXX(STORAGE(CDE_ADDRESS))" "EVALUATE"
Re: Request: Examples of an IPCS RUNARRAY command where the EXEC clause display storage using a pointer as a displacement off of X
Hi Ben: Not sure if you're still looking...Here's my example. I had an array of 512 size blocks that I wanted to display 6 bytes from offset +8 in each block (a volser). I positioned IPCS at the first block and tried this: ipcs runarray address(+0) length(512) entries(1:10) exec((list X+8 length(6))) This did not work. It listed the first control block repeatedly, similar to what you experienced I think. On advice from IBM, I changed the command to this: ipcs runarray address(+8) length(512) entries(1:10) exec((list X length(6))) This worked -- setting the displacement value, +8, in the address field, instead of trying to add to X. I didn't really get an explanation from IBM; just "working as designed". However, I suspect that inside the EXEC, LIST X+n is treated different than LIST X; i.e. X only needs to be evaluated once for X+n, whereas X by itself, List knows to use the new position as determined by the origin start (the offset value, +8), the entry number, and entry length (512). Richard -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Trying to understand SMF30_RAXFLAGS
IBM XL C/C++ library, the ffs (find first set [bit]) function. Not only does it count from the LSb, it counts from one. So ffs(0x04) would return 3. BTW and FWIW, the link garbling was at your end I think. My post survived the round trip to my Outlook just fine except for folding/truncation. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Seymour J Metz Sent: Tuesday, April 19, 2022 9:51 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Trying to understand SMF30_RAXFLAGS The GMU URL rewriter (we hates it precisous, we hates it!) garbled the URL: what manual and what section? Thanks. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Monday, April 18, 2022 7:09 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Trying to understand SMF30_RAXFLAGS Except when they don't: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.co m%2Fdocs%2Fen%2Fzos%2F2.3.0%3Ftopic%3Dfunctions-ffs-find-first-set-bitd ata=05%7C01%7Csmetz3%40gmu.edu%7C03d02dae3da64eb4b32e08da21909547%7C9e857255 df574c47a0c00546460380cb%7C0%7C0%7C637859202152362257%7CUnknown%7CTWFpbGZsb3 d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000% 7C%7C%7Csdata=nGxEubdIHZEl02ScOTlQQAQ3ZvrZOw9caS1%2FCdD74N8%3Drese rved=0 -in-integer -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Trying to understand SMF30_RAXFLAGS
The GMU URL rewriter (we hates it precisous, we hates it!) garbled the URL: what manual and what section? Thanks. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Monday, April 18, 2022 7:09 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Trying to understand SMF30_RAXFLAGS Except when they don't: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdocs%2Fen%2Fzos%2F2.3.0%3Ftopic%3Dfunctions-ffs-find-first-set-bitdata=05%7C01%7Csmetz3%40gmu.edu%7C03d02dae3da64eb4b32e08da21909547%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637859202152362257%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7Csdata=nGxEubdIHZEl02ScOTlQQAQ3ZvrZOw9caS1%2FCdD74N8%3Dreserved=0 -in-integer Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Seymour J Metz Sent: Monday, April 18, 2022 3:35 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Trying to understand SMF30_RAXFLAGS No, IBM numbers bits from the left. In an 8-bit field, bit 0 corresponds to a mask of '80'x and bit 7 to a maskm of '01'x. -- 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: Trying to understand SMF30_RAXFLAGS
There have also been vendors who used 1-offset numbering. Sometimes manufacturers used different conventions for different product lines. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Monday, April 18, 2022 6:17 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Trying to understand SMF30_RAXFLAGS You're right of course. Other systems count bits the other direction. You can make an argument for either approach. - 0 as the high bit corresponds to how we generally represent binary integers, with the high order bit on the left. - 0 as the low bit gives you consistency across 8, 16, 32 and 64 bit operands, and makes the bit numbers correspond to powers of 2. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Michael Oujesky Sent: Monday, April 18, 2022 2:15 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Trying to understand SMF30_RAXFLAGS My reading of Principals of Operation indicates register documentation has bit 0 as the high order bit, not lower order bit. -- 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: SYSLOG port usage
On 2022-04-19 03:16 AM, Tom Longfellow wrote: I am still left with concerns from the 'sending' end of the syslog information. The DS8884 is using TCP, not UDP. There are no visible means of changing the communication packet type being used. My only hope is that the -n version of the z/OS syslog daemon will listen on TCP port 514 (or even 1468) when started up. The sample in prefix.SEZAINST(SYSLOGD) provides a clue that the syslogd only listens to UDP: BROWSETCPIP.SEZAINST(SYSLOGD) Line 25 Col Command ===> Scroll = //* If you would like to run two instances of syslogd, make a second * //* copy of this proc and replace -i with -n in the second instance. * //* The instance using -n will process only log messages received* //* over the well-known syslogd port via UDP. One instance must * //* use -i and the other must use -n in order to run two instances. * //* * //* The -c command-line option specifies that syslogd should create * //* any log files or directories which do not already exist. * //* * //* The -i command-line option specifies that syslogd should not * //* process log messages sent to the well-known syslog port via UDP. * //* z/OS syslogd has no parameters for specifying the use of TCP or a non-standard port. FWIW, a lot of sites are sending their syslog traffic to SIEM products; all such products that I've seen can accept TCP traffic. -- -- Regards, Gord Tomlin Action Software International (a division of Mazda Computer Corporation) Tel: (905) 470-7113, Fax: (905) 470-6507 Support: https://actionsoftware.com/support/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: I knew Cobol 6.3 takes more resources to compile than 4.2 but should I be concerned about how much?
On Mon, 18 Apr 2022 20:18:18 +, Pommier, Rex wrote: >Hi list, > >Should I be concerned about the amount of resources Cobol 6.3 is occasionally >using as compared to 4.2? No. But you have to cater for the requirements... > I have one particular example that was brought to our attention due to the > fact that we ran out of page space in our small shop. I finally got it to > compile after tripling my page space. It is a CICS program and is only 11270 > lines long. I am compiling with Expediter, but have optimization(0) > configured so there is no additional compile-time processing being done to > optimize the load module. I removed Expediter and still had the issues. > Here are my comparisons. Has anybody else seen this kind of huge increase? > Yes. Except that we are using maximum options for optimization. So, yes, you pay more for the compile, but that is compensated many times over at execution time. I have to recommend you do use optimization and that you carefully study the different compile options that drive optimization (OPT, TUNE, ARCH, ...). There is a lot (an I mean A LOT) of CPU consumption to be saved at execution time. > 2 seconds to 23-31 minutes is insane. > Yes, but I think that is because of paging kicking in, I guess. Is there not more physical storage available so as to avoid paging? Cheers, Jantje. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: DB2: Combining result sets
On Mon, 18 Apr 2022 20:48:13 +0300, Binyamin Dissen wrote: >Seems that I have been knocked off of the DB2-L listserv. > Sorry to hear that... Maybe re-apply because the real SQL specialists live over there. >I am doing a union of three queries where it is possible that the critical >columns are in more than one of the queries. > >For example: > > select col1, col2 col3, 'source 1' > from table1 > where something > union > select col1, col2, col3, 'source 2' > from table2 > where something > union > select col1, col2, col3, 'source 3' >from table3 >where something > >I would like a single row even if the data (col1, col2, col3) is in more than >one of the queries, so that 'source1' is returned if in table1 and table2 >and/or table3, 'source 2' if not in table1 but in table2 (and perhaps table3) >and 'source 3' if only in table 3. > To be tested: select col1, col2, col3, min(source_tbl) as first_tbl from ( select col1, col2, col3, 'source 1' as source_tbl from table1 where something union all select col1, col2, col3, 'source 2' as source_tbl from table2 where something union all select col1, col2, col3, 'source 3' as source_tbl from table3 where something ) as cols group by col1, col2, col3 ; This of course supposes that the source-table-identifying values you assign in the different sub queries have the values they have in your example. Cheers, Jantje. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: HS student with question about small mainframe DASD
Shmuel Metz: >As a point of curiosity, what are his licensing options if he decides >to look at z/OS or z/VM? I’ll answer in terms of standard commercial licensing (even though that’s not likely for hobbyist purposes). AFAIK there’s no special obstacle to *licensing* z/OS. z/OS Version 2 is IBM Program Number 5650-ZOS, and that program number applies to both z/OS 2.2 (the final release compatible with the IBM z114) and current z/OS 2.5. IBM’s licensing and billing systems don’t have a problem with that. The only unusual obstacle is delivery of z/OS 2.2 since that release is Withdrawn from Marketing. That’d be a special order, and as always it’s up to IBM to decide whether to fill it. z/VM is *slightly* different since the IBM Program Number has changed between z/VM Version 6 and z/VM Version 7. However, my recollection is that it’s permissible to license Version X then run Version X-n as long as the license quantity is correct. Obviously please check that detail “with your friendly IBM representative.” And here too the unusual obstacle is delivery of z/VM 6.4. z/OS is charged monthly, and z/VM is a “one-time charge” with optional annual Subscription & Support. Both z/OS and z/VM are eligible for sub-capacity licensing even with these older releases. For example, if you have an IBM z114 with 3 CPs and 2 IFLs you could license z/VM for 1 CP and 1 IFL (2 engines) if you wish, provided you follow a few basic rules. In principle zNALC z/OS is available on this model, and if the z114 happens to be a capacity model A01 then in principle ZELC is available. The z114 supports some popular nice features for licensing purposes such as LPAR group capacity limits (with softcapping) and zIIPs. It also supports z/VM type LPARs, meaning you can have a single LPAR running z/VM that spans CPs, IFLs, zIIPs, and zAAPs. (zAAPs were still available on this model.) In short, the commercial licensing isn’t any harder than usual as far as I can tell. Actually *shipping* older releases is more interesting. Probably moot points for hobbyist purposes, but I’m answering the question you asked. Enzo D'Amato wrote: >Based on what I read in the z114 technical guide, I thought that unless the >machine was running in an ensemble mode, the HMC just acted as a remote >management console for the SEs. Does the HMC have extra features that the >SEs don't? Others could probably give you better insight, but the short answer is yes. In particular I think you’d face difficulties getting the machine started up with its first operating system (of any type) without the HMC. Whether those difficulties could be overcome...I’m not sure. >I also have an IBM TS3200 tape library (one of the small 4U rack mount units) >that I got broken and repaired. I'll have to see what kind of controller I >would >need for it. I have seen some FICON switches that advertise having a tape >license, >I wonder if this means that the controller unit is built in to the switch. The IBM TS3200 tape library holds only LTO tape drives. They can be FC-attached to an IBM z114 (via a FC SAN switch), and then you can use the tape library/drives from Linux. The TS3200 and LTO drives aren’t FICON devices, and they weren’t/aren’t directly supported with other operating systems. However, you could still *indirectly* use these drives from other operating systems via Linux on IBM Z. For example, if you have FICON disk and another operating system (z/OS for example) you could dump/copy something to a 3390 volume, logically detach the volume, mount the volume on Linux with zdsfs, and then run your backup to tape. >I'd really like to get my hands on z/TPF. All of the other major IBM OSes have >either ADCD releases, or 24-bit predecessors that are open source, so you can >get some experience playing around with them. z/TPF has nothing, and I have >never even seen someone do a video, or write an article about it online. It >seems like the ulitmate challenge for the mainframe hobbyist. z/TPF would require ECKD (FICON) disk and some FICON-attached tape, too. That could be technically challenging, and it’s been a while since z/TPF officially (and probably technically) supported the IBM z114. So it’d be an older PUT level. Leaving aside availability questions, a possible technical alternative is IBM ALCS on z/OS. ALCS is highly functionally compatible with z/TPF but runs on z/OS. >I am sorry, but I have never head this term before, and I could not find >a definition online. Is there any way you could elaborate? What I meant by “commercial z/VSE or VSEn service bureau” is z/VSE or VSEn hosting. Suppose some municipal government somewhere wants another development environment for their z/VSE applications. A hosting company could provide that service using a “slice” of their own mainframe, and then the city government accesses the LPAR or VM remotely. Standard commercial licensing terms would presumably apply in such cases. If someone can enter
Re: SYSLOG port usage
Thanks, I am sure that will be part of my final resolution for this situation. I am still left with concerns from the 'sending' end of the syslog information. The DS8884 is using TCP, not UDP. There are no visible means of changing the communication packet type being used. My only hope is that the -n version of the z/OS syslog daemon will listen on TCP port 514 (or even 1468) when started up. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN