SDSF - System Display & Search Facility
SDSF - System Display & Search Facility
SDSF - System Display & Search Facility
O SDSF funciona como uma janela do MVS/JES. Tem uma série de telas que provem muitas
possibilidades de monitorar os recursos no sistema. É possível monitorar Jobs, Printers, Tasks, Initiators,
Logs, filas, etc.
Estas opções aparecem sempre na primeira tela do SDSF. É um menu que pode ser customizado na
instalação conforme as necessidades.
A Log de um sistema é o lugar onde todas as ações do sistema aparecem e ficam gravadas, tudo passa
pela log. A vantagem de se ter acesso em uma Log, é que pode-se procurar alguma mensagem, um
Reply, um Job no sistema, um usuário, uma contenção, um ABEND de um Job, etc. Enfim, tudo pode ser
visto em uma log, desde que tenha sido feito.
Para achar alguma coisa dentro da Log é só digitar:
F XXXXXXXXX - qualquer coisa pode ser colocada como objeto de busca.
F XXXXXXXX PREV - para uma busca começando do fim para o começo da Log, o comando é dado no fim
da Log, e para ir para o fim da podem ser usados 2 artifícios:
M teclaF8 - vai até o fim da Log.
BOTTOM - também vai até o fim da log.
TOP - vai até o começo da Log.
O comando M teclaF7, leva quem estiver operando a Log até o começo da mesma.
Para acessar a Log atraves do SDSF deve-se entrar no TSO, daí quando já na opção do SDSF é só digitar
LOG, a partir daí, tudo é só começar.
A Log também funciona como opção de comandos para o sistema. Ex.:
/d a - quaqluer comando de sistema pode ser usado na Log, é só digitar uma barra invertida + o
comando que se quer.
As teclas F10 e F11 movem para direita e para esquerda, a tecla F12 repete o último comando dado,as
F3 e F4 saem da Log,as F8 e F7 sem o 'M' sobem e descem uma página.
Pode-se escolher ainda o tipo do SCROOL, que fica no canto direito da página e é usado para definir de
que forma as páginas vão rolar, as opções são:
CSR - rola por página.
HALF - rola por meia página
XX - coloca-se um numero de linhas em que se quer fazer a busca, ou seja, de quantas em quantas
linhas a página vai descer ou subir.
A Tela da Log mostra o Dataset que ela está, a data do Dataset, em que linha se está olhando naquele
momento, o sistema a qual a Log pertence.
Existem 2 tipos de Log a SYSLOG ( log do sistema ) e a OPERLOG ( Log da operação ). Esta última pode
ser uma Merged de vários sistemas em uma única Log. Os comandos funcionam iguais para os dois tipos.
Existem ainda os comandos LOCATE e PRINT, mas não são muito usados por operadores no dia-a-dia.
PRINT - Usado para imprimir um Range de linhas ou uma página. Estes dados vão para um Dataset.
LOCATE - Usado para localizar uma linha específica da Log.
Usando o comando D A
Este comando mostra tudo o que está ativo no sistema, ou seja, tudo o que usa um Address Space será
mostrado, Job, Task, User e Initiator.
Este comando tem algumas variações.
DA OJOB - Mostra os Job ativos no sistema.
DA OSTC - Para Started Task.
DA OTSU - Para usuários de TSO.
DA OINIT - Para Initiators.
Este comando mostra todas as entidades que estão no sistema, executando ou esperando para executar,
isto significa que ainda estão ativos no sistema.
Após usar este comando, o operador pode, na coluna ao lado do que está sendo mostrado, digitar
comandos abreviados tais como P (PURGE), C (CANCEL), A (ACTIVATE), etc.
Este comando mostra uma série de parametros do que está sendo mostrado, tais como JOBID,
STEPNAME, PROCTEDP, JOBNAME, OWNER, PAGING, INIT CLASS, etc.
Existe ainda a opção de PREFIX, funcina assim, depis do comando DA OXXX, quando a tela já está com a
resposta, é só digitar PREFIX XXXX*, o que dá a opção de ver somente um Job ou Task com um prefixo
específico, funciona como um filtro.
INPUT
Selecionando a opção I para Input Queue, o usuário vai poder ver os Jobs que se encontram na Input
Queue
( fila de entrada ) do Jes.
Este comando vai mostrar ao usuário um job ou uma lista de Jobs,e vários paramoetros tais como nome
do Job, Jes JOBID, prioridade de entrada (PRTY), classe de Initiator, Owner, posição de entrada (POS),
processamento do Job (I/O), Output Destination (RMT), estado do job (para caso que esteja em HOLD ou
DUP). E ainda tem opção de coluna de comando ao lado esquerdo do Job.
As opções abreviadas de comandos que pode ser usados nos Jobs na Input Queue são as seguintes:
A - Para liberar um job que possa estar em estado HOLD.
C - Para cancelar um Job.
CD - Cancela e faz um Dump.
D - Display
E - Restart (re-inicia o Job)
H - Hold - Segura o Job. O Job nao vai executar até que se libere o mesmo.
P - Purge - purga o Job, tirando ele do JES, juntamente com seu Output.
Os parametros prioridade (PRTY) e Classe podem ser reescritos, é só ir com o cursor até o parametro e
mudar o mesmo, depois Enter.
Os filtros podem ser montados juntando os parametros de Display, por exemplo, se quiser que mostrem
os Jobs na Input Queue, de classe B e que não estejam em estado Hold é só digitar IB NH.
Output
Os Jobs que estão na Output Queue (fila de saida) podem ser cancelados, purgados, colocados em Hold,
liberados e enviados para impressão. Mas os usuários geralmente entram nesta fila para procurar um Job
que tenha terminado em erro. É muito usado por suportes de segundo nível ou programados donos de
Jobs que querem ver o porque um Job terminou com erro, ou simplesmente para ver se o Job terminou
bem.
Esta fila mostra os Jobs, JES JOBID, Owner, Form Number, Remote Printer Destination (RMT) e total de
linhas para serem enviadas para impressão (TOT-REC), e classe de saida (Output Class).
Quando um Job aparece Highlighted, quer dizer que está sendo impresso.
Ainda podem ser usados os seguintes comandos, também na coluna do lado esquerdo do Job:
A - Liberar Datasets de saida que estavam em estado Hold.
H - Segurar (Hold) Datasets de saída.
L - Listar o estado da saida do Job.
P - Purga Datasets de saida.
S - Display da saída de um Job.
Pode se usar a opcão DEST, para ver para qual impressora (RMT) um determinado job pode estar indo.
Pode-se montar filtros por exemplo para ver somente os Outputs de Jobs de Output Class S e V, ficaria
assim o comando, OSV.
Também os parametros PRTY (prioridade), C (classe de saida) e Forms podem ser mudados,
simplesmente reescrevendo os mesmos.
Alocando arquivos
A partir da tela principal do ISPF, na opção 3 - Utilities (Perform utility functions), existem vários
utilitários para manipulação de arquivos. A opção 2 desta tela (Data Set) é muito utilizada para a
Alocação de arquivos.
Menu Help
Utility Selection Panel (opção 3)
**Option ===>*
1 Library - Compress or print data set. Print index listing. Print,
rename, delete, browse, edit or view members
2 Data Set - Allocate, rename, delete, catalog, uncatalog, or display
information of an entire data set
3 Move/Copy - Move, copy or promote members or data sets
4 Dslist - Print or display (to process) list of data set names.
Print or display VTOC information
5 Reset - Reset statistics for members of ISPF library
6 Hardcopy - Initiate hardcopy output
7 Download - Download ISPF C/S, VA for ISPF, transfer map, or data set.
8 Outlist - Display, delete, or print held job output
9 Commands - Create/change an application command table
& Reserved - This option reserved for future expansion.
11 Format - Format definition for formatted data Edit/Browse
12 SuperC - Compare data sets (Standard Dialog)
13 SuperCE - Compare data sets Extended (Extended Dialog)
14 Search-For - Search data sets for strings of data (Standard Dialog)
15 Search-ForE - Search data sets for strings of data Extended (Extended Dialog)
Para alocar um novo arquivo utilize a função A e informe o nome do arquivo, ao teclar <enter> serão
requisitadas as informações necessárias para a alocação do arquivo como: organização, tipo de alocação,
espaço e etc. Abaixo a tela:
Menu RefList Utilities Help
Data Set Utility
Option ===> A
A - Allocate new data set
R - Rename entire data set
D - Delete entire data set
blank Data set information
C - Catalog data set
U - Uncatalog data set
S - Short data set information
V - VSAM
Utilities
ISPF Library:
Project . .
Group …
Type … .
Other Partitioned, Sequential or VSAM Data Set:
Data Set Name . . ‘AD.DA40.CHGM.UPDT.FONTES’
Volume Serial … … . (If not cataloged, required for option "C")
Data Set Password … … … .(If password protected)
A partir da tela principal do ISPF, na opção 6 Command (Enter TSO or Workstation commands), nesta
opção você poderá entrar comandos de TSO ou executar uma CLIST (linguagem de programação que
roda sob TSO).
Alterando PF’s
Para verificar ou alterar as PF’s em qualquer tela do ISPF digitar o comando KEYS
Comandos MOVE/COPY :
C (Copy), M (Move), A (After), B (Before), O (Overlay)
C - Copy => Identifica o fonte de uma operação de cópia
M - Move => Identifica o fonte de uma operação de movimentação
A - After => Identifica o destino de uma operação de movimentação/ cópia
B - Before => Identifica o destino de uma operação de movimentação/ cópia
O - Overlay => Identifica o destino de uma operação de overlay de cópia ou movimentação
Use C ou CC para copiar uma ou mais linhas. Depois que a linha for copiada, ela existirá na localização
original e na destino
Exemplo 1 :
C - copia uma única linha
C3 - identifica a primeira de 3 linhas que serão copiadas
CC - identifica a primeira e última linha de um bloco de linhas a serem copiados
000300
C00400 - Copia uma única linha
ou
CC600 - O bloco composto pelas linhas 600, 700 e 800 será copiado
000700
CC800
Nota : O destino das linhas que serão copiadas pode ser especificado usando :
- A, B ou O se as linhas forem ser copiadas em outro lugar do texto sendo editado
- Os comandos CREATE ou REPLACE se as linhas que serão copiadas
forem ser copiadas para um arquivo seqüencial (REPLACE) ou para um
membro de um arquivo particionado (CREATE ou REPLACE).
Use M ou MM para mover uma ou mais linhas:
M - Identifica a linha que será movimentada
M3 - Identifica a primeira de 3 linhas que serão movimentadas
MM - Identifica a primeira e última linha de um bloco de linhas a serem movidas
000300
M 0400 - A linha 400 será movimentada
ou
MM 600 - O bloco contendo as linhas 600, 700 e 800 será movimentado
000700
MM 800
Nota : O destino das linhas que serão movimentadas pode ser especificado usando os mesmos recursos
utilizados para o processo de cópia.
O comando de linha A (After) identifica o destino dos dados que serão movimentados ou copiados, isto é,
serão movimentados ou copiados depois da linha onde foi executado o comando.
000300
A 0400 - Os dados serão movimentados ou copiados depois da linha 400
000500
O fonte dos dados para a operação de movimentação ou cópia podem ser especificados usando :
- Os comandos C ou M para linhas simples
- Os comandos CC ou MM para blocos de linhas
- Os comandos primários COPY ou MOVE, se um membro de um arquivo particionado ou arquivo
seqüencial será movimentado ou copiado para o texto sendo editado.
O comando de linha B (Before) identifica o destino para onde os dados movimentados ou copiados serão
colocados, isto é, indica que os dados movimentados ou copiados serão colocados ANTES da linha
contendo o comando.
000300
B 0400 - Os dados serão movimentados ou copiados antes da linha 400
000500
A fonte dos dados para a operação de movimentação ou cópia podem ser especificados usando os
mesmos recursos descriminados rio comando A (After).
O comando O (Overlay) indica a linha que será mergeada com as linhas copiadas ou movimentadas.
O - Identifica a linha que será mergeada
O3 - Identifica a primeira de 3 linhas que serão mergeadas
OO - Identifica a primeira e última linhas de um bloco de linhas que será mergeado.
Exemplo :
C 0300 /* */
000400
O3 500 A1 =B1;
000600 A2 = B2;
000700 A3 = B3;
000800 H1 = A1 * B2;
Resultado
000300 /* */
000400
000500 A1 = B1; /* */
000600 A2 = B2; /* */
000700 A3 = B3; /* */
000800 H1 = A1 * B2;
Comandos de deslocamento :
) (Colunas a direita), ( (Colunas a esquerda), > (Dados a direita), < (Dados a esquerda)
) => Desloca para a direita uma ou mais colunas
( => Desloca para a esquerda uma ou mais colunas
> => Desloca os dados a direita um ou mais caracteres
< => Desloca os dados a esquerda um ou mais caracteres
Exemplos :
000300
) 0400 - Esta linha será deslocada para a direita 2 colunas
000500
ou
)) 700 - Estas quatro linhas serão deslocadas para a direita 99 colunas, o que fará com que os dados
destas 4 linhas
000800 - sejam perdidos
000900
))99 0
ou
000300
( 0400 - Esta linha será deslocada para a esquerda 2 colunas
000500
ou
(( 700 - Estas quatro linhas serão deslocadas para a esquerda 11 colunas, causando perda de dados das
primeiras colunas
000800
000900
((11 0
ou
000300
> 0400 - Dados desta linha serão deslocados a direita 2 colunas
000500
ou
» 700 - Dados nestas três linhas serão deslocados a direita 4 colunas
000800
»40
001000
ou
000300
< 0400 - Dados nesta linha serão deslocados a esquerda 2 colunas
000500
ou
« 700 - Dados nestas 3 linhas serão deslocados a esquerda pôr 4 colunas
000800
«4 00
001000
Comandos de exclusão/exibição :
X (Exclude), F (First), L (Last), S (Show)
X => Exclui uma linha, várias, ou um bloco de linhas
F => Mostra a primeira (ou primeiras) linha(s) de um bloco de linhas excluídas
L => Mostra a última (ou últimas) linha(s) de um bloco de linhas excluídas
S => Mostra as linhas mais significativas de um bloco de linhas excluídas
Exemplos :
000300
X 0400 - A linha 400 será excluída 000500
ou
XX 700 - Este bloco de 3 linhas será excluído
000800
XX 900
001000
ou
000300
F - - - - - - - - - - - - - - - 10 LINE(S) NOT DISPLAYED
001400 (será exibida a primeira das 10 linhas acima)
F10 - - - - - - - - - - - - - 33 LINE(S) NOT DISPLAYED
005800 - (serão exibidas as 10 primeiras das 33 linhas acima)
ou
000300
L - - - - - - - - - - - - - - - 10 LINE(S) NOT DISPLAYED
001400 - (será exibida a última das 10 linhas acima)
L10 - - - - - - - - - - - - - 33 LINE(S) NOT DISPLAYED
005800 - (serão exibidas as 10 últimas das 33 linhas acima)
ou
000300
S - - - - - - - - - - - - - - - 10 LINE(S) NOT DISPLAYD
001400 - (será exibido uma das 10 linhas acima)
S10 - - - - - - - - - - - - - - 33 LINE(S) NOT DISPLAYED
005800 - (serão exibidas 10 das 33 linhas acima)
Obs.: Quando um grupo de linhas é excluído, o comando S pode ser usado para exibir alguma, mas não
todas as linhas . Para se determinar que linhas serão exibidas, é usado indentação de dados. As linhas
indentadas mais a esquerda serão mostradas. Se várias linhas forem indentadas de forma igual, isto é,
com os dados começando na mesma coluna), então, as primeiras linhas serão exibidas.
COMANDOS PRIMARIOS
Comandos Diversos :
LOCATE => Para exibir uma linha particular em um arquivo ou texto.
RESET => Para "resetar", isto é, cancelar um estado de exibição dos dados durante a edição.
SUBMIT => Para submeter um job que esteja sendo editado no momento.
PROFILE => Para exibir a profile de edição corrente, isto é, as indicações de defaults usados na edição,
para que estes defaults possam ser controlados ou alterados.
RECOVERY => Para ligar ou desligar o modo de RECOVERY
SAVE => Para salvar os dados sendo editados.
CANCEL => Para cancelar a edição sem salvar as alterações
Comentários e exemplos sobre o comando LOCATE :
O comando LOCATE é usado para se exibir uma linha específica dos dados sendo editados. O comando
pode ser abreviado pôr LOC ou *L*.
Exemplos :
COMMAND ===> LOC 450 Exibe a linha 450
COMMAND ===> LOC.ZFIRST Exibe a primeira linha do texto
LOC.ZFIRST : Pode ser usado para rolar a tela de modo a poder ver a primeira linha do texto.
LOC.ZLAST : Pode ser usado para rolar a tela de modo a poder ver a última linha do texto.
COMMAND ===> LOC NEXT SPECIAL Exibe a próxima linha especial (cols, prof, tabs, mask, bnds, note)
COMMAND ===> LOC PREV X .A .B Exibe a linha anterior que foi excluída e que se encontra entre o
label ".A" e ".B"
COMMAND ===> LOC FIRST ERR Exibe a primeira linha que possui o flag ===ERR>
COMMAND ===> LOC LAST CHG Exibe a última linha que ontem o flag ===CHG>
COMMAND ===> LOC CMD .A .B Exibe a próxima linha que contem um comando pendente e que se
encontra entre os labels ".A" e ".B"
COMMAND ===> LOC LABEL Exibe a próxima linha que contém um label
Comandos de Numeração :
LABELS
Pode-se atribuir labels (rótulos) a linhas do texto sendo editado. Estes labels podem ser referenciados pôr
vários comandos. A utilidade mais comum para o uso de labels, é a identificação de um intervalo de
linhas que será tratado pôr um comando qualquer.
Um label, nada mais é do que um conjunto de caracteres iniciado pôr um ponto (.) e com tamanho de 1 a
5 caracteres (alfabéticos) definido no inicio da linha (parte da linha aonde digitamos Comandos de linha).
Uma vez associado a uma linha, o label caminha com a linha, isto é, se a linha for movimentada, o label
também o será.
Exemplos :
000015 Esta é uma linha de dados
.HERE Esta é uma linha de dados com um label 000017 Esta é uma linha de dados
.TEREI Esta é uma linha de dados com um label
Labels podem ser associados somente a linhas de dados. Eles não podem ser associados a linhas
especiais (=COLS>, =MASK>, =TABS>, etc.).
Um label pode ser removido de uma linha, simplesmente digitando-se brancos no lugar onde o label foi
definido e então pressionando-se ENTER. Labels podem ser removidos também, usando-se o comando
RESET LABEL.
Um label pode ser movido para outra linha, digitando-se o mesmo label na nova linha,
Existem vários labels especiais, que são automaticamente designados e mantidos pelo editor.
Todos eles começam com a letra "Z".
Portanto, labels que começam com a letra "Z" são de uso exclusivo do editor e não podem ser usados
pelo usuário.
Os labels designados pelo editor e disponíveis para uso pelo usuário são :
.ZCSR => Linha de dados onde o cursor esta posicionado
.ZFIRST => Primeira linha de dados do texto. Pode ser abreviado pôr .ZF
.ZLAST => Última linha de dados do texto. Pode ser abreviado pôr .ZI