Editor ISPF, ese gran desconocido.
Conceptos básicos
En una sesión de edición ISPF hay tres formas principales de trabajar: sobreescribir directamente el texto, escribir comandos primarios en Command ===>, o escribir comandos de línea en el margen izquierdo donde aparecen los números de línea.
EDIT HLQ.LIB.JCL(MEMBER) - 01.00 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 //JOBNAME JOB ...
000002 //STEP01 EXEC PGM=IEFBR14
000003 //DD1 DD DSN=HLQ.FILE,DISP=SHR
****** **************************** Bottom of Data ****************************
| Zona | Uso |
|---|---|
| Command ===> | Comandos primarios: FIND, CHANGE, SAVE, CANCEL, TOP, BOTTOM, etc. |
| Números de línea | Comandos de línea: I, D, C, M, R, A, B, X, etc. |
| Área de texto | Sobreescribes directamente el contenido del registro. |
Teclas PF más usadas
Tranquilo, no te asustes si no ves teclas PF en tu teclado, actualmente las teclas son conocidas como F1..F12, entonces cuando un especialista o la documentación de IBM diga PF1 debes presionar F1.
| Tecla | Acción típica | Ejemplo de uso |
|---|---|---|
| PF1 | Help | Ayuda del comando o panel actual |
| PF2 | Split | Crea una nueva pantalla ISPF |
| PF5 | RFIND | Repite último FIND |
| PF7 | UP | Scroll hacia arriba |
| PF8 | DOWN | Scroll hacia abajo |
| PF9 | SWAP | Cambia entre pantallas |
| PF10 | LEFT | Scroll horizontal a la izquierda |
| PF11 | RIGHT | Scroll horizontal a la derecha |
Comandos primarios básicos
Los comandos primarios se escriben en Command ===> y afectan al archivo, la pantalla o la sesión de edición.
| Comando | Para qué sirve | Ejemplo |
|---|---|---|
| SAVE | Guarda cambios sin salir | SAVE |
| END | Guarda y sale | END o PF3 |
| CANCEL | Sale sin guardar cambios | CANCEL |
| RESET | Limpia marcas, mensajes, exclusiones o estados visuales | RESET |
| TOP | Va al inicio del member | TOP |
| BOTTOM | Va al final del member | BOTTOM |
| UP n | Sube n líneas | UP 20 |
| DOWN n | Baja n líneas | DOWN 100 |
| LEFT n | Desplaza columnas a la izquierda | LEFT 20 |
| RIGHT n | Desplaza columnas a la derecha | RIGHT 30 |
| LOCATE n o L n | Va a una línea | L 500 |
| PROFILE | Muestra perfil de edición | PROFILE |
Buscar texto: FIND
FIND busca texto en el member y posiciona el cursor en la coincidencia; puede usarse con opciones como NEXT, PREV, FIRST, LAST y ALL.
| Comando | Acción |
|---|---|
| F texto | Busca siguiente ocurrencia |
| F texto NEXT | Busca siguiente |
| F texto PREV | Busca hacia atrás |
| F texto FIRST | Busca primera ocurrencia |
| F texto LAST | Busca última ocurrencia |
| F texto ALL | Busca/marca todas las ocurrencias, según versión/configuración |
Cambiar texto: CHANGE
CHANGE reemplaza texto; puede usarse una vez, hacia atrás, desde el inicio/final o en todas las ocurrencias.
| Comando | Acción |
|---|---|
| C old new | Cambia la siguiente ocurrencia |
| C old new ALL | Cambia todas las ocurrencias |
| C old new NEXT | Cambia la siguiente |
| C old new PREV | Cambia la anterior |
| C old new FIRST | Cambia la primera |
| C old new LAST | Cambia la última |
Ejemplos:
Command ===> C TEST PROD
Command ===> C CICS CICSPROD ALL
Command ===> C 'DISP=SHR' 'DISP=OLD'
Command ===> C CICT1A01 CICT1A02 ALL
Insertar líneas
Para insertar líneas se usa I en el campo de comando de línea, en el margen izquierdo. El editor inserta la nueva línea después de la línea marcada.
| Comando de línea | Acción |
|---|---|
| I | Inserta 1 línea |
| I5 | Inserta 5 líneas |
| II | Inserta bloque de entrada |
| TE | Text entry, entrada continua de texto |
Ejemplo:
000100 //STEP01 EXEC PGM=IEFBR14
I
000200 //DD1 DD DSN=HLQ.FILE,DISP=SHR
Después de Enter:
000100 //STEP01 EXEC PGM=IEFBR14
''''''
000200 //DD1 DD DSN=HLQ.FILE,DISP=SHR
Borrar líneas
Los comandos D, D5 y DD/DD son comandos de línea para borrar una línea, varias líneas o un bloque.
| Comando | Acción |
|---|---|
| D | Borra una línea |
| D5 | Borra 5 líneas |
| DD ... DD | Borra bloque |
| DD en dos líneas | Borra desde la primera hasta la segunda marca |
Ejemplo para borrar una línea:
D00100 //DDTEMP DD DSN=TEMP.FILE,DISP=OLD
Ejemplo para borrar bloque:
DD0100 //STEP01 EXEC PGM=IEFBR14
000200 //DD1 DD DSN=FILE1,DISP=SHR
000300 //DD2 DD DSN=FILE2,DISP=SHR
DD0400 //DD3 DD DSN=FILE3,DISP=SHR
