I found a readme in the Rexx subdir of Pc-Pipes, telling one can/should replace REXX.EXE by RxPIPE.EXE So, I did, but now my pipe still doesn't work: address RxPipe 'PIPE (end ? sep !)', 'diskr' belegfil, '!Nfind *!Nfind T!StrNfind " *"', '!A: Find A!SPEC W2-* 1!STEM A. ?A:', /* Nog niet gebruikt .. */ '!V: Find V!SPEC W2-* 1!STEM V. ?V:', /* Nog niet gebruikt .. */ '!R: Find R!SPEC W2-* 1!STEM R. ?R:', /* Nog niet gebruikt .. */ '!Y: Find Y!SPEC W3-* 1!STEM Y. ?Y:', /* Nog niet gebruikt .. */ '!B: Find B! STEM B. ?B:', '!Out: Fanout', /* Make second copy */ ,/* Zet "found.x.nr=1" (bvb found.D.123) */ '!SPEC /=FOUND./ 1 1 N /./ N w2 N /=1/ N', '!SORT Unique!VARLOAD DIRECT', '?Out:', '!D: Find D!SPEC W2-* 1!STEM D. ?D:', /* Nog niet gebruikt .. */ '!H: Find H!SPEC W2-* 1!STEM H. ?H:', '!I: Find I!SPEC W2-* 1!STEM I. ?I:', '!K: Find K!SPEC W2-* 1!STEM K. ?K:', /* Nog niet gebruikt .. */ '!S: Find S!SPEC W2-* 1!STEM S. ?S:' It yields: Unknown option specified: ! Unknown option specified: Stream label has not been defined: S Syntax errors in pipe definition
I case you wonder why I use ! as stage separator: up to now I use W32PIPE, a very old version of a Win32 Pipe created by a colleague in Holland, there the default separator is !. 2009/7/7 Kris Buelens <kris.buel...@gmail.com> > I installed ooREXX 4.0 and RxPipe with the SETUP.EXE found in the > Support for Rexx only is included in this package > PC-PipesRexx.zip.<http://ipages.iland.net/%7Ejimj/PC-PipesRexx.zip> > (I did not reboot.) > I gave it a try, but the PIPE command gives RC=30 > (I used address RxPipe 'PIPE ....) > >>> "PIPE (end ? sep !) diskr > E:\kristool\PKGS\DRDIALOG\appls\BELEGING. > INP !Nfind *!Nfind T!StrNfind " *" !A: Find A!SPEC W2-* 1!STEM A. ?A: !V: > Find V > !SPEC W2-* 1!STEM V. ?V: !R: Find R!SPEC W2-* 1!STEM R. ?R: !Y: Find Y!SPEC > W3-* > 1!STEM Y. ?Y: !B: Find B! STEM B. ?B: !Out: Fanout !SPEC > /=FOUND./ 1 > 1 N /./ N w2 N /=1/ N !SORT Unique!VARLOAD DIRECT ?Out: !D: Find D!SPEC > W2-* 1! > STEM D. ?D: !H: Find H!SPEC W2-* 1!STEM H. ?H: !I: Find I!SPEC W2-* 1!STEM > I. ?I > : !K: Find K!SPEC W2-* 1!STEM K. ?K: !S: Find S!SPEC W2-* 1!STEM S. ?S:" > +++ "RC(30)" > With RexxTry I tested that " address blabla 'xyz' " also yields RC 30 , so > it seems the RxPipe environment is not found. > > 2009/7/7 James Johnson <j...@iland.net> > > Yes. The only difference is that you MUST specify the command environment. >> You have to issue a global "address rxpipe" or prefix your pipe commands >> with "address rxpipe". >> Also on Linux you have to be aware of case sensitivity. >> >> Below is one of the sample Rexx scripts. >> >> /* #CallPipeDemo.rexx */ >> address rxpipe >> arg verify >> >> if verify then >> cons = '|digest md5|var hash' >> else do >> cons = '|console' >> say "Demostrate the Rexx stage and CallPipe command" >> end >> >> pipe = "(end ?) stem Stem0.", >> "|rexx CallPipeStage sort", >> "|literal CallPipe demo with '"sort"' option"||, >> "|f:fanin 0 1", >> cons, >> "? stem Stem0.", >> "|CallPipeStage", >> "|drop 1", >> "| xlate 1-* A-F 3a-3f", /* Translate A to F to be above X"F9" */ >> "| sort", /* Sort the records */ >> "| xlate 1-* 3a-3f A-F", /* Restore original characters A to F */ >> "|literal CallPipe demo with out '"sort"' option"||, >> "|f:" >> >> data = "B999-1 1323-1 FFFF-1 BA82-1 1A43-1 20DD-1 xyz B999-2 1323-2 >> FFFF-2 BA82-2 1A43-2 20DD-2" >> >> 'pipe var data|split|stem stem0.' >> >> if \verify then >> call "FormatPipe" pipe >> >> 'pipe' pipe >> >> if verify then >> failed = hash \= 'CCD6E86E008D05AD4952AC341FDFDEB7' >> else >> failed = 0 >> >> return failed >> >> Here is the user stage: >> >> /* callPipeStage */ >> address rxpipe >> arg opt . >> >> if opt = "SORT" then >> pipe = "*.input:", -- connect to output of stage preceding >> caller >> "| tolabel xyz"||, >> "| xlate 1-* A-F 3a-3f", -- Translate A to F to be above X"F9" >> "| sort", -- Sort the records >> "| xlate 1-* 3a-3f A-F", -- Restore original characters A to F >> "| *.output:" -- connect to input of stage following caller >> else >> pipe = "*.input:", -- connect to output of stage preceding caller >> "| frlabel xyz" >> >> 'callpipe' pipe >> >> 'select both 0' >> >> if opt <> "SORT" then do >> 'PeekTo line' >> do while rc = 0 >> 'Output' line >> if rc = 0 then do >> 'ReadTo' >> 'PeekTo line' >> end >> end >> end >> >> Kris Buelens wrote: >> >>> After reading PC-Pipes web page, the Rexx support still isn't clear to >>> me. >>> Does it mean now that a OOrexx programs can call PC-Pipes just like in >>> z/VM? >>> >>> 2009/7/6 James Johnson <j...@iland.net> >>> >>> >>> A new release of PC-Pipes is available. >>>> >>>> On Windows systems PC-Pipes can be used via PowerShell 1.0 or ooRexx >>>> 4.0, on Linux systems >>>> ooRexx 4.0 must be used. >>>> >>>> System requirements: >>>> Windows: >>>> XP >>>> Net Framework 2.0 or higher >>>> PowerShell version 1.0 and/or ooRexx version 4.0 >>>> >>>> Linux: >>>> kernel 2.6 (Code was built and tested on a 2.6 system but should >>>> work on earlier systems) >>>> Mono 2.4 >>>> ooRexx 4.0 >>>> >>>> The code can be found at the following address: >>>> >>>> http://ipages.iland.net/~jimj/ <http://ipages.iland.net/%7Ejimj/>< >>>> http://ipages.iland.net/%7Ejimj/> >>>> >>>> Any thoughts or comments are welcome. >>>> >>>> James Johnson >>>> >>>> >>>> >>> >>> >>> -- >>> Kris Buelens, >>> IBM Belgium, VM customer support >>> >>> >>> > > > -- > Kris Buelens, > IBM Belgium, VM customer support > -- Kris Buelens, IBM Belgium, VM customer support