Página 1 de 1

Numeração de registros SEGURA

Enviado: 11 Jun 2007 11:41
por Eliane
Gostaria de uma idéia para o seguinte:

Tenho um arquivo PROCESSO.DOS que guarda o No do último processo incluído no sistema. O programa Clipper lê e atualiza este arquivo DOS a cada inclusão. Tudo Ok.

O que preciso é criar uma numeração de ORDENS DE SERVIÇO que seja vinculada ao No do Processo. Um PROCESSO poderá ter de 1 a n Ordens de Serviço.

PROCESSO 35.344
ORDEM DE SERVIÇO 35.344-0001


PROCESSO 35.345
ORDEM DE SERVIÇO 35.345-001
ORDEM DE SERVIÇO 35.345-002
ORDEM DE SERVIÇO 35.345-003

PROCESSO 35.346
ORDEM DE SERVIÇO 35.346-001

Não gostaria de usar um arquivo de Índice para recuperar o No da ultima O.S. de um Processo, pois pode dar problemas se o índice estiver corrompido. Já tive muitos problemas com isto antigamente.

Se for armazernar em arquivo DOS terei que manter gravado o No de cada PROCESSO incluído com o No da ultima O.S.Ex:

SERVICOS.DOS
35.344-1
35.345-3
35.346-1
.
.
.

A cada inclusão terei que varrer o arquivo DOS a procura do Numero.

Alguém tem alguma idéia diferente ou algum comentário ?

Obrigado pela atenção.

Enviado: 11 Jun 2007 11:54
por Maligno
Tanto em relação ao número do processo quanto ao número da OS, como se tratam de seqüências, você obrigatoriamente precisa saber qual foi o último número utilizado em cada um.
Para o número de processo pode ser suficiente armazená-lo num DBF sem índice. Como terá apenas um registro armazenando o número do último processo incluído, será fácil encontrar esse registro.
Agora, com relação ao número da OS vinculada ao processo, você terá de varrer seu banco atrás da última OS do processo. Não tem como escapar disso. Mas usando um SET SCOPE da vida (SIX), será bem rápido, pelo menos. Fica só a questão da confiabilidade. Se bem que há meios de tentar certificar a quantidade de OS vinculadas a um mesmo processo.

Enviado: 11 Jun 2007 20:08
por Augusto
Lamento informar mais devo ratificar as palavras do colega MALIGNO... SEM INDICE fica difícil... quase impossível.
Eliane escreveu:Não gostaria de usar um arquivo de Índice para recuperar o No da ultima O.S. de um Processo, pois pode dar problemas se o índice estiver corrompido. Já tive muitos problemas com isto antigamente.
Se vc tem ou teve problemas com arquivos indice, com certeza é prq não foram bem dimensionados e/ou utilizados. Reveja seus conceitos...

Enviado: 11 Jun 2007 20:13
por Maligno
E complementando o que eu disse: se houver um campo no registro do processo que informe qual é a quantidade de OS vinculadas a ele, será uma ótima forma de garantir a integridade das informações, mesmo havendo algum problema nos índices. Se, por exemplo, no processo tiver a informações de que são 3 OS, e forem encontradas apenas 2, é claro que algo está errado. Caso contrário, e com o auxílio de uma ordenação própria pra isso, ao encontrar a primeira OS do processo, basta encontrar mais duas. Estando na seqüência, a nova OS terá o número da última mais 1. Simples. :)