Bedre StandardSend faginnspill

Identifikatorer skal ikke behandles som regnetall

Talltegn i en identifikator betyr ikke at feltet skal summeres eller konverteres numerisk.

I denne veiledningen

En kundekode som 00041 og tallet 41 har forskjellig rolle. Den første identifiserer en post; den andre kan brukes i en beregning. Datatype skal velges etter betydning, ikke etter hvilke tegn verdien inneholder.

Numerisk konvertering kan fjerne innledende nuller, endre lange sifferrekker eller gi vitenskapelig notasjon. Slike endringer er særlig farlige når identifikatoren brukes som nøkkel til faktura, kunde eller betaling.

Tre kundekoder fra forskjellige kilder

Syntetisk eksempel med lokale registerkoder.

KildeIdentifikatorHva må bevares?
System A00041Fem tegn og kildeomfang
System B41To tegn og annen kodeavtale
System CK-41Bokstav, bindestrek og sifre
Feil sammenslåingAlle blir tallet 41Forskjellige identiteter kan kollidere

Det er mulig at A og B gjelder samme kunde, men det må dokumenteres med en koblingstabell eller annen bekreftet identitet. Tallkonverteringen er ikke et bevis på sammenheng.

Fastsett identitetens kontrakt

Beskriv tegnsett, lengde, store og små bokstaver, unikhetsomfang og normalisering. Noen identifikatorer tåler fjerning av visningsmellomrom; andre er følsomme for tegnendringer. En felles «rens tekst»-funksjon bør ikke bestemme dette uten feltgrunnlag.

JSON skiller strenger fra tall. Et identitetsfelt kan derfor representeres som tekst selv om verdien består av sifre. Ved CSV må importens kolonnebehandling avklares eksplisitt, fordi filen ikke nødvendigvis bærer en sterk datatype.

  • Test koder med innledende nuller.
  • Test lange sifferrekker og blandede tegn.
  • Sammenlign råverdi med lagret og eksportert verdi.
  • Hold teknisk rad-ID atskilt fra forretningsidentitet.
  • Kontroller kollisjoner etter normalisering.

Når identiteten allerede er endret

Finn originalverdi i kilderegister eller tidligere dokumentasjon. Ikke sett inn nuller til en antatt lengde. En skadet kode kan ha flere mulige opphav, og en gjettet korreksjon kan knytte posten til feil kunde.

Selv en perfekt bevart kode er ikke automatisk unik på tvers av selskaper og systemer. Dokumenter omfanget og bruk en sammensatt nøkkel der det er nødvendig. Et bilagsnummer fra ett foretak kan være identisk med nummeret i et annet.

Godkjenn overføringen når identiteten er bevart og koblingen til riktig objekt kan forklares. Riktige totalsummer erstatter ikke identitetskontroll.

Se sammensatte nøkler og bankreferanser med nuller.

Et internt løpenummer kan fortsatt være et heltall i databasen hvis kontrakten faktisk beskriver det slik. Problemet er å overføre denne behandlingen til eksterne identifikatorer uten vurdering. Hold teknisk identitet og kundens opprinnelige kode som separate opplysninger, og test begge gjennom en full overføring.

Kilde