1. Abrindo um arquivo para edição
Na opção 2 do Primary Menu, o ISPF pede o nome do dataset que você quer editar:
Você pode especificar o dataset de duas formas:
- ISPF Library: campos Project/Group/Type/Member são concatenados para formar o nome completo — ex:
LC001.COBOL.SOURCE(CALCFOL) - Other Dataset: digita o nome completo entre aspas simples diretamente
✅ Aspas simples são obrigatórias no nome completo
Quando digitar o nome no campo "Other Dataset", sempre use aspas simples: 'LC001.COBOL.SOURCE(CALCFOL)'. Sem aspas, o ISPF adiciona seu userid como prefixo e vai procurar LC001.LC001.COBOL.SOURCE — que não existe.
2. Anatomia da tela do editor
Depois de abrir o arquivo, a tela do editor tem três áreas principais:
- Linha de título: mostra o dataset aberto e as colunas visíveis
- Command: onde você digita comandos primários (FIND, CHANGE, SAVE…)
- Scroll: define quanto a tela rola por vez (CSR = até o cursor; PAGE = uma página; HALF = meia página; número = linhas fixas)
- Área de edição: os números de linha (em azul/ciano) são a coluna de comandos de linha
3. Comandos primários
Comandos primários são digitados no campo Command ===> e agem sobre o arquivo inteiro ou uma região. Os mais importantes:
| Comando | Forma curta | O que faz |
|---|---|---|
FIND string | F string | Localiza a próxima ocorrência de string; PF5 repete |
FIND string PREV | F string P | Localiza a ocorrência anterior |
FIND string ALL | F string ALL | Destaca todas as ocorrências |
CHANGE old new | C old new | Substitui a próxima ocorrência; PF6 repete |
CHANGE old new ALL | C old new ALL | Substitui todas as ocorrências |
SAVE | — | Salva as alterações sem sair do editor |
CANCEL | CAN | Sai do editor descartando alterações |
END | ou PF3 | Sai salvando as alterações |
SUBMIT | SUB | Submete o JCL atual como job |
LOCATE n | L n | Vai para a linha número n |
CAPS ON | — | Converte tudo que você digitar para maiúsculas |
CAPS OFF | — | Desativa a conversão automática |
HEX ON | — | Mostra o conteúdo em hexadecimal (útil para debug) |
NUMS ON/OFF | — | Mostra/oculta os números de linha COBOL (colunas 1–6) |
✅ FIND com delimitadores
Para encontrar uma palavra exata (não como parte de outra), use aspas: F 'MOVE' encontra MOVE mas não REMOVE. Você também pode combinar: F 'WS-' NEXT ou F 'MOVE' WORD para buscar palavras completas.
4. Comandos de linha
Comandos de linha são digitados no lugar do número de linha para agir em linhas específicas. Basta sobreescrever os dígitos com a letra do comando e pressionar Enter.
| Comando | O que faz | Exemplo |
|---|---|---|
I | Insere uma linha em branco abaixo | Sobrescrever número com i |
In | Insere n linhas em branco | i5 = insere 5 linhas |
D | Deleta a linha | Sobrescrever com d |
Dn | Deleta n linhas | d3 = deleta 3 linhas |
R | Repete (duplica) a linha | Sobrescrever com r |
Rn | Repete a linha n vezes | r3 = cria 3 cópias |
C | Copia a linha (use com A ou B) | c + a em outra linha |
M | Move a linha (use com A ou B) | m + b em outra linha |
A | Destino: depois desta linha (after) | Usado com C ou M |
B | Destino: antes desta linha (before) | Usado com C ou M |
X | Exclui a linha da exibição (não deleta) | Útil para ocultar linhas temporariamente |
( / ) | Desloca o conteúdo 2 colunas à esquerda/direita | Indentar ou desindentar |
🦕 Analogia — comandos de linha como post-its
Pense nos números de linha como post-its colados do lado do texto. Você "raspa" o número e escreve sua instrução no lugar: d para apagar, i para inserir, c para copiar. Quando pressiona Enter, o ISPF lê todos os post-its e executa as instruções na ordem.
5. Operações com blocos
Para operar em várias linhas de uma vez, use os comandos de bloco — letras duplicadas que marcam o início e o fim de um bloco:
| Comando | O que faz |
|---|---|
CC … CC | Copia um bloco de linhas (marque início e fim) |
MM … MM | Move um bloco de linhas |
DD … DD | Deleta um bloco de linhas |
RR … RR | Repete um bloco de linhas |
(( … (( | Desloca bloco para a esquerda |
)) … )) | Desloca bloco para a direita |
⚠️ Marque sempre início e fim do bloco
Se você digitar CC em uma linha e Enter sem marcar o fim do bloco com outro CC, o ISPF vai exibir a mensagem "INVALID — Block not complete". Sempre marque os dois extremos do bloco antes de pressionar Enter.
6. SUBMIT e salvar
Quando você está editando um membro JCL, pode submetê-lo como job sem sair do editor:
O ISPF mostra na linha de mensagem o nome do job e o número atribuído pelo JES. Você pode então ir ao SDSF (=10) para acompanhar a execução.
Para salvar sem sair:
- Digite
SAVEna linha de comando → salva e permanece no editor - Pressione PF3 (END) → salva e sai do editor
- Digite
CANCEL→ sai sem salvar
💗 PF3 salva automaticamente
Diferente de editores modernos onde Ctrl+S salva e sair fecha sem perguntar, no ISPF PF3 salva E sai ao mesmo tempo. Se quiser sair sem salvar, use CANCEL. Isso surpreende quem vem de ambientes onde sair sempre pergunta "deseja salvar?".
7. UNDO — desfazer alterações
O ISPF Editor tem um mecanismo de desfazer. Digite UNDO na linha de comando para reverter a última alteração. Cada UNDO adicional volta uma alteração a mais. Para refazer, use REDO.
⚠️ UNDO não funciona em todos os ambientes
O UNDO do ISPF depende do parâmetro de perfil RECOVERY ON. Se estiver OFF, não há desfazer. Para verificar e ativar, digite RECOVERY ON na linha de comando. Alguns sites mantêm isso desativado por padrão para economizar espaço de trabalho.