MCTL — Mythus Control System
JCL z/OS em Linux — o operador trabalha com o que já conhece
mythus_control_jobs v2.7.48 | 32 componentes | 21.215 LOC
1
Conversão Antecipada
2
Submissão e Fila
3
mc_monitor + Web
4
Executores
Conversão antecipada — feita uma vez, na migração
O operador abre o script e reconhece o JCL. Nenhum treinamento em Linux necessário.
convertido em 2025-12-18
MVS-convert-jcl.py v10.41.4
Job principal
Expansão de PROCs
z/OS  PGTO9901.jcl  — JCL original
1//PGTO9901 JOB (CORP,,000001),MSGCLASS=P, CLASS=E,COND=(0,NE),TYPRUN=HOLD,REGION=48M //* //* ACERTO DA FOLHA - TETO VP 01 //* 2//STEP1 EXEC PIDCUTIL,GRP=99 //* 3//STEP2 EXEC PNATPGTO,CLI=01,GRP=99 4//DDCARD1 DD * CORP;BATPGTO;SENHA001 PGTOP180 /* //* 5//STEP3 EXEC PSRTCLAS,CLI=01,GRP=99 //DDCARD1 DD * CORP;BATPGTO;SENHA001 PGTOH000 FIN /*
Linux  PGTO9901.sh  — script gerado
#!/bin/bash source /opt/mythus/mythus.env source ${mythus_path}/mythus_customer.sh ${mythus_path}/bin/mythus_control_jobs $0 1# PGTO9901 JOB (CORP,,000001),MSGCLASS=P, # CLASS=E,COND=(0,NE),TYPRUN=HOLD,REGION=48M 2# STEP: PIDCUTIL export GRP="99" mc_save_var GRP source ${MYTHUS_SCR}/PROCS/PIDCUTIL.sh mc_restore_var GRP 3# STEP: PNATPGTO export CLI="01" ; export GRP="99" 4mc_create_instream "DDCARD1" "YES" <<'EOF_DDCARD1_PNATPGTO' CORP;BATPGTO;SENHA001 PGTOP180 EOF_DDCARD1_PNATPGTO source ${MYTHUS_SCR}/PROCS/PNATPGTO.sh 5# STEP: PSRTCLAS export CLI="01" ; export GRP="99" mc_create_instream "DDCARD1" "YES" <<'EOF_DDCARD1_PSRTCLAS' CORP;BATPGTO;SENHA001 PGTOH000 FIN EOF_DDCARD1_PSRTCLAS source ${MYTHUS_SCR}/PROCS/PSRTCLAS.sh
Selecionar PROC:
PROC z/OS
PROC convertida — Linux
Elemento JCL z/OS
Equivalente Mythus Control (Bash)
1
//JOBNAME JOB (params)
# JOBNAME JOB (params) — preservado como comentário
2
//STEP EXEC PROC,P=V
mc_save_var P + export P=V + source PROCS/PROC.sh
4
//DD DD * <instream> /*
mc_create_instream "DD" <<'EOF_DD' ... EOF
N
//STEP EXEC PGM=NATPGTO1
run_natural < "${CMSYNIN}"
Submissão — mesmos comandos do JES2
mythus_submit lê CLASS e TYPRUN do header JCL. O operador não aprende nada novo.
sag@lnxbat01:~$
sag@lnxbat01:~$
Fluxo de execução:
mythus_submit
submissão
HELD/CLASS_E
TYPRUN=HOLD
INPUT/CLASS_E
queue_cmd A
INIT_E1
mythus_initiator
mythus_control_jobs
execução dos steps
Equivalência JES2 / SDSF:
z/OS JES2 / SDSFMythus Control SUB script.jclmythus_submit script.sh $A J0001234 (console)mythus_queue_cmd A JOB0001234 $H J0001234mythus_queue_cmd H JOB0001234 $C J0001234mythus_queue_cmd C JOB0001234 $P J0001234mythus_queue_cmd P JOB0001234
mc_monitor v3.4.5 — interface SDSF-like
3.849 linhas de Perl. Comandos idênticos ao SDSF: ST, DA, H, D, S, A, C, R, X.  |  Mythus Control Web v1.2.0 — sincronização bidirecional.
mc_monitor v3.4.5 TUI — terminal interativo
ENTRADA ===>
Comandos: ST DA H D JOB0001234 S JOB0001234 A JOB0001232 C JOB0001234 R X
Mythus Control Web v1.2.0 interface web — módulo Logs de Execução
Mythus Control Web v1.2.0
Logs de Execução
marcelo.miranda Sair
Dashboard Logs de Execução Bibliotecas Usuários Backup Relatórios Preferências
Logs de Execução
Status: Classe: E Data: Hoje
Detalhe — Log de Execução
SYSOUT
MCTL — 3 modos de operação
JCL legado preservado  ·  TUI tipo SDSF (mc_monitor v3.4.5)  ·  Interface Web moderna (Mythus Control Web v1.2.0)
Comando JES2 / SDSF z/OS
mc_monitor TUI
Mythus Control Web v1.2.0
ST
ST
Painel principal · aba Status
DA (Display Active)
DA
Filtro "Em execução" no painel
H (Held queue)
H
Filtro "Retidos" no painel
S <jobid> (SYSOUT)
S JOB0001234
Card do job · botão Ver SYSOUT
— (job detail)
D JOB0001234
Card do job · botão Detalhes
$A J<jobid> (release)
A JOB0001232
Botão "Liberar" no card
$C J<jobid> (cancel)
C JOB0001234
Botão "Cancelar" no card
7 executores — cobertura completa dos steps típicos de mainframe
Cardápio fechado. 54 utilitários IBM adicionais convertidos e marcados para revisão manual — fail-safe, não black-box.
21.215
linhas de código em produção
32
componentes
7
step executors
100%
DFSORT compatível
run_naturalv2.7.17
z/OS: PGM=NATPGTO1, BATSRTPG, RPCDETBT
Natural/Adabas batch — NATBATCH, CALLNAT, NSC, CMSYNIN, DD cards
ex: run_natural < "${CMSYNIN}"
run_sortv2.7.13
z/OS: PGM=SORT, ICEMAN, ICETOOL
GCSort v9.09 — SORT, MERGE, INCLUDE/OMIT, OUTREC, KSDS (ORG IX)
ex: run_sort << EOF_GCSORT_RUN
run_idcamsv6.0.7
z/OS: PGM=IDCAMS
VSAM: DEFINE/DELETE/REPRO/LISTCAT — 1.927 linhas Python, 80 KB
ex: mc_export SYSIN="${MYTHUS_CRD}/C${GRP}UTIL01" && run_idcams
run_cobolv2.7.11
z/OS: PGM=COBOL aplicação LE runtime
GnuCOBOL 3.x — programas COBOL batch compilados e executados nativamente
ex: run_cobol PGMCOBOL01
run_fileutilv1.0.2
z/OS: PGM=IEBGENER, IEBCOPY, ICEGENER
Cópia, concatenação e reformatação de arquivos — heredoc COPY/CREATE/DELETE
ex: run_fileutil <<'EOF_FILEUTIL'
run_ftpv1.0.5
z/OS: PGM=FTP utility
PUT/GET/MGET batch — mesmo SYSIN do JCL original
ex: run_ftp <<'EOF_FTP'
run_os_commandv2.7.10
z/OS: PGM=BPXBATCH, IKJEFT01
Comandos OS arbitrários — scripts shell e utilitários Linux via step JCL
ex: run_os_command
+54 utilitários IBM
ADRDSSU, IEHLIST, IEHMOVE, IEFBR14...
Convertidos e marcados com aviso de revisão manual pelo conversor
step comentado + aviso explicito no script gerado
Passo 1 / 4