COBOL
Do zero ao avançado — fundamentos, arquivos, tabelas, SORT, COPY e tipos de dados para ambientes bancários reais.
Introdução ao COBOL — O que é, para que serve e por que ainda importa
História, vantagens, desvantagens e contexto de mercado. Por onde começar.
Estrutura de um Programa COBOL — As 4 Divisões
IDENTIFICATION, ENVIRONMENT, DATA e PROCEDURE DIVISION explicadas com analogias.
Level Numbers — Hierarquia de Dados no COBOL
Entenda os níveis 01 a 49, além dos especiais 66, 77 e 88 com exemplos práticos.
PICTURE Clause — Definindo Tipos e Tamanhos de Variáveis
PIC X, PIC 9, PIC A, símbolos de edição, sinais e máscaras numéricas.
Tipos de Dados Internos
DISPLAY, COMP-3 (Packed Decimal), COMP, COMP-5 e COMP-1/2 — quando usar cada tipo e como eles são gravados na memória.
MOVE, INITIALIZE e operações com dados
Como mover e inicializar variáveis, conversões implícitas, aritmética e armadilhas comuns.
IF, EVALUATE e expressões condicionais
Lógica condicional no COBOL, comparações, condição 88 e o substituto do switch.
PERFORM — Laços e sub-rotinas internas
PERFORM simples, PERFORM UNTIL, PERFORM VARYING e organização do código.
Copybooks
COPY, REPLACING, tipos de copybook, convenções de nomenclatura e interface de CALL com copybook compartilhada.
Manipulação de Arquivos no COBOL
OPEN, READ, WRITE, REWRITE, DELETE e CLOSE — processamento sequencial e por chave.
Tabelas e Arrays no COBOL
OCCURS, SEARCH, SEARCH ALL, índices e subscripts para estruturas de dados.
CALL e comunicação entre programas
Chamada de sub-programas, LINKAGE SECTION, USING e retorno de dados.
STRING e Manipulação de Texto
STRING, UNSTRING, INSPECT e Reference Modification para processar campos alfanuméricos.
SORT e MERGE
Ordenação e mesclagem de arquivos com SORT, RELEASE, RETURN, MERGE e integração com DFSORT.
Abends e Debugging
S0C7, S0C4, S013, S322 e outros — como interpretar, localizar e corrigir abends no z/OS.
Datas no COBOL
FUNCTION CURRENT-DATE, aritmética com dia Lilian, funções intrínsecas e validação de datas.
Edição Numérica no COBOL
Símbolos de PIC para exibição, campos editados para saldo, CPF, percentual e proteção de cheque.
JCL — Job Control Language
Submissão de jobs, steps, datasets e utilitários IBM para orquestrar execuções no mainframe.
Introdução ao JCL — O que é e como funciona
O papel do JCL no mainframe, JES2/JES3, batch vs. online e anatomia de um job.
JOB Statement — O Cartão de Identidade do Job
Nome do job, parâmetros posicionais, CLASS, MSGCLASS, NOTIFY, TIME, TYPRUN=SCAN e continuação de linha.
EXEC e DD Statements — Executando Programas e Conectando Dados
PGM vs. PROC, PARM, DDs especiais (STEPLIB, JOBLIB, SYSOUT), dados inline e DUMMY.
Parâmetros do DD — DSN, DISP, SPACE, UNIT e DCB
Tudo sobre datasets: como nomear, alocar espaço, definir formato e controlar ciclo de vida.
Condicionais e Return Codes — Controlando o Fluxo do Job
Return codes, IF/THEN/ELSE/ENDIF, o legado COND, COND=EVEN/ONLY e cenários reais.
Procedures JCL — Reutilizando Steps com Parâmetros Simbólicos
Instream vs. cataloged procedures, parâmetros simbólicos, override de DDs e proc de compilação COBOL.
VSAM
Organização e acesso a datasets VSAM — KSDS, ESDS, RRDS, IDCAMS e integração com COBOL.
VSAM — Organização e Acesso
KSDS, ESDS, RRDS, IDCAMS, FILE STATUS, acesso sequencial/aleatório/dinâmico e Alternate Index.
Estrutura Interna — CI, CA e Freespace
Control Interval, Control Area, CIDF, RDF, freespace CI%/CA%, CI Split, CA Split, CISZ e monitoramento com LISTCAT.
IDCAMS em Profundidade
DEFINE CLUSTER completo, REPRO (carga/backup/unload), LISTCAT, DELETE, ALTER, EXPORT/IMPORT, PRINT, VERIFY e reorganização.
RRDS e LDS — Os Outros Tipos VSAM
RRDS com RELATIVE KEY no COBOL, slots numerados, deleção e reuso, LDS como dataset linear e comparativo completo dos 4 tipos VSAM.
Catálogo VSAM e JCL
ICF Catalog, VVDS, master vs user catalog, ALIAS, DISP com VSAM, parâmetro AMP, RECATALOG e EXAMINE para integridade.
DB2
Banco de dados relacional do mainframe — SQL embutido, performance, catálogo e utilitários.
SQL no DB2 — Tipos de Dados, Funções e Diferenças do Padrão
Tipos numéricos, char e date, registros especiais, funções de string/data/conversão, NULL, agregação, FETCH FIRST e JOINs.
DB2 Embutido no COBOL
EXEC SQL, SQLCA, DCLGEN, cursores, indicadores de nulo e tratamento de SQLCODE em programas batch.
Índices no DB2 — Clustering, Non-clustering e Quando Usar
Tipos de índice, cluster ratio, matching columns, quando o otimizador usa ou ignora índices e manutenção com RUNSTATS e REORG.
EXPLAIN e Planos de Acesso — Como o DB2 Executa suas Queries
PLAN_TABLE, ACCESSTYPE, MATCHCOLS, INDEXONLY, PREFETCH, operações de sort e como interpretar e melhorar um plano de acesso.
Utilitários DB2 — RUNSTATS, REORG, COPY e RECOVER
Como manter o banco saudável: estatísticas, reorganização, backup e recuperação de tablespaces em ambientes de produção.
Locking e Concorrência no DB2
Modos de lock, granularidade, níveis de isolamento, deadlocks, timeouts e padrão COBOL para retry em -911/-913.
Catálogo DB2 — Consultando Metadados com SYSIBM
SYSTABLES, SYSCOLUMNS, SYSINDEXES, SYSPLAN, SYSPACKAGE, SYSCOPY — como consultar metadados do banco para diagnóstico e auditoria.
CICS
Programação online no mainframe — transações, mapas BMS, COMMAREA e integração com DB2 e VSAM.
CICS — Programação Online
Modelo pseudo-conversacional, COMMAREA, mapas BMS, SEND/RECEIVE MAP, RESP e acesso a VSAM e DB2 em transações online.
BMS em Profundidade — Mapas de Tela 3270
DFHMSD, DFHMDI, DFHMDF, atributos de campo, MDT, posicionamento de cursor, cor 3270 e copybook simbólico.
Temporary Storage e Transient Data
WRITEQ/READQ/DELETEQ TS, paginação multi-tela, filas intrapartição e extrapartição, trigger automático de transação.
CICS e DB2 — SYNCPOINT, Commit e Integração
UOW, two-phase commit, SYNCPOINT vs EXEC SQL COMMIT, programas threadsafe, RMI e padrões de confirmação online.
Tratamento de Erros e ABENDs no CICS
HANDLE CONDITION, RESP/RESP2, HANDLE ABEND, códigos ASRA/AICA/AKCP/APCT, DUMP TRANSACTION, CEDF e CECI.
Definições CICS e Administração — CSD, CEDA e CEMT
Grupos e listas no CSD, CEDA DEFINE para transações, programas e arquivos, CEMT em runtime, segurança RACF e tabelas legadas.
IMS
Banco de dados hierárquico — segmentos, DL/I calls, PCB, PSB e programas BMP.
IMS — Banco de Dados Hierárquico
Modelo hierárquico vs relacional, segmentos, DBD, PSB, PCB, IMS DB vs IMS DC e casos de uso em sistemas bancários.
DL/I Calls no COBOL — GU, GN, ISRT, DLET, REPL
Sintaxe completa das DL/I calls, SSAs, PCB status codes e padrões de leitura, atualização e inserção.
SSAs e Qualificação de Chamadas
SSA booleano AND/OR, command codes C/D/F/L/N/P/Q/U, path calls e múltiplos SSAs em hierarquias profundas.
PCB, PSB e DBD em Detalhe
DBD SEGM/FIELD/LCHILD, PSB PCB SENSEG PROCOPT, múltiplos PCBs, KEY-FEEDBACK, índice secundário e pipeline DBDGEN/PSBGEN/ACBGEN.
IMS DC e Programas BMP
IMS DC vs IMS DB standalone, MPP, BMP e JBP, IOPCB para mensagens, checkpoints e restart.
TSO/ISPF
Navegação, editor, datasets, SDSF e linha de comando — tudo que você precisa para trabalhar no ambiente TSO/ISPF do mainframe.
Introdução ao TSO/ISPF — O Ambiente de Trabalho do Mainframe
O que é TSO, o que é ISPF, terminal 3270, logon e o Primary Menu pela primeira vez.
Navegando no ISPF — PF Keys, Fast Path e Split Screen
PF keys, command line, fast path (=3.4), split screen e atalhos essenciais de navegação.
ISPF Editor — Editando Arquivos no Mainframe
Anatomia da tela, comandos primários (FIND, CHANGE, SAVE), comandos de linha (I, D, R, C, M) e blocos CC/MM/DD.
Gerenciamento de Datasets — DSLIST, Alocação e Cópia
Tipos de dataset (PS/PO/PDSE/VSAM), naming conventions, DSLIST (3.4), alocar (3.2) e copiar (3.3).
SDSF — Monitorando Jobs e Consultando Output
Painéis ST/H/O, filtros PREFIX/OWNER, consultar output, ações sobre jobs e lendo JESMSGLG/JESJCL/JESYSMSG.
TSO Commands — Linha de Comando no Mainframe
Opção 6, comandos de dataset (LISTCAT, LISTDS, ALLOCATE, DELETE), jobs (SUBMIT, STATUS, CANCEL), EXEC, CALL e IKJEFT01 em batch.
Utilitários IBM
IEBGENER, IEBCOPY, DFSORT, IDCAMS e IEFBR14 — as ferramentas que todo profissional de mainframe usa no dia a dia.
Introdução aos Utilitários IBM
O que são utilitários, como invocar via JCL (PGM=), DDs padrão e tabela dos principais programas.
IEBGENER e IEBCOPY — Copiando Datasets e Membros PDS
Cópia simples, dados inline, reformatação com SYSIN, cópia de membros PDS, SELECT/EXCLUDE e compressão.
SORT Básico — Ordenando e Filtrando Registros
JCL do SORT, SORT FIELDS, tipos de dado (CH, ZD, PD, BI), INCLUDE/OMIT, OUTREC e FIELDS=COPY.
SORT Avançado — SUM, OUTFIL, JOINKEYS e INREC
Agregação com SUM, múltiplas saídas com OUTFIL, junção de arquivos com JOINKEYS e reformatação com INREC.
IDCAMS — Gerenciando VSAM e o Catálogo
DEFINE CLUSTER, DELETE, LISTCAT, REPRO, PRINT e SET MAXCC para controle de return code.
Outros Utilitários IBM — IEFBR14, IEBPTPCH e mais
IEFBR14 para alocar/deletar via DISP, IEBPTPCH para imprimir, IEHLIST para volumes e guia rápido de qual utilitário usar.
REXX
A linguagem de script do z/OS — automatize tarefas, processe dados e integre TSO/ISPF com execs REXX.
Introdução ao REXX — A Linguagem de Script do Mainframe
O que é REXX, onde roda (TSO, batch, ISPF), REXX vs CLIST, primeiro exec e como executar.
Variáveis e Operadores — Trabalhando com Dados em REXX
Tipagem implícita, operadores aritméticos, concatenação de strings, comparação, SAY, PULL e ARG.
Controle de Fluxo — IF, SELECT e Loops em REXX
IF/THEN/ELSE, SELECT/WHEN, DO loops, DO WHILE/UNTIL, DO FOREVER, ITERATE e LEAVE.
Funções e Strings — Manipulando Texto em REXX
LENGTH, SUBSTR, POS, STRIP, TRANSLATE, WORD/WORDS, LEFT/RIGHT/CENTER, DATE, TIME e DATATYPE.
REXX com TSO/ISPF — Automatizando o Ambiente Mainframe
ADDRESS TSO/ISPEXEC, captura de RC, OUTTRAP, LISTDSI, VGET/VPUT e leitura de datasets com LMOPEN/LMGET.
REXX Avançado — Stems, PARSE, Subrotinas e Tratamento de Erros
Stems (arrays), PARSE com templates, subrotinas com PROCEDURE EXPOSE, SIGNAL ON e TRACE para debug.
RACF
Segurança no mainframe — controle de acesso, auditoria e administração do ESM do z/OS.
Introdução ao RACF — Segurança no Mainframe
O que é RACF, modelo sujeito/objeto/perfil, tipos de perfil, UACC e hierarquia de decisão de acesso.
Usuários e Grupos no RACF
ADDUSER, ALTUSER, DELUSER, LISTUSER — ADDGROUP, LISTGRP — CONNECT e REMOVE para membros de grupos.
Protegendo Datasets com RACF
Perfis discretos e genéricos com ADDSD — access list com PERMIT — LISTDSD, ALTDSD, DELDSD e WARNING mode.
Recursos Gerais no RACF
Classes RACF (TERMINAL, TSOAUTH, JESJOBS, TCICSTRN, FACILITY, STARTED) — RDEFINE, RLIST, RALTER e SETROPTS.
Auditoria no RACF
SMF tipos 80 e 83 — AUDIT e GLOBALAUDIT — extração com IFASMFDP — relatórios com RACF Report Writer.
Administração RACF — Operação do Dia a Dia
RACF database, política de senhas, RACF em batch, backup/restore, administração delegada e troubleshooting.
Assembler z/OS
A linguagem da máquina — registradores, instruções, macros e linkage convention do z/OS.
Introdução ao Assembler z/OS
Por que aprender Assembler, estrutura de um programa, formato de instrução e primeiro Hello World com JCL de compilação.
Registradores e Modelo de Memória do z/OS
16 registradores GPR, convenções de uso, R13 savearea, R14 retorno, R15 RC, base register, BALR/USING e tipos DC/DS.
Instruções Básicas do Assembler z/OS
L/ST/LR/LA, MVC/MVI, aritmética A/S/M/D, comparação C/CLC/CLI, Condition Code e desvio BE/BNE/BL/BH.
Macros e I/O com DCB no Assembler z/OS
O que são macros, DCB (Data Control Block), OPEN/CLOSE, GET/PUT, programa completo de I/O e WTO/ABEND/GETMAIN.
Subrotinas e Linkage Convention no Assembler z/OS
Convenção OS/390, BALR/BR, passagem de parâmetros via R1, macro CALL, subrotinas internas e interoperabilidade COBOL/Assembler.
Programa Prático Completo em Assembler z/OS
Programa SUMREC01 com leitura, validação e relatório — SNAP para debug, leitura de dumps e dicas para código legado.
IBM MQ
Mensageria no mainframe — filas, canais, API e integração com COBOL e CICS.
Introdução ao IBM MQ — Mensageria no Mainframe
Modelo de mensageria assíncrona, arquitetura (QM, fila, canal, listener), MQ no z/OS e casos de uso em bancos.
Objetos MQ — Filas, Queue Manager e MQSC
QLOCAL, QREMOTE, QALIAS, QMODEL, DLQ, XMITQ — DEFINE/ALTER/DELETE/DISPLAY e atributos MAXDEPTH, DEFPSIST, BOQNAME.
Canais e Conectividade no IBM MQ
Tipos SDR/RCVR/SVRCONN/CLNTCONN, listener TCP/IP, START/STOP, DISPLAY CHSTATUS e exemplo completo QM1→QM2.
Programando com MQ — MQPUT e MQGET
API MQ — MQCONN/MQDISC, MQOPEN/MQCLOSE, MQPUT/MQGET, MQMD, MQPMO/MQGMO e reason codes principais.
MQ com COBOL e CICS
COBOL batch consumindo fila, trigger para disparar programas, MQ em transações CICS, request-reply e Dead Letter Queue.
Administração do IBM MQ no z/OS
Segurança RACF+MQ, CHLAUTH, monitoramento de filas e canais, troubleshooting, backup e CSQUTIL.