1. O que é o SDSF

O SDSF exibe e gerencia o spool do JES — o espaço em disco onde ficam armazenados os jobs aguardando execução e os outputs gerados. Pelo SDSF você consegue:

  • Ver quais jobs estão em fila, executando ou já terminaram
  • Ler o output de qualquer job (SYSOUT, relatórios, mensagens de erro)
  • Verificar o return code de cada step
  • Purgar (apagar) output que não é mais necessário
  • Segurar (hold) ou liberar (release) output

🦕 Analogia — SDSF como o gerenciador de impressão

Imagine o SDSF como a fila de impressão do Windows, só que muito mais poderoso. Cada job submetido vai para a fila do JES (como um documento enviado para a impressora). O SDSF deixa você ver o que está na fila, acompanhar o andamento, ler o resultado — e jogar fora quando não precisa mais.

2. Acessando o SDSF

No ISPF Primary Menu, o SDSF costuma estar na opção 10 (ou S em muitos ambientes). Você também pode chegar lá pelo fast path =10 ou =S de qualquer tela.

O menu principal do SDSF lista todos os painéis disponíveis:

SDSF PRIMARY MENU Command ===> _ DA Active users I Input queue O Output queue H Held output queue ST Status of jobs LOG System log SR System requests MAS Members in the MAS

3. Painéis principais — ST, H, O, DA, LOG

PainelNomeO que mostraUso típico
STStatusTodos os jobs — na fila, executando e concluídosVer return code de um job já terminado
DAActiveSomente jobs em execução no momentoMonitorar um job longo em tempo real
OOutputOutput disponível para impressãoVer output que não foi "held"
HHeldOutput retido (MSGCLASS com H ou HOLD)O mais usado — ver output de jobs com HOLD
LOGSystem LogLog do sistema z/OS (mensagens do operador)Diagnóstico de problemas de sistema

O painel ST é o ponto de partida mais comum. Digite ST na command line do SDSF e pressione Enter:

SDSF STATUS DISPLAY ALL CLASSES Command ===> _ Scroll ===> CSR PREFIX=LC001 DEST=(ALL) OWNER=LC001 SYSNAME= NP JOBNAME JobID Owner Prty Queue C Pos SAff ASys Status ────────────────────────────────────────────────────────────────────────────── CALCJOB JOB01234 LC001 1 PRINT A 1 OUTPUT RELATMES JOB01235 LC001 1 PRINT A 2 OUTPUT TESTJCL JOB01230 LC001 1 PRINT X 3 ABEND ← abend!

A coluna Status mostra o estado do job:

  • OUTPUT — job terminou, output disponível para consulta
  • EXECUTING — job em execução
  • WAITING — aguardando recursos ou na fila de entrada
  • ABEND — terminou com abend (erro anormal)
  • JCLERROR — erro de JCL antes de executar

4. PREFIX e OWNER — filtrando jobs

Em ambientes de produção o spool tem centenas ou milhares de jobs. Para ver só o que é seu, use os filtros PREFIX e OWNER:

Command ===> PREFIX LC001* ← mostra só jobs cujo nome começa com LC001 Command ===> OWNER LC001 ← mostra só jobs submetidos pelo usuário LC001 Command ===> PREFIX * ← remove filtro de prefix (mostra tudo)

✅ Combine PREFIX e OWNER

Você pode usar os dois filtros juntos. PREFIX LC001* mostra todos os jobs que começam com LC001, independente de quem submeteu. OWNER LC001 mostra todos os jobs do usuário LC001, qualquer que seja o nome. Em muitos sites, o nome do job começa com o userid, então PREFIX e OWNER filtram o mesmo conjunto de jobs.

5. Consultando o output de um job

Para abrir o output de um job, coloque o cursor na linha do job (ou digite S na coluna NP à esquerda do nome) e pressione Enter:

SDSF OUTPUT DISPLAY CALCJOB JOB01234 DSID 2 LINE 0 COLUMNS 02- 81 Command ===> _ Scroll ===> CSR DDNAME StepName ProcStep DSid Owner C Dest Rec-Cnt Page ────────────────────────────────────────────────────────────────────────────── ? JESMSGLG 2 LC001 A LOCAL 14 ? JESJCL 3 LC001 A LOCAL 18 ? JESYSMSG 4 LC001 A LOCAL 32 ? SYSPRINT CALCSTEP 5 LC001 A LOCAL 145 ? SYSOUT CALCSTEP 6 LC001 A LOCAL 87

Digite S (ou ?) na coluna à esquerda de qualquer DD para abrir e ler o conteúdo. Use PF7/PF8 para rolar e PF3 para voltar.

6. Ações sobre jobs — purge, hold, release

Na coluna NP (à esquerda do jobname) você digita comandos de ação:

ComandoO que faz
PPurge — apaga o job e todo seu output do spool permanentemente
ARelease — libera um output retido (held) para impressão
HHold — retém o output para não ser liberado automaticamente
CCancel — cancela um job em execução
?Seleciona para exibir (mesmo que Enter)

⚠️ Purge é irreversível

O comando P (purge) apaga o job e todo o output imediatamente e sem confirmação. Se você ainda precisa do output para análise, certifique-se de tê-lo salvo ou copiado antes de purgar. Em muitos ambientes o purge automático limpa o spool após um período (ex: 3 dias) — o seu site deve ter uma política definida.

7. Lendo o output — JESMSGLG, JESJCL, JESYSMSG

Todo job gera automaticamente três DDs de sistema que são essenciais para diagnóstico:

DDO que contémQuando consultar
JESMSGLGLog do JES — alocações, start/end de steps, return codesSempre — é o primeiro lugar para ver o RC de cada step
JESJCLO JCL expandido e interpretado pelo JES (com PROCs resolvidas)Quando há JCLERROR ou para ver como a PROC foi expandida
JESYSMSGMensagens do sistema durante a execução (alocações, abends)Quando o job abendou — mostra o código de abend e offset

Exemplo de JESMSGLG mostrando o return code de cada step:

J E S 2 J O B L O G -- S Y S T E M S Y S 1 14.22.05 JOB01234 $HASP373 CALCJOB STARTED - INIT 1 - CLASS A - SYS SYS1 14.22.06 JOB01234 IEF403I CALCJOB - STARTED - TIME=14.22.06 14.22.08 JOB01234 IEF142I CALCSTEP - STEP WAS EXECUTED - COND CODE 0000 ← RC=0 14.22.09 JOB01234 IEF142I RELSTEP - STEP WAS EXECUTED - COND CODE 0004 ← RC=4 14.22.09 JOB01234 IEF404I CALCJOB - ENDED - TIME=14.22.09 14.22.09 JOB01234 $HASP395 CALCJOB ENDED

✅ FIND no output do SDSF

Dentro do output de qualquer DD no SDSF, você pode usar FIND texto na command line para localizar termos — exatamente como no editor. Para encontrar abends rapidamente, faça FIND 'ABEND' ou FIND 'IEF450I' (mensagem de abend de step). PF5 repete a busca.