Data de fim do serviço
Verifica se a data final do período de serviço em calendar.txt é uma data válida no formato AAAAMMDD.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | calendar_end_date_valid_yyyymmdd |
| Ficheiro | calendar.txt |
| Campo | end_date |
| Tipo | Data |
| Severidade | Obrigatório |
Descrição do campo: último dia de serviço do período definido pela linha. Este dia está incluído no período.
Mais informação em calendar.txt.
Como funciona
Quando a regra passa, end_date está presente quando exigido e representa uma data real no formato AAAAMMDD. A regra não verifica se end_date é igual ou posterior a start_date.
A regra avalia cada linha do calendar.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O campo está vazio? | Verifica se a configuração da regra exige ou recomenda este campo. Se sim, reporta o problema. Se não, aceita | Segue para o passo 2 |
| 2 | A configuração da regra define que este campo não deve ser preenchido? | ❌ Reporta o problema | Segue para o passo 3 |
| 3 | O valor tem oito algarismos e representa uma data real? | ✅ Passa | ❌ Reporta o problema: data inválida |
Os espaços não são removidos. O formato aceite é exatamente AAAAMMDD.
Exemplos
| Valor | Resultado | Porquê |
|---|---|---|
20241231 | ✅ Passa | Data válida |
| campo vazio | ❌ Problema | Falta um valor obrigatório |
2024-12-31 | ❌ Problema | Formato incorreto |
20241301 | ❌ Problema | Mês inexistente |
20240101 quando o campo é proibido | ❌ Problema | Campo preenchido indevidamente |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Data inválida | O valor não tem oito algarismos ou não representa uma data real | Corrigir end_date em calendar.txt para uma data válida no formato AAAAMMDD |
| Campo em falta | A configuração da regra exige ou recomenda este campo | Preencher end_date em calendar.txt com o último dia de serviço |
| Campo preenchido quando não devia | A configuração da regra define que este campo não deve ter valor | Remover o valor de end_date em calendar.txt |