Condividi tramite


Formati di caratteri mainframe

In Project TI (Transaction Integrator) è possibile specificare il formato di caratteri mainframe che verrà creato dall'ambiente di runtime TI durante l'invio di dati al mainframe. Esistono due formati di caratteri mainframe supportati da TI:

  • PIC X(n) COBOL o RPG A

  • PIC G(n) COBOL, o RPG G

    Quando si creano parametri stringa, campi o colonne in TI Project, il formato PIC X(n) o RPG A viene selezionato automaticamente.

    Se necessario, è possibile usare il comando Proprietà per modificare il formato del carattere mainframe.

    Se si seleziona il formato PIC X o RPG A per una stringa, l'ambiente di runtime TI converte questa stringa in una stringa di caratteri EBCDIC (Extended Binary Coded Decimal Interchange Code) o in una stringa di caratteri miscelati. In particolare, se il componente TI definito nel progetto TI viene assegnato a un ambiente remoto (RE) con una tabella codici EBCDIC, l'ambiente di runtime TI converte una stringa con un formato PIC X o RPG A in una stringa EBCDIC. Se il RE del componente TI identifica una pagina codice DBCS (Double Byte Character Set), l'ambiente di runtime TI converte una stringa con formato PIC X come stringa intermix (non supportata per RPG).

    Se si seleziona il formato PIC G o RPG G per una stringa, l'ambiente di runtime TI converte sempre la stringa in una stringa DBCS. Pertanto, qualsiasi componente TI che utilizza una stringa con un formato PIC G o RPG G deve essere assegnato a un RE con una tabella codici DBCS.

    Se un componente TI che utilizza una stringa con un formato PIC G o RPG G viene assegnato a un RE che ha una pagina di codici EBCDIC, l'ambiente di runtime TI segnala un errore di conversione quando tenta di convertire la stringa verso o da il formato PIC G o RPG G. L'ambiente di runtime TI inserisce un messaggio di errore che descrive questo problema di conversione nel registro eventi di Windows e restituisce un errore all'applicazione client chiamante.

    Nella tabella seguente viene riepilogato il modo in cui la selezione del formato stringa e della tabella codici controlla il tipo di conversione dei caratteri eseguita dall'ambiente di runtime TI.

Formato stringa Tabella codici EBCDIC Tabella codici DBCS
PIC X o RPG A Stringa EBCDIC Stringa intercalata
PIC G o RPG G L'ambiente di runtime TI segnala errori di conversione. Stringa DBCS

Valori delle dimensioni delle stringhe

Il significato della dimensione di una stringa (la n parte dei formati PIC X(n) o RPG A(n) e la n parte dei formati PIC G(n) o RPG G(n) si basa sul formato carattere in uso. Specificare la dimensione di una stringa nella pagina delle proprietà COBOL Definition in Transaction Integrator (TI) Project.

  • Il valore della dimensione per una stringa con un formato PIC G o RPG G fornisce il numero di caratteri a byte doppio utilizzati nella rappresentazione mainframe della stringa. Non viene aggiunta alcuna coppia di caratteri SO e SI quando viene convertita una stringa con un formato PIC G o RPG G.

  • Il valore della dimensione per una stringa con un formato PIC X o RPG A fornisce il numero di byte utilizzati nella relativa rappresentazione mainframe. Il numero di caratteri che possono essere inseriti o acquisiti da una stringa formattata PIC X o RPG Varia a seconda del numero di :

    • Caratteri DBCS (Double-Byte Character Set), ognuno dei quali richiede due byte di archiviazione.

    • Sono necessarie coppie di caratteri SO e SI. Ogni coppia a due byte deve incapsulare ogni flusso contiguo di caratteri DBCS.

    Gli sviluppatori che usano TI devono tenere conto di questa variabilità nelle dimensioni di una stringa mescolata quando specificano i valori delle dimensioni nel progetto TI.

    Il numero di byte per una stringa convertita utilizzando una tabella codici EBCDIC con un formato PIC X o RPG A è identico al numero di caratteri perché nella stringa non sono presenti caratteri DBCS.

    Tuttavia, per una stringa convertita utilizzando una tabella codici DBCS con un formato PIC X o RPG A, il numero effettivo di caratteri che possono essere inseriti in un determinato numero di byte varia. Ad esempio, se la conversione da o verso UNICODE non richiede l'uso di caratteri DBCS , ovvero nessun carattere SO e SI viene usati nella stringa mainframe, ogni carattere occupa un singolo byte. Tuttavia, se i caratteri DBCS vengono visualizzati all'interno della stringa mainframe, sono necessarie le coppie di caratteri SO e SI.

Come l'Importazione guidata definisce le stringhe

Quando si usa la procedura guidata di importazione del progetto di Transaction Integrator (TI) per importare una definizione del host per creare nuovi metodi e recordset, la procedura guidata seleziona il formato caratteri mainframe basato sulla definizione del host importata. Nella tabella seguente viene illustrato come la procedura guidata esegue il mapping di diverse dichiarazioni COBOL a una stringa.

Tipo COBOL Tipo di stringa creata
PIC X(n) o RPG A Stringa di dimensione n byte
PIC G(n) o RPG G Stringa di dimensione n caratteri

Vedere anche

Stringhe di caratteri mainframe e tabelle codici