Keyboard Shortcuts
Likes
Search
Newbie question about REVIEW/RPF etc
Hi E.g. In REVIEW, when I select 1 (BROWSE), I am presented with a panel with three sections. PROJECT |
That format of the 3 different levels were done in the PDF / ISPF
toggle quoted message
Show quoted text
product and copied as a user interface. Saves will go into the project1.library.type while an open will try project1, project2, project3, project4 with library.type before failing On Sun, Nov 15, 2020 at 3:42 PM <marcoxa@...> wrote:
--
Mike A Schwab, Springfield IL USA Where do Forest Rangers go to get away from it all? |
¿ªÔÆÌåÓýIf you are new to this stuff, it's worth keeping in mind how it fits together. Hercules emulates mainframe hardware. The Hercules console lets
you behave as an operator and systems programmer. MVS is the operating system. It manages resources, including your
datasets. TSO is an interactive system that lets you log on at a 3270 terminal, edit files, compile or assemble code etc. RPF, RFE, and REVIEW are commands (not supplied by IBM), that run under TSO and they use fullscreen displays (panels). Other TSO commands, such as TEST (for debugging code, etc) have no panels and run in line mode, but they run in the same TSO environment. Datasets: In TSO, you can access MVS datasets using defaults, because in
the old days, everything was driven by typing commands. Fullscreen
programs such as RFE and RPF handle dataset names slightly
differently. You just have to get used to it :-) If I log in as HERC01, I have an MVS dataset HERC01.D.LOAD which
is a library (partitioned dataset or PDS). TSO has a default
prefix in the profile (use TSO command PROFILE to see what it is).
It's usually the User ID (HERC01). So, to run a program that is
member SVJ@PRIM from my D.LOAD I can use the TSO command To debug it, I can use command TEST D(SVJ@PRIM)That gets expanded by TSO as 'HERC01.D.LOAD(SVJ@PRIM)' because
HERC01 is the prefix and LOAD is the default for CALL. If you
don't want these expansions, put 'apostrophes' around the dataset
name when you type it in full. I changed names to D (for development) and T (for testing), because TEST takes longer to type :-) If you want a run a CLIST (script) then EXEC D(HELLO) -> EXEC
'HERC01.D.CLIST(HELLO)'
RFE works in a similar way to IBM's fullscreen ISPF :- PROJECT? ===> HERC01 LIBRARY?? ===> D TYPE??????? ===> CNTL MEMBER ===> MYJOB That's the same as typing this with 'apostrophes' at OTHER
DATASET NAME ===> 'HERC01.D.CNTL(MYJOB)'?
RPF is a bit different. You type in all parts of dataset names, without apostrophes.
REVIEW is different again. To view MYJOB, I type TSO command
REVIEW D.CNTL(MYJOB). To edit it, I type REVIEW D.CNTL and select member MYJOB with an 'e'
When you are writing JCL for batch jobs, type the whole dataset name without apostrophes.
As I said, you get used to it :-)
Roops On 15/11/2020 21:42, marcoxa@...
wrote:
|
¿ªÔÆÌåÓýBoth RPF and RFE are imitating the style of an IBM program product introduced in the 1970's called Structured Programming Facility (SPF).? (Later, they changed the acronym to mean System Productivity Facility and finally Interactive System Productivity Facility (ISPF).)? The idea behind the design was that a software development department might have datasets of a given type with names like these:DEPT58.PROD.ASM DEPT58.TESTING.ASM DEPT58.DEVEL.ASM Thus, if a programmer needed to edit member MYSUB1 from one of those datasets he would enter PROJECT ===> DEPT58 LIBRARY ===> DEVEL??????? ===> TESTING?????? ===> PROD TYPE??? ===> ASM MEMBER? ===> MYSUB1 The datsets would effectively get concatenated together and member MYSUB1 would be retrieved from the first dataset where it was found.? When the programmer backed out of the edit session it would be saved in the first dataset of the concatenation, DEVEL in this case. If you needed to work with a dataset that had more than 3 qualifiers you would have to type its name in the OTHER DATA SET NAME field, except there you would enter it in "TSO convention style".? That is, if the high-level qualifier was the same as the PREFIX set in your TSO profile (usually your userid), you would enter the 2-n qualifiers without quotes and the system would prefix your PREFIX onto the name.? If the HLQ was different from your PREFIX you would enter the full dataset name with single quotes around it. MVS with SPF/ISPF was my primary operating system from about 1980 to 1998.? We rarely used the LIBRARY concatenation feature of ISPF because the datasets we dealt with rarely followed its assumed naming convention.? Usually the "production" dataset had a system or department HLQ and our sandbox dataset had our userid as the HLQ, but ISPF only allowed you to vary the 2nd HLQ (LIBRARY) not the 1st HLQ (PROJECT). Both RPF and RFE have added their own enhancements and variations on the original SPF paradigm. Charles Bailey On 2020-11-15 15:42, marcoxa@...
wrote:
|
Actually, the search order would be project.library1.type, project.library2.type, project.library3.type. etc.
toggle quoted message
Show quoted text
Charles Bailey On 2020-11-15 16:32, Mike Schwab wrote:
That format of the 3 different levels were done in the PDF / ISPF |
Thank you all for the explanations. One uses the "OTHER DATA SET" section when s/he wants to access DSs that have been named using a different scheme. |
It does make sense, because IBM's security products can allow you to change or create datasets with certain HLQs (High Level Qualifier, the first part of a dataset name) such as your userid.? And TSO commands have useful defaults for the last part (.ASM, .PLI, .LOAD, .CNTL, .CLIST), so it makes to have options for the bit in between :-) Roops On Mon., Nov. 16, 2020, 10:56 , <marcoxa@...> wrote:
|
On Mon, 16 Nov 2020, at 10:56, marcoxa@... wrote:
So it boils down to "IBM made it up" :) when it mapped these notionsThat's a bit harsh. They also "made up" the hardware and the whole OS and the restrictions on file names too. And /surely/ they designed SPF with this naming approach because their own programmers, or those of major customers, suggested it. One uses the "OTHER DATA SET" section when s/he wants to access DSsYes, or if you also have to provide a volser, or if you don't want the values stored in proj, lib etc to be changed. [I]SPF remembers what those values are and they pop up on mutiple panels. -- Jeremy Nicoll - my opinions are my own. |
IBM created the format for using the system based on their design BUT they were one of the first in creating a commercial computer system from scratch starting with the 1401 and for science based the 7090 series (i.e., 7094 as it had a built in arithmetic control unit)).
toggle quoted message
Show quoted text
This kind of thinking was a bit like the first micros which did not have one within the CPU logic chip but as a separate optional chip.. No, IBM was NOT the first, that is to the Leo built system called LEO 1, 2 & 3 designed early 50's. and it was even more different to use and program :) Vincent On 16/11/2020 10:56, marcoxa@... wrote:
|
On 2020-11-16 9:56 PM, marcoxa@... wrote:
So on most (but by no means all) systems, a TSO user's data sets have names that have the user ID as the high-level qualifier.? Also conventionally, this means that some sort of user (meaning non-master) catalog has been chosen as the place where the user's data sets will be cataloged.? That catalog is cataloged in the master catalog and has been given an (additional) alias named the same as the user ID. If the catalog is a CVOL, (OS catalog) then the first time a data set with the user's HLQ is created, an index pointer equal to the user ID will be created in the primary index chain, but never mind that, because such things were dropped by IBM with Y2K.? (I only mention it because I still use one on MVS 3.8.) For VSAM and ICF catalogs, data set names form a 44-byte key for direct catalog access. But never mind that.? A TSO user may have numerous data sets that all have the ID as the HLQ.? Conventionally, the user will also have their ID set as their default data set name prefix.? So if user USERA has a JCL library called USERA.JOBS.CNTL then USERA can refer to this data set as JOBS.CNTL when specifying it in TSO commands. So, at the user level, you might have various libraries (PDSes) of various types.? Suppose USERA has (under his HLQ): CLIST LOCAL.CNTL PGMS.ASM PGMS.COB PGMS.LIST PGMS.LOAD PGMS.PLI PGMS.OBJ VENDOR.CNTL Several IBM TSO commands assume default low-level qualifiers for unqualified (unquoted) data set names. For example, if USERA issued SUB LOCAL(JOB1) them because the data set name was unquoted, the prefix of USERA would be prepended to LOCAL and the suffix of CNTL would be appended to result in the contents of USERA.LOCAL.CNTL(JOB1) being transferred to the internal reader. And that is why I like my JCL data sets to have an LLQ of CNTL, and not JCL or JCLLIB or whatever else. Similarly, compiler prompters will assume default LLQs.? The PLI command (the PL/I Optimizing Compiler TSO prompter) assumed an LLQ of PLI.? There are comparable commands that use COB (IIRC) for COBOL and ASM for assembler.? The compiler output will usually be sent to a similarly named data except that the LLQ of OBJ would be used. The LINK and LOAD commands look for .OBJ data sets. If in USERA.CLIST member PLILKED contained the following: PROC 1 PROG PLI PGMS(&PROG) PRINT LINK PGMS(&PROG) PLIBASE and USERA issued PLILKED MYPROG1 the we might expect the PL/I program in USERA.PGMS.PLI(MYPROG1) to be compiled with the object deck being written to USERA.PGMS.OBJ(MYPROG1) and the compiler listing being written to USERA.PGMS.LIST(MYPROG1), and then the object deck in USERA.PGMS.OBJ(MYPROG1) would be link edited (with SYS1.PLIBASE being an AUTOCALL library) into USERA.PGMS.LOAD. LINK provides a LOAD operand to specify where the program load module is to be written, and a member name can be specified, but typically I use the NAME option on the *PROCESS? (%PROCESS these days) statement to set the program name. And not that we have the PLI command available to us any more, anyway.? But LINK and LOAD are part of MVS. So if the vendor sample JCL library was stored in VENDOR.CNTL and you did not want to alter that (good sysprog practice) then you might have LOCAL.CNTL "ahead" of it in ISPF or RFE option 2.? Select a member for editing, customize it, and submit and save.? You preserve the vendor-supplied copy but also have you customized copy. Today I noticed that in z/OS 2.4 this part of the panel is labelled as "ISPF library" but I did not want to say that in RFE - nor did I want to say "RFE library".? So, I settled on "TSO library" since both ISPF and RFE are essentially TSO applications. One uses the "OTHER DATA SET" section when s/he wants to access DSs that have been named using a different scheme.Or when it has the same scheme, but you consider it more convenient for the panel to "remember" the name already primed. As for the RFE package, the REVIEW browser came first (in 1981 by Bill Godfrey).? I started extending it in 1984.? REVIEW can interpret numerous file structures and display the interpreted results.? But sometimes you just want to see the raw data, and to achieve this you add the DATA operand (or D for short, since no other operand begins with D and so by TSO command parsing syntax rules it is unambiguous).? To make this facility of the REVIEW browser user-selectable from option 1 of the REVIEW Front End, I added the DATA OPERAND input field on the panel when in B or BROWSE mode (as opposed to V or VIEW mode). See the HELP member of REVIEW for all of the operands and subcommands of the REVIEW browser.? Many of the components of REVIEW are set up to access the relevant HELP member via PF1 or HELP - assuming the HELP members have been properly installed.? By "components" I mean the browser, the editor, PDS member list displays, REVOUT, data set list and such rather than menus and entry panels. Although the mechanics are not currently well documented, all of the TSO commands and component subcommands (that are not part of the menu navigation process) are documented fairly completely (I think) in? the TSO HELP members. The names of HELP members that come to mind are REVIEW (REV), FSHELP (FSH, HEL), REVOUT, REVPDS, REVLEV, and for z/OS there's also REVUNIX and REVPDSE. There is a main menu "Easter egg" for users with graphics (loadable symbol) terminals and for non-graphics screens 50 x 132 or larger. Cheers, Greg |
Hi Folks,
I use in RPF a different approach. All the datasets (TSO libraries) and other datasets are treated the same. RPF does not use apostrophes in the data set names, so all data sets are fully qualified. The effect is the same comparing with ISPF and RFE, RPF has an user's guide in script, PDF or DOC (MSword) format. The PDF and Script documents are available on my If you download FILE 415 on cbttape.org, DOC file is available in member $MANUAL@. Download this member to your PC. Cheers, Rob |
On 11/16/20 5:43 AM, Vince Coen wrote:
IBM created the format for using the system based on their design BUT they were one of the first in creating a commercial computer system from scratch starting with the 1401 and for science based the 7090 series (i.e., 7094 as it had a built in arithmetic control unit)).On Micros, CP/M (and hence MS-DOS) got drive letters descending from VM. ¡°Imitation is the sincerest form of flattery.¡± Attributed to author and cleric Charles Caleb Colton. -ahd- -- Drew Derbyshire In the beginning was the word, and the word was content-type: text/plain |
Hi Jeremy
Ok. Point taken :)? I should not complain too much about IBM, given that it payed my wife's salary for more than ten years :) What I meant is that somehow, it looks like at a certain point IBM "froze" some organizational practices into its products. -- Marco Antoniotti Somewhere over the rainbow |
Hey Rob,
I'm interested in learning more about RPF.? However, I'm using it in the latest TK4- environment, I notice that it isn't playing nice with the wx3270 emulator when setting up a terminal of 43 rows and 150 columns.? See the attached screen shot.? I read on the manual linked above that RPF was designed for larger terminals, however.? So is there something I need to do to get RPF to work well with my extended terminal? |
After posting the above and waiting for moderator to approve, I realize now that I'm dealing with a very old version of RPF that was part of the TK4- original install.
So my follow-up question to Rob is that if I follow your install directions, will it safely install the new version of RPF or is there an uninstall procedure or steps I should follow to clear out all of the old files first before installing new version of RPF? Thanks,? Jeff |
Just follow the instructions. It will install fine. Joe On Fri, Nov 20, 2020 at 2:01 PM Jeffrey Melton via <melman74=[email protected]> wrote: After posting the above and waiting for moderator to approve, I realize now that I'm dealing with a very old version of RPF that was part of the TK4- original install. |
The LEOs.? Fabulous machines.? Multiprogramming way, way back. ? We used a compiler language called CLEO.? It was a bit like COBOL but came out years before COBOL, I think. ? I can remember playing around with the first COBOL compiler on an ICL 1902 with 4 tape drives. No disks (neither did the LEOs).? To see the ICL COBOL compiler at work was interesting.? All 4 tape drives going to compile a simple program! ? Of course, the Mainframes then only had a few hundred K of main storage. ? Even the IBM 65 that Shell Oil got in Melbourne Australia only had 3/4 of a meg.? And yet we managed to send out accounts to many thousands of people - many using Shell Heating Oil for their homes.? And there was a program that used the temperature to calculate who might need more heating oil in the next few weeks, and schedule the trucks to deliver it. ? Clem |