Introduzione
La seguente documentazione descrive il comportamento di Sme.UP nei confonti delle lingue straniere. Sia dal punti di vista della presentazione (traduzioni, separatori ecc.) sia dal punto di vista del database (codpage/encoding/CCSID).
Novità in V3R2
Dalla versione V3R2, Sme.UP (e di conseguenza Looc.UP) consente la gestione di ambienti in lingue e in CCSID (e codepage) diversi dall'italiano.
E' quindi possibile associare ad un unico utente vari ambienti linguisticamente differenti (italiano, russo ecc.) ognuno funzionante con i propri caratteri e simboli particolari e con le proprie traduzioni.
Ovviamente per ottenere questo risultato è necessario studiare bene l'impostazione globale del sistema
Localizzazione linguistica
La localizzazione linguistica è la parte che riguarda, traduzioni, separatori di decimali, formato della data ecc..
Le impostazioni di localizzazione si trovano nella tabella A£B.
In questa tabella è possibile specificare:
- Lingua assunta
- Formato data
- Separatore decimale
- Lingua OS400
- Attributi di JOB ricavati da lingua OS
Tali impostazioni possono poi essere associate ad un utente oppure (in risalita) ad un ambiente.
Per tutti i dettagli relativi ai valori impostabili e al meccanismo di risalita è necessario fare riferiemnto all'help della tabella:
A£B - Impostazioni di localizzazione
Parametri di encoding
Alcune lingue (non latine come il russo, il ceco ecc.) richiedono un'impostazione di sistema più profonda per funzionare correttamente.
Abbiamo raccolto queste impostazioni sotto il termine "parametri di encoding".
Dal menù del comando UP UT5 è possibile selezionare l'opzione 8 ("Parametri di encoding" appunto) ed andare così a gestire queste informazioni.
Per ogni "codice" di encoding è possibile specificare:
- CCSID
- Encoding XML
- Conversione caratt. §
- Conversione caratt. £
Il CCSID è appunto il CCSID (Coded Character Set Identifier) a cui verranno impostati i JOB di Sme.UP. L'Encoding XML è appunto l'encoding usato dall'XML scambiato tra client e server. I due campi Conversione caratt sono due informazioni necessarie in caso venga attivato il meccanismo di compilazione a cascata delle librerie.
Combinazioni funzionanti
Non è possibile utilizzare qualunque combinazione di parametri di encoding.
Attualmente sono state testate le seguenti configurazioni:
Lingua | CCSID | Encoding XML | Conv. caratt. § | Conv. carattere £ |
---|---|---|---|---|
Ceco | 870 | ISO-8859-2 | B5 | B1 |
Russo | 1154 | windows-1251 | B5 | B1 |
Italiano | 280 | ISO-8859-1 |
L'"italiano" è valido per tutte le lingue latine come il francese, il tedesco ecc.
Per il corretto funzionamento del tutto è inoltre necessario che altri parametri siano impostati nella maniera corretta. Ad esempio il codepage del client access, l'encoding di loocup e il CCSID di file dati e sorgenti. L'encoding di loocup è possibile specificarlo mediante il parametro --enc:XXX nel link all'eseguibile. Questi sono i valori corretti da impostare:
Lingua | codepage client access | encoding Looc.up | CCSID FILE dati | CCSID FILE source |
---|---|---|---|---|
Ceco | 870 | cs | 870 | 870 |
Russo | 1025 | ru | 1025 | 1025 |
Italiano | 280 | 280 | 280 |
Librerie in lingua
L'impostazione del campo CCSID comporta l'utilizzo di librerie specifiche per quel CCSID.
Sia librerie programmi che librerie dati.
Quindi la compresenza di ambienti italiani e russi richiede la compresenza di due "SMEUP_OBJ, SMEDEV ecc." diverse. Una in italiano e una in russo.
Per questo motivo i due ambienti non potranno avere librerie in comune.
Device abilitati ad alcuni ambienti
Se un ambiente ha associati alcuni parametri di encoding, allora tale ambiente sarà visibile solo se il device utilizzato per l'accesso lo supporta.
Ad esmepio i client access con codepage 280 vedranno solo ambienti il cui CCSID è 280.
Loocup con encoding russo (--enc:ru) vedranno solo ambienti il cui CCSID è 1025.
Il valore blank per il CCSID ha il significato di "non controllare". Quindi qualunque sia il codepage/encoding del device utilizzato, verranno mostrati tutti gli ambienti con CCSID blank.
Attenzione: le considerazioni precedenti sono valide solo per loocup ed emulazione Client Access. Altre emulazioni (qual iad esempio il TN5250J) non identificano correttamente il proprio codepage e quindi potrebbero sperimentare dei malfunzionamenti.
Ambienti in italiano
Se su un sistema sono presenti solo ambienti in italiano (o che cmq non richiesdono parametri di encoding particolari), allora è vivamente consigliato di non impostare tali parametri.
Quindi tali parametri vanno impostati solo se sul sistema sono presenti ambienti in russo, ceco ecc.
Esempio
Immaginiamo di avere 4 ambienti. Due in italiano e due in russo (ITA1, ITA2, RUS1 e RUS2).
Sarà necessario creare due elementi in "parametri di encoding": ITA e RUS
ITA avrà i seguenti valori
CCSID | Encoding XML | Conv. caratt. § | Conv. carattere £ |
---|---|---|---|
280 | ISO-8859-1 |
RUS avrà invece:
CCSID | Encoding XML | Conv. caratt. § | Conv. carattere £ |
---|---|---|---|
1154 | windows-1251 | B5 | B1 |
Verranno poi creati 4 ambienti. Ai due italiani verranno associati i parametri ITA, ai due russi invece RUS. Gli ambienti italiano avranno una lista librerie del tipo: ITA1: SMEDEV SMEUP_OBJ SMEGRU_IT SMEAZI_01 SMESRC SMESTD ITA2: SMEDEV SMEUP_OBJ SMEGRU_IT SMEAZI_02 SMESRC SMESTD RUS1: SMEDEV_R SMEUP_OBJ_R SMEGRU_RU SMEAZI_03 SMESRC_R SMESTD_R RUS2: SMEDEV_R SMEUP_OBJ_R SMEGRU_RU SMEAZI_04 SMESRC_R SMESTD_R Nelle librerie SMEGRU_IT, SMEAZI_01 e SMEAZI_02 saranno contenuti file con CCSID 280. Nelle librerie SMEGRU_RU, SMEAZI_03 e SMEAZI_04 saranno contenuti file con CCSID 1154. Le versioni _R delle librerie std sono appunto versioni in russo.
Un client access con codepage 280 vedrà solo gli ambienti ITA1 e ITA2. Analogamente un loocup con --enc:it Un client access con codepage 1154 vedrà solo gli ambienti RUS1 e RUS2. Analogamente un loocup con --enc:ru