Re: Numeromuuttujasta merkkimuuttujaksi

[vastaus aiempaan viestiin]

Kirjoittaja: Pentti Ahonen
Sähköposti:    Pentti.Ahonen'at'TietoEnator.com
Päiväys: 22.7.2002 11:29

Seppo Mustonen kirjoitti 21.7.2002 9:16 :

>En ehkä aivan ymmärtänyt, mitä ajat takaa. Mielestäni pitkät
>puhelinnumerot tulisi Survon datatiedostoissa esittää
>string-tyyppisinä, koska tällöin ei käytännössä ole ylärajaa
>numerosarjan pituudelle (eikä näillä "numeroilla" sellaisenaan
>mitään lasketa).
>Monissa tilanteissa kannattaa osat jopa esittää eri kenttinä tyyliin
>+ 358 40 0544726, jolloin on helpompi esim. koota tietoja eri
>suuntanumeroiden mukaisesti.

Luettuani oman viestini jälkikäteen havaitsin ettei ongelmani käynyt
kovin hyvin selville. Nimittäin numeraalinen muoto mielestäni on hyvä
kun numerosarjoja muodostetaan ja jaetaan asiakkaille ja kauppiaille.
Numerosarjan muodostaminen aloitetaan jostakin luvusta. Laadittu sarja
osoitetaan jakelua varten keskukselle, kauppiaalle ja asiakkaalle/
asiakasjoukolle eli "numeroavaruueden" hallinta hoidetaan sarjoina.
Esim. 358 40 5500000 - 358 40 5599999 ovat sarjan alku ja loppuluvut.

Demonstroin asiaa viikon vaihteessa seuraavalla esimerkillä:

file create msisdn
MSISDN-numerosarjan luonti.

FIELDS: (active)
   1 SA_   6 sarja    Sarjan numero (########)
   2 SA_  20 snimi    Sarjan nimi
   3 SA_   8 päivä    Sarjan antopäivä (VVVVKKPP)
   4 NA_   8 maa      Maan numero (###)
   5 NA_   8 suunta   Suuntanumero (######)
   6 NA_   8 alku     Alkunumero (#######)
   7 NA_   8 lisäys   Numeron lisäys (#######)
   8 NA_   8 MSISDN   MSISDN-numero (############)
END

file show msisdn,1,1,1
file edit msisdn,1,1,1
...........................

file init msisdn,10000                   / Sarjan termien lukumäärä
VAR str(sarja)="s102" to msisdn          / Sarjan tunniste
VAR str(snimi)="Aku_Korhonen" to msisdn  / Sarjan laatija
VAR str(päivä)="200220807" to msisdn     / Laatimispäivä
VAR maa=358000000000 to msisdn           / Maakoodi numerona (additiivinen)
VAR suunta=400000000 to msisdn           / Suuntanumero (40)
VAR alku=7770000 to msisdn               / Numerosarjan aloitukohta
VAR lisäys=ORDER to msisdn                 / Sarjan kasvu 1:n välein
VAR MSISDN=maa+suunta+alku+lisäys to msisdn / Muunnos laskutoimituksena

Tuloksen selailu
file show msisdn
file edit msisdn,1,1,1
...........................

Tallennus merkkimuotoon ja mahdollinen siirto muualle

VARS=sarja,snimi,päivä,MSISDN
file load msisdn to s102
DELIMTER=;

show s102

Vastaukset:

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.