Newsgroup: it.comp.lang.delphi
Titolo: struttura data base

Ciao a tutti,
           dopo moltissime ricerche sono riuscito a trovare il "tracciato" 
(come viene chiamato da loro) del Data Base a cui ho necessita' di 
collegarmi.
In poche parole, come avete capito, si tratta della struttura del record del 
DB.
E' un record di 640 byte (credo, e' indicato 1-640) dove viene riportato il 
nome del campo, la lunghezza ed il tipo di campo.
Ed e' qui che c'e' un piccolo problema, il tipo di campo.
Parlando con uno degli sviluppatori ho appreso che il tipo di campo e' 
espresso secondo quanto stabilito in cobol e i tipi dei campi sono 2 N e AN.
Credo che entrambi siano attribuilbili a STRING ma non sono cosi' sicuro, 
infatti se sono campi alfanumerici perche' hanno diciture diverse ??.
Sposto una parte di tracciato cosi' da non far sorgere incomprensioni varie 
(la mia specialita') e per averne la confrma.
     Da
     A
     Campo
     Tip
     L.
     Note
     1
     2
     Identifica tipo file.
     AN
     2
     Identificativo tipo file valorizzato con BD.
      Specifica che il record riguarda l'archivio prodotti e' in forma 
estesa.
     3
     3
     Tipo mov.
     AN
     1
     Tipo movimento  :
      Contiene I per gli inserimenti, V per le variazioni e A per gli 
annulli.
     4
     16
     Codice  prodotto
     AN
     13
     Codice del prodotto:
      (Attualmente il codice è numerico di 9 caratteri seguito da 4 spazi).
......
     104
     111
     Data prz. 1
     N
     8
     Data di entrata in vigore del prezzo 1: più recente (aaaammgg).
.....
     226
     233
     Tariffa Euro
     N
     5+3
     Tariffa in Euro.
....
Dopo una chiaccherata con chi sa piu' di me di cobol (mentre scrivevo il 
messaggio !!!!) ho saputo che
AN = Alfa Numerico
N   = Numerico
e che per il cobol, a differenza del delhpi, un numero occupa x byte da 
quante cifre e' composto, ovvero 125 per delphi 1 byte e per il cobol 3 
byte.
Chiedo conferma prima di iniziare i lavori !!!!
Grazie a tutti
Daniele. 

 byte.
In COBOL esistono diverse rappresentazioni: binary, comp, comp-1, comp-2 e
comp-3.  Il tipo "comp-3" è il formato BCD ufficiale di COBOL.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 comp-3.  Il tipo "comp-3" è il formato BCD ufficiale di COBOL.
Ciao, va bene quello che dici ma per "tradurre" dal cobol al delphi questo 
record va bene una cosa di questo tipo ??
AN 13 = String[13]
N      8 = String [8]
Grazie per l'interesse, Daniele 

 N      8 = String [8]
Hmmm... sě, potrebbe, ma non ne sono sicuro.  Hai modo di riportare uno
spezzone di quei dati ?


 spezzone di quei dati ?
Per spezzone intendi una parte di database???
Il data base e' circa 400mb !! ma posso cercare di fare una copia di 1 mb.
Altro problema ....
Dato che noi con delphi usiamo, di solito, le tabelle o i file con 
estensione .db, dall'altra parte (cobol) non ho idea di cosa usino.
Il file e' senza estensione e i viwer (per esempio quello di dephi stesso) 
non aprono il file perche' non riconoscono il formato.
Quindi, una volta tradotto il record da cobol a delphi c'e' anche il non 
trascurabile problema di come poter aprire e leggere questi cavolo di record 
!!!
Grazie per la tua pazienza.
Ciao, Daniele 



Ciao,
da quanto ho capito da quello che hai scritto, posso dirti chie quei campi 
numerici sono di tipo ZONED cioè ogni byte rappresenta una singola cifra 
del numero. Prestare attenzione al fatto che i decimali sono rappresentati 
dalla virgola virtuale, infatti per determinare un campo numerico si deve 
analizzare la PICture del campo.
Esempio:  ImportoEuro PIC S9(10)v9(06)
significa che il campo ImportoEuro è composto da 10 cifre intere e 6 valori 
decimali.
Quindi, 0000125000880000 deve essere interpretato come € 125000,88
Un tracciato COBOL puoi aprirlo con un semplice editor di testo; se non vi 
sono campi di tipo COMP è facilmente leggibile.
Spero di essere stato sufficientemente chiaro.
Ciauzzzzz