Translate

sábado, 6 de agosto de 2022

🎮 Isekai List 2022

 

Bellacosa Mainframe apresenta a lista de isekai 2022

☕ Um Café no Bellacosa Mainframe

2022 — O Ano em que o Isekai Recebeu Atualização de Firmware

Se 2021 consolidou o isekai como um dos gêneros mais populares dos animes, 2022 foi o ano em que ele entrou definitivamente em produção em massa. Era praticamente impossível acompanhar uma temporada sem encontrar pelo menos dois ou três protagonistas sendo atropelados pelo famoso Truck-kun, reencarnando como espadas, esqueletos, invocadores, princesas ou personagens de jogos.

Foi também um ano curioso porque o gênero começou a experimentar novas fórmulas. O herói overpower continuou presente, mas surgiram histórias focadas em administração de reinos, agricultura, política, humor absurdo e até protagonistas que simplesmente queriam viver uma vida tranquila.

Como diríamos no Bellacosa Mainframe:

"O servidor do Isekai já não executava apenas um programa. Em 2022 ele virou um ambiente virtualizado com dezenas de máquinas rodando simultaneamente."

Segundo levantamentos da indústria, o número de isekais lançados continuou crescendo e chegou a representar uma parcela significativa das produções televisivas japonesas daquele ano. (Você Sabia Anime)



Os principais Isekais lançados em 2022


1. Overlord IV

Título Original: オーバーロード IV (Overlord IV)

Episódios: 13

Resumo

Ainz Ooal Gown continua expandindo o Reino Feiticeiro. Agora sua maior dificuldade já não é derrotar inimigos, mas governar um império enquanto seus subordinados acreditam que cada movimento faz parte de um plano genial.

Personagens

  • Ainz Ooal Gown

  • Albedo

  • Demiurge

  • Shalltear Bloodfallen

  • Aura

  • Mare

Easter Egg

Grande parte do humor nasce justamente do fato de Ainz improvisar enquanto NPCs interpretam tudo como estratégia de nível divino.


2. The Rising of the Shield Hero Season 2

Título Original: Tate no Yuusha no Nariagari Season 2

Episódios: 13

Resumo

Naofumi enfrenta a misteriosa Spirit Tortoise e descobre novas ameaças interdimensionais.

Personagens

  • Naofumi

  • Raphtalia

  • Filo

  • Rishia

Easter Egg

A temporada amplia bastante a mitologia das Ondas, conectando diversos mundos paralelos.


3. Arifureta Shokugyou de Sekai Saikyou 2nd Season

Título Original: ありふれた職業で世界最強 2nd Season

Episódios: 12

Resumo

Hajime continua sua jornada acompanhado de um grupo cada vez maior enquanto procura o caminho de volta para casa.

Personagens

  • Hajime Nagumo

  • Yue

  • Shea

  • Tio

  • Kaori

Easter Egg

O contraste entre o Hajime do primeiro episódio e o protagonista atual continua sendo um dos maiores desenvolvimentos do gênero.


4. Kenja no Deshi wo Nanoru Kenja

Título Original: 賢者の弟子を名乗る賢者

Episódios: 12

Resumo

Um veterano jogador acorda preso em seu MMORPG favorito... mas agora no corpo de uma jovem maga.

Personagens

  • Mira

  • Solomon

  • Luminaria

Easter Egg

Brinca constantemente com MMORPGs clássicos e a nostalgia dos jogadores veteranos.


5. Leadale no Daichi nite

Título Original: リアデイルの大地にて

Episódios: 12

Resumo

Após morrer, Keina desperta dentro do jogo Leadale, centenas de anos no futuro.

Personagens

  • Cayna

  • Skargo

  • Kartatz

  • Mai-Mai

Easter Egg

O clima tranquilo lembra um "slice of life" em outro mundo.


6. Fantasy Bishoujo Juniku Ojisan to

Título Original: 異世界美少女受肉おじさんと

Episódios: 12

Resumo

Dois amigos são transportados para outro mundo, mas um deles renasce como uma linda garota.

Personagens

  • Tachibana

  • Jinguuji

Easter Egg

Satiriza praticamente todos os clichês dos isekais modernos.


7. Kuro no Shoukanshi (Black Summoner)

Título Original: 黒の召喚士

Episódios: 12

Resumo

Kelvin sacrifica sua memória em troca de poderes absurdos e se torna um dos maiores invocadores do mundo.

Personagens

  • Kelvin

  • Efil

  • Melfina

  • Gerard

Easter Egg

Kelvin adora enfrentar inimigos fortes apenas pela diversão.


8. Isekai Yakkyoku

Título Original: 異世界薬局

Episódios: 12

Resumo

Um pesquisador farmacêutico renasce em outro mundo usando ciência para revolucionar a medicina.

Personagens

  • Falma

  • Ellen

  • Blanche

Easter Egg

Diversas doenças mostradas possuem fundamentos médicos reais.


9. Tensei shitara Ken Deshita

Título Original: 転生したら剣でした

Episódios: 12

Resumo

O protagonista reencarna... como uma espada mágica.

Quem realmente rouba a cena é Fran, uma jovem guerreira felina.

Personagens

  • Fran

  • Mestre (a espada)

Easter Egg

Um dos poucos isekais em que o protagonista literalmente vira um equipamento.


10. Akuyaku Reijou nanode Last Boss wo Kattemimashita

Título Original: 悪役令嬢なのでラスボスを飼ってみました

Episódios: 12

Resumo

Sabendo que será condenada, a vilã do jogo decide conquistar justamente o chefe final.

Personagens

  • Aileen

  • Claude

Easter Egg

Mistura otome game, romance e isekai.


11. Eminence in Shadow

Título Original: 陰の実力者になりたくて!

Episódios: 20

Resumo

Cid Kagenou sonhava ser o misterioso mestre das sombras.

Após renascer, inventa uma organização secreta...

...que acaba existindo de verdade.

Personagens

  • Cid

  • Alpha

  • Beta

  • Gamma

  • Delta

  • Shadow Garden

Easter Egg

Toda a série é construída sobre coincidências absurdas onde Cid acredita estar apenas brincando.

Hoje é considerada uma das maiores sátiras ao gênero.


12. Reincarnated as a Sword

Título Original: 転生したら剣でした

Episódios: 12

Embora tenha estreado no final de 2022, rapidamente tornou-se um dos maiores sucessos do ano.

Sua relação entre Mestre e Fran foge completamente do tradicional protagonista rodeado por harém.


Tendências que marcaram 2022

Durante este ano ficou evidente que o gênero estava mudando.

  • mais protagonistas adultos

  • muito mais RPG

  • sistemas de níveis mais elaborados

  • crescimento dos otome isekai

  • humor metalinguístico

  • protagonistas não humanos

  • administração de reinos

  • medicina, culinária e economia

  • protagonistas conscientes dos clichês

  • continuações de grandes franquias


Curiosidades

O Truck-kun descansou

Nem todo protagonista morreu atropelado.

Alguns:

  • acordaram em jogos;

  • reencarnaram naturalmente;

  • foram invocados;

  • trocaram de corpo;

  • simplesmente despertaram em outro universo.


O protagonista virou qualquer coisa

Em poucos anos tivemos protagonistas transformados em:

  • slime;

  • aranha;

  • espada;

  • máquina;

  • vilã;

  • farmacêutico;

  • agricultor;

  • administrador.

Parecia que qualquer objeto do inventário podia virar personagem principal.


O humor ganhou força

Produções como:

  • Fantasy Bishoujo

  • Eminence in Shadow

mostraram que rir dos clichês podia ser tão divertido quanto utilizá-los.


O que foi relevante em 2022?

2022 mostrou que o isekai finalmente havia amadurecido como indústria.

Não era mais apenas "um garoto derrotando o Rei Demônio".

Agora havia espaço para:

  • política;

  • economia;

  • administração;

  • medicina;

  • romance;

  • comédia;

  • sátira;

  • fantasia sombria;

  • sobrevivência;

  • construção de mundo.

Foi também o ano em que obras como Eminence in Shadow provaram que era possível brincar com todos os clichês sem perder qualidade, enquanto títulos como Isekai Yakkyoku e Reincarnated as a Sword mostraram que ainda existava muito espaço para inovação. (TecMundo)

Conclusão

Se 2016 representou a consolidação, 2018 a explosão e 2021 a profissionalização do gênero, 2022 foi o momento em que o isekai virou uma verdadeira plataforma de desenvolvimento.

No Bellacosa Mainframe, eu costumo imaginar esse período como um enorme datacenter de fantasia. Antes existia apenas um servidor transportando heróis para outro mundo. Em 2022, havia um cluster inteiro: um nó executava um Rei Esqueleto administrando um império, outro inicializava uma espada senciente treinando uma guerreira, um terceiro carregava um farmacêutico revolucionando a medicina e, em algum canto, um rapaz brincava de organização secreta sem perceber que havia criado uma de verdade.

O sistema operacional do isekai já não era um experimento. Era uma infraestrutura madura, escalável e pronta para receber ainda mais mundos paralelos. E, como todo bom mainframe, continuava funcionando 24 horas por dia, sete dias por semana, sempre aguardando o próximo reboot de um protagonista.

☕ Um Café no Bellacosa Mainframe

Portal Isekai — A Linha do Tempo dos Mundos Paralelos

Atravesse o portal e explore os animes isekai lançados entre 2009 e 2025. Cada grimório anual reúne títulos, personagens, episódios, curiosidades, referências e mundos que mudaram o gênero.

17 anos catalogados
2009–2025 linha do tempo
1 portal dimensional

A grande biblioteca dos animes isekai

Um portal se abriu dentro do Bellacosa Mainframe. Do outro lado, aventureiros reencarnados, heróis convocados, jogadores presos em mundos virtuais, magos, demônios, fazendeiros, cozinheiros e administradores de reinos aguardam sua próxima missão.

Este índice organiza os artigos anuais da série Isekai List, começando em 2009 e avançando até 2025. Use a busca para localizar um ano, escolha a ordem cronológica ou abra cada artigo diretamente em uma nova aba. Também é possível visualizar o conteúdo dentro do próprio portal.

🧭 Console de Navegação Dimensional

17 grimórios encontrados.

Arquivo recuperado do mainframe

Grimórios Isekai por Ano

Sistema online
2025
Nova geração

Isekai List 2025

O ano em que o isekai começou a experimentar novos algoritmos, misturando fórmulas clássicas, continuações e novas variações.

2024
Expansão dimensional

Isekai List 2024

Um ciclo carregado de continuações, novos sistemas mágicos, protagonistas improváveis e múltiplas atualizações de firmware.

2023
Diversificação

Isekai List 2023

Fantasia, culinária, agricultura, aventura e slow life dividem espaço em um dos anos mais variados do gênero.

2022
Firmware atualizado

Isekai List 2022

Novas temporadas, adaptações aguardadas e mundos paralelos operando com sistemas cada vez mais especializados.

2021
Reinos conectados

Isekai List 2021

Heróis, vilões, estrategistas e habitantes de outros mundos disputam espaço em uma temporada de forte produção.

2020
Produção intensiva

Isekai List 2020

O gênero domina o horário de produção e se transforma em uma das principais forças da indústria de anime.

2019
Linha de montagem

Isekai 2019

A indústria amplia o catálogo e transforma mundos paralelos em uma linha constante de lançamentos e adaptações.

2018
Produção em massa

Isekai List 2018

O gênero entra definitivamente em produção em massa, multiplicando mundos, heróis e sistemas de habilidades.

2017
Industrialização

Isekai List 2017

O isekai vira linha de produção, recebe novas fórmulas narrativas e conquista uma audiência cada vez maior.

2016
Reinicialização

Isekai List 2016

Um ano decisivo, marcado por obras que reiniciaram o sistema operacional do gênero e redefiniram suas possibilidades.

2015
Ascensão imperial

Isekai List 2015

O isekai deixa de ser apenas um nicho, amplia seu público e começa a construir um verdadeiro império comercial.

2014
Permanência no outro mundo

Isekai List 2014

Os protagonistas descobrem que voltar para casa nem sempre é o objetivo principal de uma aventura em outro mundo.

2013
Nova identidade

Isekai List 2013

O gênero encontra uma identidade moderna e começa a estabelecer elementos que dominariam a década seguinte.

2012
Grande reinicialização

Isekai List 2012

O ano em que mundos virtuais, light novels e comunidades online ajudaram a reiniciar a indústria dos animes.

2011
Compilando o futuro

Isekai List 2011

Um período de transição em que os elementos do isekai moderno começam a ser compilados dentro da indústria.

2010
Pré-explosão

Isekai List 2010

Antes da grande explosão comercial, o gênero reiniciava silenciosamente seus códigos narrativos fundamentais.

2009
Código ancestral

Isekai List 2009

O começo desta linha do tempo: um gênero ainda em reinicialização, preparando terreno para sua evolução.

Janela dimensional

🌀 Visualizador de Artigos

Escolha “Ver no portal” em qualquer ano para carregar o artigo.

Portal em modo de espera Selecione um ano para iniciar a transferência.

O que você encontra neste índice de animes isekai?

Animes por ano

Uma organização cronológica dos lançamentos e continuações mais relevantes entre 2009 e 2025.

Histórias e personagens

Resumos, protagonistas, companheiros, vilões, sistemas mágicos e elementos marcantes de cada produção.

Curiosidades e easter eggs

Referências escondidas, relações com light novels, mangás, RPGs, jogos e outras obras da cultura japonesa.

Estilo Bellacosa

Uma viagem descontraída pelos mundos paralelos, misturando anime, nostalgia, tecnologia e o bom humor do mainframe.

Um Café no Bellacosa Mainframe
Onde cada anime é um programa e cada mundo paralelo é uma nova LPAR.

Voltar ao início ↑

sexta-feira, 5 de agosto de 2022

☕💥 IBM BPM: O Reino dos Fluxos, Aprovações e Processos

 

Bellacosa Mainframe apresenta o ibm bpm

☕💥 IBM BPM: O Reino dos Fluxos, Aprovações e Processos

Ou como um Padawan COBOL descobre que existe um CICS para humanos preencherem formulários

"Se CICS conversa com terminais 3270, IBM BPM conversa com pessoas, departamentos inteiros e regras de negócio espalhadas pelo planeta."

Bellacosa Mainframe


Introdução

Uma das maiores descobertas que um desenvolvedor COBOL faz ao sair do mundo Batch, CICS, VSAM e DB2 é perceber que muitas aplicações corporativas não processam apenas dados.

Elas processam algo muito mais complicado.

Elas processam pessoas.

E pessoas são extremamente difíceis de programar.

Arquivos VSAM obedecem.

DB2 obedece.

MQ obedece.

JCL obedece.

Usuários?

Nunca.

Um gerente pode aprovar em cinco minutos.

Outro pode levar três dias.

Compliance pode devolver.

Jurídico pode rejeitar.

Diretoria pode pedir ajustes.

É justamente para organizar esse caos corporativo que surgiu o BPM.

Business Process Management.

Ou simplesmente:

IBM BPM.


O que é IBM BPM?

IBM BPM significa:

Business Process Manager.

É uma plataforma destinada à modelagem, execução, monitoramento e automação de processos de negócio.

Pense nele como:

Um CICS para departamentos.

Um JES2 para aprovações.

Um Workflow Engine corporativo.

Um coordenador digital.


A origem do BPM

Década de 1980.

Empresas começaram a perceber algo curioso.

Automatizar programas não bastava.

Era preciso automatizar decisões.

Exemplo.

Solicitação de empréstimo.

Analista.

Supervisor.

Compliance.

Diretor.

Liberação.

Antes.

Tudo papel.

Depois.

Email.

Depois.

Workflow.


Década de 1990.

Surge o conceito BPM.

Business Process Management.


Aquisições importantes da IBM

A IBM percebeu o potencial.

Adquiriu duas empresas importantes.

Lombardi Software

Produto:

Teamworks

Especialidade:

Processos humanos


FileNet

Especialidade:

ECM

Documentos

Workflow

Case Management


Da união surgiu.

IBM BPM.


Primeiros releases

IBM BPM 7.5

2011


IBM BPM 8.0

2013


IBM BPM 8.5

2014


IBM BPM 8.6

2016


IBM BPM 8.6 CF

2017-2019


Posteriormente evoluiu para:

IBM Business Automation Workflow

BAW

Atualmente é o sucessor.


Filosofia

IBM BPM trabalha com:

Processos

Pessoas

Regras

Eventos

Integrações


Componentes

Process Designer

Desenha fluxos.


Process Center

Repositório.


Process Server

Executa.


Integration Designer

Integra sistemas.


Process Portal

Interface usuário.


Como funciona

Exemplo.

Solicitar cartão.

Cliente

Abrir pedido

Gerente

Análise crédito

Compliance

Emitir cartão

Fim


Cada etapa.

Pode esperar.

Horas.

Dias.

Semanas.


BPMN

IBM BPM usa.

BPMN 2.0

Business Process Model Notation


Elementos.

Evento

Tarefa

Gateway

Timer

Mensagem


Parece um fluxograma.

Só que muito mais poderoso.


Exemplo BPM

Solicitação de férias.

Start

Funcionário

Preencher formulário

Gestor aprova?

Gateway

Sim

RH

Fim

Não

Retorna funcionário


Gateway

É praticamente.

Nosso velho losango.


COBOL


IF APROVADO='S'

BPM

Gateway.


Como um desenvolvedor COBOL deve enxergar IBM BPM

Pense assim.

COBOL

Processa registros.

IBM BPM

Processa pessoas.


COBOL

PERFORM

IBM BPM

Human Task


COBOL

IF

IBM BPM

Exclusive Gateway


COBOL

JCL

IBM BPM

Scheduler


COBOL

COMMIT

IBM BPM

Milestone


Exemplo integrando Mainframe

Cliente solicita empréstimo.

IBM BPM

API

zOS Connect

CICS

COBOL

DB2

Resposta

BPM

Gerente

Aprovação


Passo a passo

Instalação

Necessário.

Linux

Windows

AIX


WebSphere Application Server


DB2

Oracle

SQL Server


Java


Deployment Manager


Cluster opcional.


Instalação resumida

Instalar WAS

Instalar BPM

Criar Profiles

Criar Deployment Manager

Criar Nodes

Configurar DB

Deploy

Subir ambiente


Técnicas importantes

SLA

Prazo.

Exemplo.

24 horas.


Escalation

Aprovação atrasou.

Enviar email.


Timer

Esperar 2 dias.


Human Task

Atividade humana.


Integration Service

Consumir API.


Coach

Tela Web.


Curiosidades

Easter Egg 1

BPM nasceu para substituir muitos workflows em Lotus Notes.


Easter Egg 2

Muitos bancos usam BPM apenas para aprovações.


Easter Egg 3

Boa parte dos usuários nem sabe que usa BPM.

Só recebem tarefas.


Easter Egg 4

O losango do fluxograma continua vivo.

Só ganhou nome novo.

Gateway.


Easter Egg 5

Muitos arquitetos IBM brincam:

"CICS fala com terminais."

"BPM fala com pessoas."


Vantagens

Excelente visibilidade.

KPIs.

Dashboards.

Auditoria.

SLA.

Escalabilidade.

Integração.

Baixo código.


Desvantagens

Curva aprendizado.

Infraestrutura pesada.

Licenciamento.

Dependência WebSphere.

Pode ser excessivo para processos simples.


Quando usar

Aprovações.

RH.

Compliance.

Jurídico.

Compras.

Contratos.

Onboarding.

KYC.

LGPD.

Fraude.


Quando não usar

Calcular juros.

Ordenar arquivos.

Batch noturno.

DFSORT.

ETL simples.


O futuro

IBM BPM praticamente se transformou.

Hoje falamos.

IBM BAW.

Business Automation Workflow.

Integrado com.

RPA.

IA.

OCR.

Watson.

Decision Server.

Process Mining.


Conclusão

Para um Padawan COBOL, IBM BPM é uma descoberta curiosa.

Passamos décadas modelando fluxos em papel.

Depois desenhamos fluxogramas.

Depois surgiram UML e BPMN.

E então alguém teve uma ideia brilhante:

"Se conseguimos desenhar processos, por que não executá-los?"

IBM BPM nasceu justamente dessa pergunta.

No mundo Bellacosa Mainframe, a analogia é simples:

  • JCL orquestra jobs.

  • CICS orquestra telas.

  • DB2 orquestra dados.

  • MQ orquestra mensagens.

  • IBM BPM orquestra pessoas.

E descobrir isso é perceber que o verdadeiro desafio da computação corporativa nunca foi apenas programar máquinas.

Sempre foi organizar seres humanos.

quinta-feira, 4 de agosto de 2022

📺 Sessão Sala Especial – TV Record, anos 1980

 



📺 Sessão Sala Especial – TV Record, anos 1980
(No tom Bellacosa Mainframe, com memória de televisor de tubo, chiado VHF e cheiro de sofá de corino no verão.)


Ah, a década de 1980… quando televisão era compromisso, gravação era fita VHS de 3 cabeças e ninguém “pulava intro” porque ela era parte da experiência. Entre tantas sessões de filmes que marcaram gerações, uma brilha de forma quase mitológica para quem viveu a telinha daquela época: a Sala Especial, exibida pela TV Record.



⭐ O que era?

A Sala Especial era um slot semanal (ou quase isso — grade de TV dos 80 mudava como IPL com PARM mal ajustado) dedicado a filmes adultos – sensuais, eróticos, picantes, mas longe de pornografia explícita. Era o tipo de atração que começava tarde da noite, muitas vezes após o Jornal da Record, fazendo parte do que a gente hoje chamaria de softcore cinema nights.

Não era pornô. Era clima. Era expectativa. Era câmera lenta, música de saxofone e cortina balançando ao vento.
Era o máximo de “ousadia televisiva” que se podia ter sem precisar de codificador pirata.




🧬 Por que existiu?

A TV Record, ainda longe de ser a gigante evangélica que se tornaria nos anos 1990+, investia em programação para competir na guerra noturna com Globo e SBT. A Sala Especial foi parte do movimento das emissoras de buscar audiência no horário adulto, algo que também se via em:

📌 Cinema em Casa (SBT)
📌 Supercine / Sessão de Gala (Globo)
📌 Ciclo de Cinema Erótico (manjado nos 80 e início dos 90)



Mas a Sala Especial tinha um diferencial: trazia muitas produções da BOCA  DO LIXO PAULISTANA, com roteiros nada serio, historias malucas e títulos ainda mais malucos ainda, usando de duplo sentindo, os antepassados diretos do click bait. Às vezes aparecei um casting de primeira linha, mas era normalmente composto por estrelas decadentes. ou iniciantes no cinema artesanal brasileiro. 

Tipo  O Bom Marido, Como é Boa Nossa Empregada, Nos tempos da Vaselina, As cangaceiras eróticas, Pensionato de Vigaristas, Historias que nossas babas não contavam, Sábado Alucinante. Alguns eram  filmes de qualidade com boas história e elenco, outras eram a perversão pura. Mas sem pornografia.

Em 90 minutos de filmes, talvez uns 2 minutos de peitinho, 3 minutos de bumbum, nada de nudez frontal, simulações de cena sexual embaixo do lençol ou sombras, muito palavrão e ataque velado a ditadura, aos conservadores e a tradicional família brasileira. Nada comparado com os filmes europeus soft-porn que chegaram em 1990 em outros canais e mesmo com a internet e sua pornografia hardcore.




🔥 Como o público via?

Era praticamente um ritual urbano-suburbano-nacional:

  • Pai ligava a TV baixinho

  • Mãe fingia que ia dormir

  • Criança inventava de beber água às 23h45

  • Antena de VHF ajustada com Bombril

  • E lá estava ela: Sala Especial, em cores saturadas e néon imaginário.

Quem viveu… sabe. Quem não se lembra da Wilza Carla?




🎭 Curiosidades, fofocas & "print screen mental"

🥃 Filmes muitas vezes eram reclassificados com sinopses mais “poéticas” para driblar a censura.
📼 Muita gente usou VHS para gravar escondido — e escondia embaixo do guarda-roupa.
🔊 Trilha sonora quase sempre com sax ou sintetizador estilo Giorgio Moroder versão cafona.
📡 Em algumas cidades a transmissão era instável — formando o fetiche da imagem quase invisível.
🎞 Nos anos 90 a sessão sumiu — a TV mudou, a moral mudou, a concorrência ficou adulta demais.



🔐 Easter egg (Bellacosa Mainframe style)

Havia uma mística urbana entre adolescentes:

“Se acertar a sintonia fina no botão do televisor preto-e-branco, dá pra ver mais do que devia”.

Nunca confirmado. Nunca negado. Um mito majestoso dos 80.
Como achar EXIT em COBOL quando só te deram GOTO.


🔚 Em resumo

A Sala Especial da TV Record foi o soft-erotismo elegante do horário nobre tardio,
um pedaço de liberdade televisiva num Brasil pré-internet, pré-streaming, pré-tudo.
Era proibido para menores, liberado para insone e cultuado por quem descobria o mundo.

Um capítulo da televisão brasileira que hoje parece impossível —
mas que existe vivo e elétrico na memória RGB de quem esteve lá.

quarta-feira, 3 de agosto de 2022

JASHIN-CHAN DROPKICK X — A TERCEIRA TEMPORADA QUE TRANSFORMOU UM ANIME DE NICHO

 

Bellacosa Mainframe e a terceira temporada de Jashin-chan dropkick x

☕💣😈 OPERADOR, O DATACENTER SOBRENATURAL ENTROU EM MULTIRREGIÃO! O SISTEMA AGORA EXECUTA TURISMO, CROWDFUNDING, META-HUMOR E CAOS DEMONÍACO EM PRODUÇÃO SIMULTANEAMENTE!

JASHIN-CHAN DROPKICK X — A TERCEIRA TEMPORADA QUE TRANSFORMOU UM ANIME DE NICHO EM UM CASE DE SUCESSO OPERACIONAL IMPROVÁVEL DA INDÚSTRIA OTAKU


Identificação da Obra

Título Original: 邪神ちゃんドロップキックX

Romanização: Jashin-chan Dropkick X

Título Internacional: Dropkick on My Devil!! X

Autor Original: Yukiwo

Mangá: Iniciado em 2012

Estúdio: Nomad

Direção: Hikaru Sato

Estreia: Julho de 2022

Episódios: 12

Gêneros:

  • Comédia

  • Sobrenatural

  • Slice of Life

  • Paródia

  • Meta-comédia

  • Humor Absurdo

Classificação Indicativa:

  • Aproximadamente 14+

  • Violência cartunesca

  • Humor ácido

  • Referências satíricas


Sinopse

Após sobreviver a duas temporadas de incidentes operacionais catastróficos, Jashin-chan continua presa no mundo humano.

Sua missão continua oficialmente aberta:

Retornar ao Inferno eliminando Yurine.

Resultado dos testes?

Falha.

Novamente.

Mas desta vez a franquia expande seu escopo.

O que antes era apenas um apartamento caótico agora se transforma em uma espécie de universo compartilhado de turismo regional, eventos promocionais, sátiras da indústria e loucura sobrenatural.


Resumo da Temporada

Se a primeira temporada apresentou o sistema...

E a segunda consolidou a arquitetura...

A terceira mostra a operação em escala nacional.

A série amplia:

  • personagens;

  • cenários;

  • referências culturais;

  • piadas internas;

  • colaborações externas.

Tudo isso sem abandonar sua essência.


O Que Significa o "X"?

Muitos imaginaram que seria:

  • reboot;

  • reinicialização;

  • grande mudança.

Mas o "X" funciona mais como símbolo de expansão.

É o momento em que a franquia percebe:

"Podemos ir além do apartamento de Yurine."

E realmente vai.


Análise Bellacosa Mainframe

Imagine um sistema legado.

Inicialmente ele roda em um único datacenter.

Depois recebe novos módulos.

Posteriormente passa a operar em múltiplas localidades.

A terceira temporada representa exatamente isso.

O ambiente JASHIN virou um ecossistema distribuído.


O Grande Diferencial da Terceira Temporada

Turismo Como Parte da Narrativa

Aqui encontramos uma das decisões mais curiosas da história dos animes.

Diversas cidades japonesas aparecem na série.

Não apenas como cenário.

Mas como parte da própria experiência narrativa.


O Anime Que Virou Plataforma de Turismo

Muitas produções fazem publicidade discreta.

Jashin-chan resolveu executar um JOB completamente diferente.

Transformou cidades reais em participantes do projeto.

Locais do Japão apoiaram a produção.

A série passou a funcionar também como divulgação turística.


Algo Quase Inédito

Poucos animes fizeram isso de maneira tão explícita.

A obra mistura:

  • entretenimento;

  • humor;

  • marketing regional;

  • participação comunitária.

É um fenômeno bastante singular.


Personagens Principais

Jashin-chan

Continua sendo o erro de sistema mais amado da franquia.

Características:

  • arrogante;

  • egoísta;

  • preguiçosa;

  • impulsiva.

Mas também extremamente carismática.


Yurine Hanazono

A administradora-chefe.

Responsável pela estabilidade operacional.

Sempre que surge uma falha crítica:

Yurine executa procedimentos corretivos imediatos.


Medusa

O storage financeiro da operação.

Sem ela metade das aventuras não aconteceria.

Sua bondade continua sendo explorada por todos.


Pekola

Talvez a personagem que mais evoluiu em profundidade.

Apesar de permanecer cômica, continua simbolizando:

  • perseverança;

  • humildade;

  • esperança.


Minos

A unidade de processamento de força bruta.

Sua inocência continua gerando situações absurdamente engraçadas.


Meta-Humor Elevado ao Máximo

A terceira temporada praticamente transforma a quarta parede em decoração.

Os personagens:

  • falam sobre a produção;

  • comentam orçamento;

  • mencionam fãs;

  • discutem crowdfunding;

  • brincam com a própria indústria.

Em certos momentos parece que estamos assistindo um anime comentando outro anime.


As Aventuras da Temporada

As histórias continuam episódicas.

Mas agora abrangem:

  • viagens;

  • festivais;

  • eventos regionais;

  • problemas financeiros;

  • disputas sobrenaturais;

  • situações absurdas do cotidiano.

O objetivo nunca é contar uma grande saga.

O objetivo é gerar entretenimento através do caos.


Temáticas Ocultas

Embora pareça apenas uma comédia maluca, existem elementos interessantes.


Comunidade

Talvez o tema mais forte desta temporada.

O anime demonstra como comunidades ajudam projetos a sobreviver.

O próprio sucesso da franquia reflete isso.


Adaptação

Os personagens vivem em situações absurdas.

Mesmo assim continuam seguindo em frente.

Uma metáfora divertida para a vida moderna.


Imperfeição

Nenhum personagem é perfeito.

Todos possuem defeitos enormes.

Mesmo assim encontram amizade e pertencimento.


O Papel do Crowdfunding

A terceira temporada ficou famosa por reforçar algo raro.

Ela é praticamente um símbolo do relacionamento entre criadores e fãs.

O apoio da comunidade foi fundamental para a continuidade da franquia.

Poucos animes conseguem demonstrar isso de forma tão visível.


Houve Censura?

Assim como nas temporadas anteriores:

Não houve censura significativa.

Algumas transmissões utilizaram:

  • ajustes visuais;

  • pequenas adaptações para TV;

  • enquadramentos alternativos.

Mas nada comparável às grandes controvérsias de outras obras.

O humor absurdo sempre deixou claro o tom cartunesco.


Impacto Cultural

A terceira temporada consolidou Jashin-chan como algo muito além de uma simples comédia.

Ela virou:

  • fenômeno cult;

  • caso de estudo de crowdfunding;

  • exemplo de marketing regional;

  • referência em meta-humor.

Hoje a franquia é frequentemente lembrada quando se fala em:

  • participação dos fãs;

  • financiamento alternativo;

  • colaboração entre anime e turismo.


O Que Torna Jashin-chan X Especial?

Porque ela faz algo que poucas continuações conseguem.

Em vez de crescer através de batalhas maiores ou ameaças mais poderosas...

Ela cresce através da própria comunidade.

O foco não está em salvar o mundo.

O foco está em expandir o universo social da série.

É uma evolução extremamente incomum para um anime de comédia.


Análise Técnica Bellacosa Mainframe

Primeira Temporada:

  • Instalação do sistema.

Segunda Temporada:

  • Expansão dos módulos.

Terceira Temporada:

  • Operação distribuída nacionalmente.

Resultado:

O ambiente continua apresentando falhas.

Mas agora as falhas possuem patrocinadores.


Conclusão

Jashin-chan Dropkick X representa o auge da maturidade da franquia.

Não porque ficou mais séria.

Não porque ficou mais épica.

Mas porque compreendeu perfeitamente sua identidade.

Ela abraça:

  • o absurdo;

  • a repetição;

  • a autocrítica;

  • o carinho dos fãs.

E transforma tudo isso em uma experiência única.


☕💣 Relatório Final da Auditoria do Datacenter Infernal

STATUS DO SISTEMA: OPERACIONAL

Verificações realizadas:

✅ Demônio continua em produção
✅ Falhas continuam ocorrendo
✅ Usuários continuam satisfeitos
✅ Orçamento continua sendo alvo de piadas
✅ Crowdfunding continua funcionando

Conclusão da auditoria:

"Após análise completa da terceira temporada, verificou-se que o ambiente JASHIN não segue boas práticas de arquitetura, governança, documentação ou controle de mudanças."

Porém...

"O sistema atingiu um nível tão avançado de caos organizado que sua instabilidade passou a ser considerada uma característica estratégica da plataforma."

Jashin-chan Dropkick X é a rara aplicação que transformou erros recorrentes, humor nonsense e participação comunitária em um dos ambientes mais estáveis e queridos do datacenter dos animes. 😈☕💣🖥️📋🚀


quinta-feira, 21 de julho de 2022

🚨 Alerta Vermelho na Enterprise: Descobrimos Que Não Era o COBOL 5... Era o 6.4!

Bellacosa Mainframe e atencao ao compilar uma nova função intrinseca


🚨 Alerta Vermelho na Enterprise: Descobrimos Que Não Era o COBOL 5... Era o 6.4!

Adendo — Em qual versão do Enterprise COBOL as funções definidas pelo usuário estão disponíveis?

Antes de avançarmos para a sala de máquinas, precisamos corrigir uma informação importante do artigo original:

As User-Defined Functions com FUNCTION-ID não foram introduzidas no Enterprise COBOL 5. Elas chegaram oficialmente ao IBM Enterprise COBOL for z/OS 6.4.

O suporte faz parte da implementação IBM de recursos definidos pelo padrão COBOL 2002. No Enterprise COBOL 6.4, o programador passou a poder criar funções próprias, declarar parâmetros, retornar um valor e invocá-las por meio de um identificador de função. (IBM)

🖖 Adendo do Capitão Kirk

Enterprise COBOL 6.4, compilação e JCL para User-Defined Functions

Intrínseca ou definida pelo usuário?

Existe uma diferença importante de terminologia.

Uma função como:

FUNCTION CURRENT-DATE
FUNCTION LENGTH
FUNCTION UPPER-CASE
FUNCTION NUMVAL

é uma função intrínseca, pois já vem implementada no compilador COBOL.

Uma função criada com:

FUNCTION-ID. CALCULA-DESCONTO.

é uma User-Defined Function, ou função definida pelo usuário.

Ela pode ser usada de maneira parecida com uma função intrínseca, mas não passa a fazer parte do compilador. Ela continua sendo um componente da aplicação que precisa ser compilado e disponibilizado corretamente.

Portanto, tecnicamente, não estamos adicionando uma nova função intrínseca ao compilador IBM. Estamos criando uma função de aplicação que pode ser invocada com uma sintaxe semelhante.


A partir de qual versão está disponível?

No ambiente IBM Z, o suporte a User-Defined Functions foi introduzido no:

IBM Enterprise COBOL for z/OS 6.4

O recurso utiliza o parágrafo:

FUNCTION-ID

e o delimitador:

END FUNCTION

A função também deve possuir obrigatoriamente uma cláusula RETURNING no cabeçalho da PROCEDURE DIVISION. (IBM)

Resumo de compatibilidade

Versão do Enterprise COBOLUser-Defined Function com FUNCTION-ID
Enterprise COBOL 4.xNão
Enterprise COBOL 5.1Não
Enterprise COBOL 5.2Não
Enterprise COBOL 6.1Não
Enterprise COBOL 6.2Não
Enterprise COBOL 6.3Não
Enterprise COBOL 6.4Sim

Em alguns ambientes, o Enterprise COBOL 6.4 pode precisar estar com os PTFs recomendados pela IBM instalados para que correções e recursos complementares, como protótipos de função, estejam disponíveis.

O suporte básico a User-Defined Functions pertence ao 6.4. Já o suporte ampliado a function prototypes, relacionado ao padrão COBOL 2014, foi fornecido por manutenção do compilador 6.4, incluindo o APAR/PTF associado ao suporte documentado pela IBM.


Programa completo para treinamento

Neste exemplo, criaremos a função:

CALCULA-IMPOSTO

Ela receberá:

  • valor da operação;

  • alíquota percentual;

E retornará:

  • valor do imposto.

A função e o programa principal serão colocados no mesmo membro-fonte para facilitar o laboratório.


Fonte COBOL completo

       IDENTIFICATION DIVISION.
       FUNCTION-ID. CALCULA-IMPOSTO.

       DATA DIVISION.
       LINKAGE SECTION.

       01  LK-VALOR             PIC S9(09)V99 COMP-3.
       01  LK-ALIQUOTA          PIC S9(03)V99 COMP-3.
       01  LK-IMPOSTO           PIC S9(09)V99 COMP-3.

       PROCEDURE DIVISION
           USING BY REFERENCE LK-VALOR
                              LK-ALIQUOTA
           RETURNING LK-IMPOSTO.

           COMPUTE LK-IMPOSTO ROUNDED =
               LK-VALOR * LK-ALIQUOTA / 100

           GOBACK.

       END FUNCTION CALCULA-IMPOSTO.


       IDENTIFICATION DIVISION.
       PROGRAM-ID. MAINPROG.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.

       REPOSITORY.
           FUNCTION CALCULA-IMPOSTO.

       DATA DIVISION.
       WORKING-STORAGE SECTION.

       01  WS-VALOR             PIC S9(09)V99 COMP-3
                                VALUE 1000.
       01  WS-ALIQUOTA          PIC S9(03)V99 COMP-3
                                VALUE 18.50.
       01  WS-IMPOSTO           PIC S9(09)V99 COMP-3.

       01  WS-VALOR-EDITADO     PIC ZZZ,ZZZ,ZZ9.99-.
       01  WS-ALIQ-EDITADA      PIC ZZ9.99-.
       01  WS-IMPOSTO-EDITADO   PIC ZZZ,ZZZ,ZZ9.99-.

       PROCEDURE DIVISION.

           DISPLAY "========================================"
           DISPLAY " BELLACOSA MAINFRAME - TESTE DE FUNCAO"
           DISPLAY "========================================"

           COMPUTE WS-IMPOSTO =
               CALCULA-IMPOSTO(
                   WS-VALOR
                   WS-ALIQUOTA
               )

           MOVE WS-VALOR    TO WS-VALOR-EDITADO
           MOVE WS-ALIQUOTA TO WS-ALIQ-EDITADA
           MOVE WS-IMPOSTO  TO WS-IMPOSTO-EDITADO

           DISPLAY "VALOR DA OPERACAO : " WS-VALOR-EDITADO
           DISPLAY "ALIQUOTA           : " WS-ALIQ-EDITADA "%"
           DISPLAY "IMPOSTO CALCULADO  : " WS-IMPOSTO-EDITADO

           IF WS-IMPOSTO = 185
               DISPLAY "RESULTADO CORRETO. MISSAO CUMPRIDA."
           ELSE
               DISPLAY "RESULTADO INESPERADO. CHAME O SPOCK."
           END-IF

           GOBACK.

       END PROGRAM MAINPROG.

Por que a função aparece antes do programa?

Quando a função e o programa chamador são compilados no mesmo grupo de compilação, sem o uso de um protótipo separado, a definição da função deve aparecer antes da unidade que a utiliza.

A IBM recomenda, para projetos maiores, que a função seja mantida em arquivo separado e que um protótipo seja usado no programa chamador. Entretanto, para treinamento, colocar a função e o programa no mesmo membro é uma maneira direta de compreender o mecanismo. (IBM)

Há uma consequência importante:

A primeira unidade encontrada pelo compilador pode tornar-se o ponto de entrada padrão do módulo.

Como nossa primeira unidade é CALCULA-IMPOSTO, precisamos informar ao Binder que o verdadeiro programa inicial é:

MAINPROG

Por isso usaremos:

ENTRY MAINPROG

durante a linkedição.

Sem essa instrução, a nave pode tentar decolar pela porta da engenharia em vez de sair pela ponte de comando.


JCL completo: compilar, linkeditar e executar

O exemplo abaixo apresenta um fluxo tradicional com três etapas:

  1. COBOL — compilação;

  2. LKED — linkedição;

  3. RUN — execução.

Os nomes das bibliotecas precisam ser adaptados à instalação da sua empresa.

//BLCOBUDF JOB (ACCT),'COBOL UDF',
//             CLASS=A,
//             MSGCLASS=X,
//             MSGLEVEL=(1,1),
//             NOTIFY=&SYSUID
//*
//* ==========================================================
//* BELLACOSA MAINFRAME
//* COMPILACAO DE USER-DEFINED FUNCTION - COBOL 6.4
//* ==========================================================
//*
//COBOL    EXEC PGM=IGYCRCTL,
// PARM='LIB,OBJECT,RENT,APOST,LIST,MAP,XREF,OFFSET'
//STEPLIB  DD DISP=SHR,
//            DSN=IGY.V6R4M0.SIGYCOMP
//SYSIN    DD DISP=SHR,
//            DSN=SEU.USUARIO.COBOL(CALCUDF)
//SYSLIN   DD DSN=&&OBJETO,
//            DISP=(NEW,PASS),
//            UNIT=SYSDA,
//            SPACE=(TRK,(5,5)),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT2   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT3   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT4   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT5   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT6   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT7   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT8   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT9   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT10  DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT11  DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT12  DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT13  DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT14  DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT15  DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//*
//LKED     EXEC PGM=IEWL,
// PARM='LIST,MAP,XREF,LET,RENT'
//SYSLIB   DD DISP=SHR,
//            DSN=CEE.SCEELKED
//         DD DISP=SHR,
//            DSN=CEE.SCEELKEX
//SYSLMOD  DD DISP=SHR,
//            DSN=SEU.USUARIO.LOAD(MAINPROG)
//SYSLIN   DD DISP=(OLD,DELETE),
//            DSN=&&OBJETO
//         DD *
  ENTRY MAINPROG
  NAME MAINPROG(R)
/*
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//*
//RUN      EXEC PGM=MAINPROG,
//            COND=(0,NE)
//STEPLIB  DD DISP=SHR,
//            DSN=SEU.USUARIO.LOAD
//         DD DISP=SHR,
//            DSN=CEE.SCEERUN
//         DD DISP=SHR,
//            DSN=CEE.SCEERUN2
//SYSOUT   DD SYSOUT=*
//CEEDUMP  DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//

Bibliotecas que devem ser adaptadas

Biblioteca do compilador

No exemplo:

DSN=IGY.V6R4M0.SIGYCOMP

Esse nome varia de instalação para instalação.

Você poderá encontrar algo parecido com:

IGY.V6R4M0.SIGYCOMP
IGY640.SIGYCOMP
SYS1.IGY640.SIGYCOMP
CBC.SIGYCOMP

Não copie cegamente o nome do exemplo.

Pergunte ao sysprog, consulte um JCL COBOL já utilizado na empresa ou verifique a PROC oficial de compilação.


Biblioteca de runtime do Language Environment

Normalmente são utilizadas:

CEE.SCEERUN
CEE.SCEERUN2

Para a linkedição, podem aparecer:

CEE.SCEELKED
CEE.SCEELKEX

Os nomes e concatenações dependem da configuração do z/OS e do Language Environment.


Biblioteca de load modules

No exemplo:

DSN=SEU.USUARIO.LOAD

Ela precisa existir como uma PDS ou PDSE adequada para módulos executáveis.

Uma definição típica poderia ser criada por meio do ISPF 3.2 ou por JCL, usando atributos compatíveis com a instalação.

Em ambientes modernos, normalmente é preferível utilizar uma PDSE para a biblioteca de carga.


Versão mais curta usando uma PROC catalogada

Muitos ambientes IBM Z possuem procedures catalogadas como:

IGYWCL
IGYWCLG
IGYWC

Os nomes representam, em geral:

  • C: compile;

  • L: link-edit;

  • G: go ou execute.

Um exemplo conceitual seria:

//BLCOBUDF JOB (ACCT),'COBOL UDF',
//             CLASS=A,
//             MSGCLASS=X,
//             NOTIFY=&SYSUID
//*
//COBCLG   EXEC IGYWCLG,
//         PARM.COBOL='LIB,RENT,APOST,LIST,MAP,XREF'
//COBOL.SYSIN DD DISP=SHR,
//         DSN=SEU.USUARIO.COBOL(CALCUDF)
//LKED.SYSLMOD DD DISP=SHR,
//         DSN=SEU.USUARIO.LOAD(MAINPROG)
//LKED.SYSIN DD *
  ENTRY MAINPROG
  NAME MAINPROG(R)
/*
//GO.STEPLIB DD DISP=SHR,
//         DSN=SEU.USUARIO.LOAD
//GO.SYSOUT DD SYSOUT=*
//GO.CEEDUMP DD SYSOUT=*

Entretanto, há um alerta vermelho piscando na ponte:

As procedures catalogadas não são idênticas em todas as empresas.

A PROC pode:

  • possuir outro nome;

  • utilizar outros qualificadores;

  • não aceitar os mesmos overrides;

  • já incluir bibliotecas adicionais;

  • ter parâmetros obrigatórios;

  • possuir nomes internos diferentes para as etapas.

Antes de utilizá-la, execute no ISPF:

TSO ISRDDN

ou consulte os JCLs-padrão da instalação.

Também é possível procurar a PROC nas bibliotecas de procedures, normalmente concatenadas em JES2 PROCLIB.


Entendendo o REPOSITORY

O programa chamador possui:

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.

       REPOSITORY.
           FUNCTION CALCULA-IMPOSTO.

Isso informa ao compilador que CALCULA-IMPOSTO é uma função conhecida pelo programa.

Com essa declaração, podemos escrever:

COMPUTE WS-IMPOSTO =
    CALCULA-IMPOSTO(WS-VALOR WS-ALIQUOTA)

A IBM documenta que a declaração no REPOSITORY permite invocar a função sem repetir a palavra reservada FUNCTION. (IBM)

Dependendo da forma de declaração e do contexto, uma referência explícita também pode assumir a forma:

FUNCTION CALCULA-IMPOSTO(
    WS-VALOR
    WS-ALIQUOTA
)

No exemplo apresentado, utilizamos o REPOSITORY para deixar a expressão mais limpa.


Saída esperada no SYSOUT

O resultado deverá ser semelhante a:

========================================
 BELLACOSA MAINFRAME - TESTE DE FUNCAO
========================================
VALOR DA OPERACAO :       1,000.00
ALIQUOTA           :          18.50%
IMPOSTO CALCULADO  :         185.00
RESULTADO CORRETO. MISSAO CUMPRIDA.

Return codes esperados

Em uma missão bem-sucedida, procure:

COBOL RC=0000
LKED  RC=0000
RUN   RC=0000

Dependendo das opções e dos avisos encontrados, a compilação pode terminar com:

RC=0004

Isso significa que houve advertências, não necessariamente um erro fatal. Mesmo assim, analise todas as mensagens.

Interpretação tradicional

Return codeSignificado geral
0000Processamento concluído sem diagnóstico relevante
0004Advertências
0008Erros que normalmente impedem o uso seguro
0012Erros graves
0016Erro muito grave ou falha de processamento

A interpretação exata deve considerar as mensagens emitidas pelo compilador e pelo Binder.


Erro: FUNCTION-ID não reconhecido

Caso o compilador apresente mensagens indicando que:

FUNCTION-ID

não é reconhecido, as causas mais prováveis são:

  1. O JCL está chamando um compilador anterior ao Enterprise COBOL 6.4.

  2. A STEPLIB aponta para outra versão do compilador.

  3. A PROC catalogada ainda referencia COBOL 6.2 ou 6.3.

  4. O produto 6.4 está instalado, mas não é a versão selecionada pelo JCL.

  5. O fonte está sendo processado por uma ferramenta intermediária incompatível.

  6. O editor ou analisador local conhece uma gramática COBOL antiga.

Verifique no listing de compilação a identificação da versão.

Você deverá encontrar uma indicação semelhante a:

IBM Enterprise COBOL for z/OS 6.4

Não confie apenas no nome da PROC.

Uma PROC chamada COBOL64 pode ter sido alterada, enquanto uma PROC chamada apenas COBOL pode estar usando o compilador mais recente.

Como Spock diria:

“O nome de um membro não constitui evidência lógica do conteúdo de sua STEPLIB.”


Erro de linkedição: ponto de entrada incorreto

Como a função aparece primeiro no grupo de compilação, o Binder pode selecionar a entrada errada caso não seja informado explicitamente.

Por isso usamos:

ENTRY MAINPROG

Para compilações AMODE 31 com LP(32), a IBM orienta que seja fornecida uma instrução ENTRY para o programa principal quando uma compilação contém funções e programas e a função aparece antes do programa. (IBM)

Se o ENTRY estiver ausente ou incorreto, poderão ocorrer:

  • início da execução no componente errado;

  • erro de entrada não encontrada;

  • comportamento imprevisível;

  • falha de linkedição;

  • abend durante a inicialização.


Não use CALL para invocar a função

Uma User-Defined Function deve ser utilizada como função:

COMPUTE WS-IMPOSTO =
    CALCULA-IMPOSTO(WS-VALOR WS-ALIQUOTA)

Não faça:

CALL "CALCULA-IMPOSTO"

A documentação IBM alerta que invocar uma User-Defined Function por meio da instrução CALL produz comportamento imprevisível. (IBM)

Se o componente foi projetado para ser chamado com CALL, escreva-o como subprograma com:

PROGRAM-ID

Se foi projetado como função, escreva-o com:

FUNCTION-ID

Não misture as duas interfaces.


ENTRY-INTERFACE

O FUNCTION-ID também pode controlar a forma de geração e invocação por meio de ENTRY-INTERFACE.

As User-Defined Functions podem ser estruturadas para diferentes formas de ligação, incluindo:

  • estática;

  • dinâmica;

  • DLL.

O padrão documentado para ENTRY-INTERFACE é STATIC. (IBM)

Para o primeiro laboratório, mantenha a configuração padrão.

A invocação estática reduz a quantidade de peças móveis e facilita:

  • compilação;

  • linkedição;

  • testes;

  • diagnóstico;

  • implantação inicial.

Só avance para modelos dinâmicos depois de dominar:

  • protótipos;

  • external names;

  • binder;

  • load libraries;

  • Language Environment;

  • convenções de interface.


Cuidado com BY REFERENCE

No exemplo, os parâmetros são recebidos com:

USING BY REFERENCE

Isso significa que a função recebe referências aos itens do programa chamador.

Embora uma boa função de cálculo não deva modificar seus argumentos, o uso de referência exige disciplina.

Evite comandos como:

MOVE ZERO TO LK-VALOR

Isso poderia alterar dados pertencentes ao chamador, dependendo da interface e do argumento utilizado.

Para obter um comportamento semelhante ao BY CONTENT, o Enterprise COBOL 6.4 disponibiliza a função CONTENT-OF. Nesse modelo, a definição formal continua usando BY REFERENCE, mas o argumento é protegido por uma cópia temporária criada na invocação. (IBM)

Exemplo conceitual:

REPOSITORY.
    FUNCTION CONTENT-OF INTRINSIC
    FUNCTION CALCULA-IMPOSTO.

Invocação:

COMPUTE WS-IMPOSTO =
    CALCULA-IMPOSTO(
        CONTENT-OF(WS-VALOR)
        CONTENT-OF(WS-ALIQUOTA)
    )

Isso é especialmente útil quando você deseja deixar claro que a função não deve alterar os argumentos fornecidos.


Dicas de compilação do Scotty

1. Comece sem otimização agressiva

Durante os primeiros testes, prefira opções que facilitem diagnóstico.

Por exemplo:

LIST,MAP,XREF,OFFSET

Depois que o programa estiver estabilizado, avalie as opções de otimização adotadas pela instalação.


2. Use TEST em ambiente de desenvolvimento

Caso a empresa utilize IBM Debug for z/OS, as opções apropriadas de depuração podem ajudar a acompanhar:

  • entrada na função;

  • conteúdo dos parâmetros;

  • valor retornado;

  • fluxo de execução.

As opções exatas dependem das ferramentas e padrões locais.


3. Verifique o listing

No listing de compilação, confirme:

  • versão do compilador;

  • opções efetivamente utilizadas;

  • definição da função;

  • referências à função;

  • mensagens de severidade;

  • offsets;

  • informações do objeto gerado.


4. Não esconda erros com COND inadequado

No laboratório, a execução deve ocorrer apenas quando as etapas anteriores forem bem-sucedidas.

Uma alternativa moderna é usar:

//RUN EXEC PGM=MAINPROG,
// IF (COBOL.RC LE 4 AND LKED.RC LE 4) THEN

ou estruturas IF/THEN/ELSE/ENDIF do JCL, conforme o padrão da empresa.

Evite executar um módulo quando a compilação terminou com erro grave.


5. Teste limites numéricos

Não teste apenas:

1000 × 18,5%

Teste também:

  • valor zero;

  • alíquota zero;

  • valor negativo, se permitido;

  • alíquota com muitas casas;

  • valor máximo do PIC;

  • resultado próximo de overflow;

  • arredondamento;

  • sinal;

  • casas decimais;

  • truncamento.


Checklist de lançamento da função

Antes de Kirk autorizar a partida, confirme:

[ ] Enterprise COBOL 6.4 está realmente sendo utilizado
[ ] FUNCTION-ID foi reconhecido
[ ] A função possui RETURNING
[ ] A função termina com END FUNCTION
[ ] O programa termina com END PROGRAM
[ ] A função aparece antes do chamador no mesmo grupo
[ ] O REPOSITORY declara a função
[ ] ENTRY MAINPROG foi fornecido ao Binder
[ ] A load library existe
[ ] CEE.SCEERUN está disponível na execução
[ ] Os parâmetros possuem formatos compatíveis
[ ] O valor de retorno cabe no campo receptor
[ ] Não existe CALL para a User-Defined Function
[ ] O listing foi revisado
[ ] Os testes de limite foram executados

Diário de bordo do Capitão Kirk

Criar uma função definida pelo usuário no Enterprise COBOL 6.4 não é apenas aprender uma nova sintaxe.

É aprender que o COBOL também evolui.

A linguagem que processava cartões perfurados agora pode organizar regras em funções reutilizáveis, oferecer interfaces mais expressivas e aproximar sistemas críticos de práticas modernas de engenharia de software.

Mas o Padawan precisa compreender toda a cadeia:

FONTE
  ↓
COMPILADOR COBOL 6.4
  ↓
OBJETO
  ↓
BINDER
  ↓
LOAD MODULE
  ↓
LANGUAGE ENVIRONMENT
  ↓
EXECUÇÃO

A função não “se instala” como um plugin.

Ela é:

  1. escrita;

  2. compilada;

  3. linkedita;

  4. armazenada em uma load library;

  5. disponibilizada ao programa que a utilizará.

Na ponte da Enterprise, Kirk conclui:

“Não basta descobrir um novo recurso. É preciso saber como colocá-lo em produção sem explodir os motores.”

Spock examina o listing e responde:

“Compilação RC zero, linkedição RC zero e resultado igual a 185. A missão é logicamente satisfatória.”

E Scotty, olhando para o Binder, acrescenta:

“Desde que ninguém esqueça o ENTRY MAINPROG, capitão.”

Esse pequeno detalhe resume uma grande verdade do mundo mainframe:

O código pode estar perfeito, mas a missão só termina quando compilação, linkedição e execução trabalham como uma única tripulação.

 

quarta-feira, 20 de julho de 2022

Criando Sua Própria Função Intrínseca no COBOL

 

Bellacosa Mainframe crie sua propria função intrinseca no Cobol Mainframe

☕ Um Café no Bellacosa Mainframe

Criando Sua Própria Função Intrínseca no COBOL

O Guia do Programador COBOL Padawan para Expandir os Poderes da Linguagem com a Ajuda do Capitão Kirk

"O universo não se expande porque alguém pediu permissão. Ele se expande porque alguém teve coragem de explorar o desconhecido."

— Capitão James T. Kirk (adaptado para Bellacosa Mainframe)


Introdução — "Mas... eu posso criar uma nova FUNCTION no COBOL?"

Essa é uma das perguntas que quase nenhum curso responde.

Durante décadas, programadores COBOL aprenderam algo parecido com isto:

  • FUNCTION CURRENT-DATE

  • FUNCTION UPPER-CASE

  • FUNCTION LOWER-CASE

  • FUNCTION LENGTH

  • FUNCTION RANDOM

E a conclusão natural era:

"Essas funções fazem parte da linguagem. Não posso criar outras."

Durante muitos anos isso realmente era verdade.

Mas a IBM resolveu mudar isso.

Hoje, no Enterprise COBOL moderno, você pode criar suas próprias funções, reutilizáveis exatamente como uma FUNCTION nativa da linguagem.

É quase como ensinar novos truques ao compilador.

Se você já trabalhou com:

  • Java (methods)

  • C (functions)

  • Python (def)

  • C# (methods)

vai perceber que finalmente o COBOL ganhou algo semelhante.

E a melhor parte?

Isso continua extremamente eficiente para ambientes bancários.

Hoje vamos descobrir como.

E, como sempre, o Capitão Kirk nos acompanhará nessa missão.


A ponte da Enterprise

Imagine a USS Enterprise.

Cada oficial possui uma especialidade.

Spock calcula.

Scotty cuida do motor.

McCoy resolve problemas médicos.

Kirk apenas chama quem precisa.

Ele não faz tudo.

Ele reutiliza especialistas.

Uma User-Defined Function faz exatamente isso.

Você cria um especialista.

Depois qualquer programa COBOL pode chamá-lo.


Antes disso...

Durante mais de 50 anos havia apenas dois caminhos.

Opção 1

Escrever código repetido.

CALCULA-JUROS.

CALCULA-DESCONTO.

CALCULA-IDADE.

Copiado dezenas de vezes.


Opção 2

Criar um subprograma

CALL "JUROS"

Funciona.

Mas possui custo.

Existe:

  • parameter list

  • linkage

  • transferência de controle

  • convenções de chamada

Embora eficiente, ainda existe overhead.


As User Defined Functions diminuem bastante esse problema.


O que é uma User-Defined Function?

É uma função escrita pelo próprio programador.

Ela recebe parâmetros.

Executa lógica.

Retorna um único valor.

Exemplo imaginário:

FUNCTION CALCULA-CPF()

ou

FUNCTION REMOVE-ESPACOS()

ou

FUNCTION SOMA-IMPOSTOS()

Ela parece uma função da linguagem.

Mas foi você quem escreveu.


Desde quando isso existe?

No mundo IBM Mainframe, o suporte chegou com o IBM Enterprise COBOL 5 (introduzido em 2013), quando a linguagem passou a incorporar recursos modernos alinhados aos padrões mais recentes do COBOL. As capacidades foram ampliadas e refinadas nas versões 6.1, 6.2, 6.3, 6.4 e 6.5, que hoje são as mais encontradas em ambientes z/OS corporativos.

Na prática, é nas versões Enterprise COBOL 5.x e, principalmente, 6.x que esse recurso se tornou realmente utilizável em projetos modernos.


Precisa instalar alguma coisa?

Boa notícia.

Não.

Nada.

Se o compilador suporta User-Defined Functions, elas já fazem parte do compilador.

Você apenas compila normalmente.

Não existe:

  • DLL

  • Plugin

  • Biblioteca externa


Como funciona?

A arquitetura é simples.

Programa A

↓

FUNCTION MINHA-FUNCTION()

↓

User Defined Function

↓

Retorna resultado

Muito parecido com isto:

resultado =
FUNCTION JUROS(valor)


Estrutura geral

Ela lembra um programa COBOL.

IDENTIFICATION DIVISION

FUNCTION-ID.

ENVIRONMENT DIVISION.

DATA DIVISION.

PROCEDURE DIVISION.

END FUNCTION.

Observe algo curioso.

Não usamos

PROGRAM-ID

Usamos

FUNCTION-ID

Esse é o detalhe que transforma um programa em uma função.


Exemplo 1

Dobrando um número

IDENTIFICATION DIVISION.
FUNCTION-ID. DOBRO.

DATA DIVISION.

LINKAGE SECTION.

01 L-VALOR PIC S9(9) COMP-5.

01 L-RETORNO PIC S9(9) COMP-5.

PROCEDURE DIVISION USING L-VALOR
                   RETURNING L-RETORNO.

    COMPUTE L-RETORNO = L-VALOR * 2

    GOBACK.

END FUNCTION DOBRO.

Bonito.

Limpo.

Pequeno.


Agora o programa principal.

DISPLAY FUNCTION DOBRO(15)

Saída

30

Muito elegante.


Exemplo 2

Maior entre dois números

FUNCTION MAIOR(A,B)

Dentro:

IF A > B
   MOVE A TO RETORNO
ELSE
   MOVE B TO RETORNO
END-IF

Depois:

DISPLAY FUNCTION MAIOR(25 19)

Resultado

25


Exemplo 3

Calcular idade

FUNCTION IDADE(DATA-NASCIMENTO)

Internamente:

CURRENT-DATE

Subtrai

Retorna idade.

Depois:

DISPLAY FUNCTION IDADE(19980412)

Muito mais legível.


Onde declarar parâmetros?

Na

LINKAGE SECTION

Exemplo

01 PARAM1.

01 PARAM2.

Depois

PROCEDURE DIVISION USING
PARAM1
PARAM2
RETURNING RESULTADO

Muito parecido com um subprograma.


Como chamar?

COMPUTE WS-TOTAL =
FUNCTION JUROS(1000 15)

Ou

MOVE FUNCTION DOBRO(5)
TO WS-VALOR

Ou

DISPLAY FUNCTION TEXTO()


Posso chamar outras FUNCTIONS?

Sim.

Inclusive funções intrínsecas.

FUNCTION UPPER-CASE()

Dentro da sua função.

Exemplo

FUNCTION UPPER-CASE(cliente)

Retorna

JOÃO


Posso chamar um CALL?

Também.

CALL "ROTINA"

Nada impede.

Mas cuidado.

Funções devem ser pequenas.


O Capitão Kirk explica

Imagine que Kirk pede um café.

Ele não desmonta o replicador.

Ele apenas diz:

CAFÉ()

O replicador faz todo o trabalho.

Isso é encapsulamento.


Performance

Excelente.

Muito melhor do que copiar código.

Muito melhor para manutenção.

Além disso:

✔ reutilização

✔ cache de instruções

✔ otimização do compilador

✔ menor duplicação


Um detalhe importante

Funções devem retornar UM único valor.

Não dez.

Se precisa retornar muitas estruturas:

Use

CALL

Não FUNCTION.


Posso acessar arquivos VSAM?

Tecnicamente pode.

Mas...

Não deveria.

Funções devem ser previsíveis.


Boa função:

CALCULA

Ruim:

ABRE VSAM

FAZ I/O

ATUALIZA DB2

ENVIA MQ


O perigo dos efeitos colaterais

Imagine:

FUNCTION SALDO()

Você espera apenas consultar.

Mas internamente:

UPDATE DB2

Isso é perigoso.

Uma função deve produzir sempre o mesmo resultado para a mesma entrada, sempre que possível.


Erros comuns

1 Repetir lógica

Ao invés de:

FUNCTION IMPOSTO()

o programador copia:

COMPUTE...

100 vezes.


2 Fazer função enorme

Ruim

900 linhas

Boa

20

40

60 linhas


3 Muitos parâmetros

FUNCTION CALCULA(
A
B
C
D
E
F
G
H)

Já virou um monstro.


4 Fazer I/O

Evite.


5 Alterar estado global

Funções devem ser independentes.


Truques interessantes

Criar biblioteca matemática

FUNCTION MEDIA()

FUNCTION DESVIO()

FUNCTION MEDIANA()


Biblioteca financeira

JUROS

IOF

IR

TAXA


Biblioteca bancária

VALIDA-CPF

VALIDA-CNPJ

MOD11

DIGITO


Biblioteca texto

REMOVE-ESPACOS

NORMALIZA

CAPITALIZA


Organização recomendada

COPYBOOKS

FUNCTIONS

SUBPROGRAMAS

PROGRAMAS

Cada função em seu próprio membro.

Muito semelhante à organização de uma biblioteca reutilizável.


Boas práticas

✔ Nomeie funções de forma descritiva (CALCULA-JUROS, VALIDA-CPF, NORMALIZA-NOME).

✔ Mantenha apenas uma responsabilidade por função.

✔ Evite acessar arquivos, filas MQ ou banco de dados dentro de funções de cálculo.

✔ Prefira funções determinísticas: mesma entrada, mesma saída.

✔ Documente parâmetros e tipo de retorno.

✔ Teste cada função de forma isolada antes de utilizá-la em produção.

✔ Centralize funções reutilizáveis em bibliotecas compartilhadas pela equipe.

✔ Utilize compilação otimizada nas versões atuais do Enterprise COBOL para aproveitar as melhorias do compilador.


Quando usar FUNCTION e quando usar CALL?

SituaçãoFUNCTIONCALL
Cálculos rápidos✅ Excelente✔ Possível
Manipulação de texto✅ Excelente✔ Possível
Validação de CPF/CNPJ✅ Ideal✔ Possível
Retornar um único valor✅ Melhor escolha✔ Possível
Atualizar Db2❌ Evite✅ Recomendado
Processar VSAM❌ Evite✅ Recomendado
Enviar mensagens MQ❌ Evite✅ Recomendado
Processamento complexo com vários retornos❌ Não indicado✅ Ideal

Um exemplo prático: função para calcular desconto

Imagine uma empresa que aplica um desconto de 10% sobre qualquer valor informado. Em vez de repetir o cálculo em dezenas de programas, criamos uma função reutilizável.

Função

IDENTIFICATION DIVISION.
FUNCTION-ID. CALC-DESCONTO.

DATA DIVISION.

LINKAGE SECTION.
01 LK-VALOR     PIC S9(7)V99 COMP-3.
01 LK-RETORNO   PIC S9(7)V99 COMP-3.

PROCEDURE DIVISION
    USING LK-VALOR
    RETURNING LK-RETORNO.

    COMPUTE LK-RETORNO =
        LK-VALOR * 0.90

    GOBACK.

END FUNCTION CALC-DESCONTO.

Programa chamador

IDENTIFICATION DIVISION.
PROGRAM-ID. TESTE.

DATA DIVISION.
WORKING-STORAGE SECTION.

01 WS-VALOR     PIC S9(7)V99 VALUE 1000.
01 WS-FINAL     PIC S9(7)V99.

PROCEDURE DIVISION.

    MOVE FUNCTION CALC-DESCONTO(WS-VALOR)
        TO WS-FINAL

    DISPLAY "Valor original : " WS-VALOR
    DISPLAY "Valor final    : " WS-FINAL

    STOP RUN.

Saída esperada:

Valor original : 1000.00
Valor final    :  900.00

Perceba como o programa principal permanece limpo. Toda a regra de negócio fica encapsulada em um único lugar. Se amanhã o desconto passar para 12%, basta recompilar a função.


A visão do Capitão Kirk

No final da missão, Kirk reúne sua tripulação na ponte da Enterprise.

Spock observa:

"Capitão, seria lógico repetir o mesmo algoritmo em 147 programas?"

Kirk sorri.

"Claro que não, Spock. Criamos uma função, compartilhamos conhecimento e seguimos explorando."

Scotty complementa:

"Quanto menos motores improvisados, menos explosões na sala de máquinas."

McCoy, olhando para um enorme programa COBOL cheio de código duplicado, comenta:

"Ele está vivo... mas não por muito tempo."

Essa é a verdadeira filosofia das User-Defined Functions: transformar conhecimento reutilizável em componentes pequenos, claros e confiáveis.

Cuidados e atenção 

Como compilar e ajustar sua função intrinseca no Cobol 6.4

https://eljefemidnightlunch.blogspot.com/2022/07/alerta-vermelho-na-enterprise.html

O que são Funções Intrincsecas no Cobol

https://eljefemidnightlunch.blogspot.com/2022/09/funcoes-intrinsecas-no-enterprise-cobol.html



Conclusão — Seu próximo passo como Padawan COBOL

As User-Defined Functions representam uma das evoluções mais elegantes do COBOL moderno. Elas aproximam a linguagem das práticas de engenharia de software utilizadas em linguagens contemporâneas, sem abrir mão da robustez que tornou o COBOL o alicerce de bancos, seguradoras e grandes empresas por décadas.

Para um Padawan COBOL, dominar esse recurso significa deixar de escrever programas monolíticos e começar a construir bibliotecas reutilizáveis de regras de negócio. Isso reduz duplicação de código, facilita testes, melhora a manutenção e torna o desenvolvimento muito mais organizado.

No universo Bellacosa Mainframe, criar uma nova função é como adicionar um novo oficial especializado à tripulação da USS Enterprise. Cada função tem uma missão específica, executa seu trabalho com excelência e permite que o programa principal permaneça simples, elegante e focado em coordenar a missão.

Porque, no fim das contas, os melhores sistemas corporativos não são aqueles que possuem mais linhas de código, mas aqueles em que cada componente conhece exatamente seu papel — assim como cada oficial da Frota Estelar conhece sua estação na ponte de comando.


Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...