Livelli di associazione per gli assistenti CICS

Un'associazione è una serie di regole che specifica in che modo le informazioni vengono convertite tra le strutture di linguaggio e gli schemi XML. Per beneficiare delle associazioni più sofisticate disponibili, è necessario impostare il parametro MAPPING-LEVEL negli assistenti CICS® al livello più recente.

Ogni livello di mappatura eredita la funzione della mappatura precedente, dove il livello più alto di mappatura offre le migliori funzionalità disponibili. Il livello di associazione più alto fornisce un maggiore controllo sulla conversione dei dati al runtime e rimuove le limitazioni sul supporto per determinati tipi di dati e elementi XML.

È possibile impostare il parametro MAPPING-LEVEL su un livello precedente se si desidera ridistribuire le applicazioni precedentemente abilitate a tale livello.

Livello di associazione 4.3

Il livello di associazione 4.3 è compatibile con CICS TS V5.4 con APAR PI88519e versioni successive.

Il livello di associazione 4.3 è principalmente da utilizzare con DFHJS2LS, ma è anche incluso negli assistenti dei servizi web CICS , negli assistenti XML e negli assistenti JSON. Questo livello di associazione implementa il supporto per gli array multidimensionali in JSON.

Livello di associazione 4.2

Il livello di associazione 4.2 è compatibile con CICS TS V5.4 con APAR PI86039e versioni successive.

Il livello di associazione 4.2 è principalmente per l'utilizzo con DFHJS2LS, ma è incluso anche negli assistenti dei servizi web CICS , negli assistenti XML e negli assistenti JSON. Questo livello di associazione implementa il supporto per le proprietà aggiuntive in JSON e introduce i seguenti tre parametri in DFHJS2LS: ADDITIONAL-PROPERTIES-DEFAULT, ADDITIONAL-PROPERTIES-MAXe ADDITIONAL-PROPERTIES-SIZE.

Livello di associazione 4.1

Il livello di associazione 4.1 è compatibile con una regione CICS TS 5.3 o CICS TS 5.2 con APAR PI67641 applicato e superiore.

Il livello di associazione 4.1 viene aggiunto agli assistenti dei servizi Web, agli assistenti XML e agli assistenti JSON. Questo livello di associazione implementa le associazioni migliorate per gli array semplici generati dal basso verso l'alto dai copybook esistenti; aggiunge anche la capacità per CICS di rilevare automaticamente lo storage finale non inizializzato negli array e di omettere tali record dal modulo XML/JSON generato. Per ulteriori informazioni, consultare Associazione schema COBOL a JSON.

DFHLS2WS, DFHWS2LS, DFHLS2SC, DFHSC2LS, DFHJS2LSe DFHLS2JS supportano i parametri TRUNCATE-NULL-ARRAYS e TRUNCATE-NULL-ARRAY-VALUES .

Se si specifica un valore per TRUNCATE-NULL-ARRAY-VALUESS , è necessario specificare anche TRUNCATE-NULL-ARRAYS=ENABLED.

Livello di associazione 4.0

Il livello di associazione 4.0 è compatibile con una regione CICS TS 5.2 .

Al livello di associazione 4.0 e superiore, DFHLS2SC e DFHLS2WS supportano la clausola COBOL OCCURS DEPENDING ON e supporta l'associazione di array di caratteri COBOL in stringhe XML. È possibile impostare questo comportamento utilizzando il parametro CHAR-OCCURS sugli assistenti CICS .
  • È necessario specificare il parametro DATA-TRUNCATION=ENABLED.
  • Le clausole OCCURS DEPENDING ON complesse non sono supportate. Questa limitazione fa sì che OCCURS DEPENDING ON sia supportato solo per l'ultimo campo di una struttura.
  • CICS non supporta nomi completi (utilizzando la parola chiave 'OF') come destinazione di una clausola OCCURS DEPENDING ON, ad esempio FIELD1 OF STRUCTURE1.
  • CICS non supporta la parola chiave UNBOUNDED. È necessario specificare la dimensione massima della tabella prevista dall'applicazione.
Al livello di associazione 4.0 e versioni successive, i servizi web CICS supportano la conversione dei dati dell'applicazione codificati utilizzando Unicode UTF-16 .
  • Quando si utilizza LS2WS o LS2SC, è possibile abilitare questo comportamento utilizzando i tipi di dati specifici della lingua per UTF-16.
  • Quando si utilizza WS2LS o SC2LS, è possibile abilitare questo funzionamento impostando CCSID=1200.
  • CICS supporta solo una singola codepage Unicode, UTF-16BE con IBM® Private Use Area (CCSID 1200).
  • La conversione dei dati dell'applicazione codificati utilizzando UTF-8 non è supportata.
Nota: DFHLS2WS e DFHLS2SC non supportano la clausola COBOL GROUP USAGE NATIONAL .

Livello di associazione 3.0 e superiore

Il livello di associazione 3.0 è compatibile con una regione CICS TS 4.1 e superiore.

Questo livello di mappatura fornisce il seguente supporto:

  • DFHSC2LS e DFHWS2LS associano i tipi di dati xsd:dateTime al formato ASKTIME CICS .
  • DFHLS2WS può creare un documento WSDL e un collegamento del servizio web da una applicazione che utilizza molti contenitori anziché un solo contenitore.
  • Tolleranza dei dati troncati descritti da una struttura dati a lunghezza fissa. È possibile impostare questo comportamento utilizzando il parametro DATA-TRUNCATION sugli assistenti CICS .

Livello di associazione 2.2 e superiore

Il livello di associazione 2.2 è compatibile con una regione CICS TS 3.2 , con APAR PK69738 applicato e superiore.

Al livello di associazione 2.2 e superiore, DFHSC2LS e DFHWS2LS supportano le seguenti associazioni XML:
  • Valori fissi per gli elementi
  • Gruppi di sostituzione
  • Tipi di dati astratti
  • Gli elementi dello schema XML < sequence> possono nidificare all'interno degli elementi < choice>
DFHSC2LS e DFHWS2LS forniscono il supporto migliorato per le seguenti associazioni XML:
  • Elementi astratti
  • elementi < choice> dello schema XML

Livello di associazione 2.1 e superiore

Il livello di associazione 2.1 è compatibile con una regione CICS TS 3.2 , con APAR PK59794 applicato e superiore.

Questo livello di associazione include un maggiore controllo sul modo in cui il contenuto della variabile viene gestito con il nuovo parametro INLINE-MAXOCCURS-LIMIT e i nuovi valori sul parametro CHAR-VARYING .

Al livello di associazione 2.1 e superiore, DFHSC2LS e DFHWS2LS offrono il seguente supporto nuovo e migliorato per le associazioni XML:
  • L'elemento < any> dello schema XML
  • Il tipo xsd:anyType
  • Tolleranza degli elementi astratti
  • Il parametro INLINE-MAXOCCURS-LIMIT
  • L'attributo minOccurs

Il parametro INLINE-MAXOCCURS-LIMIT specifica se gli elenchi ripetuti in modo variabile sono associati in linea. Per ulteriori informazioni sull'associazione del contenuto a ripetizione variabile in linea, vedere Array di variabili di elementi.

Il supporto per l'attributo minOccurs è stato migliorato per gli elementi dello schema XML < sequence>, < choice> e < all>. Se minOccurs="0" , l'assistente CICS tratta questi elementi come se l'attributo minOccurs="0" fosse anche un attributo di tutti i relativi elementi child.

Al livello di associazione 2.1 e superiore, DFHLS2SC e DFHLS2WS supportano le seguenti associazioni XML:
  • I campi FILLER in COBOL e PL/I vengono ignorati
  • Un valore di COLLAPSE per il parametro CHAR-VARYING
  • Un valore di BINARY per il parametro CHAR-VARYING

I campi FILLER in COBOL e PL/I vengono ignorati; non vengono visualizzati nello schema XML generato e viene lasciato un intervallo appropriato nelle strutture dati al runtime.

COLLAPSE fa sì che CICS ignori gli spazi finali nei campi di testo.

BINARY fornisce supporto per i campi binari. Questo valore è utile quando si converte COBOL in uno schema XML. Questa opzione è disponibile solo su array di caratteri SBCS e consente di associare l'array a campi xsd:base64Binary a lunghezza fissa anziché a campi xsd:string .

Livello di associazione 1.2 e superiore

Il livello di associazione 1.2 è compatibile con una regione CICS TS 3.1 e superiore.

È disponibile un maggiore controllo sul modo in cui i dati binari e di carattere vengono trasformati al runtime con questi parametri aggiuntivi sugli strumenti batch:
  • CHAR-VARYING
  • CHAR-VARYING-LIMIT
  • CHAR-MULTIPLIER
  • DEFAULT-CHAR-MAXLENGTH
Se si decide di utilizzare il parametro CHAR-MULTIPLIER in DFHSC2LS o DFHWS2LS, si applicano le seguenti regole dopo che il valore di questo parametro viene utilizzato per calcolare la quantità di spazio richiesta per i dati carattere.
  • DFHSC2LS e DFHWS2LS forniscono queste associazioni:
    • I tipi di dati carattere a lunghezza variabile che hanno una lunghezza massima superiore a 32 767 byte si associano ad un contenitore. È possibile utilizzare il parametro CHAR-VARYING-LIMIT per impostare un limite inferiore. Viene creato un campo a 16 byte nella struttura del linguaggio per memorizzare il nome del contenitore. Al runtime, i dati dei caratteri vengono memorizzati in un contenitore e il nome del contenitore viene inserito nella struttura del linguaggio.
    • I tipi di dati di caratteri a lunghezza variabile che hanno una lunghezza massima inferiore a 32 768 byte vengono associati a una struttura VARYING per tutti i linguaggi tranne C/C+ + e Enterprise PL/I. In C/C + +, questi tipi di dati sono associati a stringhe con terminazione null e in Enterprise PL/I questi tipi di dati sono associati a strutture VARYINGZ. È possibile utilizzare il parametro CHAR-VARYING per selezionare il modo in cui vengono associati i dati di caratteri a lunghezza variabile.
    • I dati binari a lunghezza variabile che hanno una lunghezza massima inferiore a 32 768 byte si associano a una struttura VARYING per tutte le lingue. Se la lunghezza massima è uguale o superiore a 32 768 byte, i dati vengono associati ad un contenitore. Viene creato un campo a 16 byte nella struttura del linguaggio per memorizzare il nome del contenitore. In fase di runtime, i dati binari vengono memorizzati in un contenitore e il nome del contenitore viene inserito nella struttura del linguaggio.

Se si dispone di tipi di dati carattere nello schema XML che non hanno una lunghezza associata, è possibile assegnare una lunghezza predefinita utilizzando il parametro DEFAULT-CHAR-MAXLENGTH in DFHWS2LS o DFHSC2LS.

DFHLS2SC e DFHLS2WS forniscono le seguenti associazioni:
  • I campi di caratteri vengono associati a un tipo di dati xsd:string e possono essere elaborati come campi a lunghezza fissa o stringhe con terminazione null in fase di runtime. È possibile utilizzare il parametro CHAR-VARYING per selezionare il modo in cui vengono gestiti i dati carattere a lunghezza variabile in fase di runtime per tutte le lingue tranne PL/I.
  • I tipi di dati Base64Binary si associano a un contenitore se la lunghezza massima dei dati è maggiore di 32 767 byte o quando la lunghezza non è definita. Se la lunghezza dei dati è 32 767 o inferiore, il tipo di dati base64Binary viene associato a una struttura VARYING per tutte le lingue.

Livello di associazione 1.1 e superiore

Il livello di associazione 1.1 è compatibile con una regione CICS TS 3.1 e superiore.

Questo livello di associazione fornisce un'associazione migliorata di tipi di dati binari e caratteri XML, in particolare quando si associano dati di lunghezza variabile che hanno attributi maxLength e minLength che sono definiti con valori diversi nello schema XML. I dati sono gestiti nei seguenti modi:
  • I tipi di dati carattere e binari che hanno una lunghezza fissa superiore a 16 MB si associano a un contenitore per tutte le lingue tranne PL/I. In PL/I, i tipi di dati binari e di caratteri a lunghezza fissa maggiori di 32 767 byte vengono associati ad un contenitore. Viene creato un campo a 16 byte nella struttura del linguaggio per memorizzare il nome del contenitore. Al runtime, i dati a lunghezza fissa vengono archiviati in un contenitore e il nome del contenitore viene inserito nella struttura del linguaggio.

    Poiché i contenitori sono di lunghezza variabile, i dati a lunghezza fissa associati a un contenitore non vengono riempiti con spazi o valori null o troncati, in modo da corrispondere alla lunghezza fissa specificata nello schema XML o nella descrizione del servizio web. Se la lunghezza dei dati è significativa, è possibile scrivere l'applicazione per controllarla oppure attivare la convalida nella region CICS . La convalida SOAP e XML hanno un impatto significativo sulle prestazioni.

  • I tipi di dati < list> e < union> dello schema XML vengono associati ai campi di caratteri.
  • Gli attributi XML definiti dallo schema vengono associati piuttosto che ignorati. È consentito un massimo di 255 attributi per ciascun elemento XML. Per ulteriori informazioni, vedere Supporto per attributi XML.
  • L'attributo xsi:nil è supportato. Per ulteriori informazioni, vedere Supporto per attributi XML.

Solo livello di associazione 1.1

Il livello di associazione 1.1 è compatibile con una regione CICS TS 3.1 e superiore.

Questo livello di associazione fornisce un'associazione migliorata di tipi di dati binari e caratteri XML, in particolare quando si associano dati di lunghezza variabile che hanno attributi maxLength e minLength che sono definiti con valori diversi nello schema XML. I dati sono gestiti nei seguenti modi:
  • I tipi di dati binari a lunghezza variabile vengono associati a un contenitore. Viene creato un campo a 16 byte nella struttura del linguaggio per memorizzare il nome del contenitore. In fase di runtime, i dati binari vengono memorizzati in un contenitore e il nome del contenitore viene inserito nella struttura del linguaggio.
  • I tipi di dati carattere a lunghezza variabile che hanno una lunghezza massima superiore a 32 767 byte vengono associati a un contenitore. Viene creato un campo a 16 byte nella struttura del linguaggio per memorizzare il nome del contenitore. Al runtime, i dati dei caratteri vengono memorizzati in un contenitore e il nome del contenitore viene inserito nella struttura del linguaggio.
  • I tipi di dati carattere e binari che hanno una lunghezza fissa inferiore a 16 MB si associano ai campi a lunghezza fissa per tutti i linguaggi tranne PL/I. In PL/I, i tipi di dati binari e di caratteri a lunghezza fissa che sono 32 767 byte o meno vengono associati ai campi a lunghezza fissa.
  • CICS codifica e decodifica i dati in formato hexBinary ma non in base64Binary . I tipi di dati Base64Binary nello schema XML vengono associati a un campo nella struttura del linguaggio. La dimensione del campo viene calcolata utilizzando la formula: 4 × (ceil ( z /3)) dove:
    • z è la lunghezza del tipo di dati nello schema XML.
    • ceil ( x ) è il numero intero più piccolo maggiore o uguale a x.
    Se la lunghezza di z è maggiore di 24 566 byte, la struttura del linguaggio risultante non viene compilata. Se si dispone di dati base64Binary maggiori di 24 566 byte, è necessario utilizzare un livello di associazione di 1.2. Con il livello di associazione 1.2, puoi associare i dati base64Binary a un contenitore anziché utilizzare un campo nella struttura del linguaggio.

Solo livello di associazione 1.0

Il livello di associazione 1.0 è compatibile con una regione CICS TS 3.1 e superiore.

Si notano le seguenti limitazioni, che vengono modificate nei livelli di associazione successivi:
  • DFHSC2LS e DFHWS2LS associano i tipi di dati binari e di caratteri nello schema XML ai campi a lunghezza fissa nella struttura del linguaggio. Esaminare questo schema XML parziale:
    <xsd:element name="example">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="33000"/>
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    Tale schema XML parziale viene visualizzato in una struttura del linguaggio COBOL come nel seguente esempio:
    15 example PIC X(33000)
  • CICS codifica e decodifica i dati in formato hexBinary ma non in base64Binary . DFHSC2LS e DFHWS2LS associano i dati Base64Binary a un campo di caratteri a lunghezza fissa, il cui contenuto deve essere codificato o decodificato dal programma applicativo.
  • DFHSC2LS e DFHWS2LS ignorano attributi XML durante l'elaborazione.
  • DFHLS2SC e DFHLS2WS interpretano i campi carattere e binari nella struttura del linguaggio come campi a lunghezza fissa e associano tali campi agli elementi XML che hanno un attributo maxLength . In fase di runtime, i campi nella struttura del linguaggio vengono riempiti con spazi o valori null se non sono disponibili dati sufficienti.