You could code some complicated conditionals and use counters in Specs, but
much simpler: look into JUXTAPOSE.

--
Mike Harding
z/VM System Support
/sp


CMSTSO Pipelines Discussion List <CMS-PIPELINES@VM.MARIST.EDU> wrote on
09/22/2016 07:47:03 AM:

> From: "Stanislawski, Shawn (National VM Capability)" <shaw...@hpe.com>
> To: CMS-PIPELINES@VM.MARIST.EDU
> Date: 09/22/2016 07:47 AM
> Subject: Not-always-directly-sequential record references in PIPEs
> Sent by: CMSTSO Pipelines Discussion List <CMS-PIPELINES@VM.MARIST.EDU>
>
> I'm sure this has to be a very easy question, but unfortunately I'm
> still struggling with it.
>
> How can I turn this file (Original) :
> "
>
> *VOLUME: AA1A11  TYPE: 3390     UTILIZATION: 99%
>
> *FREE*     2          54         55         *FREE*                 POOLA
>
> *FREE*     2          194        195        *FREE*                 POOLA
>
> *FREE*     1          614        614        *FREE*                 POOLA
>
> *VOLUME: BB2B22  TYPE: 3390     UTILIZATION: 73%
>
> *FREE*     500        1          500        *FREE*                 POOLB
>
> *FREE*     165        1040       1204       *FREE*                 POOLB
>
> *FREE*     5          1706       1710       *FREE*                 POOLB
> "
>
> Into this console output (Result) :
> "
>
> AA1A11 3390   2          54         55    POOLA
>
> AA1A11 3390   2          194        195   POOLA
>
> AA1A11 3390   1          614        614   POOLA
>
> BB2B22 3390   500        1          500   POOLB
>
> BB2B22 3390   165        1040       1204  POOLB
>
> BB2B22 3390   5          1706       1710  POOLB
> "
>
> ....using PIPEs?
>
>
> I know I can use SPECS to rearrange the data in a single record, so
> getting Result columns 3-6 is easy.
>
> The problem I cannot seem to figure out is how to:
>
> 1.       take the two columns of data from the "*VOLUME:" record then
>
> 2.       prepend that to the front of each "*FREE*" record ,
>
> 3.       and when next "*VOLUME:" record encountered then use that
> new data to prepend to the next set of records.
>
>
> I was trying:
> "
>
> 'PIPE (endchar ?) < SOMEFILE MAP A'  ,
>
>   '| A: FIND *VOLUME'               ,
>
>    '|    SPECS W2 1 W4 NW'           ,
>
>    '|    VAR VOLSER1 TRACK'          ,
>
> '?A:|    COPY'                       ,
>
>    '|    COPY'                       ,
>
>    '|    SPECS /'VOLSER1'/ 1 1-* nw' ,
>
>   '|    CONSOLE'
> "
> ...but it looks like REXX Variable "VOLSER1" is not getting set -
> instead the PIPE literally prepends the string "VOLSER1" to the
> front of the records.
>
>
> Any ideas?
>
>
> --Shawn S.
>

Reply via email to