Gestione campi traducibili

La gestione dei campi traducibili (tipo dato AX1, AX2, AX3, AXX) va riprodotta manualmente quando definiti su una tabella secondaria,
cioè su una tabella che non sia il riferimento principale di un oggetto.

I testi traducibili definiti in una tabella (funzione GESATB) non saranno fisicamente memorizzati in quella tabella, ma nella tabella ATEXTRA.

Per ogni campo di testo traducibile (es. YDESAXX):

  • per convenzione termina in AXX
  • in genere gli si abbina un campo di sicurezza (es. YDES; in ITMMASTER per es. ci sono ITMDES1-DES1AXX, ITMDES2-DES2AXX…)
  • nel tipo dato vanno inseriti i parametri per leggere/scrivere sulla ATEXTRA ovvero:
    1. TABLE1: nome della tabella contenente il campo specificato tra apici (per esempio “YTABELLA”)
    2. ZONE: nome del campo di testo traducibile specificato tra apici (per esempio “YDESAXX”)
    3. CLECUR1: un valore che sia chiave per legare la traduzione alla riga dati corretta (per esempio ITMREF, senza apici poichè è il contenuto del campo ITMREF, non la scritta “ITMREF”)
  • Gli stessi parametri vanno impostati anche in videata, facendo attenzione a fare riferimento ai campi della videata corretti.
  • Nel sorgente che gestisce l’oggetto vanno inserite queste parti di codice:
$INIMOD
 Gosub MAJ_AXX_YITMINF
Return

$INICRE
  Gosub MAJ_AXX_YITMINF
Return

$MAJ_AXX_YITMINF
  # Creazione/modifica di ATEXTRA; la chiave è recuperata dalla tabella ([F]) 
  Call MAJTEXTRA ([M:YI1]YDESAXX,"YTABELLA","YDESAXX",[F:YII]ITMREF,"") From ATEXTRA

  # Salvataggio di YDES per sicurezza (qualunque sia la lingua)
  [F:YII]YDES = [M:YI1]YDESAXX 
Return

Il quarto parametro della chiamata MAJTEXTRA può dover essere inserito,
dipende da come vengono impostati i parametri del campo traducibile.
In pratica rappresenta l’eventuale secondo campo chiave;
in tal caso la seconda chiave va impostata anche nei parametri del tipo dato.

Potrebbe servire anche inserire una parte di codice in LIENS:

$LIENS
 Gosub LIENS From TABLEAUX
 Call LECTEXTRA([M:YI1]YDESXXX,"YTABELLA","YDESXXX",[F:YII]ITMREF,"") From ATEXTRA
Return

Potrebbero interessarti anche...

Lascia un commento

Scopri di più da SageDev

Abbonati ora per continuare a leggere e avere accesso all'archivio completo.

Continue reading