Condividi tramite


Formati di carattere del mainframe

Nel progetto Transaction Integrator (TI) è 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 del tipo di dati 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 intermixed. In particolare, se il componente TI definito in TI Project 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 tabella codici DBCS (Double-Byte Character Set), l'ambiente di runtime TI converte una stringa con un formato PIC X come stringa intermixed (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 una tabella codici RE con una tabella codici EBCDIC, l'ambiente di runtime TI segnala un errore di conversione quando tenta di convertire la stringa in o dal 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 richiamata.

    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 intermixed
PIC G o RPG G L'ambiente di runtime TI segnala errori di conversione. Stringa DBCS

Valori delle dimensioni stringa

Il significato della dimensione di una stringa (la n parte del PIC X(n) o RPG A(n) e la n parte dei formati PIC G(n) o RPG G(n) è basata sul formato carattere in uso. Specificare la dimensione di una stringa nella pagina delle proprietà COBOL Definition in Transaction Integrator (TI) Project.You specify a string's dimension on the COBOL Definition property page 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 è possibile inserire o prendere da una stringa formattata PIC X o RPG A varia a seconda del numero di :

    • Caratteri DBCS (Double-Byte Character Set), ognuno dei quali richiede due byte di spazio 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 in TI Project.

    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 in o da UNICODE non richiede l'uso di caratteri DBCS , ovvero non viene usato alcun carattere SO e SI nella stringa del 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 l'Importazione guidata progetto Di Integrazione transazioni (TI) per importare una definizione host per creare nuovi metodi e recordset, la procedura guidata seleziona il formato di caratteri mainframe in base alla definizione host importata. Nella tabella seguente viene illustrato come la procedura guidata esegue il mapping di dichiarazioni COBOL diverse a una stringa.

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

Vedere anche

Stringhe di caratteri e tabelle codici del mainframe