Re: [CMS-PIPELINES] split at a column

2023-03-22 Thread John P. Hartmann

On 3/22/23 09:21, Rob van der Heij wrote:

  .. | y: if locate -80 | x: if chop -80 | x: | y: | ...


Why -80 ?  That would make the second record limited to 80 rather than
the first, as I believe Glenn wants.

.. | y: if locate 81 | x: if chop 80 | x: | y: | ...

I like the second IF.  Never thought of that application.


Re: [CMS-PIPELINES] split at a column

2023-03-18 Thread John P. Hartmann

On 3/18/23 14:02, Glenn Knickerbocker wrote:

   ... | split 80 before not 00-ff | ...


Hehe!  So I forgot to check for an impossible character range in
combination with NOT.


Re: [CMS-PIPELINES] juxtapose with next

2023-03-15 Thread John P. Hartmann

If we are speaking two records, wouldn't SPEC be able to do what you want?

On 3/13/23 23:41, Glenn Knickerbocker wrote:

I've got a bunch of lists where each list *precedes* the container I
want to match it up with--similar to link-edit steps in JCLIN, where the
name of the load module comes last.  The lists are actually already
joined up into a single record, so I can join the container to the list,
move it to the start of the record, and then CHOP|SPLIT|JUXTAPOSE to put
the pairs together.  Am I overlooking a more straightforward way?

¬R



Re: [CMS-PIPELINES] deblocking with various possible linends

2023-03-14 Thread John P. Hartmann

On 3/14/23 16:05, Rob van der Heij wrote:

The repeating "range" doesn't really do that, but I just checked that
  strip x0d 1   will take one from either or both sides of the record.


You're right.  It gives an error because it supports only ranges
relative to the beginning of the record and from left to right.

My apologies.


Re: [CMS-PIPELINES] deblocking with various possible linends

2023-03-14 Thread John P. Hartmann

On 3/14/23 00:44, Donald Russell wrote:

If you know the data has crlf or lfcr or just lf but never just cr then
… deblock 0a | strip both 0d | …


A more reliable way to remove just one cr from either end might be 
something like


change (1 -1) x0d //


Re: [CMS-PIPELINES] Debugging a data exception

2022-12-06 Thread John P. Hartmann

On 12/6/22 23:57, Rob van der Heij wrote:

Yep, that's CMS release storage,


So PARSEM runs key zero so that it can CMMSSTOR RELEASE,TYPE=BALR.
Shouldn't that be fixed so that the application cannot walk all over CMS?

:soapbox.
Running key zero "for performance reasons" was never in my book; in this
day and age, it shouldn't be in anyone's.
:esoapbox.


Re: [CMS-PIPELINES] Debugging a data exception

2022-12-06 Thread John P. Hartmann
I wish I had a penny for each time PIPE gets blamed for programs called 
from it falling over.


Are those messages from your REXX code, or what?  Looks like some kind 
of trace to me.


If not of your doing, I'd find out what the component code IAD is and 
look for a call to it.


You might also look into what is at 114620A in your machine; CMS nucleus 
I suspect, but again, check.


Since CMS still says PIPE is running, the call (if it is one) was made 
by BALR rather than CMSCALL.


Did you try a web search?  PARSEM goes to a matlab site.

SetSocketStatus goes to a (for me) defunct z/OS 2.3 page.  But I would 
check RXSOCKET.


Good hunting.

On 12/6/22 22:28, DeWayne Thomas wrote:

Greetings,

     We just received the following in a REXX PIPE stage:

20:04:01.329108 PARSCALL SocketSetStatus rc=0 PARSEM Connected Free 1099 
Used 1

20:04:25.569707 IADEDIRB STORE IADEDIR1 FLEXCNTL
DMSABE141T Data exception occurred at 8114620A in routine PIPE
CMS

Any helpful hints on how we even begin to debug this?

Thanks,
DeWayne


Re: [CMS-PIPELINES] IF testing characters

2022-11-28 Thread John P. Hartmann

On 11/28/22 11:10, Kris Buelens wrote:

I repeat that #1 (or in France  £1) is a counter, so no spaces by
definition.


This is no longer the case.

Counters can now contain non-numeric strings as well as proper numbers. 
Perhaps #1 should be called a variable, just as Alain does.


The initial value of a counter is nothing, which will be either the null 
string or zero, depending on to what the counter is coerced in an 
expression.


   set #1:=""

causes the counter to contain a null string, which converts to 0 for 
numerics (perhaps it shouldn't).  This also applies when assigning a 
null value from a column range that is not present in the record.


Re: [CMS-PIPELINES] IF testing characters

2022-11-28 Thread John P. Hartmann

On 11/28/22 10:07, Alain Benvéniste wrote:

Yes John ^ is the good character.
There is something i still don’t understand :
If i code
If £1==a
and a is equal to b3339
b for blank, the if is not honored
If I use a
If space(£1)==space(a) it works.
It could mean that when i do a set £1:=a the blank is removed… ?

Resiliency Services on Z Mainframe
alain.benveni...@kyndryl.com



== is the exactly equal operator.  It operates on strings.  So

   (a == " 3339") and (a = 3339)

both evaluate to 1

In the numeric example, the string (a) is stripped of blanks and 
converted successfully to a number for numeric compare.


There are a number of quirks with string operands.

   literal  5|spec a: 1-* 1 if a==5 then ...
   PIPSPX1086E Improper operand for string expression.

It fails because numeric constants are rejected with a string operator 
(mea culpa).  However a string function does not reject a numeric constant:


   a==strip(5)

is processed OK with the result 0 because a has a leading blank, but 5 
does not.


Re: [CMS-PIPELINES] IF testing characters

2022-11-27 Thread John P. Hartmann

On 11/27/22 13:51, a.benveni...@free.fr wrote:

Sorry John to come back but,


There is no /== operator in specs.

For me, ^== works as the not exactly equal operator because my terminal
emulator maps ^ to not; perhaps it works for you too.  Otherwise you
need to find the not character on your terminal, or turn the expression
around to use ==.

(/= is divide counter by the right-hand expression assignment operator;
it is not a binary logical operator.  See pp 737)


Re: [CMS-PIPELINES] IF testing characters

2022-11-27 Thread John P. Hartmann

On 11/27/22 12:39, a.benveni...@free.fr wrote:

"  if (£1/=a) then",


The numerically not equal operator converts both arguments to numbers 
and then performs a numeric compare.


Your compare of 6010A fails because the digit A is not decimal.  (Specs 
has no facility to compare hexadecimal.)


Use /== to compare strings for not equal.  With the /== operator, 
numbers are converted to string before the comparison.  Conversion to 
string can fail only if you run out of storage.


Re: [CMS-PIPELINES] IF testing characters

2022-11-26 Thread John P. Hartmann
The else clause is never executed because you unconditionally assign 
counters 1 through 5 at the beginning of each cycle.  Perhaps you should 
delete the first five assignments.  Or use if first() to initialise 
counters.


On 11/26/22 14:44, a.benveni...@free.fr wrote:

The last test I did do not send any error message but £4 and £5 are not 
incremented as it is supposed based on the if :

 From the q da details command :
a is the cyls value
b is the serial number value
c is the ssid value

"! SPECs",
"  a: 54.5 .",
"  b: 67.10 .",
"  c: 85.4 .",
"  set £1:=a",
"  set £2:=b",
"  set £3:=c",
"  set £4:=0",
"  set £5:=0",
"  if (£1==a & £2==b & £3==c) then",
" set £4+=1",
" set £5:=1",
" else",
" set £1:=a",
" set £2:=b",
" set £3:=c",
" set £4:=1",
" set £5+=1",
"  endif",
"  1-* 1",
"  print £4 picture 9 nextword",
"  print £5 picture 9 next",
"!01:"


De : CMS/TSO Pipelines Discussion List  de 
la part de John P. Hartmann 
Date : samedi, 26 novembre 2022 à 14:15
À : cms-pipeli...@listserv.meduniwien.ac.at 

Objet : Re: IF testing characters
! is the vertical bar (|) on most European terminals.  It would have
been nice to know the actual error message.

On 11/26/22 12:14, Kris Buelens wrote:

I don't understand what these
 are supposed to do


Re: [CMS-PIPELINES] IF testing characters

2022-11-26 Thread John P. Hartmann

On 11/26/22 13:15, Alain Benvéniste wrote:

So there no syntax to assign characters to a variable to test it through a if ?


Sure there is:

   if (#56 -= 1) then ...

(decrement counter 56 and test for 0 or nonzero.)

Perhaps it would be easier if you set your terminal/emulator to the US 
code page while writing REXX and pipeline code, if it can then produce <|>.


Re: [CMS-PIPELINES] IF testing characters

2022-11-26 Thread John P. Hartmann

! is the vertical bar (|) on most European terminals.  It would have
been nice to know the actual error message.

On 11/26/22 12:14, Kris Buelens wrote:

I don't understand what these
 are supposed to do


Re: [CMS-PIPELINES] FPLRVR236E Too much data for variable MSTEM.5020

2022-08-24 Thread John P. Hartmann

On 8/24/22 16:32, Stanislawski, Shawn (National VM Capability) wrote:

16MB?  24bit addressing related somehow, is it?


Not likely, even though REXX is before XA, but MVCL &c are restricted to
16M objects.


Re: [CMS-PIPELINES] Fwd: CALLPIPE ends (-3)

2022-08-13 Thread John P. Hartmann

On 8/13/22 01:17, Donald Russell wrote:

The question mark, though not my first choice, is well documented to mean
“pipe”. There’s nothing ambiguous or questionable about it.


REXX produces a question mark when the subcommand environment is 
provided as a PSW rather than a string.


CMS Pipelines may well be the only widely used one that does so, but 
others could.


Re: [CMS-PIPELINES] Fwd: CALLPIPE ends (-3)

2022-08-10 Thread John P. Hartmann
Apart from what else can be said, your program is interpreted as EXEC2, 
not REXX.  It lacks the leading comment to identify it as such.


On 8/10/22 17:30, Steve Thompson wrote:
Hi. I'm re-sending this because of somehow getting unsubscribed And 
issuing commands to change some default settings. etc.


So I have not seen anything from the list since 26JUN22.
-


I'm trying to test some code to figure out why I'm not getting the 
results I think I should be getting from CHOP.


The code is being used by another routine, and I thought it would work 
for what I need, so I modified the CHOP stage and I'm not getting what I 
need.


So I built a "driver" REXX to invoke the routine that is using 'CALLPIPE 
filefast xxx xxx *' ,

and this is returning (-3).

Here is my driver:

-
TRACE "F"
call 'MISSLFS' 'LX1000  /library'
xx=RC
SAY "CALL returned RC="xx
EXIT xx

-

I'm doing this from the command line in CMS. So I tried ADDRESS COMMAND 
(immediately before the call) and still get (-3).


I've been scanning the CMS Pipelines UGDE & REF and I am not seeing what 
is wrong with this.


Could someone point me at the problem, or what page of what manual I 
should be looking at?


I'm just getting started with CMS pipes and the VM List folks pointed me 
to this list


Regards,
Steve Thompson


Re: [CMS-PIPELINES] PREFACE and REXXVARS error 233

2022-06-13 Thread John P. Hartmann
That is what it will take to ignore the nonexistence of the rexx 
environment.


Oh, adjust the number by 1 for the wrapper.  And forget about SHORT 
there will be no input to short.


Some option to ignore the error on a nonextant environment for read 
might be a good thing.


On 6/13/22 21:54, Glenn Knickerbocker wrote:

On 6/11/2022 9:01 AM, John P. Hartmann wrote:

Stop using PREFACE/APPEND if you wish to retain your sanity.


I have to wrap this in *something* that will let the rest of the
pipeline run.  APPEND might be hard to predict when you want something
to stop at (rather than after) EOF on its input.  But is there some
other madness it can create that I'm overlooking?

¬R



Re: [CMS-PIPELINES] PREFACE and REXXVARS error 233

2022-06-13 Thread John P. Hartmann

/**/
'commit 0'
'callpipe rexxvars nomsg 233|*:'
'short'
exit 0

On 6/13/22 21:54, Glenn Knickerbocker wrote:

On 6/11/2022 9:01 AM, John P. Hartmann wrote:

Stop using PREFACE/APPEND if you wish to retain your sanity.


I have to wrap this in *something* that will let the rest of the
pipeline run.  APPEND might be hard to predict when you want something
to stop at (rather than after) EOF on its input.  But is there some
other madness it can create that I'm overlooking?

¬R



Re: [CMS-PIPELINES] PREFACE and REXXVARS error 233

2022-06-11 Thread John P. Hartmann

Stop using PREFACE/APPEND if you wish to retain your sanity.

On 6/10/22 02:25, Glenn Knickerbocker wrote:

On Mon, 6 Jun 2022 14:55:21 +0200, John wrote:

The callpipe implied in PREFACE does the commit on you (trace told me),
so REXXVARS starts on commit level 0, does not commit to 0, and returns
with code 233, as it should, but at that time it is too late for the
dispatcher to pull the brake.


But that doesn't explain why the behavior is different depending on
whether I use NOMSG233.  With or without it, REXXVARS returns 233.  If I
specified NOMSG233, the pipeline continues.  If I didn't, it doesn't.

¬R



Re: [CMS-PIPELINES] LOOKUP AUTOADD wishlist: different key fields

2022-06-07 Thread John P. Hartmann

You must specify ALLMASTERS to get all matching master records.

On 6/6/22 23:57, Glenn Knickerbocker wrote:

I see
that even with BEFORE I never get any duplicates out:


pipe literal x1 x2 x3 x4|split|a:lookup autoadd before 1 count
  /a: /a:|cons /a: /a:|cons


Re: [CMS-PIPELINES] LOOKUP AUTOADD wishlist: different key fields

2022-06-06 Thread John P. Hartmann

So which is the master and which is the detail?

On 6/6/22 21:32, Glenn Knickerbocker wrote:

PIPE ... | lookup autoadd w3 w2 ...
FPLLUP761E  Different key fields not allowed with AUTOADD


Why not?  It wasn't hard to write the pipeline to add the records to the
reference myself, but in the general case it gets pretty fiddly,
grabbing the nonmatches from output 1 and delaying them with COPY before
adding them to input 2 so LOOKUP doesn't try to read and write at the
same time:

   (end /) ... | match: lookup ...
 / ... | match: | nonmatch: fanout | ...
 / ... | add: fanintwo | match: | ...
 / nonmatch: | copy | add:

Sure would be nice if LOOKUP could just accept the different key fields.

¬R



Re: [CMS-PIPELINES] PREFACE and REXXVARS error 233

2022-06-06 Thread John P. Hartmann
The callpipe implied in PREFACE does the commit on you (trace told me), 
so REXXVARS starts on commit level 0, does not commit to 0, and returns 
with code 233, as it should, but at that time it is too late for the 
dispatcher to pull the brake.


Somewhere in the early 1980s, we got multistream pipelines, with which 
you can express the append/preface function with FANIN so that nothing 
gets in the way.


pipe (end ?) rexxvars 1 nomsg233 | i: fanin | count lines|cons\... |i:

where ... represents the pipeline segment that is in front of preface in 
your original pipeline.  Here REXXVARS get to start on commit level -1 
and will quietly fail without committing, which I assume is what you desire.


On 6/6/22 14:13, Glenn Knickerbocker wrote:

On Tue, 31 May 2022 12:16:01 -0400, James Vincent wrote:

The giveaway: Do Until is evaluated at the end of the first iteration and I
am betting you have no "level 1" in play at the time, so the PIPE gets RC
233 and the VAR FILELIST is not set.  The Do condition (or REXX) concludes
that "filelist" isn't set to zero or one, then fails.


Right, the part that surprised me was that the variable wasn't set.

That's explained by the note about the commit level in the doc, I just
had never noticed it.  The puzzling part is how PREFACE responds to that
commit failure.  If I specify NOMSG233, the pipeline continues and COUNT
gets to run:


pipe preface rexxvars 1 nomsg233|count lines|cons
0
Ready(00233);


But without NOMSG233, PREFACE never commits and the rest of the pipeline
never runs:


pipe preface rexxvars 1|count lines|cons
No active EXECCOMM environment found.
... Processing "callpipe (name Append/Preface stagesep | escape "".
... Issued from stage 1 of pipeline 1 name "Append/Preface".
... Running "rexxvars 1".
Ready(00233);


Hence my question:


But what's going on with PREFACE?  Does it detect whether the subroutine
pipeline issued any messages, and commit if not?

¬R


Re: [CMS-PIPELINES] looking for files....

2022-04-25 Thread John P. Hartmann

They should be in a VM archive on github, but as I can no longer access
github, you'll have to do some guessing as to where.  Is there a CMSLIB
project?

On 4/24/22 16:48, Dave Jones wrote:

Hello, fellow pipers.

The document "John's Goodies Writing CMS Pipelines stages in C" mentions
several tools and files (DOCC EXEC, fplclink, zconf h, etc.) that are
needed. Does anyone know where I can find these files?

Many thanks and take care.

DJ

--
BEST REGARDS

DAVE JONES   IBM Z CHAMPION [1]
 Managing Director for zSystems Support, zLinux, and Cloud
 ++1 281.578.7544 (Cell)
 Web: www.itconline.com [2]
 18502 Purdy Ct. Houston, TX  77084  USA



Links:
--
[1]
https://www.credly.com/badges/7c92e732-8ab1-4470-98c6-251c33506d69/public_url
[2] http://www.itconline.com/



Re: [CMS-PIPELINES] PIPEs question

2022-01-23 Thread John P. Hartmann

Select the range you wish to test | grep and you have the matching string.

However, I have never tested grep for interoperability with POSIX grep.

On 1/23/22 16:00, Jack Woehr wrote:

On 1/23/22 2:52 AM, Rob van der Heij wrote:

PIPSYSF in the main pipeline, but I don't think grep c.s. are the way
here.


grep itself is not what is wanted.

grep is an application built on regex.

me forget ... does pipelines have a regex stage to return groups from a
regular expression?

--
Jack Woehr   # Zen is a finger pointing at the moon.
IBM Champion 2021    # Some want to see the moon.
http://www.softwoehr.com # Some want to discuss the finger.


[CMS-PIPELINES] GREP

2022-01-23 Thread John P. Hartmann

For the record,

What is left in PIPSYSF is not of product quality, for one reason or
another.


Re: [CMS-PIPELINES] Will miss CMS/TSO Pipelines

2022-01-23 Thread John P. Hartmann

I'm afraid you are sunk.

Anything else is just a toy.  None have been validated against the 
pipelines regression reference.  None performs or scales.


If your withdrawal is too painful, there is the z/PDT.

On 1/19/22 18:37, Eloy Rodríguez Barrio wrote:

Our management has decided to discontinue our zOS mainframe where we had 
CMS/TSO Pipelines installed in TSO. We will move our applications to Linux 
servers but I will definitely miss CMS/TSO Pipelines because I have been using 
it for more than 20 years.
By any chance would anyone know whether there would be a similar tool in 
Linux/Unix ?  Because our managed services converted a rather simple pipe 
containing +-20 stages into a perl program of 90 lines and it took them weeks 
before getting the expected results!
Thank you



Re: [CMS-PIPELINES] Pipe stage for detecting specific external interruptions

2021-12-02 Thread John P. Hartmann

You would want a stage that connects to the timezone (or whatever)
service and then writes a record when the event occurs.  STARxxx does
this for most system services.  I'd suggest that be the paradigm.

On 12/2/21 16:27, David Boyes wrote:

 There's nothing today, and it isn't easy if it isn't sent through something
 like *VMEVENT or STARMSG.

One idea we kicked around would be to have an option to the PIPE command to 
arm/disarm a generic event handler for external interrupts and then a stage 
that was called when the event handler fired that would produce a string like 
EXTnnn on its output, which could be handled as needed. As you say, not 
straightforward, but it might be an idea worth looking at.

Something to put on the wish list.



Re: [CMS-PIPELINES] PIPSYSF question....

2021-09-17 Thread John P. Hartmann

Presuming I am part of the group:

The reason that what is now PIPSYSF did not get rolled into the various 
levels of CMS/TSO pipelines is that the remaining function is not always 
working as you want.  Or perhaps is (ghasp) buggy.


Do you really want IBM to spend the effort to document PATTERN? I expect 
the SNOBOL manual is long out of print, so there may even be copyright 
issues here if IBM has to include material from that book.


I was about to roll TERSE in some twenty-five years ago when I 
discovered a bug.  So I pulled it at the last moment as it became clear 
to me that I would never be able to build a regression test reference.


My suggestion, Dave, is that you go through the contents of PIPSYSF and 
then tell IBM which function you really want integrated and supported.


Perhaps someone will move PIPSYSF from Marist to the IBM download page.  
You have my blessing.


On 17/09/2021 19:36, Dave Jones wrote:

I would like to judge the group's opinion on the idea of asking IBM to
roll the PIPSYSF functionality into the base CMS Pipelines package
included in z/VM 7.x.  Good idea or not?

Thanks.

DJ

--
BEST REGARDS

   DAVE JONES
    Managing Director for zSystems Support, zLinux, and Cloud
    ++1 281.578.7544 (Cell)
    Web: www.itconline.com
    18502 Purdy Ct. Houston, TX  77084  USA


Re: [CMS-PIPELINES] PL/j examples

2021-06-13 Thread John P. Hartmann

Would the pipelines source code do as an example?

Look for FPLxxx ASSEMBLE in the CMS source.

Cheers,

j.

On 6/13/21 19:59, Dave Jones wrote:

Hello, fellow plumbers.

I am trying to teach myself PL/j so I can write stages in assembler. I
am using Rob v.d. Heij's SHARE presentation from 2009 as a starting
point. Does anyone have an example/sample stage written in PL/j that
they could share with me to use as a template? One that uses the normal
Pipes 'peekto/read/output/streamstate' interfaces?

Many thanks and have a great summer for those of you in the Northern
Hemisphere.

DJ

--
DAVID JONES | MANAGING DIRECTOR FOR ZSYSTEMS SERVICES | z/VM, Linux, and
Cloud
703.237.7370 (Office) | 281.578.7544 (CELL)

INFORMATION TECHNOLOGY COMPANY [1]


Links:
--
[1] http://www.itconline.com/



Re: [CMS-PIPELINES] Question about starsys *vmevent handling......

2021-04-15 Thread John P. Hartmann

Please trace IUCV to see the interrupt parameter and message number.

Also check for message in parameter list.

The target class is supposed to identify the data; without that, STARMSG
 *VMEVENT is useless.  Perhaps STARMSG could/should be enhanced to
write the IPARML in front of the data (or some part of the IPARML).

On 4/15/21 15:07, Dave Jones wrote:

Hello, gang.

I'm trying to use the starsys *VMEVENT stage to capture logon/logoff
messages in a z/VM user id.
The user id has this in it's definition.
priv classes: ABCDG
IUCV statement: IUCV *VMEVENT MSGLIMIT 65535

but when I run this simple text case, I see this:
pipe starsys *vmevent | cons
MONWRITE
FPLIUS346E No message found (id 44767)
FPLMSG003I ... Issued from stage 1 of pipeline 1
FPLMSG001I ... Running "starsys *vmevent"
RSCSAUTH
FPLIUS346E No message found (id 44768)
FPLMSG003I ... Issued from stage 1 of pipeline 1
FPLMSG001I ... Running "starsys *vmevent"

Does anyone know what's going on here?
Many thanks, and stay safe.
DJ

--
DAVID JONES | MANAGING DIRECTOR FOR ZSYSTEMS SERVICES | z/VM, Linux, and
Cloud
703.237.7370 (Office) | 281.578.7544 (CELL)

INFORMATION TECHNOLOGY COMPANY


Re: [CMS-PIPELINES] FPL120E in PUTFILES

2021-03-03 Thread John P. Hartmann

I also have a PUTFILES REXX, which does something entirely different.

Perhaps Kris knows that Berry uses Kris' particular version.  Otherwise
all of this is more or less idle speculation.

On 3/3/21 16:30, Kris Buelens wrote:

My very first PUTFILES was indeed simple: an ADDPIPE for each fileid
encountered.  Worked great until a compile job sent from z/OS contained
quite a lot of files (180 I read in PUTFILES help file).  Solved by the
GROUPED or BATCHED options, where PUTFIES then uses CALLPIPE to process one
file per iteration.
Later I added full SFS support with workunits after a problem that I don't
remember at this time.

Kris Buelens,
  --- VM/VSE consultant, Belgium ---


Re: [CMS-PIPELINES] FPL120E in PUTFILES

2021-03-03 Thread John P. Hartmann

I didn't say that, but as long as Berry understands, all is fine.

On 3/3/21 14:07, Rob van der Heij wrote:

As John points out, when you're
writing to SFS


Re: [CMS-PIPELINES] FPL120E in PUTFILES

2021-03-03 Thread John P. Hartmann
Use DISKSLOW if you know you are going to write a single line per 
invocation.


The reason could be anything; Vblockv is totally undocumented.  Use >SFS 
to get documented error and reason codes.


I don't know what your PUTFILES does, so I cannot answer your final 
question.


On 3/3/21 12:43, van Sleeuwen, Berry wrote:

Hi All,

I have a REXX with a number of PUTFILES stages. Each of them will save a report 
in a group of files. The REXX is executed every minute.

Two times today I got an FPL120E in one of the PUTFILES stages. It looks like 
the error only appears in the GSTVM000 files, or at least the other PUTFILES 
stages didn’t have an error (yet).

FPLDSR120E Return code 16 from parameter list Vblockw GSTVM000 TCPIP A1
FPLMSG003I ... Issued from stage 2 of pipeline 2
FPLMSG001I ... Running "> GSTVM000 TCPIP A"
FPLDSR120E Return code 16 from parameter list Vblockw GSTVM000 HIDRO A1
FPLMSG003I ... Issued from stage 2 of pipeline 2
FPLMSG001I ... Running "> GSTVM000 HIDRO A"


According to the docs a return code 16 suggests that PUTFILES attempts to write 
to the same file. But as far as I can find there shouldn’t be a duplicate file. 
The input for this stage actually contains just one line for each file so 
PUTFILES only needs to write 1 record to each file in each execution run.

Last night I ran the code with traces for a couple of hours, and obviously 
Murphy made sure there was no error during that time.

What could be the reason for this error? Is there another reason other than the 
“duplicate file” in this case?

And generally, I run a number of PUTFILES stages in the REXX for each report. 
Is that accepted or should I redirect all data to one single PUTFILES stage?

Met vriendelijke groet/With kind regards/Mit freundlichen Grüßen,
Berry van Sleeuwen
Flight Forum 3000 5657 EW Eindhoven
This e-mail and the documents attached are confidential and intended solely for 
the addressee; it may also be privileged. If you receive this e-mail in error, 
please notify the sender immediately and destroy it. As its integrity cannot be 
secured on the Internet, Atos’ liability cannot be triggered for the message 
content. Although the sender endeavours to maintain a computer virus-free 
network, the sender does not warrant that this transmission is virus-free and 
will not be liable for any damages resulting from any virus transmitted. On all 
offers and agreements under which Atos Nederland B.V. supplies goods and/or 
services of whatever nature, the Terms of Delivery from Atos Nederland B.V. 
exclusively apply. The Terms of Delivery shall be promptly submitted to you on 
your request.



Re: [CMS-PIPELINES] Lookup with floor

2021-01-29 Thread John P. Hartmann
In general, pipes are forgiving and accepts a wider gamut of options 
than the documentation specifies.


The documentation is written to be comprehensible and flowing (in 
authors' argot), if it were to show all possible combinations of options 
and what not, it would, certainly in the case of lookup, be 
incomprehensible.


In this particular case, "exclusive" means that the last one wins.  But 
admittedly, sometimes it does mean what it says.


Changing existing code to follow the book, particularly when the code 
has been in the field for twenty years, is not considered a good idea, 
in some quarters, at least.


If you insist on IBM fixing this, two things will happen:

1.  It will come back to bite you, particularly where you think it is 
unrelated.  I consider that well deserved.


2.  If sufficiently insistent, you will force a fix that will break code 
for the silent majority.  And then all hell breaks loose.


In the current setup, I doubt any of this will happen, but it has in the 
past.


Let me illustrate this with a story from real life:

Back before your grandma was born, telephone systems used what was 
called "in-band signalling".  In particular, a pure 3000 Hz tone would 
signal that a party had hung up and the call would be dismantled.


Now, apart from "phone phreaks", it so happened that a lady somewhere in 
the south west of this island had a set of dentures that gave off this 
exact note.  She complained vigorously to the phone company, and while 
she was technically in the right that they had a design error (as had 
every phone system in the world at that time), the problem was resoled 
by the phone company buying her a different set of dentures.


On 1/29/21 18:52, Alain Benvéniste wrote:

I also tried a "lookup autoadd ceiling floor 1-* master".
Point 13 in the doc says these options are mutually exclusive, but pipe doesn't 
reject it.
Case opened.


Re: [CMS-PIPELINES] Lookup with floor

2021-01-29 Thread John P. Hartmann

Be sure to retain the output at the end:

lookup   MASTER DETAIL.

There is only one test case for each of CEILING/FLOOR.  E.g.,

lookup floor 1

I must have been busy at the time in 2003.

On 1/29/21 13:53, Rob van der Heij wrote:

On Fri, 29 Jan 2021 at 13:45, Alain Benvéniste  wrote:


Do I open a issue for that ?



If you don't, I will put it on the list and eventually roll it into a
future upgrade.

Sir Rob the Plumber



Re: [CMS-PIPELINES] Lookup with floor

2021-01-29 Thread John P. Hartmann
There is something wrong here.  LOOR is not a valid range, so F should 
not be recognised as a abbreviation of FIELD, but it certainly looks 
like that is what is happening.


On 1/29/21 12:35, Ronald van der Laan wrote:

Alain,

I guess that with the second field definition, the F from FLOOR is not
interpreted as Field.
Op vr 29 jan. 2021 om 12:32 schreef Alain Benvéniste 



Re: [CMS-PIPELINES] punch, rscs, reader and deblock

2021-01-17 Thread John P. Hartmann
CMS pipelines also knows how to handle the case where the end of file 
marker is truncated to one byte in the last card.


On 1/17/21 15:08, Rob van der Heij wrote:

On Sun, 17 Jan 2021 at 14:48, Kris Buelens  wrote:


Probably there still is a chance that DEBLOCK CMS will complain when the
last meaningful record had a trailing blank.



Apparently the halfword 0 is missing, or there wouldn’t be a problem. You
could strip trailing blanks from the last record, remember the length, pad
with x00 and deblock, then fix the trailing spaces you replaced by x00






Re: [CMS-PIPELINES] Fwd: Understanding relationship between ADDPIPE and COMMIT

2020-12-01 Thread John P. Hartmann

On 12/1/20 16:22, David Boyes wrote:

SysV streams


Ritchie's sewers has a lot more in common with CMS pipes than does Unix
pipe()s.


[CMS-PIPELINES] Fwd: Understanding relationship between ADDPIPE and COMMIT

2020-12-01 Thread John P. Hartmann
You can have pipeline segments waiting for records, but they cannot wait 
for connexions (other than things like TCPLISTEN, but that is a 
different kind of connexion).


Two general approaches:

1.  If you know what data you will use to distribute the records among 
the processing pipeline segments, you'd typically use DEAL to distribute 
the records and start the whole refinery up front.


2.  A sipping pipeline to perform the default processing.  As this 
pipeline sees new records, it would add a pipeline to select the record 
and shunt it to the output like this:


peekto record
addpipe (end ?) *.input.0:|s: select|process| o:faninany|*.output.0:
   ?s: | *.input.0: | *.output.0:|o:

You may, of course, elect to send the selected records to a different 
destination, e.g., a file.


The action for an unconnected stream is to treat is as at end-of-file, 
so you'd get RC 12 on PEEKTO or READTO.  (There is the case of a sipping 
pipeline, but here EOF is not presented to the subroutine; it is 
reconnected to the main input when the subroutine terminates.)


COMMIT is a different ballgame altogether.  My best advice is to read 
carefully:


http://vm.marist.edu/~pipeline/pipjarg.pdf

 Forwarded Message 
Subject:Understanding relationship between ADDPIPE and COMMIT
Date:   Tue, 1 Dec 2020 03:42:44 +
From:   David Boyes 
Reply-To:   The IBM z/VM Operating System 
To: ib...@listserv.uark.edu



This may be a question for the CMS Pipes mailing list, but I figured I’d 
start with the brain trust here and see if there’s better way.


I’m trying to set up some pipeline fragments with addpipe that get 
initialized and then block immediately until started when another 
pipeline connects to them and writes a record. Reading through the 
section on PEEKTO, If the pipeline is started and hits a PEEKTO with no 
input stream connected, I **think** the implied action is for the 
subpipeline to block and not get dispatched until something connects and 
a input record becomes available. Is this understanding correct, or am I 
totally misunderstanding this?


If I’m missing the point, how should I think about accomplishing this? 
The driver code filters a set of records and the idea was to select 
records of a certain type and send them to an appropriate pipe for 
processing without blocking the selection and filtering piece. I could 
probably do this with CMS queues or tcpclient and have the subpipelines 
trigger on that, but it that the most effective way to do this?





To unsubscribe from the IBMVM list, click the following link:
http://listserv.uark.edu/scripts/wa-UARKEDU.exe?SUBED1=IBMVM&A=1


Re: [CMS-PIPELINES] Wikipedia and EBCDIC 037-2

2020-09-23 Thread John P. Hartmann

Problem is all those AMODE24 programs that go poking in them FSTs.

On 9/23/20 04:14, Ray Mansell wrote:
Ah, one of those little projects I never got to before retiring. I still 
have all my notes somewhere...


Ray

On 9/22/2020 17:14, Glenn Knickerbocker wrote:

Only so useful, though, unless the FSTs were finally moved up out of low
storage to allow room for millions of files.

¬R


Re: [CMS-PIPELINES] Replace single record in file

2020-09-12 Thread John P. Hartmann

EDF came as an add-on to VM/370 release 6 in 1979.  Along with FBA
support if memory serves.

Alan is not doing justice to the designers.  Being copy-on-write, it was
the first CMS file system that had no leakage of disk blocks on crashes
or power outages.  CDF had the choice of trashed files or block leakage
and clearly chose the latter, but as a consequence, you might have 10%
wasted blocks on a minidisk after a while.

On 9/12/20 19:14, Kris Buelens wrote:

Wasn't EDF new with VM/SP?
(I remember performance problems with CDF for large RECFM V files in my
first IBM years)

Kris Buelens,
  --- VM/VSE consultant, Belgium ---
---


Op za 12 sep. 2020 om 19:07 schreef Alan Altmark :


The CMS EDF file system is a very lightweight file system that has survived
40+ years with this restriction.  (EDF was introduced in SEPP or BSEPP, I
think.)

Back then VSAM was available to solve more complex data management issues.
Now, you re-platform.

Regards,
Alan Altmark
IBM


On Sep 12, 2020, at 12:27 PM, Paul Gilmartin 

wrote:


On 2020-09-12, at 06:18:25, Rob van der Heij wrote:



On Sat, 12 Sep 2020 at 01:18, Stanislawski, Shawn (National VM

Capability) <

shaw...@dxc.com> wrote:

Would be preferable to avoid truncation of a longer new record when
dealing with recfm=VARIABLE.
But at this point, it sounds as if there is not an elegant

resource-light

method for so doing?



Would you mind to mark the original as "deleted" and append the longer
record to the RECFM V file maybe? But I guess you were going index by
record number rather than a key.


I understand that MDFS indexes blocks (not records) in a tree.
I was disappointed that does not support "elegant resource-light"
insertion, deletion, and replacement of records.  (Yes, that
would require splitting blocks when records are inserted, marking
parts of blocks as unused, and balancing the tree for performance.)

SFS is merely secret.

-- gil





Re: [CMS-PIPELINES] Replace single record in file

2020-09-11 Thread John P. Hartmann

On 9/11/20 14:07, John P. Hartmann wrote:

There is no test case of the placement option with v2c.


Turns out there was a single one and it had the wrong result.

The interaction with STRIP also needed a loving hand.


Re: [CMS-PIPELINES] Replace single record in file

2020-09-11 Thread John P. Hartmann

On 9/11/20 01:00, Glenn Knickerbocker wrote:


Uh-oh.  I must never have tried THIS before:


pipe literal 123| specs 1-* v2c 1.3 right | cons
   1


That's just wrong.

¬R



This is a bug that no-one has complained about before.

The correct output is "123".  That is, the placement has incorrectly 
been ignored when the v2c conversion is truncated.  Documentation is 
quite clear about conversion being performed before output placement. 
The code should be fixed.


I speculate the reason is that the output field is a catenation of an 
internal literal of the byte count and data from the input record.  This 
two-input output arises only with v2c conversion.


Processing is correct when the output field is padded:

pipe literal 123| specs 1-* v2c 1.6 right |fmtdmp|cons
Record 1
   43F1 F2F3 *   123  *

There is no test case of the placement option with v2c.  Indeed with any 
of the conversions, he says after a quick peek at SPC TESTIN.


I agree that message 393 is the result of paranoia.  It should not be 
issued; one or two bytes should be output.


Re: [CMS-PIPELINES] PIPE MEMBERS Anomaly ???

2020-09-09 Thread John P. Hartmann

http://vm.marist.edu/~pipeline/pipeline.pdf

On 9/9/20 11:47, Lionel Dyck wrote:

I'm shocked, shocked I tell you, to learn that PIPES in BPW is out of date.

It's the best I have available at this point.  The BPW pub isn't that useful 
for the most part so I'm getting by with pipe help and trial and lots of error.


Lionel B. Dyck <


Re: [CMS-PIPELINES] PIPE MEMBERS Anomaly ???

2020-09-09 Thread John P. Hartmann

Please refer to http://vm.marist.edu/~pipeline/ in particular
http://vm.marist.edu/~pipeline/tsohelp.html

On 9/9/20 12:23, Lionel Dyck wrote:

Sadly PIPE AHELP results in this:

  1 +++ nolib=readdir()
IRX0043I Error running AHELP, line 1: Routine not found
IRX0043I Error running AHELP, line 1: Routine not found
***

Looks like BPW Pipes is further behind than you thought.  Oh well - we work 
with what we have.

Thank you for your help.

Lionel B. Dyck <


Re: [CMS-PIPELINES] PIPE MEMBERS Anomaly ???

2020-09-09 Thread John P. Hartmann

It calls a pipeline to read and deblock at line ends on the way in.  And
similarly on the way out.  I don't think you will find that documented
anywhere.

On 9/9/20 07:09, Kris Buelens wrote:

I never checked what.it did with BFS files


Re: [CMS-PIPELINES] PIPE MEMBERS Anomaly ???

2020-09-09 Thread John P. Hartmann

LISTPDS will give youo a list of members.  Feed that to MEMBERS.

On 9/9/20 10:08, Lionel Dyck wrote:

Is there a way with PIPE MEMBERS to have it process all members?

I've tried variations of these without success:

'pipe members test.pdse member * | stem x.'
'pipe listispf test.pdse | chop 8 | members member | stem x.'

Thanks (still learning pipes)

Lionel B. Dyck <
Website: https://www.lbdsoftware.com



Re: [CMS-PIPELINES] PIPE MEMBERS Anomaly ???

2020-09-08 Thread John P. Hartmann

May I politely suggest you consult the documentation?

On 9/8/20 19:51, Lionel Dyck wrote:

I have found using the pipe members option that the result are off.



Sample command: 'pipe members' manifest 'member $MAP | strip| stem map.'




The input member has 16 records.

The stem map.0 has a value of 17 with the map.17 having a length of 0.



This doesn't seem right but being the 1st time I've used this I'd like to
confirm this anomaly before I open a ticket with IBM.



Thank you



Lionel B. Dyck <
Website:   https://www.lbdsoftware.com

"Worry more about your character than your reputation.  Character is what
you are, reputation merely what others think you are." - John Wooden



Re: [CMS-PIPELINES] Stage for reading/updating CMS NAMES file?

2020-08-21 Thread John P. Hartmann

On 8/21/20 15:41, Alan Altmark wrote:

It certainly obviates any concern about calling entry points.  New entry
points can simply be added to DMSNAM.


As long as a module has the load map in it, entry points can always be
called by NUCXLOADing the module and compute the address of the entry
point relative to the load point from the module map.

We have a REXX program that sets break points in the pipelines code by
this method.  Creating additional nucleus extensions is a bit more
fiddly, but certainly well within the bounds of the possible.


Re: [CMS-PIPELINES] Stage for reading/updating CMS NAMES file?

2020-08-21 Thread John P. Hartmann

On 8/21/20 13:55, Alan Altmark wrote:

NAMEFIND (DMSNAM) is where all the smarts are for processing a NAMES file,
and that's where they need to stay, IMO.  Mechanically, NAMEFIND is a
MODULE, not kernel-resident, and that makes it impossible to have other
commands call its entry points.


Are you sure or has something changed since 5.2?

l namefind * *
Ready(00028); T=0.01/0.01 14:23:41
l dmsnam * *
Ready(00028); T=0.01/0.01 14:24:00
nucxmap namefind
Name  EntryUserword Origin   Bytes   Amode (Attributes)
NAMEFIND  011D8A40 03F9E2C8 011D8A40    31  SYSTEM SERVICE
Ready; T=0.01/0.01 14:24:14


Re: [CMS-PIPELINES] Stage for reading/updating CMS NAMES file?

2020-08-20 Thread John P. Hartmann
First of all, his stage name was El Bozo.  An second you should hear 
Chick Corea's reading on "My Spanish Heart".


On 8/20/20 19:39, David Boyes wrote:


On 8/20/20, 12:23 PM, "CMSTSO Pipelines Discussion List on behalf of Alan Altmark" 
 wrote:


 And I reject the "cruft" reference.  The NAMEFIND command is very basic.
 Not only can it look up based on the break tag, it can search based on
 other values:
NAMEFIND :email.alan_altm...@us.ibm.com :userid (BREAKTAG :dn FILE X500

I would invite you to look at the entry for NAMEFIND in the CMS Command 
reference again. Anything that has a syntax diagram that goes on for a page and 
a half is not basic or straightforward.


Only NAMEFIND *knows* if an entry already exists.  Humans are good at
making claims that are untrue.  "It doesn't exist" is one such.


On the contrary, if I know that I am starting with a newly created empty file 
that has no entries in it, then I do know concretely an entry does not exist. 
What I want to avoid is an increasing ADD time per entry if I know there is no 
possibility for entries to exist or I have already done any vetting for 
duplicates that needs to be done outside of the tool, I'm letting the tool know 
in advance that it doesn't have to look. In the interest of KISS, I'm not 
insisting on APPEND if that gets us to the point of actually coding this; it's 
an advisory option to convey my intent to the process; something I would find 
useful but isn't necessary.

 > I'd also really like to skip using the stack now that we can manipulate
 REXX
 > variables directly. Just set up or return a REXX stem and be done with
 it.

 Done.  NAMEFIND supports both.

You've just illustrated my point about cruft. NAMEFIND has a lot of old 
features to deal with restrictions or scenarios in CMS that no longer exist. 
You can't prune it out because it would break existing code. Useful features 
are hidden in the forest of old stuff. If you only use a subset of the 
functionality, then yes it's not that hard. The point is to see the trees in 
the clutter of the forest of options, which is why I was suggesting a new 
command instead of adding more stuff to NAMEFIND.

To bring this back to CMS Pipelines and my original question, suppose I had a 
file containing the following lines:

:nick.DBOYES   :userid.dboyes   :node.SNAVM4  :notebook.DBOYES
:name.David Boyes
 
:nick.CLOWN:userid.bozo :node.sinenomine.net  :notebook.FOO

:name.Bozo Clown
 
:nick.TEST


Since there isn't an existing Pipe stage to deal with NAMES files, what would 
be the most efficient way to remove the entry for CLOWN using CMS Pipes? If I 
wanted to update one of the attributes (the tags like :node.)? As long as I 
obey the blank lines between an entry rule, I know I can move the tags around 
within the entry in an arbitrary manner and NAMEFIND will still work properly. 
Would using fromlabel/tolabel be an option? Is that the most efficient solution 
or is there a better way?

  
 



Re: [CMS-PIPELINES] Learning Pipes (under TSO) ?

2020-04-18 Thread John P. Hartmann

Assuming you know TSO and basic CMS, the CMS library pipelines user's
guide contains the information you require.

You can find an older version of that book at

http://vm.marist.edu/~pipeline/pipeline.pdf

On 4/18/20 13:38, Lionel Dyck wrote:

Is there a good presentation, handout, webpage, wiki, or ??? that can help me 
learn TSO Pipes?

Thanks in advance


Re: [CMS-PIPELINES] Need some help with pattern...

2020-04-18 Thread John P. Hartmann

Dave, assuming that the last hyphen within the quotes is the operative
delimiter, this works with your sample:

substr fs - f-1 of fs " f2

As for pattern, I think this is an example of what you are asking:

(':kwd' rem):out/* Stage name

Thus, your pattern could go like this depending on the exact syntax of
the ID (tested with your sample):

 pattern toword '



Re: [CMS-PIPELINES] Updating a field in a STRUCTURE

2020-01-22 Thread John P. Hartmann
In the Author's Edition on Marist, please refer to p. 708 (physical 736) 
for the "Output Placement" track.


You will see the Member as the penultimate choice in the first selection.

I'd be rather surprised if the 7.x doc hasn't got it.

On 1/22/20 18:27, David Boyes wrote:

I’m not trying to change the structure definition, I’m trying to fill in one of 
the fields I’ve already defined, similar to moving data into 02 items defined 
within a 01 record in COBOL.

I think John’s idea will do what I want.  If it does, I’ll do a RCF for chapter 
6 of the combined PIPE doc that comes with 7.1.

Tnx.



Re: [CMS-PIPELINES] Updating a field in a STRUCTURE

2020-01-22 Thread John P. Hartmann

pipe spec 1 m abc
PIPQUA1395E Unqualified member name: abc.

So you should be able to specify the member name as the output, but you 
must specify the keyword, "Member".


On 1/22/20 16:14, David Boyes wrote:

I have an application that defines a data structure using the STRUCTURE stage. 
I can define the structure and read the values of individual members without 
difficulty – there’s a nice example of how to do it in the docs. What I’m 
trying to do is reference a field of the structure for update with new data. I 
understand that using PICK with the MEMBER operand lets me filter the records 
down to the one I want, but nothing seems to let me update the value.

Questions:


   1.  Is this possible? It would seem to be something that would fit in SPECS, 
but I can’t find any obvious keyword or combination of keywords that would 
allow me to specify the structure.field name as an output target.

   2.  If not, would keeping a reference list of the field names  and column 
ranges be the most straightforward approach? I think I can construct the SPECS 
magic I need, but if there’s a better way, please enlighten me.

I’m targeting the last runtime library version and the 7.1 version of pipes.

All advice gladly accepted.



Re: [CMS-PIPELINES] pipe query source

2019-11-05 Thread John P. Hartmann
It has been there for quite some years.  Quietly.  You will not find any 
description anywhere.


On 11/5/19 20:16, René Jansen wrote:

I noticed that pipe q source puts an answer in the pipeline, but no message if 
there is no stream connected. I cannot find the ‘source’ option in the 6.4 
manual, nor the author’s edition. It is also missing in the online help. Can 
anyone tell me what the story here is?

Many thanks in advance.

best regards,

René Jansen.



Re: [CMS-PIPELINES] wishlist: STRFIND ASIS

2019-08-23 Thread John P. Hartmann

Surely

   locate 1.5 /a_b c/

does what you want and it won't tax you to learn anything new.

On 8/23/19 00:38, Glenn Knickerbocker wrote:

On 2019-08-22 12:03 PM, Rob van der Heij wrote:

Wouldn't   PICK 1+ == /abc/   do what you ask for?


If I learned (and remembered) newfangled syntaxes like "1+", sure!
For ASIS, at least.

¬R



Re: [CMS-PIPELINES] TFTP pipe stage

2019-08-09 Thread John P. Hartmann

I wrote a TFTP server for MVS in 1991 or thereabouts.  I'll see what I
can find tomorrow.  No promises, but some hope.

On 8/9/19 20:56, Dave Jones wrote:

Does anyone happen to have a pipeline stage that implements the TFTP
protocol that they would be willing to share? I thought I'd ask here
before I went and did one on my own.
Thanks.
DJ

--
DAVID JONES | MANAGING DIRECTOR FOR ZSYSTEMS SERVICES | z/VM, Linux, and
Cloud
703.237.7370 (Office) | 281.578.7544 (CELL)

INFORMATION TECHNOLOGY COMPANY


Re: [CMS-PIPELINES] VERIFY NOT

2019-06-14 Thread John P. Hartmann

Pass.

17 Dec 1997  +++ VERIFY NOT.

Is all I can find.  No doubt to emulate REXX verify( , 'match').

No mention in PIPELINE NEWS, so I suppose I decided it did not fly and
left it at that.  At the time I was, to say the least, busy elsewhere.

Verify itself is from June 1994, as Finn has described elsewhere.

On 6/14/19 09:51, Rob van der Heij wrote:

I will poke the Piper in case he
remembers why.


Re: [CMS-PIPELINES] XEDIT and targets

2019-06-12 Thread John P. Hartmann

But suppose the record gets deleted by someone else?  There really is no
answer here.  Even if you do SAVE/RESTORE to isolate changes to scope &c.

Bottom line:  since cms 5.5, you can have only one XEDIT session within
a virtual machine.  (I could before, but the new storage management
broke things.)

On 6/12/19 14:39, Phil Smith III wrote:

Exactly what I think he wants. SET POINT is way powerful, a great thing to have 
in your XEDIT toolbox. I use it daily.


Re: [CMS-PIPELINES] PC-Pipes anyone?

2019-03-22 Thread John P. Hartmann
Right, so NJPipes is a toy that allows you to play around with something 
that tastes like what you were used to on your beloved CMS.


For example, it cannot be used to develop CMS applications on your 
workstations.


Fair enough.

The regression test is a huge number of pipeline specifications that are 
issued from a production level of the pipeline into a test version. 
Lots of SPECs stages are used, so if you don't implement SPECs including 
the 407 emulator, you won't be able to run it.


And it has no notion of "reasonably correct".  So in summary, it will be 
of no use to you.


On 3/22/19 20:27, René Jansen wrote:

Hi John,

that depends entirely on your definition of “reasonable.” Ours might be 
different.

Mine is: you are able to work “in the vein of” CMS Pipelines by being able to 
compose a commandline consisting of recognisable VM pipeline stages, on any 
computer that runs a JVM. A big difference at the moment is that a pipeline in 
the current implementation is compiled into a (java) .class - the NJPipes 
implementation predated the NetRexx interpreter. (Because in contrast to 
Classic Rexx, NetRexx first had a compiler and after 2000 an interpreter.) 
Also, because of the nature of Unix command lines, it is easier to use ! as a 
stage separator. The impedance mismatch between Java and CMS or TSO is 
certainly there, we can look how fork() would be handled for example, but if 
NetRexx was still supported on CMS by IBM I could show you commandlines that 
are identical.

NetRexx is a dialect of Rexx, and as such most programs will look different. 
This also goes for non-pipeline filter programs. Readto() and Peekto() are 
there, as is output(). This makes it not too difficult to use ‘more or less’ 
the same Rexx code, and the optimist in me would still call that ‘reasonably’ 
portable. I made my first stages when I only could write Rexx and no NetRexx, 
so it is not too far off.

You have interested me now in the pipelines regression test; if that runs on 
text data and has no EBCDIC dependencies I am inclined to use that, if I had 
it, to certify the individual stages. I knmow people like Jeff Hennick and Ed 
Tomlinson went to great lengths to be compatible with at least the level of 
Pipelines that they had access to.

Is this regression test open sourced? Or available somewhere with favorable 
license conditions for the Rexx Language Association?

best regards,

René Jansen.



On 22 Mar 2019, at 12:54, John P. Hartmann  wrote:

How can you say that when it has not passed the pipelines regression test?

Can you move at least pipelines REXX filters between VM and your workstation 
without change?

On 3/22/19 17:49, René Jansen wrote:

The implementation (by Ed Tomlinson) follows VM and is reasonably complete.


Re: [CMS-PIPELINES] PC-Pipes anyone?

2019-03-22 Thread John P. Hartmann

How can you say that when it has not passed the pipelines regression test?

Can you move at least pipelines REXX filters between VM and your 
workstation without change?


On 3/22/19 17:49, René Jansen wrote:

The implementation (by Ed Tomlinson) follows VM and is reasonably complete.


Re: [CMS-PIPELINES] PC-Pipes anyone?

2019-03-22 Thread John P. Hartmann

i)   No.
ii)  Waters:  The Machine.

On 3/22/19 11:50, amphitr...@ok.de wrote:

The only hint I found about PC-Pipe's existence is a 10 years old
append announcing an update of PC-Pipes, alas today the link is dead.

Questions:
i) is there a result from the efforts to migrate Pipelines to the
PC world, comparable to the original?
ii) where may I find it?

Ciao.Mike
--
www.Ok.de - die kostenlose E-Mail Adresse



Re: [CMS-PIPELINES] Enabling the Trap Facility

2019-03-07 Thread John P. Hartmann

I was just looking at this since my memory is rusty, if not gone.

Rob will have to correct this with module and nucleus extension names
for z/VM 6.4 and on.  If you are impatient, NUCXMAP will get you the
name of the main module nucelus extension; the module name is likely
DMSPIPE.

The check is for a message severity code C'R' in the message text table,
FPLMTX.

First, you need to find the address of FPLMTX in the nucleus extension
for the main pipeline module.  It has:

1.  A fullword of zeros,
2.  The highest message number in the table,
3.  Negative offsets from the address to message texts for message 0, 1,
and so on.  Zero means message not present.

Each message has this format:

1.  One byte message level.
2.  One byte text length.
3.  Text.

My suggestion is that you start at

http://vm.marist.edu/~pipeline/diagnost.html

Look for "Setting breakpoints".

getep fplmtx nxpipe pipmod
FPLMTX is at offset 000310C0 from 03DF2000 = 3E230C0

d t3E230C0.30
R03E230C0   063C E70C E6EF F4 *..X...W.*
R03E230D0  E6DF E6CC E6A5 *..W...W...Wv*
R03E230E0     **

say addrsub('3e230c0', 'e70c')
3E249B4
Ready; T=0.01/0.01 13:37:25
d t3E249B4.30
R03E249B0  5C75 5C56 5C3A C51CD596 F4 *..*...*...*.E.No*
R03E249C0  409485A2 A2818785 40A385A7 A3408696* message text fo*
R03E249D0  99409485 A2A28187 8540FF01 00F00D4B*r message ...0..*
R03E249E0  4B4B40D9 A4959589 9587407F FF01017F*.. Running "..."*

As you can see, I used the wrong base for the resolution of the message
text; it should be increased by 8 for message 0, and so on.

Then use CP store to change the message level.

To automate this, you need to hack getep to return the address rather
than saying it, when entered as a function.

And you need this to do the address arithmetic (except the comment
should say twos-complement):

type addrsub exec *

/* Sub two unsigned printable hex numbers.   */
/*   John Hartmann  12 Feb 2003 12:21:03 */
/*%test: say addrsub('2', '')*/
Signal on novalue
numeric digits 50
parse arg a, b
return d2x(x2d(a, 8)-x2d(b, 8))

Good shooting!


On 3/7/19 12:57, Rob van der Heij wrote:

On Wed, 6 Mar 2019 at 23:59, Stanislawski, Shawn (National VM Capability) <
shaw...@dxc.com> wrote:



Stupid question:  How would I go about writing a REXX program to enable
message FPLFPI011E then?



Not a stupid question, but I need to do some more digging to make sure I
answer that question correctly. The book doesn't say it would be easy :-)
And likely we have follow-on questions on where to find things in the dump.

That message is early in the pipeline scanner preventing the pipeline to
run. Most likely it's trying to build pipelines and picks up a null record
where it did not expect so. Look for "runpipe" and "pipcmd" stages for
example, and validate the data flowing there.

Rob



Re: [CMS-PIPELINES] SPECS SELECT 1 surprise!

2019-02-27 Thread John P. Hartmann

This also works:

specs select 0 select 1 1-* 1

You can even

specs select 2 select 0 select 1 1-* 1

But as I said earlier, SYNCHRONISE is the way to pace streams without tears.

On 2/27/19 00:28, Glenn Knickerbocker wrote:

To pair up the records, I had to include
something from the primary in the spec, if only to discard it:

   specs 1 . select 1 1-* 1


Re: [CMS-PIPELINES] SPECS SELECT 1 surprise!

2019-02-27 Thread John P. Hartmann

This is correct.

"To perform a cycle, spec issues the items in the specification list
from left to right. At the
beginning of a cycle, spec synchronises the input streams it uses; that
is, it peeks at all
input streams it uses before issuing any specification items. This
ensures that a record is
available on all streams at the beginning of the cycle. At the end of a
cycle, spec
consumes an input record from each of the streams it uses."

Note "it uses".  Streams that are not selected are ignored.  In the
first case, NO records are read or peaked from the primary.


On 2/27/19 00:28, Glenn Knickerbocker wrote:

   specs select 1 1-* 1

Surprise!  The whole file on stream 1 came out in place of the*first*
record on the primary.  To pair up the records, I had to include
something from the primary in the spec, if only to discard it:

   specs 1 . select 1 1-* 1


Re: [CMS-PIPELINES] SPECS SELECT 1 surprise!

2019-02-27 Thread John P. Hartmann

This is in fact a reference to uninitialised storage.  You'd have got an
addressing exception if you had enabled the storage checks (MSG 2048).

On 2/27/19 02:16, Glenn Knickerbocker wrote:

   specs read select 1 1-* 1

Then I decided it would probably consume two records on the primary
instead of just one, but I gave it a try to see.  Instead it ends with
rc=4 and this message, with no other message to explain the error:

   FPLSPE1490I Processing item number 1: read


Re: [CMS-PIPELINES] Punch and deblock

2019-01-25 Thread John P. Hartmann

OK, it is/was Friday.

Stacker select x'42' should also be observed in case someone brought a 
real deck of cards to a real card reader.  And remembered how to punch 
and ID card.


And Michael, as of z/VM 6.4 you are allowed to simply |substr 2-*| 
rather than starting all of SPEC.  Sort of like getting on your scooter 
board rather than starting up the combine harvester to go buy a pint of 
milk.


On 1/26/19 00:55, Michael Harding wrote:

Forgive me, it's Friday. With a nod in the direction of ancient wisdom,
you're mostly right.  In this case though he just need to take a cue from
the proffered code and ignore records without the leading x'41' (stacker
select) then strip that:

"reader | strfind x41 | spec 2-* n | deblock cms | > whosyour momma a"

--
Mike Harding
z/VM System Support
/sp


CMSTSO Pipelines Discussion List  wrote on
01/25/2019 01:50:52 PM:


From: Mike Walter 
To: CMS-PIPELINES@VM.MARIST.EDU
Date: 01/25/2019 01:51 PM
Subject: Re: Punch and deblock
Sent by: CMSTSO Pipelines Discussion List 

Gil,

The OP showed a sample pipe in which he created a string of text
under 80 characters long, blocked it as F 80, and then used the
PUNCH stage to send it out the virtual punch.  Thus, it was not in
NETDATA format because it was not processed by either the NETDATA
stage, nor SENDFILE command.

But alerting the OP the existence of the NETDATA stage may open new
avenues for him.  OTOH, he also reported that there are many files
being processed, and NETDATA adds overhead on the sending and
receiving ends.  That said, if the files are longer than LRECL 80,
or are variable length and the variable format must be retained,
then NETDATA/SENDFILE is the proper method.

Mike Walter
-Retired-

-Original Message-
From: CMSTSO Pipelines Discussion List 
On Behalf Of Paul Gilmartin
Sent: Friday, January 25, 2019 2:57 PM
To: CMS-PIPELINES@VM.MARIST.EDU
Subject: Re: Punch and deblock

On 2019-01-25, at 13:40:12, Alain Benvéniste wrote:

Rob
I thought to use a pipe reader file to read it back but if it is

not long to show me I would be glad to know how to do that for a receive.

Many files are in transit so performance is a plus.


Have you looked at:
 https://urldefense.proofpoint.com/v2/url?


u=https-3A__nam02.safelinks.protection.outlook.com_-3Furl-3Dhttps-253A-252F-252Fwww.ibm.com-252Fsupport-252Flibraryserver-5Fos390-252FBOOKS-252FHCSH1C00-252F9.




5-253FDT-253D20090727132928-26amp-3Bdata-3D02-257C01-257C-257Ca6b80f3a949f4694c41d08d68307c074-257C84df9e7fe9f640afb435-257C1-257C0-257C636840466642199203-26amp-3Bsdata-3DyVDmpEdVILc8ohPNW1bVdsHV5p2qaAIb9OCYYpHqN6A-253D-26amp-3Breserved-3D0&d=DwIFAw&c=jf_iaSHvJObTbx-


siA1ZOg&r=jEBtqVYynGR6y_V-
dkwVF1mYKhZoeLn0xfDfGi8GI2A&m=AyiLUAMkCzMF4mRaVsk1mHEIUSBwJ-
wyRFINQbPAVag&s=0S_y2adY48YtHZWWNqqyYsFVd4aQFXPkk6i8X7V9IRc&e=
 9.5 NETDATA Format

  /* DEBNET REXX -- Deblock a reader file in NETDATA format.

*/

  'callpipe',
 'reader',/* From reader

*/

 '| find' '41'x||,/* Only data records

*/

 '| specs 2-* 1.80',  /* Discard channel command and pad to 80

*/

 '| deblock netdata', /* Deblock

*/

 '| find' 'c0'x||,/* Only data records

*/

 '| specs 2-* 1', /* Remove control character

*/

 '| *:'

-- gil



Re: [CMS-PIPELINES] working with structures / typed data and individual bits

2019-01-01 Thread John P. Hartmann

Nocando.  Manifest constants are numbers, not strings.

On 1/1/19 20:42, Donald Russell wrote:

pipe strliteral xc3 | specs q byte print bitand(x,bit7) u2x | cons


Re: [CMS-PIPELINES] NOSTOPERROR still stops :-(

2018-12-23 Thread John P. Hartmann

Forgive my bluntness, but sometimes it helps to read the manual.

The pipeline option NOSTOPERROR is the default; you need it only to
override a global option.  It controls what happens after a stage
terminates with an error.

The article on COMMAND is equally clear that you need to define the
secondary stream to continue after a negative return code on a CMS command.

On 12/22/18 23:50, Donald Russell wrote:

I have a pipeline with an immcmd to allow running cms commands without
having to stop the thing and return to cms.
(Primarily so I can send CMS commands to it with CP SEND from another id.)

IMMCMD CMS | (NOSTOPERROR) CMS| CONSOLE

Works great when the cms commands are valid, but if I do something like
"CMS GOOF" (where I know there's no GOOF exec/module etc) I get an error:

FPLDSP020I Stage returned with return code -3.

I don't mind that it shows the command return code, but I don't want it to
stop, just continue on and wait for the next possible thing coming down the
pipe. :-)

Subsequent uses of the immcmd do nothing (as expected since the stage
ended), until the entire pipe ends, the input isn't looked at until the
pipe ends and it's then looked at by cms, not the pipe immcmd pipeline.

I thought of using runpipe, or specs to build a callpipe *: | take first 1
| cms | *:
In those cases I didn't use NOSTOPERROR because the pipeline stops anyway
after TAKE 1...

But I could not get those to do what I want either... things seem to always
go south if the command is invalid.

Any suggestions?

Cheers,
Don



Re: [CMS-PIPELINES] Nudging DISKUPDATE

2018-12-20 Thread John P. Hartmann

If it is a minidisk file, the reason is that the file is not closed and
hence the FST is not updated on disk.  Try this:

... | disk update my file x | spec /FINIS MY FILE X/ 1 |command

If the file is in SFS, it is on a workunit and things get a bit trickier.


On 12/20/18 20:32, Donald Russell wrote:

I have a server id that has a perpetual pipeline running. Part of the
pipeline uses the DISKUPDATE stage to update individual records in a
fixed-length file.

What I'm finding is the file is not updated on disk while the pipeline is
running, but when I stop the pipe (with an immcmd and gate stage), then the
updates are made.

I was expecting (hoping) the file changes would be reflected in near
real-time so other ids can link to the disk and check it.

Is there anything I can do to nudge DISKUPDATE?
Maybe turn MDC off for that mdisk?
A specific file mode number? (I'm using 6 for update in place... not
certain about that, I assume it means that if another id has linked/accesed
the disk, they don't have to reaccess to read the same file contents again.)

Cheers,
Don



Re: [CMS-PIPELINES] SPECS IF ... comparing strings

2018-12-17 Thread John P. Hartmann

It has always been sin

On 12/17/18 21:20, Michael Harding wrote:

The last I knew, double-quotes were the only acceptable delineator for this
construct but that may have changed.


Re: [CMS-PIPELINES] Wildcard searching

2018-10-31 Thread John P. Hartmann

Use CHOP 30|COPY|SPLIT|WILDCARD and JUXTAPOSE to prefix the remainder of
the record by each word.  It should be pretty easy to adapt WILDCARD to
serach for the keyword, as you suggest.  You'll have to do a bit of
contortion to get the topology just right.

I'm sure Rob can elaborate and also get the juxtapose timing just right,
perhaps to reverse the record and then CHOP -30.

You need to make up your mind as to whether you want the original record
or just the bytes beyond column 30, or something else indeed.

On 10/31/2018 03:17 PM, Stanislawski, Shawn (National VM Capability) wrote:

Want to filter a stream of records, letting only certain ones through based on 
a keyword in each record.
What we know:
-the keyword could be anywhere in the first 30 characters
-the keyword is space delineated (no leading space if keyword is first word)
-the first and last part of that keyword
-the count of unknown characters separating  the first and last parts of the 
keyword

For an example:
Within the first 30 characters of the record is the keyword : 'HCP??E ' , 
with exactly 6 unknown characters (no blanks) between 'HCP' and 'E '.

I know XEDIT's LOCATE can perform a similar search via the arbitrary character 
option 'SET ARBCHAR ON ?'.
I know PIPE's FIND can do this with blanks, but only if the keyword begins in 
column 1. (Or a static column (not a range) using ZONE.)

Aside from creating a sipping stage/custom filter, is there any provision for 
performing natively in PIPE such an action as this?

--Shawn S.


Re: [CMS-PIPELINES] Specs Variable

2018-08-08 Thread John P. Hartmann
As of z/VM 6.4, everyone can stuff a string into a counter.  There are 
tons of examples in the chapter "specs reference".


On 08/08/2018 10:40 AM, van Sleeuwen, Berry wrote:

Hi All,

I have a pipeline where I want to assign a variable during processing of the 
records. As long as that is a number a counter can be used. But some items are 
not numeric.

if g>#31 then', /* Higher CPU?   */
   set #31:=g ', /* Highest CPU Minute*/
   set #32:=B ', /* Busiest Minute*/
endif', /* End high CPU  */

The first passes in the specs stage find the highest CPU load in a minute and 
in a hour. The next part is to find the biggest consumer, so a userid or node 
would need to be saved but I can’t use a counter for that. Would it be possible 
to assign a variable in some other way?

Met vriendelijke groet/With kind regards/Mit freundlichen Grüßen,
Berry van Sleeuwen
Flight Forum 3000 5657 EW Eindhoven

This e-mail and the documents attached are confidential and intended solely for 
the addressee; it may also be privileged. If you receive this e-mail in error, 
please notify the sender immediately and destroy it. As its integrity cannot be 
secured on the Internet, Atos’ liability cannot be triggered for the message 
content. Although the sender endeavours to maintain a computer virus-free 
network, the sender does not warrant that this transmission is virus-free and 
will not be liable for any damages resulting from any virus transmitted. On all 
offers and agreements under which Atos Nederland B.V. supplies goods and/or 
services of whatever nature, the Terms of Delivery from Atos Nederland B.V. 
exclusively apply. The Terms of Delivery shall be promptly submitted to you on 
your request.



Re: [CMS-PIPELINES] NOT help out of date

2018-04-14 Thread John P. Hartmann

Ah, Mike.

Glenn wants to avoid a contorted pipeline topology, so what he is doing
is passing the output from FANIN to the *secondary* output of NOT, which
he can then later FANIN where he wants it.

Chances are that this can be accomplished much more easily with IF.

On 04/14/2018 07:57 AM, amphitr...@ok.de wrote:

Am 14.04.2018 um 03:49 schrieb Glenn Knickerbocker:

 | that: not fanin


How about 'that: fanin 1 0'? No need for 'not'.

Ciao.Mike
--
www.Ok.de - die kostenlose E-Mail Adresse



[CMS-PIPELINES] Hijacked thread

2018-03-03 Thread John P. Hartmann

I should like to know who this "someone" is.

Perhaps another troll?  Or a bot?  Or Watson being taught CMS?

Please explain to me also what relevance this has to the original posting.

On 03/03/2018 10:14 AM, Rob van der Heij wrote:

Someone commented on another list that he moved recent CMS pipelines to z/OS
and it simply worked.


Re: [CMS-PIPELINES] Selecting multiple record chunks

2018-03-02 Thread John P. Hartmann

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] Broken links 3277bfra 3277enc 64decode 64encode

2018-02-26 Thread John P. Hartmann

The two owners have both seen this.

The problem occurs on the partial lines of

http://vm.marist.edu/~pipeline/authelp.html

That is, SUSPEND, XRANGE, and the last messages are also affected.  The
way the web server implements subdirectories is, shall we say,
"minidiskcentered".  The mapping file does not point at the correct HTML
file for these.

Note that as of z/VM 6.4, the Marist site is no longer maintained as far
as the runtime library is concerned.  Thus, the help files are out of
date anyhow.

I can see that I regenerated the help files in July, 2010, but for a
reason long forgotten I did not roll the files out to the web server
directory.

I think I shall let sleeping dogs lie; chances are that I break it even
more if I try to fix it.  And, after all, it has been like this for
eight years now.


On 02/23/2018 02:25 PM, Rick Barlow wrote:

I expect that the owner of the Marist web page will eventually seen this
post and correct the situation.

Since you probably have z/VM if you are using Pipelines, you can find all
of the same information in the CMS Help files.
HELP PIPE 3277BFRA or PIPE AHELP 3277BFRA
HELP PIPE 3277ENC or PIPE AHELP 3277ENC
HELP PIPE 64ENCODE or PIPE AHELP 64ENCODE
HELP PIPE 64DECODE or PIPE AHELP 64DECODE

Rick Barlow




Re: [CMS-PIPELINES] getting the RC from third party commands

2018-01-11 Thread John P. Hartmann

Whether the OP really needs to include asynchronous messages from a
service machine or not in the command output, this is a valid scenario
that should be addressed in general and examples in the relevant book;
think, e.g., DIRMAINT.


Re: [CMS-PIPELINES] GLOBALV

2017-12-21 Thread John P. Hartmann

GET set a variable; it does not write to the console.

This gripe is so obvious, but in future, could you please specify what
you expect and what you achieved.  Thank you.

On 12/21/2017 06:00 PM, Gentry, Steve wrote:

I'm not understanding something.
Why does this work: GLOBALV SELECT SQL/DS LIST

And this doesn't:  GLOBALV SELECT SQL/DS GET DBNAME  (DBNAME IS valid.)


-Original Message-
From: CMSTSO Pipelines Discussion List [mailto:CMS-PIPELINES@VM.MARIST.EDU] On 
Behalf Of Michael Harding
Sent: Thursday, December 21, 2017 10:47 AM
To: CMS-PIPELINES@VM.MARIST.EDU
Subject: Re: GLOBALV

Or...
'PIPE command GLOBALV SELECT $$RDRLIS LIST | ... '  and locate or pick the
item(s) of interest.

--
Mike Harding
/sp


CMSTSO Pipelines Discussion List  wrote on
12/21/2017 07:31:37 AM:


From: Rob van der Heij 
To: CMS-PIPELINES@VM.MARIST.EDU
Date: 12/21/2017 07:31 AM
Subject: Re: GLOBALV
Sent by: CMSTSO Pipelines Discussion List


Steve,

Not really. CMS does not provide a native interface for CMS Pipelines
to exploit.

You can do things with "command" like this:
   'PIPE command GLOBALV SELECT $$RDRLIS STACK RDATETYP | append stack

| ...'


If you write a REXX filter, the value() function may be useful to do
what you need.

Rob


On 21 December 2017 at 16:24, Gentry, Steve <
steve.gen...@westernsouthernlife.com> wrote:


Hi.  Is it possible to issue the GLOBALV   command from pipes?  Or is
there a STAGE to retrieve the info?
I've tried a number of combination of commands with no luck.  Those
include  "| CMS GLOBALV . . . ." ,  "| CP GLOBALV . . . ." ,  "|

COMMAND

GLOBALV . . . . "  and a couple of things with SPEC.
I could just read the file in a pipe and get what I want but prefer
not

to.

Thanks,
Steve





Re: [CMS-PIPELINES] Selection of content

2017-12-09 Thread John P. Hartmann

This works for me:

Signal on novalue
numeric digits 12
Address COMMAND
'PIPE (end \ name T)',
   '\literal x',
   '|literal abc',
   '|l:locate /*/',
   '|g: gate',
   '|hole',
   '\l:',
   '|buffer',
   '|g:',
   '|cons'
Exit RC


On 12/08/2017 11:36 PM, Rob van der Heij wrote:

Sorry, I missed some of the negates in your question. Yes, make it a "gate"
rather than "dam" because you want to cut the pipe when the trigger is
found. To get the trigger on its own, you could do something with fanout to
feed it to a "fanin" just before the end. Or use "strliteral ifempty ,*, "

Sir Rob the Plumber

On 8 December 2017 at 23:05, James Vincent 
wrote:


If there is no * I get no records.  If there is a * I get all the records
BUT the *.  It seems close...

I was messing with GATE and thought I was on to something, but still could
not make it work.


-- *James Vincent*
-- Calendar: http://tinyurl.com/JSVCalWeek

On Fri, Dec 8, 2017 at 4:45 PM, Rob van der Heij 
wrote:


So that means you need to buffer possibly all of your input records

before

you know you don't want them? You can trigger 'dam' to decide whether you
let the data pass, something like this:

callpipe (end \)
   \ i: fanin | d: dam
   \ *:
   | x: locate ,*,
   | take
   | i:
   \ x:
   | buffer
   | d:
   | *:

Assuming you want to discard the record with the * in it, if not you'd

use

a 'fanout' to retain the full copy.
But I have a feeling you'd end up with different requirements when you've
thought this through.

Sir Rob the Plumber


On 8 December 2017 at 20:58, James Vincent 
wrote:


I am hitting a wall trying to figure out how to do this elegantly and

am

betting someone knows.

I have a pipe of records and want to select all the records only if "*"

is

not in the stream.  If "*" is in the stream, then only select that one.

For instance:

abc
123
*

Result should be:  *But if * is missing, then the result is abc and

123


Any thoughts?

-- *James Vincent*
-- Calendar: http://tinyurl.com/JSVCalWeek







Re: [CMS-PIPELINES] LEXX for Pipelines

2017-11-28 Thread John P. Hartmann

Alan, you are describing the ultimate aim for "the Plumbers' Workbench".

A worktop where you can drag and drop stages and connect them.  The
pipeline end (the mere programming) is in place and is called "encoded
pipeline".

Alas, the gui seems to be done by a lot of other players, none of which
even wanted to discuss using their technology; perhaps their patent
position was a bit dodgy.  I forget their names, but  funnily, many of
them had "pipe" in their names.

On 11/28/2017 06:11 PM, Alan Altmark wrote:

On Tuesday, 11/28/2017 at 08:28 GMT, Rob van der Heij 
wrote:

I fear the discussion goes beyond what the IBMVM folks care about ...


I wouldn't say that.  If LEXX would help me get the syntax of a pipe
correct, I'd use it, even if I end up with a pipe that's correctly written
to do the wrong thing.  :-)

But you do point out that today's world is one of DevOps where you can
assemble an app from components.  As you suggest, an XEDIT macro that
helps me select the next stage(s) based on the output streams of the
'current' stage would be good, showing me sample data flowing through the
pipe.  With your animation.  Finally, a good use for 3279 graphics?  ;-)
OK, fine, a web page that generates code I can copy/paste.

I want to drag the pieces together to create the pipe I want.
- Tear apart data
- Find data
- Rearrange data
- Combine data
- Change the order of processing
- Sort by various criteria
- Establish conditional selectionr
- Data transformation
- Data tagging (to create XML, HTML, spreadsheets)

I want to see Tom Cruise use a holographic display to drag the parts
together into a program.  Rotate it.  Look at it from multiple angles.
Adjust it.  It collapses into a smooth sphere when complete.  (That's how
you know what 'done' looks like.)  Toss it into the toolbox for later use.

Is that too much to ask?  I don't think so

Alan Altmark

Senior Managing z/VM and Linux Consultant
IBM Systems Lab Services
IBM Z Delivery Practice
ibm.com/systems/services/labservices
office: 607.429.3323
mobile; 607.321.7556
alan_altm...@us.ibm.com
IBM Endicott



Re: [CMS-PIPELINES] split between a number and a letter

2017-11-06 Thread John P. Hartmann

I think I should use the 407.

I'd first have a copy of the record where I'd xlate all numbers to, say, 
0 and all letters so, say, a.  I'd select the records by locate /0a/ and 
then in the 407 for those records i'd #0=pos("0a", record(1, 100)) and 
write the two parts of the record with an output item that uses the 
position determined.


On 11/03/2017 02:00 PM, Dale R. Smith wrote:

On Thu, 2 Nov 2017 13:01:13 -0400, Glenn Knickerbocker  wrote:


To pick out PTF numbers from freeform text, I'm splitting on anything
that's not alphanumeric and then looking for U as the first character,
etc.  I just had a problem where somebody accidentally ran the APAR and
PTF numbers together into PI86281UI51100, so I didn't find the PTF
number.  My code *should* be short-lived, and I could SPLIT BEFORE ANYOF
'OPU' to handle our current APAR and PTF prefixes, but we all know how
many decades later we fall into those traps.  Am I overlooking some
simple way (short of resorting to PATTERN) to split before a letter that
follows a number?

¬R


| insert / / after 7?



Re: [CMS-PIPELINES] A better choice than Locate

2017-10-25 Thread John P. Hartmann

pick w1 ==/BUILD/ and w2 ==/ON/

On 10/25/2017 01:56 AM, Glenn Knickerbocker wrote:

pick w1 ==/BUILD/  | pick w2 ==/ON/


Re: [CMS-PIPELINES] using IUCV sockets in a pipe stage

2017-09-02 Thread John P. Hartmann

First of all, you need to learn about CMSIUCV.

Then perhaps check the return codes?  I expect your hndiucv was
rejected, because otherwise you just lost access to your SFS files.

Use TRACE EXT to see IUCV interrupts.

If this isn't a learning exercise, I suggest you let us know what you
are after (SSL, perhaps?).  Chances are Rob already has it.

On 09/02/2017 07:22 AM, Donald Russell wrote:

I must be missing something basic at this point, but think I'm doing
everything correctly based on the TCP/IP Programmer's Reference.


Re: [CMS-PIPELINES] FTP stage that does encryption?

2017-08-27 Thread John P. Hartmann

Alan, aren't you on a least 6.4?

FILEDESCRIPTOR should be there; in fact is has been in DMSPIPE ever
since OpenExtensions went in, which is when we were young and handsome.
But like so much else it was no doubt deemed too difficult to document
other than in PIPE AHELP and later in the Author's edition.

As I have no access to a 6.4 system I have to defer to Rob, but he and
Lizet have taken some days off.

Try

pipe literal resolve filedescriptor | pipcmd
Ready(65557160); T=0.01/0.01 08:20:58

As far as PIPE AHELP is concerned: in z/VM 6.3, the only function that
is unsupported is what is not shipped, which means anything marked by
exclamation point or inverted exclamation point in ahelp or the Author's
edition.  Anything earlier (i.e., 1.1.10 and earlier) is fully supported
regardless of the way it is documented.  Essentially, if it is there it
is supported.


On 08/28/2017 04:36 AM, Alan Altmark wrote:

On Sunday, 08/27/2017 at 07:05 GMT, "John P. Hartmann"
 wrote:

If fd means filedescriptor, try

pipe ahelp filedescriptor


Since it's not in the list of supported states (pipe help), I have to be
careful calling them out.  But, yes, fd is a POSIX file descriptor.

Alan Altmark

Senior Managing z/VM and Linux Consultant
IBM Systems Lab Services
IBM Z Delivery Practice
ibm.com/systems/services/labservices
office: 607.429.3323
mobile; 607.321.7556
alan_altm...@us.ibm.com
IBM Endicott



Re: [CMS-PIPELINES] FTP stage that does encryption?

2017-08-27 Thread John P. Hartmann

If fd means filedescriptor, try

pipe ahelp filedescriptor

On 08/27/2017 07:40 PM, Alan Altmark wrote:

USS is very much separate from MVS.

  CSL = Callable Services (Language).   Google, man, google.  Same goes for the 
Pipe storage stage.

  There are no stages I'm aware of that connect to an arbitrary fd, but you can 
write a stage that does that.


Re: [CMS-PIPELINES] Not at all "dead"

2017-08-27 Thread John P. Hartmann

I have already sent my apologies to Dave.

I checked my facts and decided that things were quite alive, but forgot
to delete the offending sentence before I sent my append.

On 08/27/2017 03:55 PM, Thomas David Rivers wrote:

We've received a couple of notes from a mention on this e-mail
list that we were "dead".


Re: [CMS-PIPELINES] FTP stage that does encryption?

2017-08-26 Thread John P. Hartmann

Since Alan mentions other C implementations for CMS, I shall take the
liberty of mentioning

https://github.com/jphartmann/cmslib-exec

refer to gcc390.pdf to see a description of how to cross-compile for CMS.

The pipeline support for bfs does indeed use the BPX callable services.
I had that support long before OpenExtensions were released as the
built-in programs were written for MVS.

The Dignus compiler seems dead, even if google will tell you about it.

On 08/27/2017 07:28 AM, Alan Altmark wrote:

On Saturday, 08/26/2017 at 09:51 GMT, Paul Gilmartin
 wrote:

On 2017-08-26, at 12:54, Donald Russell wrote:


Assembler will be my only choice since we cancelled our VM C compiler
license. :-(. Too bad, might have been easier to port the zLinux FTP

client

and make it pipe-aware.


Would that be under OpenExtensions?  What about GCC?


Unlike z/OS, the POSIX environment in CMS is integrated; it's not a
separate subsystem.  With an appropriate stage, the PIPE command can get
to any part of CMS.  Specifically, those stages can call the BPX1 CSLs to
do whatever you want.

Google is your friend.  There appears to be a gcc port (gccmvs) that works
on CMS.  There is also a C compiler available from Dignus.


  Are there Pipelines drivers for POSIX sockets?


What do you mean by "POSIX sockets"?  If you mean AF_UNIX, then no, I
don't think anyone has written anything for them.  If you mean AF_INET,
then see TCPCLIENT and TCPLISTEN.

The 'storage' stage in Pipes can also access memory directly.

Alan Altmark

Senior Managing z/VM and Linux Consultant
IBM Systems Lab Services
IBM Z Delivery Practice
ibm.com/systems/services/labservices
office: 607.429.3323
mobile; 607.321.7556
alan_altm...@us.ibm.com
IBM Endicott



Re: [CMS-PIPELINES] where is FPLNXF? (now PIPGDIR)

2017-07-08 Thread John P. Hartmann

Dave, it should be on the MAIN 193 (samples) disk.

On 07/08/2017 05:58 PM, Dave Jones wrote:

Thanks for that note, John. Always good to know stuff like that.

Now I'm looking for the PIPGDIR exec to compile eptables. I must be
getting old because I can't remember where I last had it:-)

Have a good weekend, too.
DJ

On 07/05/2017 12:41 PM, John P. Hartmann wrote:

Not really, Dave.

FPLNXF is compatible with DMSPFP, but it supports more/other.  For
example, it allows you to install your own functions for SPECs.

On 07/05/2017 07:22 PM, Dave Jones wrote:

OK, so this is the old "switch the name of the text file" ploy, is
it? :-)
Thanks, John.
DJ

On 07/05/2017 11:52 AM, John P. Hartmann wrote:

Dave,

DMSPFP TEXT S ought to do it.  Otherwise you should find them at
Marist,
but you might also look in your reader.

On 07/05/2017 06:38 PM, Dave Jones wrote:

Hello, all.
I'm trying to write a PIPE stage in assembler but at the link step
I get
"FPLNXF undefined".
I have done a:
 gl txtlib FPLGCC   FPLPOP   FPLLIB

Where might that code be found?

Thanks and have a good one.
DJ

--
ITC-email-sig

*David Jones **|**Managing Director for zSystems Services **|**z/VM,
Linux, and Cloud
703.237.7370 (Office) **|**281.578.7544 (Cell)*

*Information Technology Company <http://www.itconline.com/>*



--
ITC-email-sig

*David Jones **|**Managing Director for zSystems Services **|**z/VM,
Linux, and Cloud
703.237.7370 (Office) **|**281.578.7544 (Cell)*

*Information Technology Company <http://www.itconline.com/>*



--
ITC-email-sig

*David Jones **|**Managing Director for zSystems Services **|**z/VM,
Linux, and Cloud
703.237.7370 (Office) **|**281.578.7544 (Cell)*

*Information Technology Company <http://www.itconline.com/>*



Re: [CMS-PIPELINES] where is FPLNXF?

2017-07-05 Thread John P. Hartmann

Not really, Dave.

FPLNXF is compatible with DMSPFP, but it supports more/other.  For
example, it allows you to install your own functions for SPECs.

On 07/05/2017 07:22 PM, Dave Jones wrote:

OK, so this is the old "switch the name of the text file" ploy, is it? :-)
Thanks, John.
DJ

On 07/05/2017 11:52 AM, John P. Hartmann wrote:

Dave,

DMSPFP TEXT S ought to do it.  Otherwise you should find them at Marist,
but you might also look in your reader.

On 07/05/2017 06:38 PM, Dave Jones wrote:

Hello, all.
I'm trying to write a PIPE stage in assembler but at the link step I get
"FPLNXF undefined".
I have done a:
gl txtlib FPLGCC   FPLPOP   FPLLIB

Where might that code be found?

Thanks and have a good one.
DJ

--
ITC-email-sig

*David Jones **|**Managing Director for zSystems Services **|**z/VM,
Linux, and Cloud
703.237.7370 (Office) **|**281.578.7544 (Cell)*

*Information Technology Company <http://www.itconline.com/>*



--
ITC-email-sig

*David Jones **|**Managing Director for zSystems Services **|**z/VM,
Linux, and Cloud
703.237.7370 (Office) **|**281.578.7544 (Cell)*

*Information Technology Company <http://www.itconline.com/>*



Re: [CMS-PIPELINES] where is FPLNXF?

2017-07-05 Thread John P. Hartmann

Dave,

To generate a filter package you must do LOAD and INCLUDE so as to make
the glue module the start of the filter package, so GENOD ... ( FROM
DMSPFP is de rigueur.


On 07/05/2017 06:38 PM, Dave Jones wrote:

Hello, all.
I'm trying to write a PIPE stage in assembler but at the link step I get
"FPLNXF undefined".
I have done a:
   gl txtlib FPLGCC   FPLPOP   FPLLIB

Where might that code be found?

Thanks and have a good one.
DJ

--
ITC-email-sig

*David Jones **|**Managing Director for zSystems Services **|**z/VM,
Linux, and Cloud
703.237.7370 (Office) **|**281.578.7544 (Cell)*

*Information Technology Company *



Re: [CMS-PIPELINES] where is FPLNXF?

2017-07-05 Thread John P. Hartmann

Dave,

DMSPFP TEXT S ought to do it.  Otherwise you should find them at Marist,
but you might also look in your reader.

On 07/05/2017 06:38 PM, Dave Jones wrote:

Hello, all.
I'm trying to write a PIPE stage in assembler but at the link step I get
"FPLNXF undefined".
I have done a:
   gl txtlib FPLGCC   FPLPOP   FPLLIB

Where might that code be found?

Thanks and have a good one.
DJ

--
ITC-email-sig

*David Jones **|**Managing Director for zSystems Services **|**z/VM,
Linux, and Cloud
703.237.7370 (Office) **|**281.578.7544 (Cell)*

*Information Technology Company *



Re: [CMS-PIPELINES] FPLSPX1086E Improper operand for string comparison

2017-06-27 Thread John P. Hartmann

Not so fast.

It all depends how the logical expression

if #0==''

is evaluated.  On the first record it is unassigned, which compares 
equal with a null string; on the sixth round, it is zero which converts 
to "0"; perhaps not what was desired.


A better test for the first record is

if first()

And yes it sure would have been better if the default for the terminal 
line editing characters had been OFF for a screen.  Tch, tch, Newson.


On 06/27/2017 08:05 PM, Gentry, Steve wrote:

Just tried again from the a command line.  The '#' (w/o quotes) might be 
causing the problem.  CP is interpreting it as an end of line and I'm guessing 
the 0 (zero) doesn't get prefixed with the '#'
Steve

-Original Message-
From: CMSTSO Pipelines Discussion List [mailto:CMS-PIPELINES@VM.MARIST.EDU] On 
Behalf Of Ackerman, Alan
Sent: Tuesday, June 27, 2017 1:53 PM
To: CMS-PIPELINES@VM.MARIST.EDU
Subject: Re: FPLSPX1086E Improper operand for string comparison

Works for me. Maybe you have an older version of CMS Pipelines.

I put it into a Rexx EXEC and surrounded it with double quotes, since you are 
using single quotes.

temp
 -5
 -4
 -3
 -2
 -1
  0
  1
  2
  3

pipe query level
FPLINX560I CMS Pipelines, 5741-A07 level 110C000D.
   
  q cplevel

z/VM Version 6 Release 4.0, service level 1701 (64-bit)
Generated at 2017-05-31 15:55:26 PDT
IPL at 2017-05-31 17:12:15 PDT

Alan Ackerman
Vice President
Cnslt II - Sys Eng California
Technology Engineering & Operations
Bank of America
CA4-136-01-01, 2546 SAN PABLO AVE, Berkeley, CA T 510.529.4128 
alan.acker...@bankofamerica.com

Life's better when we're connected®


-Original Message-
From: CMSTSO Pipelines Discussion List [mailto:CMS-PIPELINES@VM.MARIST.EDU] On 
Behalf Of Stanislawski, Shawn (National VM Capability)
Sent: Tuesday, June 27, 2017 10:10 AM
To: CMS-PIPELINES@VM.MARIST.EDU
Subject: [CMS-PIPELINES] FPLSPX1086E Improper operand for string comparison

Decided to give Mike's pipe a try, but it gives me an error:

pipe literal *|dup 8|spec if #0=='' then set #0:=-5 else set #0+=1 endif print 
#0 n|Cons

"
FPLSPX1086E Improper operand for string comparison
FPLMSG003I ... Issued from stage 3 of pipeline 1
FPLMSG001I ... Running "spec if #0=='' then set #0:=-5 else set #0+=1 endi"
FPLSPE192I ... Scan at position 9; previous data "if #0==''"
Ready (01086); T=0.01/0.01 12:06:48
"

Any ideas?


--Shawn S.


-Original Message-
From: CMSTSO Pipelines Discussion List [mailto:CMS-PIPELINES@VM.MARIST.EDU] On 
Behalf Of Michael Harding
Sent: Tuesday, June 28, 2016 15:32
To: CMS-PIPELINES@VM.MARIST.EDU
Subject: Re: [CMS-PIPELINES] Speaking of SPECS NUMBER

pipe literal *|dup 8|spec if #0=='' then set #0:=-5 else set #0+=1 endif print 
#0 n|Cons
  -5
  -4
  -3
  -2
      -1
   0
   1
   2
   3
Ready; T=0.01/0.01 13:26:02

--
Mike Harding
z/VM System Support


From: "John P. Hartmann" 
To: CMS-PIPELINES@VM.MARIST.EDU
Date: 06/28/2016 01:01 PM
Subject: Re: Speaking of SPECS NUMBER
Sent by: CMSTSO Pipelines Discussion List


#0 will never become positive.  Is that what you wanted?


--
This message, and any attachments, is for the intended recipient(s) only, may 
contain information that is privileged, confidential and/or proprietary and 
subject to important terms and conditions available at 
http://www.bankofamerica.com/emaildisclaimer.   If you are not the intended 
recipient, please delete this message.



Re: [CMS-PIPELINES] FPLSPX1086E Improper operand for string comparison

2017-06-27 Thread John P. Hartmann

Let me guess.  You are on the second record.  #0 contains the number 5
and you compare it to a string.

On 06/27/2017 07:10 PM, Stanislawski, Shawn (National VM Capability) wrote:

Decided to give Mike's pipe a try, but it gives me an error:

pipe literal *|dup 8|spec if #0=='' then set #0:=-5 else set #0+=1 endif print 
#0 n|Cons

"
FPLSPX1086E Improper operand for string comparison
FPLMSG003I ... Issued from stage 3 of pipeline 1
FPLMSG001I ... Running "spec if #0=='' then set #0:=-5 else set #0+=1 endi"
FPLSPE192I ... Scan at position 9; previous data "if #0==''"
Ready (01086); T=0.01/0.01 12:06:48
"

Any ideas?


--Shawn S.


-Original Message-
From: CMSTSO Pipelines Discussion List [mailto:CMS-PIPELINES@VM.MARIST.EDU] On 
Behalf Of Michael Harding
Sent: Tuesday, June 28, 2016 15:32
To: CMS-PIPELINES@VM.MARIST.EDU
Subject: Re: [CMS-PIPELINES] Speaking of SPECS NUMBER

pipe literal *|dup 8|spec if #0=='' then set #0:=-5 else set #0+=1 endif print 
#0 n|Cons
  -5
  -4
  -3
  -2
  -1
   0
   1
   2
   3
Ready; T=0.01/0.01 13:26:02

--
Mike Harding
z/VM System Support


From: "John P. Hartmann" 
To: CMS-PIPELINES@VM.MARIST.EDU
Date: 06/28/2016 01:01 PM
Subject: Re: Speaking of SPECS NUMBER
Sent by: CMSTSO Pipelines Discussion List


#0 will never become positive.  Is that what you wanted?


Re: [CMS-PIPELINES] Convert continuation character

2017-05-17 Thread John P. Hartmann

xlate 72 00-ff * blank blank

On 05/17/2017 02:54 PM, Davis, Larry (National VM Capability) wrote:

In an IOCP file Column 72 usually has an arbitrary character to represent that 
the next line is a continuation of this line.

How can I use a Pipe to Change every line that has Something other than a blank 
or Null in Column 72 to what I want to use as a continuation character like a 
'+' or '*'.

I started to think I could use a blank between the delimiters in the LOCATE 
stage but this just puts a + in column 72 and makes every line a continuation.

'| o1:  LOCATE 72 / /',
'| i1:   FANINANY ',
.
.
.
'?  O1:  SPECS 1-71 1 /+/ n 73-* n'

Any suggestions from the pipers



Larry Davis
DXC Technology, National Mainframe z/VM team
T +1.813.394.4240
larry.dav...@dxc.com



Re: [CMS-PIPELINES] HNDSVC

2017-05-08 Thread John P. Hartmann

Thanks, Alan.

Here is the final wrinkle:

People messing with SSAOPSWA on z/CMS might also need to zero bit 31
(64-bit addressing) of OLDPSW thus:

  NIOLDPSW+3,X'FE'   Turn off 64-bit mode

Lest they experience an addressing exception by the 31-bit mode bit
remaining one in the instruction address and being interpreted as an
address bit rather than a mode bit.

This caters for the condition where the SVC is used to return to 31-bit
code.  Bit 31 of the old PSW should (of course?) be left strictly alone
if you wish to get back to the place where the SVC was issued in
whichever addressing mode it was issued (better do the SVC below the
bar, methinks).

(Please pass this info on to Mikey in case he cares.)

On 05/08/2017 06:39 AM, Alan Altmark wrote:

On Wednesday, 05/03/2017 at 08:29 GMT, "John P. Hartmann"
 wrote:

HNDSVC sets up a handler for SVCs.

The documentation does not describe how to set the contents of a
register upon return, only that registers are restored.  I assume this
is from the system save area (SSAVE) and that one would have to modify
the saved registers there.  Correct?


Yes.  That's how SVCs that return data in registers do it.


SPIE allows for a way to resume at some other point than the interrupt
(which often is desirable); suppose one would want to do the same for a
SVC; perhaps the address of an error routine has been passed in the
parameter list.  Also modify the SSAVE (SSAOPSWA)?


Yes.  In fact, that's what SPIE changes.

Alan Altmark

Senior Managing z/VM and Linux Consultant
Lab Services System z Delivery Practice
IBM Systems & Technology Group
ibm.com/systems/services/labservices
office: 607.429.3323
mobile; 607.321.7556
alan_altm...@us.ibm.com
IBM Endicott



[CMS-PIPELINES] HNDSVC

2017-05-03 Thread John P. Hartmann

HNDSVC sets up a handler for SVCs.

The documentation does not describe how to set the contents of a
register upon return, only that registers are restored.  I assume this
is from the system save area (SSAVE) and that one would have to modify
the saved registers there.  Correct?

SPIE allows for a way to resume at some other point than the interrupt
(which often is desirable); suppose one would want to do the same for a
SVC; perhaps the address of an error routine has been passed in the
parameter list.  Also modify the SSAVE (SSAOPSWA)?

Thanks,  j.


Re: [CMS-PIPELINES] Calculating square root

2017-04-21 Thread John P. Hartmann

In the meanwhile you could see if

http://vm.marist.edu/~pipeline/#Runtime

works for you.  Totally unsupported.

On 04/22/2017 02:00 AM, Donald Russell wrote:

Thanks Rob,

My first try was sqrt as part of spec but it didn't work, hence my
question.

I'll have to wait a couple of moths for vm 6.4 but thanks for the heads up,
I can wait and in the meantime kludge something together to get me by.
I have an exec that calculates sqrt so I'll use that.

Nice to see the enhancements, I'll have to start reading up. :-)

Cheers,
Don


  1   2   3   4   5   >