The previous bank that I worked for had 2 REXX shortcuts very handy:
1. shortcut: SSD
In the command line we type SSD and we go directly to job output instead of doing S;ST
2. COB
In our COBOL Source, we could compile directly by member with shortcut COB, that would call 2 jobs: compile & bind (the program name would be retrieved and the compilation job would be submitted).
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
re: COB
You need an editor macro that:
1. issues SAVE (so the compile job gets your latest changes)
2. uses DATASET and MEMBER statements to determine what you are editing.
3. Build job to compile the member being edited.
4. submit the job.
As you can see this reys on a standard name for the LOADLIB which is related to the source library.
I tried this on a little DUMMY program as the last 'real' COBOL program I wrote was punched on an IBM Model 27!
Re the SDSF thingie, for that you will need an ISPF command table entry. The ISPCMDU program in Use [URL] BBCode for External Links file 349 lets you do that dynamically.
Joined: 01 Feb 2007 Posts: 89 Location: Stockholm, Sweden
One can do it the "clumsy" way too.
► 3.3 copy 'ISPPROF' (mine's called ISPF.ISPPROF here) member ISRCMDS to XXXCMDS
► 3.9 Add your SSD command: as SELECT CMD(SSD)
► (I close all other screens at this point, just in case I screw something up somehow)
► 3.3 copy 'ISPPROF' member XXXCMDS to ISRCMDS (or use TSO COPY or SMCOPY in native if you are extra paranoid)
► Restart ISPF (not sure this is essential but I do it)
/Steve
Joined: 07 Feb 2009 Posts: 1306 Location: Vilnius, Lithuania
Or you can do it with a little exec:
Code:
/* REXX exec to update my command tables */
/*** trace ?r ***************************************************** \| *
* (C) Copyright Robert AH Prins, 2009-2016 *
************************************************************************
* ------------------------------------------------------------------ *
* | Date | By | Remarks | *
* |------------+------+----------------------------------------------| *
* | | | | *
* |------------+------+----------------------------------------------| *
* | 2010-05-13 | RAHP | Use ISPTABL, not ISPPROF | *
* |------------+------+----------------------------------------------| *
* | 2009-04-16 | RAHP | Now RAHP- and HERECMDS | *
* |------------+------+----------------------------------------------| *
* | 2009-04-08 | RAHP | Initial version | *
* |------------+------+----------------------------------------------| *
************************************************************************
* UCMDS is a REXX exec to update my site-independent (RAHPCMDS) and *
* site-specific (HERECMDS) tables. Because it is not possible to *
* update an open ISPF command table, this exec copies it to $$$$CMDS, *
* invokes ISPUCM (the command table update program) with a parameter *
* of $$$$ and then copies the updated table back to USERCMDS. Note *
* that is necessary to restart ISPF to enable any new commands. *
* *
* Copies of the new command tables are saved to my exec library. *
************************************************************************
* Send questions, suggestions and/or bug reports to: *
* *
* robert@prino.org / robert.ah.prins@gmail.com *
* *
* Robert AH Prins *
* Taboralaan 46 *
* 8400 Oostende *
* Belgium *
************************************************************************
* This program is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of *
* the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/> *
***********************************************************************/
parse source source
parse value source with . . moi .
user.1 = 'RAHP'
user.2 = 'HERE'
user.0 = 2
"ispexec vget (ucmds) shared"
if rc = 0 then
do
"ispexec verase (ucmds) shared"
temp = copies('$', length(ucmds))
"isredit macro"
"isredit (MEM) = member"
now = date('S')
now = substr(now, 1, 4) || '/' ||,
substr(now, 5, 2) || '/' ||,
substr(now, 7, 2)
select
when mem = temp'CMDS' then
"isredit c '"temp"CMDS' '"ucmds"CMDS' first"
Note: "getvar" is my routine to retrieve all kinds of data from one location, making it easy to port my exec library from one location to another, I only have to change one single member! For those interested, it's on "that" system ask me and I'll give you RACF READ access.