Translate

Mostrar mensagens com a etiqueta submit. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta submit. Mostrar todas as mensagens

segunda-feira, 22 de janeiro de 2007

Como Submeter JOBs no Mainframe z/OS

 

Bellacosa Mainframe em como submeter jobs no Mainframe

Como Submeter JOBs no Mainframe z/OS

Depois de aprender:

  • JCL;

  • JOB;

  • JES2;

  • SDSF;

chega uma das etapas mais importantes do mundo mainframe:

submeter um JOB.

É nesse momento que o processamento batch realmente começa.


O que significa “submeter”?

Submeter significa:

enviar um JOB para execução.

Quando fazemos isso:

  • o JES2 recebe o JCL;

  • valida sintaxe;

  • coloca o JOB na fila;

  • inicia processamento batch.


Analogia simples

Imagine enviar uma ordem de produção para uma fábrica.

O JOB seria:

a ordem de serviço.

Submeter significa:

entregar essa ordem para a central operacional.


O que é necessário antes?

Você precisa ter:

  • um JCL;

  • acesso TSO/ISPF;

  • autorização RACF;

  • datasets corretos.


Exemplo simples de JCL

//MEUJOB JOB CLASS=A,MSGCLASS=X
//STEP1  EXEC PGM=IEFBR14

O que esse JOB faz?

Executa:

IEFBR14

Programa muito usado para testes simples.


Onde criar o JCL?

Normalmente em:

  • PDS;

  • PDSE.


Exemplo de biblioteca

USUARIO.JCL

Exemplo de membro

USUARIO.JCL(TESTE)

Como editar?

No ISPF:

opção 2 (EDIT)

ou:

EDIT 'USUARIO.JCL(TESTE)'

Como submeter um JOB?

Existem várias formas.


Método mais comum: comando SUBMIT

Dentro do editor ISPF:

SUBMIT

ou simplesmente:

SUB

O que acontece depois?

O sistema responde algo parecido com:

IKJ56250I JOB MEUJOB(JOB12345) SUBMITTED

O que significa isso?


MEUJOB

Nome do JOB.


JOB12345

JOBID.

Identificador único.


O JOB foi para o JES2

Agora ele:

  • entra na fila;

  • aguarda recursos;

  • executa;

  • gera spool.


Como acompanhar o JOB?

Usando:

SDSF


Entrando no SDSF

Digite:

SDSF

Painel principal

Mais usado:

ST


O que aparece?

NP JOBNAME JOBID OWNER STATUS

Como visualizar resultado?

Digite:

?

ou:

S

ao lado do JOB.


O que aparece?

Arquivos do spool:

  • JESJCL;

  • JESMSGLG;

  • JESYSMSG;

  • SYSOUT.


Arquivos importantes


JESJCL

JCL interpretado.


JESMSGLG

Mensagens JES2.


JESYSMSG

Mensagens do sistema.


SYSOUT

Saída do programa.


O que é RC?

Return Code

Código de retorno do JOB.


Exemplo

CC 0000

Significa:

sucesso.


Outros exemplos

CC 0004

Warning.

CC 0012

Erro.


O que é ABEND?

Erro anormal de execução.

Exemplo:

  • dataset inexistente;

  • erro COBOL;

  • problema JCL.


Fluxo completo do JOB

USUÁRIO
   ↓
SUBMIT
   ↓
JES2
   ↓
FILA
   ↓
INITIATOR
   ↓
EXECUÇÃO
   ↓
SPOOL
   ↓
SDSF

O que é initiator?

Processo responsável por:

executar JOBs.


O que é spool?

Área temporária onde ficam:

  • logs;

  • mensagens;

  • SYSOUT;

  • relatórios.


Como cancelar JOB?

No SDSF:

C

Como colocar HOLD?

H

Como liberar HOLD?

A

Como apagar spool?

P

O que é HOLD?

JOB fica aguardando liberação.


O que é CLASS?

Classe do JOB.

Exemplo:

CLASS=A

Define:

  • prioridade;

  • fila;

  • política batch.


O que é MSGCLASS?

Classe das mensagens do spool.


Exemplo

MSGCLASS=X

Como submeter fora do editor?

Também é possível:

SUBMIT 'USUARIO.JCL(TESTE)'

Isso é muito usado em TSO


Como programadores usam JOBs?

Para:

  • executar COBOL;

  • rodar SORT;

  • acessar DB2;

  • gerar relatórios;

  • integração batch.


Como operadores usam JOBs?

Para:

  • monitorar batch;

  • verificar falhas;

  • analisar spool;

  • controlar produção.


Curiosidades incríveis

1. Grandes bancos submetem milhões de JOBs diariamente


2. Alguns batchs noturnos processam bilhões de registros


3. O conceito de JOB existe há décadas

E continua extremamente relevante.


4. O JES2 consegue gerenciar enormes volumes batch simultaneamente


Erros comuns de iniciantes


1. Dataset inexistente

Erro clássico.


2. Esquecer permissões RACF


3. Ignorar RC

Pode esconder falhas.


4. Não verificar JESMSGLG

Muitas mensagens importantes ficam ali.


Dicas importantes

Sempre confira:

  • RC;

  • JESMSGLG;

  • JESYSMSG.


Use IEFBR14 para testes simples


Aprenda SDSF junto com JCL


Leia mensagens $HASP

Elas mostram:

  • início;

  • fim;

  • status do JOB.


Exemplo clássico

$HASP373 JOB STARTED
$HASP395 JOB ENDED

Por que aprender submissão de JOB?

Porque isso é:

o coração do processamento batch no z/OS.

Quem domina submissão de JOB entende:

  • JCL;

  • JES2;

  • SDSF;

  • spool;

  • operações mainframe.


Resumo rápido

ConceitoSignificado
SUBMITEnviar JOB
JES2Gerencia JOB
SDSFMonitora JOB
RCReturn Code
SPOOLÁrea de saída
JOBIDIdentificador
INITIATORExecuta JOB

Conclusão

Submeter JOBs é uma das atividades mais importantes do ambiente mainframe IBM Z.

É através desse processo que o z/OS executa tarefas batch corporativas críticas, controlando programas, datasets e processamento automatizado de forma extremamente confiável e eficiente.