🧠 Explicação
O comando EXEC CICS ASKTIME
é utilizado para obter a data e hora atual do sistema CICS. Ele atualiza os campos padrão EIBDATE
(data) e EIBTIME
(hora) no bloco EIB da tarefa e, opcionalmente, pode armazenar a hora absoluta (em milissegundos desde 01/01/1900) em uma variável própria via opção ABSTIME
.
Esse comando é threadsafe, ou seja, pode ser usado com segurança em ambientes multithread.
🛠️ Usos mais comuns
-
Obter a data e hora atual da execução (corrigida pelo fuso horário)
-
Armazenar timestamp de processamento em logs
-
Trabalhar com intervalos de tempo (em milissegundos) para cálculos
-
Utilizar em conjunto com
FORMATTIME
para exibição formatada
🧾 Sintaxe
EXEC CICS ASKTIME
[ABSTIME(variavel-abstime)]
END-EXEC.
💻 Exemplo prático em COBOL
01 UTIME PIC S9(15) COMP-3.
EXEC CICS ASKTIME ABSTIME(UTIME) END-EXEC.
Após o comando, a variável UTIME
conterá a hora absoluta em milissegundos desde 1 de janeiro de 1900.
Você também poderá acessar:
EIBDATE → Data atual no formato CYYDDD
EIBTIME → Hora atual no formato HHMMSS
📋 Formato dos dados retornados
Campo | Tipo COBOL | Significado |
---|---|---|
EIBDATE |
CYYDDD | Data atual (Ex: 123001 → 01/jan/2023) |
EIBTIME |
HHMMSS | Hora atual (Ex: 153045 → 15:30:45) |
ABSTIME |
PIC S9(15) COMP-3 |
Tempo absoluto desde 01/01/1900 em milissegundos |
🔄 Complemento: FORMATTIME
Use EXEC CICS FORMATTIME
para converter o valor retornado por ABSTIME
em data/hora legível:
EXEC CICS FORMATTIME ABSTIME(UTIME)
MMDDYYYY(DT-FORMATADA)
TIME(TIME-FORMATADO)
END-EXEC.
💡 Dicas
-
Se quiser apenas a hora e data atual, o
ASKTIME
já atualizaEIBDATE
eEIBTIME
, mesmo sem a cláusulaABSTIME
. -
Combine
ASKTIME
+FORMATTIME
para converter o timestamp num formato legível. -
Use
ABSTIME
para comparar o tempo entre duas execuções (diferença entre timestamps). -
A variável
ABSTIME
deve ser definida com precisão adequada:PIC S9(15) COMP-3
.
✅ Conclusão
O comando EXEC CICS ASKTIME
é essencial para capturar a hora exata da execução de uma transação no CICS, com precisão de milissegundos. Ele permite controle de tempo, geração de logs e cálculo de intervalos com segurança e precisão. É um recurso simples, mas poderoso, especialmente quando combinado com o comando FORMATTIME
.