Mainframe-Allocation_Calculator
Ferramenta para automatizar cálculos de alocação utilizados em ambientes Mainframe, eliminando a necessidade de cálculos manuais envolvendo Tracks, Cylinders, Bytes, Block Size e comandos SPACE utilizados em JCL.
- Archived · last change 5-10-2026
- ★ 2 on GitHub
README
☁️ Allocation Calculator
Ferramenta para cálculo automático de alocação física em ambientes Mainframe.
📌 Sobre
O Allocation Calculator foi desenvolvido para automatizar cálculos de alocação utilizados em ambientes Mainframe.
A ferramenta elimina a necessidade de cálculos manuais envolvendo Tracks, Cylinders, Bytes, Block Size e comandos SPACE utilizados em JCL.
Com poucos dados informados pelo usuário, o aplicativo calcula automaticamente toda a estrutura física necessária para criação e dimensionamento de datasets.
⚙️ O que ele faz
Durante o processamento, o aplicativo:
- Calcula tamanho total em Bytes
- Converte automaticamente para KB, MB, GB e TB
- Calcula quantidade de Tracks
- Calcula quantidade de Cylinders
- Gera parâmetros SPACE prontos para JCL
- Calcula alocação primária e secundária
- Calcula Block Size otimizado
- Valida entradas inválidas automaticamente
Tudo isso acontece automaticamente em uma única execução.
🧠 Regras de cálculo
A ferramenta utiliza regras clássicas de alocação física em Mainframe:
- 1 Track: 48.000 bytes
- 1 Cylinder: 15 Tracks
- 1 Cylinder: 720.000 bytes
Os cálculos são realizados automaticamente utilizando:
- Total de registros
- Tamanho lógico do registro
- Block Size selecionado
📦 Cálculo de Block Size
O sistema possui cálculo automático de BLKSIZE baseado nos limites físicos mais utilizados em ambientes Mainframe:
- 27990 bytes
- 32760 bytes
O cálculo utiliza truncamento matemático para encontrar o maior múltiplo válido do tamanho lógico do registro.
Isso ajuda a maximizar aproveitamento físico do dataset e reduzir desperdício de espaço.
📊 Conversões automáticas
O aplicativo converte automaticamente:
- Bytes → KB
- KB → MB
- MB → GB
- GB → TB
Todos os valores são exibidos formatados automaticamente na interface.
📋 Geração automática de SPACE
O sistema gera automaticamente comandos prontos para utilização em JCL:
Exemplo:
SPACE=(TRK,(150,1),RLSE) SPACE=(CYL,(10,1),RLSE)
Também gera versões para expansão secundária automática:
SPACE=(TRK,(150,150),RLSE) SPACE=(CYL,(10,10),RLSE)
📊 Exemplo de processamento
Entrada:
Quantidade de registros: 100000 Tamanho lógico: 300
Saída:
Bytes: 30.000.000 Tracks: 625 Cylinders: 42 SPACE=(TRK,(625,1),RLSE) SPACE=(CYL,(42,1),RLSE)
🚀 Como usar
- Informe a quantidade de registros
- Informe o tamanho lógico do registro
- Selecione o modo de Block Size
- Clique em Calculate
- Veja os resultados automaticamente
- Copie os parâmetros SPACE gerados
🎯 O que isso resolve
- Evita cálculos manuais de alocação
- Reduz erros em parâmetros SPACE
- Facilita dimensionamento de datasets
- Agiliza criação de JCLs
- Melhora cálculo de Block Size
- Ajuda em capacity planning
⚠️ Validações
O sistema possui validações automáticas para evitar erros:
- Bloqueio de letras
- Bloqueio de caracteres especiais
- Validação de campos vazios
- Controle de execução incompleta
O cálculo só pode ser executado quando os campos obrigatórios forem preenchidos corretamente.
🖥️ Interface
- Entrada para quantidade de registros
- Entrada para tamanho lógico
- Seleção de Block Size
- Resultado formatado automaticamente
- Geração instantânea de comandos SPACE
- Área de saída para JCL
- Status operacional
🛠️ Tecnologias
- Delphi 7
- VCL (Visual Component Library)
- Windows API
- WinSkinData
📸 Preview

Ferramenta criada para eliminar cálculos manuais de allocation em ambientes Mainframe. ☁️

