Regole per specificare simboli ed elenchi di simboli
Ogni simbolo ha un nome e un valore. Seguire queste regole per selezionare il nome del simbolo e specificare i valori per i simboli, singolarmente o in un elenco di simboli.
Nomi simboli
Il nome di un simbolo deve contenere solo lettere maiuscole e minuscole, numeri e i caratteri speciali dollaro ($), sottolineatura (_), trattino (-), cancelletto (#), punto (.) e chiocciola (@). Il nome è sensibile al maiuscolo / minuscolo, quindi le lettere maiuscole sono considerate diverse dalle lettere minuscole.
Per includere un simbolo in un modello di documento, è possibile specificarlo come riferimento simbolo, che è il nome del simbolo preceduto da una e commerciale (&) e termina con un punto e virgola (;). In alternativa, è possibile specificare il nome del simbolo utilizzando il comando #echo . Quando si specifica il nome del simbolo nell'applicazione, non utilizzare la e commerciale e il punto e virgola. Ad esempio, il riferimento simbolo &mytitle; in un modello corrisponde al nome simbolo mytitle in un elenco di simboli.
Separatore in un elenco di simboli
L'opzione SYMBOLLIST nei comandi DOCUMENT CREATE e DOCUMENT SET specifica una stringa di caratteri composta da una o più definizioni con separatori a byte singolo. Per impostazione predefinita, il separatore simbolo è una e commerciale, ma è possibile sovrascriverlo utilizzando l'opzione DELIMITER sui comandi. Provare a scegliere un separatore simbolo che non verrà mai utilizzato all'interno di un valore simbolo nell'elenco simboli, poiché è richiesta una gestione speciale se si desidera utilizzare il separatore simbolo all'interno di un valore simbolo. È possibile utilizzare un carattere non stampabile.
- null (binario X'00 ')
- shift in (binario X'0E' )
- shift out (binario X'0F' )
- spazio (binario X'40 ')
- segno più (binario X'4E' )
- colon (binario X'7A' )
- uguale (binario X'7E' )
- segno percentuale (binario X'6C' )
- barra rovesciata (binario X'E0')
Caratteri speciali nei valori dei simboli
I valori dei simboli possono contenere qualsiasi carattere. Tuttavia, è richiesta una gestione speciale se è necessario includere i seguenti caratteri nei valori dei simboli:- Il segno più (+).
- Il segno percentuale (%).
- Il segno uguale (=).
- Il carattere utilizzato come separatore di simboli per un elenco di simboli. La gestione speciale è richiesta solo per questo carattere quando la definizione del simbolo viene fornita in un elenco di simboli e non viene applicata quando si utilizza il comando DOCUMENT SET per impostare un singolo valore del simbolo con le opzioni SYMBOL e VALUE.
Nel valore del simbolo, è possibile utilizzare le sequenze di escape per includere caratteri come questi che hanno un significato speciale. Una sequenza di escape è costituita dal segno di percentuale, seguito da due caratteri che sono cifre esadecimali (ovvero, 0-9, a - f e A-F). Quando i valori dei simboli vengono inseriti nella tabella dei simboli, il simbolo di percentuale e le due cifre esadecimali che lo seguono vengono sostituiti dall'equivalente EBCDIC del singolo carattere ASCII indicato dalle due cifre.
| Carattere | Sequenza di escape |
|---|---|
| Segno più + | %2B |
| Segno percentuale% | 25% |
| Segno di uguale = | %3D |
| E commerciale & (separatore simbolo predefinito) | %26 |
Se si preferisce non utilizzare le sequenze di escape, è possibile specificare l'opzione UNESCAPE nel comando DOCUMENT CREATE o DOCUMENT SET. Quando si specifica questa opzione, non viene eseguita alcuna conversione e i valori dei simboli vengono inseriti nella tabella dei simboli esattamente come sono stati immessi.
Tuttavia, l'opzione UNESCAPE non consente di includere il carattere utilizzato come separatore di simboli all'interno di un valore di simbolo in un elenco di simboli. Se si desidera utilizzare l'opzione UNESCAPE, scegliere un separatore simbolo che non verrà mai utilizzato all'interno di un valore simbolo. In alternativa, è possibile utilizzare le opzioni SYMBOL e VALUE nel comando DOCUMENT SET per specificare i valori simbolo che contengono il carattere utilizzato come separatore simbolo, poiché il separatore simbolo non ha un significato speciale quando viene usato nell'opzione VALUE.
Spazi nei valori dei simboli
- Un carattere spazio.
- Un segno percentuale seguito dalle cifre esadecimali 20 (%20).
- Un segno più.
Tuttavia, non è possibile utilizzare un segno più o la sequenza di escape %20 per indicare un carattere spazio quando l'opzione UNESCAPE viene utilizzata per impedire a CICS di annullare l'escape dei valori dei simboli contenuti in un elenco di simboli o nell'opzione VALUE. In questi casi, è necessario utilizzare un carattere spazio per indicare uno spazio, poiché i segni più non vengono convertiti in spazi quando viene utilizzata l'opzione UNESCAPE.
Esempio: definizione di simboli senza sequenze di escape
EXEC CICS DOCUMENT CREATE
DOCTOKEN(ATOKEN)
DELIMITER('!')
SYMBOLLIST('COMPANY=BLOGGS & SON!ORDER=NUTS+BOLTS')
LISTLENGTH(37)
UNESCAPED
In questo esempio, il simbolo COMPANY ha un valore di 'BLOGGS & SON 'e il simbolo ORDER ha un valore di 'NUTS + BOLTS'.
L'utilizzo di un carattere diverso dalla e commerciale come separatore simbolo indica che è possibile utilizzare una e commerciale in 'BLOGGS & SON'. Il separatore di simboli utilizzato in questo esempio è '!', ma è preferibile utilizzare un carattere non stampabile che non appare nel valore del simbolo.
L'utilizzo dell'opzione UNESCAPE garantisce che il segno più in 'NUTS + BOLTS' non venga convertito in spazio. Poiché è stata utilizzata l'opzione UNESCAPE, è necessario utilizzare un carattere spazio, piuttosto che un segno più, per indicare dove sono necessari spazi nel valore simbolo 'BLOGGS & SON'. Ciò significa che i dati non sono più conformi alla specifica per il tipo di contenuto application / x - www - form - urlencoded.