Discussione:
COBOL/400 e Varlen
(troppo vecchio per rispondere)
ciccioalby123
2011-01-04 09:03:56 UTC
Permalink
Salve a tutti e Buon Anno ,
Mi dicono che il COBOL su AS/400 non gestisce i campi a lunghezza
variabile , va bene che l'RPG é superiore ( non si capisce mica per
quale linguaggio tifo, vero ? :-))) ma mi pare un pò strano, visto che
esiste anche l'SQL CBL che non abbiano implementato i campi varlen ...

C'é qualche Cobolista che riesca a risollevare la mia
considerazione di questo pur bel linguaggio ?
Dr.Ugo Gagliardelli
2011-01-04 09:56:17 UTC
Permalink
Post by ciccioalby123
Salve a tutti e Buon Anno ,
Mi dicono che il COBOL su AS/400 non gestisce i campi a lunghezza
variabile , va bene che l'RPG é superiore ( non si capisce mica per
quale linguaggio tifo, vero ? :-))) ma mi pare un pò strano, visto che
esiste anche l'SQL CBL che non abbiano implementato i campi varlen ...
C'é qualche Cobolista che riesca a risollevare la mia
considerazione di questo pur bel linguaggio ?
Per quanto ne so, il cobol implementa i campi a lunghezza variabile
tramite i gruppi, ovvero una struttura dati composta da due campi, uno
binario comp-4 e uno alfanumerico, esattamente come in qualsiasi altro
linguaggio, rpg incluso. Ad esempio un campo VARCHAR(n) viene definito come:
01 CAMPO.
05 CAMPO-LENGTH PIC S9(4) COMP-4.
05 CAMPO-DATA PIC X(n).

Inoltre in cobol puoi usare il typedef come in C, che manca in rpg.
Se i campi varlen provengono da dds o copy, dovrai specificare *varchar
nella dichiarazione della procedura o come opzione del compilatore, in
tal caso i campi varchar vengono dichiarati come gruppi.
L'uso dei campi varlen in cobol, e' analogo a quello dell'rpgIII, ovvero
la lunghezza deve essere sempre calcolata esplicitamente, cosi' come
faresti in RPGIV tramite la bif %len.
--
Dr. Ugo Gagliardelli, Modena, Italy
Spaccamaroni andate a cagare/Spammers not welcome
Loading...