Re: [CMS-PIPELINES] Selecting multiple record chunks
On 2 March 2018, 17:35:07 -0700, Paul Gilmartin wrote: > Someone commented on another list that he moved recent CMS pipelines to z/OS > and it simply worked. Astonishing! He must at least have re-linked it. I'm > still skeptical. That used to be possible (and documented) some 30 years ago. If someone has skills and passion to do that, I would be interested to work with him... Even apart from potential legal aspects, there are technical complications. The z/OS-specific parts are not distributed with z/VM. Closest you get on z/OS is the plumbing in BatchPipes that is 20 years old, like before z/VM 6.4. There was a service offering for CMS/TSO Pipelines on z/OS. Some of my z/OS brethren have access to the version I maintain, similar to what is in z/VM 6.4 today plus any z/OS specifics that were done by the Piper. Any new function we develop will not get into z/OS unless we allocate resources to do so. Sir Rob the Plumber
Re: [CMS-PIPELINES] Selecting multiple record chunks
On 2018-03-02, at 15:18:04, Rob van der Heij wrote: > ... > I'm happy you like the book. If you know the "Author's Edition" then the new > z/VM 6.4 will feel very similar, ... > Yaaay! Thanks! Now it needs only to percolate to the TSO instance. Someone commented on another list that he moved recent CMS pipelines to z/OS and it simply worked. Astonishing! He must at least have re-linked it. I'm still skeptical. -- gil
Re: [CMS-PIPELINES] Selecting multiple record chunks
> So in the syntax diagram I think that would fall under: > Pick ... "List" : ..."Test": ..."RangeString" I think the Piper meant to say | pick from 5.2 == ,99, count 4 The entire argument for 'pick' in this case is a 'Fromto:' fragment, since it has both FROM and COUNT. The 'List:' fragment matches the "5.2 == ,99" So once 'pick' has found a record with the '99' at the right place, records are selected by counting them. > The "Author's Edition" and the new IBM z/VM 6.4 CMS Pipelines "Users Guide > and Reference" certainly do contain the most interesting > information, versus the older IBM z/VM 6.1 CMS Pipelines "Reference" manual. I'm happy you like the book. If you know the "Author's Edition" then the new z/VM 6.4 will feel very similar, and I can be blamed for the mistakes. The various revision codes show a lot has changed in comparison with z/VM 6.3 Sir Rob the Plumber
Re: [CMS-PIPELINES] Selecting multiple record chunks
Beautiful! So in the syntax diagram I think that would fall under: Pick ... "List" : ..."Test": ..."RangeString" The "Author's Edition" and the new IBM z/VM 6.4 CMS Pipelines "Users Guide and Reference" certainly do contain the most interesting information, versus the older IBM z/VM 6.1 CMS Pipelines "Reference" manual. --Shawn S. -Original Message- From: CMSTSO Pipelines Discussion List [mailto:CMS-PIPELINES@VM.MARIST.EDU] On Behalf Of John P. Hartmann Sent: Friday, March 02, 2018 1:08 PM To: CMS-PIPELINES@VM.MARIST.EDU Subject: Re: [CMS-PIPELINES] Selecting multiple record chunks pick from 5.2 == /99/ for 4 On 03/02/2018 06:31 PM, Stanislawski, Shawn (National VM Capability) wrote: > I've got some data, within it reside multiple record chunks that I want. > The desired record chunks are randomly spaced within the data. The desired > record chunks are composed of 4 consecutive records. > The record chunks all start with records whose column 5 & 6 contain the > characters "99", and then just include the next 3 records (which may or may > not contain "99" at column 5 & 6). > Outside of the desired record chunks no other records contain characters "99" > in column 5 & 6. > The four records of each record chunk are consecutive in the data, but have > no common elements or other relation. And the fifth record could be > anything: there's no dedicated end string (even within the 4 records > themselves). > > I've included a sampling of data below. > Records 3, 10, 18 contain "99" at column 5 & 6. > So the desired output would contain only records > 3,4,5,6,10,11,12,13,18,19,20,21 > > Any ideas? > > > 4L3XEBFVWYR6 > 5O1SLFG7AILX > 4BW699ETK82T > S9SK9DIER6L5 > G3AHUKPA4H3I > Q8ZLYL8G46JY > COB8GJK1AE5N > 78MKNQJ8MA6S > 917JZQ33CXOI > OQN699MQ60GQ > Z8VOSOZH6V7L > VC9V78SK49YS > L0PI3TLT7PGC > GFI4QQB1OPA6 > YUBSPLB73SFG > O7NNK3B20GJD > 3YPU0MCNSMZN > R4C899NNU9UB > FIZK74USTG8F > OF88HQGAOL3S > I4O29VT3BMG6 > HPXNGMQQK01G > CUBL7RY00CIQ > OBR4YA3Y9GF8 > D28H3IA7PKAX > > > --Shawn S. >
Re: [CMS-PIPELINES] Selecting multiple record chunks
Simple case of "sipping" pipeline: 'PIPE (End ?)', '<' infile, '|pck:rexx *.1:', '|Cons', '?Literal /* */ Signal On error;', 'Do forever; "Peekto";', /* test if any input */ '"CallPipe *:||FromTarget Pick 5.2 == /99/ || take 4|| *:";', 'End; Error: Exit Rc*(Rc<>12)', '|pck:' -- Mike Harding z/VM System Support mhard...@us.ibm.com mikehard...@mindless.com (925) 672-3922 | (925) 672-4403 (h) (925) 323-2070 (m) /sp CMSTSO Pipelines Discussion Listwrote on 03/02/2018 09:31:01 AM: > From: "Stanislawski, Shawn (National VM Capability)" > To: CMS-PIPELINES@VM.MARIST.EDU > Date: 03/02/2018 09:32 AM > Subject: Selecting multiple record chunks > Sent by: CMSTSO Pipelines Discussion List > > I've got some data, within it reside multiple record chunks that I want. > The desired record chunks are randomly spaced within the data. The > desired record chunks are composed of 4 consecutive records. > The record chunks all start with records whose column 5 & 6 contain > the characters "99", and then just include the next 3 records (which > may or may not contain "99" at column 5 & 6). > Outside of the desired record chunks no other records contain > characters "99" in column 5 & 6. > The four records of each record chunk are consecutive in the data, > but have no common elements or other relation. And the fifth record > could be anything: there's no dedicated end string (even within the > 4 records themselves). > > I've included a sampling of data below. > Records 3, 10, 18 contain "99" at column 5 & 6. > So the desired output would contain only records 3,4,5,6,10,11,12, > 13,18,19,20,21 > > Any ideas? > > > 4L3XEBFVWYR6 > 5O1SLFG7AILX > 4BW699ETK82T > S9SK9DIER6L5 > G3AHUKPA4H3I > Q8ZLYL8G46JY > COB8GJK1AE5N > 78MKNQJ8MA6S > 917JZQ33CXOI > OQN699MQ60GQ > Z8VOSOZH6V7L > VC9V78SK49YS > L0PI3TLT7PGC > GFI4QQB1OPA6 > YUBSPLB73SFG > O7NNK3B20GJD > 3YPU0MCNSMZN > R4C899NNU9UB > FIZK74USTG8F > OF88HQGAOL3S > I4O29VT3BMG6 > HPXNGMQQK01G > CUBL7RY00CIQ > OBR4YA3Y9GF8 > D28H3IA7PKAX > > > --Shawn S.