Category Archives: Rexx

RxRandom Revisited — Metal C

Continuing the Writing a Rexx Function in C and the follow-on Updated RxRandom External Rexx Function (in C) discussion, can I convert RxRandom to Metal C? I originally worked on writing Rexx external function in C using the System Programmer C facility; this was before Metal C existed. There should be some performance benefit to… Read More »

Updated RxRandom External Rexx Function (in C)

The Rexx external function RXRANDOM I wrote about before is not very compatible with the IBM provided (and standard Rexx) RANDOM internal function. The one I wrote initially took no arguments, and so did not demonstrate how to handle arguments, whereas the built-in function takes min, max and seed arguments. I can handle the min… Read More »

X34 – Update with Path Support

I’m working on updating X34 to support Unix directory paths in addition to datasets. X34 lists all datasets for high-level qualifiers FOO.BAR X34 SYS%.**.H any 3.4 mask will work X34 /path lists Unix directory /path NEW X34 ~/path referencing from home directory works, too NEW X34 uses the dataset or Unix path name at… Read More »

ldapsearch Phone Directory

Back in the day we kept phone number in a dataset which we’d browse with ISPF and find the number we needed.  Then we improved it a bit with an ISPF BRIF service program that filtered the lines of the dataset based upon an input search parameter saving the “FIND” step.  At first we maintained… Read More »


ISPF Option 3.4 is great.  REFLISTs are also pretty good, but they are little used and a bit inconvenient.  This project sets up an ISPF command table entry to invoke a Rexx exec that will give a Dataset List (i.e. option 3.4-like) panel based upon a REFLIST or high-level qualifier or userid/second-level qualifier.  This is… Read More »

Writing a Rexx Function in C

Suppose there is a C language runtime function you’d like to be able to access from Rexx.  Or maybe you want to call some other system service, IGGCSI00 perhaps, and leverage tools such as sprintf() to build nice looking output. You could write an LE enabled assembler Rexx external function to call the routine or,… Read More »