{"id":1714,"date":"2022-12-30T10:27:36","date_gmt":"2022-12-30T13:27:36","guid":{"rendered":"https:\/\/www.b3bee.com.br\/site\/?p=1714"},"modified":"2022-12-30T10:37:05","modified_gmt":"2022-12-30T13:37:05","slug":"financas-e-ti-e-epoca-de-retrospectiva-o-bug-do-milenio-2000","status":"publish","type":"post","link":"https:\/\/www.b3bee.com.br\/site\/2022\/12\/30\/financas-e-ti-e-epoca-de-retrospectiva-o-bug-do-milenio-2000\/","title":{"rendered":"Finan\u00e7as e TI &#8211; \u00c9 \u00e9poca de retrospectiva: O bug do mil\u00eanio 2000"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"597\" src=\"https:\/\/www.b3bee.com.br\/site\/wp-content\/uploads\/2022\/12\/92-BugDoMilenio.png\" alt=\"\" class=\"wp-image-1715\" srcset=\"https:\/\/www.b3bee.com.br\/site\/wp-content\/uploads\/2022\/12\/92-BugDoMilenio.png 1015w, https:\/\/www.b3bee.com.br\/site\/wp-content\/uploads\/2022\/12\/92-BugDoMilenio-300x176.png 300w, https:\/\/www.b3bee.com.br\/site\/wp-content\/uploads\/2022\/12\/92-BugDoMilenio-768x452.png 768w\" sizes=\"auto, (max-width: 1015px) 100vw, 1015px\" \/><\/figure>\n\n\n\n<p>Essa retrospectiva n\u00e3o \u00e9 sobre o decorrer desse ano, mas de uma at\u00edpica virada de ano. Quem j\u00e1 passou por mais de 50 viradas de ano como eu tem motivos para n\u00e3o lembrar de todas, mas equipes de TI e usu\u00e1rios envolvidos lembrar\u00e3o do \u2018bug do mil\u00eanio\u2019.<\/p>\n\n\n\n<p>Nenhuma grande cat\u00e1strofe ocorreu na virada do ano de 1999 para 2000 como se preconizava: queda de avi\u00f5es, pane nos transportes e servi\u00e7os p\u00fablicos de luz e \u00e1gua pela j\u00e1 depend\u00eancia de sistemas computadorizados.<\/p>\n\n\n\n<p>No entanto, a percep\u00e7\u00e3o de que esse medo coletivo n\u00e3o tinha fundamento algum \u00e9 parcial. Se existiu a percep\u00e7\u00e3o de que houve uma supervaloriza\u00e7\u00e3o do tema para alavancar consultorias, \u00e9 ineg\u00e1vel tamb\u00e9m a real necessidade de a\u00e7\u00f5es genu\u00ednas antecipando seus problemas decorrentes. E s\u00f3 por isso \u00e9 que houve uma percep\u00e7\u00e3o de normalidade ao iniciar o novo mil\u00eanio.<\/p>\n\n\n\n<p><strong>O problema<\/strong><strong><\/strong><\/p>\n\n\n\n<p>Nos prim\u00f3rdios da computa\u00e7\u00e3o, o armazenamento de informa\u00e7\u00f5es era proporcionalmente muito mais caro que hoje: coisa inimagin\u00e1vel para a gera\u00e7\u00e3o Z em diante, acostumado a gravar na nuvem de forma &#8216;gratuita&#8217;. Herdado dos anos 60, para economizar espa\u00e7o nos arquivos, o ano das datas muitas vezes era armazenado com dois d\u00edgitos ao inv\u00e9s dos quatro. Dessa forma, na virada do mil\u00eanio, comparar o dia 01\/01\/2000 corria o risco de ficar menor que 31\/12\/1999, com as datas armazenadas respectivamente como 000101 e 991231 no formato ano-m\u00eas-dia em algumas estruturas de dados (arquivos tratados pelo Cobol, utilizado desde os anos 60, por exemplo!!).<\/p>\n\n\n\n<p><strong>Sistemas financeiros<\/strong><strong><\/strong><\/p>\n\n\n\n<p>Especificamente onde eu atuava nessa \u00e9poca, o sistema que calculava rendimentos de aplica\u00e7\u00f5es subtra\u00eda datas para apurar a quantidade de dias e corrigir proporcionalmente seus valores, da data de aplica\u00e7\u00e3o at\u00e9 a data da valoriza\u00e7\u00e3o e resgate. O ano mantido com dois d\u00edgitos retornaria uma quantidade de dias negativo ou nem calcularia, paralisando o processamento ou podendo retornar valores negativos no primeiro c\u00e1lculo de 2000.<\/p>\n\n\n\n<p>N\u00e3o s\u00f3 na base de dados, mas a revis\u00e3o envolvia tamb\u00e9m todas \u2018vari\u00e1veis de trabalho\u2019 (conjunto de armazenamentos tempor\u00e1rios dentro dos programas). Al\u00e9m da homologa\u00e7\u00e3o de todos os sistemas, a convers\u00e3o da base de dados deveria ser planejada para ser sincronizada com a substitui\u00e7\u00e3o simult\u00e2nea de todos os programas da vers\u00e3o compat\u00edvel.<\/p>\n\n\n\n<p><strong>Um ano de trabalho<\/strong><strong><\/strong><\/p>\n\n\n\n<p>Esse processo foi realizado no decorrer de um ano de trabalho, em paralelo \u00e0 evolu\u00e7\u00e3o que os mesmos sistemas exigiam nesse per\u00edodo. Isto \u00e9, a cada nova funcionalidade inclu\u00edda no sistema ainda na vers\u00e3o de \u20182 d\u00edgitos no ano\u2019, essa mesma funcionalidade teria de ser replicada em sua c\u00f3pia j\u00e1 convertida para \u20184 d\u00edgitos no ano\u2019: quanto maior evolu\u00e7\u00e3o da vers\u00e3o antiga, o que \u00e9 ben\u00e9fico, por outro lado, gerava maior retrabalho em transport\u00e1-la para sua c\u00f3pia na vers\u00e3o nova.<\/p>\n\n\n\n<p><strong>Estouro do espumante como todos os anos<\/strong><strong><\/strong><\/p>\n\n\n\n<p>Em alguns casos, essa a convers\u00e3o da base de dados e substitui\u00e7\u00e3o de programas poderia at\u00e9 ser feita antecedendo a virada de ano, dando possibilidade a mais de uma tentativa e volta da vers\u00e3o anterior.<\/p>\n\n\n\n<p>Fato \u00e9 que n\u00e3o tivemos not\u00edcia de grandes danos alardeados pelo tal \u2018bug do mil\u00eanio\u2019. Em parte, porque n\u00e3o havia esse cen\u00e1rio desastroso mesmo. Mas em boa parte, porque foi antecipado pela imensa maioria de equipes de TI e usu\u00e1rios envolvidos. Mas isso s\u00f3 quem se dedicou a esse trabalho faz ideia do quanto se antecipou para que todos pudessem estourar seu espumante tanto quanto sempre fizeram em todos os anos. At\u00e9 ficamos de \u2018plant\u00e3o\u2019, mas no geral pudemos brindar com todos da forma habitual.<\/p>\n\n\n\n<p>Uma boa passagem de ano a todos.<\/p>\n\n\n\n<p>Yoshio Hada<\/p>\n\n\n\n<p>S\u00f3cio administrador da B3Bee Consultoria e Sistemas, licenciando sistemas dos dados abertos (Demonstra\u00e7\u00f5es Financeiras, Pilar 3 e Canais de Atendimento), CADOC\u2019s (DLI 2062, COS 40XX, 5011, ETF 80XX, DF 9011\/9061, SVR 9800, ESG 2030, RCP 4076), FGC405, convers\u00e3o de layouts (ETL), controle de limites, calend\u00e1rio de obriga\u00e7\u00f5es (envio de arquivos regulat\u00f3rios ou rotinas administrativas), valida\u00e7\u00e3o e envio de CADOCs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Essa retrospectiva n\u00e3o \u00e9 sobre o decorrer desse ano, mas de uma at\u00edpica virada de ano. <\/p>\n<p>Quem j\u00e1 passou por mais de 50 viradas de ano como eu tem motivos para n\u00e3o lembrar de todos, mas equipes de TI e usu\u00e1rios envolvidos lembrar\u00e3o do \u2018bug do mil\u00eanio\u2019.<\/p>\n","protected":false},"author":2,"featured_media":1715,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[288,290,289,292,291],"class_list":["post-1714","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-emp","tag-bug","tag-bug2000","tag-bugdomilenio","tag-financas","tag-ti"],"_links":{"self":[{"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/posts\/1714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/comments?post=1714"}],"version-history":[{"count":2,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/posts\/1714\/revisions"}],"predecessor-version":[{"id":1718,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/posts\/1714\/revisions\/1718"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/media\/1715"}],"wp:attachment":[{"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/media?parent=1714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/categories?post=1714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.b3bee.com.br\/site\/wp-json\/wp\/v2\/tags?post=1714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}