|
EXPLICACIÓN DEL
PROBLEMA "EFECTO 2000"
|
La problemática es la
siguiente, a partir del día 1 de Enero del 2000, una gran cantidad de ordenadores y
software van a empezar a fallar (provocando daños de diversa cuantía), porque muchos
equipos y sistemas sólo controlan en la fecha dos dígitos para el año, y por ello se
pueden producir paradojas como que el año 2000 (para el sistema el valor 00) es menor que
el 1999 (para el sistema el valor 99).
Por supuesto, si su aplicación no utiliza
la Fecha del Sistema, como en el 80% de las aplicaciones desarrolladas por nosotros, no
tendrá ningún problema.
EL EFECTO 2000 EN LOS TERMINALES MIP |
La fecha, en
los terminales MIP, se puede visualizar o capturar desde:
- El Sistema Operativo.
- Durante la ejecución de una Aplicación.
EL SISTEMA OPERATIVO.
Para averiguar que Sistema
Operativo tiene el Terminal debemos hacer lo siguiente:
- Con el Terminal MIP encendido pulsamos la siguiente
combinación de teclas.
a.1 Para Terminales MIP-4Z y MIP-4A -->
FUNC 0.
a.2 Para Terminales MIP-4B --> F1 0.
Si aparece una pantalla parecida a esta:
Carg.Pilas 100%/100% |
MIP4A V.8.0 896 KB |
| 19 FEBRERO 1996 |
| Comunicacion RS-232 |
El Sistema Operativo es
MIPPROG.
- Si la pantalla no es parecida a la anterior pulsamos la
siguiente combinación de teclas.
b.1 Apagamos el Terminal con la tecla
ON/OFF.
b.2 Manteniendo pulsada la tecla 0,
encendemos el Terminal con la tecla ON/OFF.
Si aparece una pantalla parecida a esta:
| Battery 100% |
| BIOS
V.7.A 896 KB |
| December,
29 th., 1998 |
| Communication
RS-232 |
El Sistema Operativo es BIOS
TERMINALES
CON SISTEMA OPERATIVO MIPPROG
- Versión de placa con S.O. Mipprog versiones v.1.?, v.2.?,
v.3.?, v.4.?, v.5.?, v.6.?
Cuando se produzca el paso del año 1999
al año 2000, la fecha pasará de ser 31/12/99 a 01/01/00, el paso del año es correcto.
- Versión de placa v.6. con S.O. Mipprog v.7.?, V.8.? o
superior.
Cuando se produzca el paso del año 1999
al año 2000, la fecha pasará de ser 31/12/99 a 01/01/:0, el paso del año es incorrecto.
Solución: Programación manual de
la fecha, a través de las teclas FUNC PROG 9 en Terminales MIIP-4A y MIP-4Z y las teclas
F1 F2 9 en Terminales MIP-4B. En el campo año pulsamos 00 para indicar 2000.
Siempre que se reseteen/autoconfiguren
estos terminales debemos de actualizar la fecha.
TERMINALES
CON SISTEMA OPERATIVO BIOS (C++)
- Versión de placa con S.O. Bios v.1.E o inferior y Bios
v.6.7 o superior.
Cuando se produzca el paso del año 1999
al año 2000, la fecha pasará de ser 31/12/99 a 01/01/00, el paso del año es correcto.
- Versión de placa v.6. con S.O. Bios v.3.0 o superior
(hasta Bios v.6.6 incluida).
Cuando se produzca el paso del año 1999
al año 2000, la fecha pasará de ser 31/12/99 a 01/01/9:, el paso del año es incorrecto.
Solución:
2.1 Programación manual de la
fecha, a través del SetUp del Sistema Operativo (cuando el Terminal no tiene una
aplicación cargada). En el campo de año pulsamos 00 para indicar 2000.
Siempre que se reseteen/autoconfiguren
estos terminales debemos de actualizar la fecha.
2.2 Envío de los Terminales a nuestro
Servicio Técnico para que realicen la atualización del Sistema
Operativo a Bios v.6.7 y una pequeña modificación en la placa.
- Versión de placa v.7. con Bios v.7.0 o superior.
Cuando se produzca el paso del año 1999
al año 2000, la fecha pasará de ser 31/12/99 a 01/01/00, el paso del año es correcto.
DURANTE
LA EJECUCIÓN DE UNA APLICACIÓN.
Los problemas pueden ser los siguientes si
la aplicación sólo utiliza para el campo fecha dos dígitos:
- Comparaciones de fechas: por ejemplo, para evaluar
vencimientos de pagos. Si se compara el año 99 con el año 00, el 99 se produce después
(es mayor que 00) y esto no es correcto.
- Procesos y cálculos con fechas: con esto nos referimos a
cálculos de días entre dos fechas, número de fines de semana entre dos meses, aumentar
una cantidad de días a una fecha, etc.
Solución: Existen varias opciones:: Existen varias opciones:
1ª) Modificar la aplicación para que el
campo año tenga 4 dígitos y por lo tanto su valor sea el correcto.
2ª) No ampliar el campo año a 4
dígitos, pero cuando se quieran realizar comparaciones entre dos años de diferentes
siglos se debe tener en cuenta que el año del próximo siglo debe ser un caso especial en
la comparación. Supongamos que queremos comparar dos años, uno de ellos es el 1999 (99)
y el otro el 2000 (00). Si comparamos directamente con el valor de dos dígitos, obtenemos
que el 00 es inferior al 99, lo que es un resultado incorrecto. En cambio, si primero
averiguamos que uno de ellos es inferior al 2000 y el otro no, ya sabremos que es superior
en la comparación el año del siglo XXI, por lo que no hará falta comparar directamente
y obtendremos un resultado correcto.
|