Re: [CMS-PIPELINES] Selecting multiple record chunks

2018-03-03 Thread Rob van der Heij
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

2018-03-02 Thread Paul Gilmartin
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

2018-03-02 Thread Rob van der Heij
> 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

2018-03-02 Thread Stanislawski, Shawn (National VM Capability)
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

2018-03-02 Thread Michael Harding
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 List  wrote 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.