ISPF Cut & Paste
ISPF GangpunchIt is occasionally convenient to be able to gangpunch data from one record to another. This can be done with relative ease in ISPF. Given the following scenario, the unique information is present in lines 16 through 25. However, it is desired to have "ENC" and "BJ338 PR #12981 PER GE JONES" in the same columns in all records, 16 through 25. To accomplish this, use the c line command as you for any copy, and use the oo block commands to identify the desired range. See the following example. 000015 //CONTROL DD * oo0016 J90401.04 3944105 SC97084 DO09058 000017 J90402.04 3944105 SC97084 DO09068 000018 J90403.03 3944105 SC97085 DO09010 000019 123 J90404.03 3944105 SC97085 DO09013 HELLO 000020 J90405.04 3944105 SC97085 DO09058 000021 J90406.04 3944105 SC97086 DO09010 000022 J90407.04 3944105 SC97086 DO09013 000023 J90408.05 3944105 SC97086 DO09058 oo0024 J90409.04 3944105 SC97087 DO09010 c00025 ENC J90410.04 3944105 SC97087 DO09013 BJ338 PR #12981 PER GE JONES 000026 /*It yields the following result: 000016 ENC J90401.04 3944105 SC97084 DO09058 BJ338 PR #12981 PER GE JONES 000017 ENC J90402.04 3944105 SC97084 DO09068 BJ338 PR #12981 PER GE JONES 000018 ENC J90403.03 3944105 SC97085 DO09010 BJ338 PR #12981 PER GE JONES 000019 123 J90404.03 3944105 SC97085 DO09013 HELLO PR #12981 PER GE JONES 000020 ENC J90405.04 3944105 SC97085 DO09058 BJ338 PR #12981 PER GE JONES 000021 ENC J90406.04 3944105 SC97086 DO09010 BJ338 PR #12981 PER GE JONES 000022 ENC J90407.04 3944105 SC97086 DO09013 BJ338 PR #12981 PER GE JONES 000023 ENC J90408.05 3944105 SC97086 DO09058 BJ338 PR #12981 PER GE JONES 000024 ENC J90409.04 3944105 SC97087 DO09010 BJ338 PR #12981 PER GE JONES 000025 ENC J90410.04 3944105 SC97087 DO09013 BJ338 PR #12981 PER GE JONES 000026 /*Notes:
ISPF Using The COLS & BNDS TSO Line Command
ISPF Recursive WindowsUnder the old SPF when an additional window was needed and you were already in split screen,
you could type HOLD and press enter. This reserved your existing window, and presented
a new window at the primary option menu for temporary use. Building and Using PROCLIBsPlease note: The following are not the only methods for creating, backing up, and
restoring "user proclibs". They are merely examples. Allocate T???.++++++++.TESTPROC As A PDS//ALLOCATE EXEC PGM=IEFBR14 //DD1 DD DSN=T???.++++++++.TESTPROC, // DISP=(,CATLG,DELETE), // UNIT=SYSDA, // DSNTYPE=PDS,DSORG=PO, // LRECL=80,RECFM=FB, // SPACE=(TRK,(primary space,secondary space,dir blocks)) Allocate T???.++++++++.TESTPROC As A PDSE (Partitioned DataSet Extended)//ALLOCATE EXEC PGM=IEFBR14 //DD1 DD DSN=T???.++++++++.TESTPROC, // DISP=(,CATLG,DELETE), // UNIT=SYSDA, // DSNTYPE=LIBRARY,DSORG=PO, // LRECL=80,RECFM=FB, // SPACE=(TRK,(primary space,secondary space),RLSE) Copy Members From TEST.PROCLIB To Another User PROCLIB Using IEBCOPY//COPY EXEC PGM=IEBCOPY,REGION=300K //SYSPRINT DD SYSOUT=* //DD1 DD DSN=TEST.PROCLIB,DISP=SHR //DD2 DD DSN=T???.++++++++.TESTPROC,DISP=OLD //SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(20)) //SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(20)) //SYSIN DD * COPY OUTDD=DD2,INDD=DD1 S M=((PROC1,,R)) S M=((PROC2,,R)) S M=((ETC,,R)) /* Backing Up A PDS (Can Be Used In Reverse As Restore JCL)//BACKUP EXEC PGM=FILEAID,REGION=4M //DD01 DD DSN=T???.++++++++.TESTPROC,DISP=SHR //DD01O DD DSN=T???.++++++++.whatever.you.want, // DISP=(,CATLG,DELETE), // UNIT=SYSDA, // DSNTYPE=PDS,DSORG=PO, // SPACE=(TRK,(primary space,secondary space,dir blocks)) //SYSPRINT DD SYSOUT=* //SYSLIST DD SYSOUT=* //SYSTOTAL DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSIN DD DUMMY /* Backing Up A PDSE (Can Be Used In Reverse As Restore JCL)//BACKUP EXEC PGM=FILEAID,REGION=4M //DD01 DD DSN=T???.++++++++.TESTPROC,DISP=SHR //DD01O DD DSN=T???.++++++++.whatever.you.want, // DISP=(,CATLG,DELETE), // UNIT=SYSDA, // DSNTYPE=LIBRARY,DSORG=PO, // LRECL=80,RECFM=FB, // SPACE=(TRK,(primary space,secondary space),RLSE) //SYSPRINT DD SYSOUT=* //SYSLIST DD SYSOUT=* //SYSTOTAL DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSIN DD DUMMY /* Executing A Cataloged Procedures From A User PROCLIBTo execute cataloged procedures from a user PROCLIB, add the following JCL statement before the first EXEC statement in the job stream. If the cataloged procedure (PROC) isn't found in your user PROCLIB(s)", PROD.PROCLIB will also be searched./P> //PROCLIB JCLLIB ORDER=T???.++++++++.TESTPROC Executing A Cataloged Procedures From Multiple User PROCLIBsTo execute cataloged procedures from a user PROCLIB, add the following JCL statement before the first EXEC statement in the job stream. If the cataloged procedure (PROC) isn't found in your user PROCLIB(s)", PROD.PROCLIB will also be searched. //PROCLIB JCLLIB ORDER=(T???.++++++++.TESTPROC, // T???.+++++++2.TESTPROC, // T???.+++++++3.TESTPROC) Interupting a TSO SearchIf a TSO search is taking too long, try hitting [Shift Esc]. It may not work on all machines, but it does work on some. TSO Invokation of ISPFI don't like to have to enter an application step by step anymore than anybody else, but I have noticed that a lot of people sign on to TSO and then enter the ISPF command to invoke ISPF. If when you sign on to TSO, at the TSO/E LOGON screen, which is where you put in your password, you also tab down to the last field labeled COMMAND and enter ISPF, you won't have to manually invoke it in the future. Certain parts of TSO retain values for you, and that COMMAND field is one that will. --Courtesy of Charles Tolhurst and Robert Thompson
Using QW To Access DocumentationA great deal of documentation is maintained on MVS. The trick is getting to it. Try using the qw command.
The qw command seems quite versatile and is worthy of extensive experimentation. --Courtesy of Charles Tolhurst
|