> For the complete documentation index, see [llms.txt](https://docs.editran.onesait.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.editran.onesait.com/documentacion-editran/ibm-editran-v5.3-comun-z-os-en/interfaz-generica-de-aplicacion/anexo-f.-tablas-traduccion-y-conversion.md).

# Appendix F. Tables (translation and conversion)

Depending on the installed version or the version installed on the remote side, different translation tables are applied. The first endpoint to translate is the one that determines the table to be used. There are different cases:

* If the translating endpoint is CICS or IMS and has version 5.0 phase 2 or later, or if the translating endpoint is any other environment and has version 5.0 phase 0 or later, a translation table based on Codepage 1145 EBCDIC Spanish and ASCII ISO 8859 Latin-1 is applied.

> The EBCDIC to ASCII translation (between Codepage 1145 EBCDIC Spanish and ASCII ISO 8859 Latin-1) is as follows (bold example, EBCDIC character x’FA’ is transformed into ASCII character x’B3’):
>
> ```
>   | x0| x1| x2| x3| x4| x5| x6| x7| x8| x9| xA| xB| xC| xD| xE| xF|
> 0x|x00|x01|x02|x03|x9C|x09|x86|x7F|x97|x8D|x8E|x0B|x0C|x0D|x0E|x0F|
> 1x|x10|x11|x12|x13|x9D|x85|x08|x87|x18|x19|x92|x8F|x1C|x1D|x1E|x1F|
> 2x|x80|x81|x82|x83|x84|x0A|x17|x1B|x88|x89|x8A|x8B|x8C|x05|x06|x07|
> 3x|x90|x91|x16|x93|x94|x95|x96|x04|x98|x99|x9A|x9B|x14|x15|x9E|x1A|
> 4x|x20|xA0|xE2|xE4|xE0|xE1|xE3|xE5|xE7|xA6|x5B|x2E|x3C|x28|x2B|x7C|
> 5x|x26|xE9|xEA|xEB|xE8|xED|xEE|xEF|xEC|xDF|x5D|x24|x2A|x29|x3B|xAC|
> 6x|x2D|x2F|xC2|xC4|xC0|xC1|xC3|xC5|xC7|x23|xF1|x2C|x25|x5F|x3E|x3F|
> 7x|xF8|xC9|xCA|xCB|xC8|xCD|xCE|xCF|xCC|x60|x3A|xD1|x40|x27|x3D|x22|
> 8x|xD8|x61|x62|x63|x64|x65|x66|x67|x68|x69|xAB|xBB|xF0|xFD|xFE|xB1|
> 9x|xB0|x6A|x6B|x6C|x6D|x6E|x6F|x70|x71|x72|xAA|xBA|xE6|xB8|xC6|xA4|
> Ax|xB5|xA8|x73|x74|x75|x76|x77|x78|x79|x7A|xA1|xBF|xD0|xDD|xDE|xAE|
> Bx|xA2|xA3|xA5|xB7|xA9|xA7|xB6|xBC|xBD|xBE|x5E|x21|xAF|x7E|xB4|xD7|
> Cx|x7B|x41|x42|x43|x44|x45|x46|x47|x48|x49|xAD|xF4|xF6|xF2|xF3|xF5|
> Dx|x7D|x4A|x4B|x4C|x4D|x4E|x4F|x50|x51|x52|xB9|xFB|xFC|xF9|xFA|xFF|
> Ex|x5C|xF7|x53|x54|x55|x56|x57|x58|x59|x5A|xB2|xD4|xD6|xD2|xD3|xD5|
> Fx|x30|x31|x32|x33|x34|x35|x36|x37|x38|x39|xB3|xDB|xDC|xD9|xDA|x9F|
> ```
>
> The ASCII to EBCDIC translation (between ASCII ISO 8859 Latin-1 and Codepage 1145 EBCDIC Spanish) is as follows (bold example, ASCII character x’BE’ is transformed into EBCDIC character x’FA’):
>
> ```
>   | x0| x1| x2| x3| x4| x5| x6| x7| x8| x9| xA| xB| xC| xD| xE| xF|
> 0x|x00|x01|x02|x03|x37|x2D|x2E|x2F|x16|x05|x25|x0B|x0C|x0D|x0E|x0F|
> 1x|x10|x11|x12|x13|x3C|x3D|x32|x26|x18|x19|x3F|x27|x1C|x1D|x1E|x1F|
> 2x|x40|xBB|x7F|x69|x5B|x6C|x50|x7D|x4D|x5D|x5C|x4E|x6B|x60|x4B|x61|
> 3x|xF0|xF1|xF2|xF3|xF4|xF5|xF6|xF7|xF8|xF9|x7A|x5E|x4C|x7E|x6E|x6F|
> 4x|x7C|xC1|xC2|xC3|xC4|xC5|xC6|xC7|xC8|xC9|xD1|xD2|xD3|xD4|xD5|xD6|
> 5x|xD7|xD8|xD9|xE2|xE3|xE4|xE5|xE6|xE7|xE8|xE9|x4A|xE0|x5A|xBA|x6D|
> 6x|x79|x81|x82|x83|x84|x85|x86|x87|x88|x89|x91|x92|x93|x94|x95|x96|
> 7x|x97|x98|x99|xA2|xA3|xA4|xA5|xA6|xA7|xA8|xA9|xC0|x4F|xD0|xBD|x07|
> 8x|x20|x21|x22|x23|x24|x15|x06|x17|x28|x29|x2A|x2B|x2C|x09|x0A|x1B|
> 9x|x30|x31|x1A|x33|x34|x35|x36|x08|x38|x39|x3A|x3B|x04|x14|x3E|xFF|
> Ax|x41|xAA|xB0|xB1|x9F|xB2|x49|xB5|xA1|xB4|x9A|x8A|x5F|xCA|xAF|xBC|
> Bx|x90|x8F|xEA|xFA|xBE|xA0|xB6|xB3|x9D|xDA|x9B|x8B|xB7|xB8|xB9|xAB|
> Cx|x64|x65|x62|x66|x63|x67|x9E|x68|x74|x71|x72|x73|x78|x75|x76|x77|
> Dx|xAC|x7B|xED|xEE|xEB|xEF|xEC|xBF|x80|xFD|xFE|xFB|xFC|xAD|xAE|x59|
> Ex|x44|x45|x42|x46|x43|x47|x9C|x48|x54|x51|x52|x53|x58|x55|x56|x57|
> Fx|x8C|x6A|xCD|xCE|xCB|xCF|xCC|xE1|x70|xDD|xDE|xDB|xDC|x8D|x8E|xDF|
> ```

* If the translating endpoint has a version lower than 4.0 phase 4, in some cases an obsolete and non-symmetric translation table was applied. Those cases were:
  * Which translated in Editran without Editran compression
  * Which translated in Editran with Editran compression and with remote-iga-version < 3.1
  * That Editran/MQ is used
* In all other cases (the most common situation in all entities), an obsolete translation table (from MS-DOS) was applied. In the case of EBCDIC to ASCII (x’FA’ for x’FC’, it is different from the previous table, in this and other characters)

> ```
> x00-x00  x10-x10  x20-xC0  x30-xCC   x40-x20  x50-x26  x60-x2D  x70-x9B
> x01-x01  x11-x11  x21-xC1  x31-xCD   x41-xFE  x51-x82  x61-x2F  x71-x90
> x02-x02  x12-x12  x22-xC2  x32-x16   x42-x83  x52-x88  x62-xB6  x72-xD2
> x03-x03  x13-x13  x23-xC3  x33-xCE   x43-x84  x53-x89  x63-x8E  x73-xD3
> x04-x9F  x14-xB9  x24-xC4  x34-xD5   x44-x85  x54-x8A  x64-xB7  x74-xD4
> x05-x09  x15-xBA  x25-x0A  x35-xD9   x45-xA0  x55-xA1  x65-xB5  x75-xD6
> x06-xB0  x16-x08  x26-x17  x36-xDA   x46-xC6  x56-x8C  x66-xC7  x76-xD7
> x07-x7F  x17-xBB  x27-x1B  x37-x04   x47-x86  x57-x8B  x67-x8F  x77-xD8
> x08-xB1  x18-x18  x28-xC5  x38-xDB   x48-x87  x58-x8D  x68-x80  x78-xDE
> x09-xB2  x19-x19  x29-xC8  x39-xDC   x49-x7C  x59-xE1  x69-x23  x79-x60
> x0A-xB4  x1A-xBC  x2A-xC9  x3A-xDD   x4A-x5B  x5A-x5D  x6A-xA4  x7A-x3A
> x0B-x0B  x1B-xBF  x2B-xCA  x3B-xDF   x4B-x2E  x5B-x24  x6B-x2C  x7B-xA5
> x0C-x0C  x1C-x1C  x2C-xCB  x3C-x14   x4C-x3C  x5C-x2A  x6C-x25  x7C-x40
> x0D-x0D  x1D-x1D  x2D-x05  x3D-x15   x4D-x28  x5D-x29  x6D-x5F  x7D-x27
> x0E-x0E  x1E-x1E  x2E-x06  x3E-xF2   x4E-x2B  x5E-x3B  x6E-x3E  x7E-x3D
> x0F-x0F  x1F-x1F  x2F-x07  x3F-x1A   x4F-xB3  x5F-xAA  x6F-x3F  x7F-x22
> x80-x9D  x90-xF8  xA0-xE6  xB0-xBD   xC0-x7B  xD0-x7D  xE0-x5C  xF0-x30
> x81-x61  x91-x6A  xA1-xF9  xB1-x9C   xC1-x41  xD1-x4A  xE1-xF6  xF1-x31
> x82-x62  x92-x6B  xA2-x73  xB2-xBE   xC2-x42  xD2-x4B  xE2-x53  xF2-x32
> x83-x63  x93-x6C  xA3-x74  xB3-xFA   xC3-x43  xD3-x4C  xE3-x54  xF3-x33
> x84-x64  x94-x6D  xA4-x75  xB4-xB8   xC4-x44  xD4-x4D  xE4-x55  xF4-x34
> x85-x65  x95-x6E  xA5-x76  xB5-xF5   xC5-x45  xD5-x4E  xE5-x56  xF5-x35
> x86-x66  x96-x6F  xA6-x77  xB6-xF4   xC6-x46  xD6-x4F  xE6-x57  xF6-x36
> x87-x67  x97-x70  xA7-x78  xB7-xAC   xC7-x47  xD7-x50  xE7-x58  xF7-x37
> x88-x68  x98-x71  xA8-x79  xB8-xAB   xC8-x48  xD8-x51  xE8-x59  xF8-x38
> x89-x69  x99-x72  xA9-x7A  xB9-xF3   xC9-x49  xD9-x52  xE9-x5A  xF9-x39
> x8A-xAE  x9A-xA6  xAA-xAD  xBA-x5E   xCA-xF0  xDA-xFB  xEA-xFD  xFA-xFC
> x8B-xAF  x9B-xA7  xAB-xA8  xBB-x21   xCB-x93  xDB-x96  xEB-xE2  xFB-xEA
> x8C-xD0  x9C-x91  xAC-xD1  xBC-xEE   xCC-x94  xDC-x81  xEC-x99  xFC-x9A
> x8D-xEC  x9D-xF7  xAD-xED  xBD-x7E   xCD-x95  xDD-x97  xED-xE3  xFD-xEB
> x8E-xE7  x9E-x92  xAE-xE8  xBE-xEF   xCE-xA2  xDE-xA3  xEE-xE0  xFE-xE9
> x8F-xF1  x9F-xCF  xAF-xA9  xBF-x9E   xCF-xE4  xDF-x98  xEF-xE5  xFF-xFF
> ```
>
> In the case of ASCII to EBCDIC (x’FC’ for x’FA’)
>
> ```
> x00-x00  x10-x10  x20-x40  x30-xF0   x40-x7C  x50-xD7  x60-x79  x70-x97
> x01-x01  x11-x11  x21-xBB  x31-xF1   x41-xC1  x51-xD8  x61-x81  x71-x98
> x02-x02  x12-x12  x22-x7F  x32-xF2   x42-xC2  x52-xD9  x62-x82  x72-x99
> x03-x03  x13-x13  x23-x69  x33-xF3   x43-xC3  x53-xE2  x63-x83  x73-xA2
> x04-x37  x14-x3C  x24-x5B  x34-xF4   x44-xC4  x54-xE3  x64-x84  x74-xA3
> x05-x2D  x15-x3D  x25-x6C  x35-xF5   x45-xC5  x55-xE4  x65-x85  x75-xA4
> x06-x2E  x16-x32  x26-x50  x36-xF6   x46-xC6  x56-xE5  x66-x86  x76-xA5
> x07-x2F  x17-x26  x27-x7D  x37-xF7   x47-xC7  x57-xE6  x67-x87  x77-xA6
> x08-x16  x18-x18  x28-x4D  x38-xF8   x48-xC8  x58-xE7  x68-x88  x78-xA7
> x09-x05  x19-x19  x29-x5D  x39-xF9   x49-xC9  x59-xE8  x69-x89  x79-xA8
> x0A-x25  x1A-x3F  x2A-x5C  x3A-x7A   x4A-xD1  x5A-xE9  x6A-x91  x7A-xA9
> x0B-x0B  x1B-x27  x2B-x4E  x3B-x5E   x4B-xD2  x5B-x4A  x6B-x92  x7B-xC0
> x0C-x0C  x1C-x1C  x2C-x6B  x3C-x4C   x4C-xD3  x5C-xE0  x6C-x93  x7C-x49
> x0D-x0D  x1D-x1D  x2D-x60  x3D-x7E   x4D-xD4  x5D-x5A  x6D-x94  x7D-xD0
> x0E-x0E  x1E-x1E  x2E-x4B  x3E-x6E   x4E-xD5  x5E-xBA  x6E-x95  x7E-xBD
> x0F-x0F  x1F-x1F  x2F-x61  x3F-x6F   x4F-xD6  x5F-x6D  x6F-x96  x7F-x07
> x80-x68  x90-x71  xA0-x45  xB0-x06   xC0-x20  xD0-x8C  xE0-xEE  xF0-xCA
> x81-xDC  x91-x9C  xA1-x55  xB1-x08   xC1-x21  xD1-xAC  xE1-x59  xF1-x8F
> x82-x51  x92-x9E  xA2-xCE  xB2-x09   xC2-x22  xD2-x72  xE2-xEB  xF2-x3E
> x83-x42  x93-xCB  xA3-xDE  xB3-x4F   xC3-x23  xD3-x73  xE3-xED  xF3-xB9
> x84-x43  x94-xCC  xA4-x6A  xB4-x0A   xC4-x24  xD4-x74  xE4-xCF  xF4-xB6
> x85-x44  x95-xCD  xA5-x7B  xB5-x65   xC5-x28  xD5-x34  xE5-xEF  xF5-xB5
> x86-x47  x96-xDB  xA6-x9A  xB6-x62   xC6-x46  xD6-x75  xE6-xA0  xF6-xE1
> x87-x48  x97-xDD  xA7-x9B  xB7-x64   xC7-x66  xD7-x76  xE7-x8E  xF7-x9D
> x88-x52  x98-xDF  xA8-xAB  xB8-xB4   xC8-x29  xD8-x77  xE8-xAE  xF8-x90
> x89-x53  x99-xEC  xA9-xAF  xB9-x14   xC9-x2A  xD9-x35  xE9-xFE  xF9-xA1
> x8A-x54  x9A-xFC  xAA-x5F  xBA-x15   xCA-x2B  xDA-x36  xEA-xFB  xFA-xB3
> x8B-x57  x9B-x70  xAB-xB8  xBB-x17   xCB-x2C  xDB-x38  xEB-xFD  xFB-xDA
> x8C-x56  x9C-xB1  xAC-xB7  xBC-x1A   xCC-x30  xDC-x39  xEC-x8D  xFC-xFA
> x8D-x58  x9D-x80  xAD-xAA  xBD-xB0   xCD-x31  xDD-x3A  xED-xAD  xFD-xEA
> x8E-x63  x9E-xBF  xAE-x8A  xBE-xB2   xCE-x33  xDE-x78  xEE-xBC  xFE-x41
> x8F-x67  x9F-x04  xAF-x8B  xBF-x1B   xCF-x9F  xDF-x3B  xEF-xBE  xFF-xFF
> ```

All the translation tables used have the same translation in uppercase and lowercase without accents (except Ñ, ñ). In the case of accented characters or special symbols, the translations change.

In principle, the new 5.0 (or 5.0.2) translation tables are "modern" tables that make applications correctly understand letters (accented and unaccented), numbers, and symbols. Normally, any problems that existed up to this version are solved with the same:

* On outgoing transfers, if the remote side is ASCII, it can translate on send (in that case, the modern table will be applied, regardless of the product version installed on that remote side).
* On incoming transfers, if the remote side is ASCII and has a product version installed lower than 5.0, you can tell it not to translate (Editran profile of the ASCII environment) and do it yourself during the download on z/OS (in that way the modern table will be applied and not the obsolete one from the ASCII environment)

In any case, if the translation table does not work for you, you can apply the conversion table yourself (on send or receive), or the remote side can apply it too. In those cases, what is done is to adapt the outgoing or incoming characters to the expected characters. Ideally, the conversion table should be applied on receive (once the translation has been done, if there is one).

In the Editran profiles (presentation session), send conversion tables or receive conversion tables can be included. In this case, an 8-position table name is specified. How and when are they applied?:

1. In the case of outgoing transfers. The conversion table is applied before translation (if this field was also marked). In this case, the load program:

* If the original alphabet of the data is EBCDIC, it looks for a 9-position table, whose name is the combination of the 8-position name specified in the profile and the letter "E" or "F".
  * In the case where the sender has version 5.0.2 or later installed, it looks for the letter "F"
  * In the case where the sender has an earlier version installed, it looks for the letter "E"
* If the original alphabet of the data is ASCII, it looks for a 9-position table, whose name is the combination of the 8-position name specified in the profile and the letter "A" or "B".
  * In the case where the sender has version 5.0.2 or later installed, it looks for the letter "B"
  * In the case where the sender has an earlier version installed, it looks for the letter "A"

2. In the case of incoming transfers (the receiving endpoint, a priori, does not know what the sending endpoint did with the translation).

* If the receiving endpoint has version 5.0.2 or later installed. It verifies the product version (not the one in its profile, but the one the remote side actually has in the CSB header).
  * If the remote side has version > 4.1 installed
    * If the CSB header says the data arrives in EBCDIC and in the presentation session profile the RECEIVE TRANSLATE parameter has values "E" or "N" (in both cases, it does not translate on download). In this case, if there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "F".
    * If the CSB header says the data arrives in EBCDIC and in the presentation session profile the RECEIVE TRANSLATE parameter has value "A" (ASCII), it translates using the new table specified for the version it has (5.0.2). Once the translation is done, if there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "B".
    * If the CSB header says the data arrives in ASCII and in the presentation session profile the RECEIVE TRANSLATE parameter has values "A" or "N" (in both cases, it does not translate on download). In this case, if there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "B".
    * If the CSB header says the data arrives in ASCII and in the presentation session profile the RECEIVE TRANSLATE parameter has value "E" (EBCDIC), it translates using the new table specified for the version it has (5.0.2). Once the translation is done, if there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "F".
  * If the remote side has version lower than 5.0 installed
    * If the CSB header says the data arrives in EBCDIC and in the presentation session profile the RECEIVE TRANSLATE parameter has values "E" or "N" (in both cases, it does not translate on download). In this case, if there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "E".
    * If the CSB header says the data arrives in EBCDIC and in the presentation session profile the RECEIVE TRANSLATE parameter has value "A" (ASCII), it translates using the new table specified for the version it has (5.0.2). Once the translation is done, if there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "B".
    * If the CSB header says the data arrives in ASCII and in the presentation session profile the RECEIVE TRANSLATE parameter has values "A" or "N" (in both cases, it does not translate on download). In this case, if there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "A".
    * If the CSB header says the data arrives in ASCII and in the presentation session profile the RECEIVE TRANSLATE parameter has value "E" (EBCDIC), it translates using the new table specified for the version it has (5.0.2). Once the translation is done, if there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "F".
* If the receiving endpoint has a version lower than 5.0.2 installed, when it downloads, once it has translated (or not), translate or not:
  * If the alphabet of the data downloaded at that moment is EBCDIC, and there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "E".
  * If the alphabet of the data downloaded at that moment is ASCII, and there is a receive conversion table in the presentation profile, it looks for a 9-position table whose name is the combination of the 8-position name specified in the profile and the letter "A".

Conclusions about the conversion tables (if you have installed version > 5.0.1)

* Outgoing transfers
  * If there is translation, apply the conversion table(s) ending in F or B (new)
  * If there is no translation, apply the conversion table(s) ending in E or A (old)
* Incoming transfers
  * If translation is applied on receive, or if local v.iga (that of the sending endpoint) in cab.csb is > 4.1, the conversion table(s) ending in B or F (new) will be applied
  * If no translation is applied and local v.iga (that of the sending endpoint) in CAB cabo is < 5.0, old conversion tables are applied.

Conversion tables are generated from a JCL and a program that creates a specific table:

```cobol
//KI0F6AEA JOB (EGDC,KIT,,99),MODP.42-43,MSGCLASS=H,CLASS=A,
//             MSGLEVEL=1,NOTIFY=&SYSUID                   
//*********************************************************************
//**   EDITRAN/G (CICS - MVS ENVIRONMENT)                                  
//**   EDITRAN/G CONVERSION TABLE GENERATION-LISTING JCL     
//********************************************************************+
//ZTBGBTCO EXEC PGM=ZTBGBTCO,COND=(0,NE)                               
//STEPLIB  DD   DSN=KI.EIDC.ZTBG.LOAD,DISP=SHR                         
//         DD   DSN=KI.EGDC.ZTBP.LOAD31,DISP=SHR                       
//ZTBGFTCO DD   DSN=KI.PMED.CZTB.ZTBGFTCO,DISP=SHR                     
//*           DCB=(RECFM=FB,LRECL=265,BLKSIZE=0),                      
//*           DISP=(NEW,CATLG,DELETE),                                 
//*           SPACE=(TRK,(10,10),RLSE)                                 
//ZTBGFLIS DD   SYSOUT=*,DEST=H,DCB=(BLKSIZE=132)                      
//SYSOUT   DD   SYSOUT=*                                               
//SYSPRINT DD   SYSOUT=*                                               
//*******************************************************************  
//* SHEET 01: FF-XXXXXXXXY WHERE:                                     
//*            F=FUNCTION (00-SAVE, 01-LIST, 02-REWRITE)         
//*            X=8-POSITION CONVERSION TABLE NAME (EDITRAN/G PROFILE)
//*            Y=TYPE OF CONVERSION (A,B,E,F)                          
//*              A=ASCII < 5.0                                         
//*                OUTGOING..: APPLIED WHEN TRAD-EMI=N              
//*                INCOMING: APPLIED WHEN TRAD-REC=N AND V.IGA.REM<50
//*              B=ASCII > 5.0                                         
//*                OUTGOING..: APPLIED WHEN TRAD-EMI=S              
//*                INCOMING: APPLIED WHEN TRAD-REC=S OR V.IGA.REM>41
//*              E=EBCDIC < 5.0                                        
//*                OUTGOING..: APPLIED WHEN TRAD-EMI=N              
//*                INCOMING: APPLIED WHEN TRAD-REC=N AND V.IGA.REM<50
//*              F=EBCDIC > 5.0                                        
//*                OUTGOING..: APPLIED WHEN TRAD-EMI=S              
//*                INCOMING: APPLIED WHEN TRAD-REC=S OR V.IGA.REM>41
//* OTHER SHEETS: (FROM 1 TO 256 SHEETS)                               
//*             HEXADECIMAL VALUE (00-FF) = NEW HEXA VALUE (00-FF)   
//*           (IF BOTH MATCH, THERE IS NO NEED TO SPECIFY THEM)        
//*******************************************************************  
//FICHAS   DD   *                                                      
//FICHAS   DD   *          
FF-XXXXXXXXY
00=04
01=F4
...
```

The program from the previous JCL will read the sheet records and in the first record it will find the function (00-save, 01-list, 02-rewrite), the profile conversion table name (XXXXXXXX), and a letter (A/B or E/F), indicating whether it is an ASCII or EBCDIC conversion table. If the function is 01, it will list the contents of the specified table. If the function is 00, it will then find the original hexadecimal value and the hexadecimal value to which it will be converted (if both are the same, there is no need to enter them), so that in the end it will save a table with all the values (256 values) with the key specified in the ZTBGFTCO file and a report will be generated with the result of the table contents. If the function is 02, it will rewrite the new characters indicated and will keep the characters modified in previous writes.

The listing that appears with any option is the following:

```
CONVERSION TABLE NAME : TABCVXNCA                                    
OBJECT : CONTAINS VALUES : ASCII                                              
---------------------------------------------------------------------------------------------------
| ORIGINAL | CONVERTED || ORIGINAL | CONVERTED || ORIGINAL | CONVERTED || ORIGINAL | CONVERTED|
---------------------------------------------------------------------------------------------------
|   X'21'  =     X'32'  ||   X'23'  =     X'A5'  ||   X'5E'  =     X'AA'  ||   X'7C'  =     X'A4' |
---------------------------------------------------------------------------------------------------
|   X'80'  =     X'C0'  ||   X'81'  =     X'C1'  ||   X'82'  =     X'C2'  ||   X'83'  =     X'C3' |
---------------------------------------------------------------------------------------------------
|   X'84'  =     X'C4'  ||   X'85'  =     X'BA'  ||   X'86'  =     X'B0'  ||   X'87'  =     X'BB' |
---------------------------------------------------------------------------------------------------
```

and so on until the changing hexadecimal characters are completed.

To avoid problems, the following scheme is proposed:

* Usually, the conversion table is applied by the receiver.
* Usually, the translation is applied by the receiver.

Since in versions lower than 5.0.2 only conversion tables ending in 'A' or 'E' could be created, version 5.0.2 provides:

* Software to create tables ending in 'B' or 'F'
* Migration programs, which, based on the conversion tables ALREADY CREATED by the user ending in 'A' and 'E', create new conversion tables ending in 'B' or 'F' to avoid, as far as possible, having to recreate them. If the migration program detects that applying a conversion table is not necessary (because the new translation solves the problem, it removes it from the presentation session)

Usage example:

You have installed Editran 5.0.2 and want to send, but you know that the Ñ character in your EBCDIC in hexadecimal appears to you as an x’7B’. The endpoint you are sending to is an ASCII that understands Ñ as a hexadecimal that it interprets as x’2B’. There are several solutions to this problem:

* If translation is done on send, the new translation table is applied, so EBCDIC x’7B’ would be translated to ASCII x’D1’. The remote side would not receive its expected x’2B’. In this case there are several solutions:
  * On send, you could include a send conversion table ending in F, which would change value x’7B’ to value x’4E’. The subsequent send translation would translate x’4E’ to x’2B’, which is the value the remote side expected.
  * On send, do not include a send conversion table. In this case, the remote side receives an x’D1’. On that download:
    * If the receiver has a version installed < 5.0, it could include a receive conversion table ending in 'A', which would change x’D1’ to x’2B’, which is the value the remote side expected.
    * If the receiver has a version installed > 4.1, it could include a receive conversion table ending in 'B', which would change x’D1’ to x’2B’, which is the value the remote side expected.
* If translation is not done on send:
  * If the remote side has a version higher than 4.1 installed.
    * The sender can include a send conversion table ending in 'F' that changes x’7B’ to x’4E’. The receiver applies the translation and would translate x’4E’ to x’2B’, which is the value the remote side expected.
    * The receiver applies translation x’7B’ to x’D1’ and then applies a conversion table ending in 'B' that changes x’D1’ to x’2B’, which is the value the remote side expected.
  * If the remote side has version lower than 5.0 installed
  * The sender can include a send conversion table ending in 'E' that changes x’7B’ to x’4E’. The receiver applies the OLD translation and would translate x’4E’ to x’2B’, which is the value the remote side expected.
  * The receiver applies translation x’7B’ to x’A5’ with its old translation table and then applies a conversion table ending in 'A' that changes x’A5’ to x’2B’, which is the value the remote side expected.

Differences between the old and new translation tables (EBCDIC to ASCII):

**EBCDIC characters that change from the old table to the new one.**

<table data-header-hidden><thead><tr><th width="77.629638671875" valign="top"></th><th width="88.49383544921875"></th><th width="92.44439697265625"></th><th width="84.543212890625"></th><th width="92.4444580078125"></th><th width="90.46923828125"></th><th width="79.60498046875"></th><th width="86.5186767578125"></th><th width="97.3826904296875"></th><th width="80.592529296875"></th><th width="84.543212890625"></th><th></th></tr></thead><tbody><tr><td valign="top">EBCDIC</td><td>Asc-old</td><td>Asc-new</td><td>EBCDIC</td><td>Asc-old</td><td>Asc-new</td><td>EBCDIC</td><td>Asc-old</td><td>Asc-new</td><td>EBCDIC</td><td>Asc-old</td><td>Asc-new</td></tr><tr><td valign="top">x04</td><td>x9F</td><td>x9C</td><td>x43</td><td>x84</td><td>xE4</td><td>x77</td><td>xD8</td><td>xCF</td><td>xB8</td><td>xAB</td><td>xBD</td></tr><tr><td valign="top">x06</td><td>xB0</td><td>x86</td><td>x44</td><td>x85</td><td>xE0</td><td>x78</td><td>xDE</td><td>xCC</td><td>xB9</td><td>xF3</td><td>xBE</td></tr><tr><td valign="top">x08</td><td>xB1</td><td>x97</td><td>x45</td><td>xA0</td><td>xE1</td><td>x7B</td><td>xA5</td><td>xD1</td><td>xBC</td><td>xEE</td><td>xAF</td></tr><tr><td valign="top">x09</td><td>xB2</td><td>x8D</td><td>x46</td><td>xC6</td><td>xE3</td><td>x80</td><td>x9D</td><td>xD8</td><td>xBE</td><td>xEF</td><td>xB4</td></tr><tr><td valign="top">x0A</td><td>xB4</td><td>x8E</td><td>x47</td><td>x86</td><td>xE5</td><td>x8A</td><td>xAE</td><td>xAB</td><td>xBF</td><td>x9E</td><td>xD7</td></tr><tr><td valign="top">x14</td><td>xB9</td><td>x9D</td><td>x48</td><td>x87</td><td>xE7</td><td>x8B</td><td>xAF</td><td>xBB</td><td>xCA</td><td>xF0</td><td>xAD</td></tr><tr><td valign="top">x15</td><td>xBA</td><td>x85</td><td>x49</td><td>x7C</td><td>xA6</td><td>x8C</td><td>xD0</td><td>xF0</td><td>xCB</td><td>x93</td><td>xF4</td></tr><tr><td valign="top">x17</td><td>xBB</td><td>x87</td><td>x4F</td><td>xB3</td><td>x7C</td><td>x8D</td><td>xEC</td><td>xFD</td><td>xCC</td><td>x94</td><td>xF6</td></tr><tr><td valign="top">x1A</td><td>xBC</td><td>x92</td><td>x51</td><td>x82</td><td>xE9</td><td>x8E</td><td>xE7</td><td>xFE</td><td>xCD</td><td>x95</td><td>xF2</td></tr><tr><td valign="top">x1B</td><td>xBF</td><td>x8F</td><td>x52</td><td>x88</td><td>xEA</td><td>x8F</td><td>xF1</td><td>xB1</td><td>xCE</td><td>xA2</td><td>xF3</td></tr><tr><td valign="top">x20</td><td>xC0</td><td>x80</td><td>x53</td><td>x89</td><td>xEB</td><td>x90</td><td>xF8</td><td>xB0</td><td>xCF</td><td>xE4</td><td>xF5</td></tr><tr><td valign="top">x21</td><td>xC1</td><td>x81</td><td>x54</td><td>x8A</td><td>xE8</td><td>x9A</td><td>xA6</td><td>xAA</td><td>xDA</td><td>xFB</td><td>xB9</td></tr><tr><td valign="top">x22</td><td>xC2</td><td>x82</td><td>x55</td><td>xA1</td><td>xED</td><td>x9B</td><td>xA7</td><td>xBA</td><td>xDB</td><td>x96</td><td>xFB</td></tr><tr><td valign="top">x23</td><td>xC3</td><td>x83</td><td>x56</td><td>x8C</td><td>xEE</td><td>x9C</td><td>x91</td><td>xE6</td><td>xDC</td><td>x81</td><td>xFC</td></tr><tr><td valign="top">x24</td><td>xC4</td><td>x84</td><td>x57</td><td>x8B</td><td>xEF</td><td>x9D</td><td>xF7</td><td>xB8</td><td>xDD</td><td>x97</td><td>xF9</td></tr><tr><td valign="top">x28</td><td>xC5</td><td>x88</td><td>x58</td><td>x8D</td><td>xEC</td><td>x9E</td><td>x92</td><td>xC6</td><td>xDE</td><td>xA3</td><td>xFA</td></tr><tr><td valign="top">x29</td><td>xC8</td><td>x89</td><td>x59</td><td>xE1</td><td>xDF</td><td>x9F</td><td>xCF</td><td>xA4</td><td>xDF</td><td>x98</td><td>xFF</td></tr><tr><td valign="top">x2A</td><td>xC9</td><td>x8A</td><td>x5F</td><td>xAA</td><td>xAC</td><td>xA0</td><td>xE6</td><td>xB5</td><td>xE1</td><td>xF6</td><td>xF7</td></tr><tr><td valign="top">x2B</td><td>xCA</td><td>x8B</td><td>x62</td><td>xB6</td><td>xC2</td><td>xA1</td><td>xF9</td><td>xA8</td><td>xEA</td><td>xFD</td><td>xB2</td></tr><tr><td valign="top">x2C</td><td>xCB</td><td>x8C</td><td>x63</td><td>x8E</td><td>xC4</td><td>xAA</td><td>xAD</td><td>xA1</td><td>xEB</td><td>xE2</td><td>xD4</td></tr><tr><td valign="top">x30</td><td>xCC</td><td>x90</td><td>x64</td><td>xB7</td><td>xC0</td><td>xAB</td><td>xA8</td><td>xBF</td><td>xEC</td><td>x99</td><td>xD6</td></tr><tr><td valign="top">x31</td><td>xCD</td><td>x91</td><td>x65</td><td>xB5</td><td>xC1</td><td>xAC</td><td>xD1</td><td>xD0</td><td>xED</td><td>xE3</td><td>xD2</td></tr><tr><td valign="top">x33</td><td>xCE</td><td>x93</td><td>x66</td><td>xC7</td><td>xC3</td><td>xAD</td><td>xED</td><td>xDD</td><td>xEE</td><td>xE0</td><td>xD3</td></tr><tr><td valign="top">x34</td><td>xD5</td><td>x94</td><td>x67</td><td>x8F</td><td>xC5</td><td>xAE</td><td>xE8</td><td>xDE</td><td>xEF</td><td>xE5</td><td>xD5</td></tr><tr><td valign="top">x35</td><td>xD9</td><td>x95</td><td>x68</td><td>x80</td><td>xC7</td><td>xAF</td><td>xA9</td><td>xAE</td><td>xFA</td><td>xFC</td><td>xB3</td></tr><tr><td valign="top">x36</td><td>xDA</td><td>x96</td><td>x6A</td><td>xA4</td><td>xF1</td><td>xB0</td><td>xBD</td><td>xA2</td><td>xFB</td><td>xEA</td><td>xDB</td></tr><tr><td valign="top">x38</td><td>xDB</td><td>x98</td><td>x70</td><td>x9B</td><td>xF8</td><td>xB1</td><td>x9C</td><td>xA3</td><td>xFC</td><td>x9A</td><td>xDC</td></tr><tr><td valign="top">x39</td><td>xDC</td><td>x99</td><td>x71</td><td>x90</td><td>xC9</td><td>xB2</td><td>xBE</td><td>xA5</td><td>xFD</td><td>xEB</td><td>xD9</td></tr><tr><td valign="top">x3A</td><td>xDD</td><td>x9A</td><td>x72</td><td>xD2</td><td>xCA</td><td>xB3</td><td>xFA</td><td>xB7</td><td>xFE</td><td>xE9</td><td>xDA</td></tr><tr><td valign="top">x3B</td><td>xDF</td><td>x9B</td><td>x73</td><td>xD3</td><td>xCB</td><td>xB4</td><td>xB8</td><td>xA9</td><td>xFF</td><td>xFF</td><td>x9F</td></tr><tr><td valign="top">x3E</td><td>xF2</td><td>x9E</td><td>x74</td><td>xD4</td><td>xC8</td><td>xB5</td><td>xF5</td><td>xA7</td><td></td><td></td><td></td></tr><tr><td valign="top">x41</td><td>xFE</td><td>xA0</td><td>x75</td><td>xD6</td><td>xCD</td><td>xB6</td><td>xF4</td><td>xB6</td><td></td><td></td><td></td></tr><tr><td valign="top">x42</td><td>x83</td><td>xE2</td><td>x76</td><td>xD7</td><td>xCE</td><td>xB7</td><td>xAC</td><td>xBC</td><td></td><td></td><td></td></tr></tbody></table>

Differences between the old and new translation tables (ascii to EBCDIC).

**ASCII characters that change from the old table to the new one.**

<table data-header-hidden><thead><tr><th width="82.56787109375" valign="top"></th><th width="86.51849365234375"></th><th width="90.4691162109375"></th><th width="87.506103515625"></th><th width="85.5308837890625"></th><th width="93.4320068359375"></th><th width="72.6915283203125"></th><th width="87.5062255859375"></th><th width="93.4320068359375"></th><th width="81.580322265625"></th><th width="89.4815673828125"></th><th></th></tr></thead><tbody><tr><td valign="top">ASCII</td><td>Ebc-old</td><td>Ebc-new</td><td>ASCII</td><td>Ebc-old</td><td>Ebc-new</td><td>ASCII</td><td>Ebc-old</td><td>Ebc-new</td><td>ASCII</td><td>Ebc-old</td><td>Ebc-new</td></tr><tr><td valign="top">x7C</td><td>x49</td><td>x4F</td><td>xA0</td><td>x45</td><td>x41</td><td>xC1</td><td>x21</td><td>x65</td><td>xE2</td><td>xEB</td><td>x42</td></tr><tr><td valign="top">x80</td><td>x68</td><td>x20</td><td>xA1</td><td>x55</td><td>xAA</td><td>xC2</td><td>x22</td><td>x62</td><td>xE3</td><td>xED</td><td>x46</td></tr><tr><td valign="top">x81</td><td>xDC</td><td>x21</td><td>xA2</td><td>xCE</td><td>xB0</td><td>xC3</td><td>x23</td><td>x66</td><td>xE4</td><td>xCF</td><td>x43</td></tr><tr><td valign="top">x82</td><td>x51</td><td>x22</td><td>xA3</td><td>xDE</td><td>xB1</td><td>xC4</td><td>x24</td><td>x63</td><td>xE5</td><td>xEF</td><td>x47</td></tr><tr><td valign="top">x83</td><td>x42</td><td>x23</td><td>xA4</td><td>x6A</td><td>x9F</td><td>xC5</td><td>x28</td><td>x67</td><td>xE6</td><td>xA0</td><td>x9C</td></tr><tr><td valign="top">x84</td><td>x43</td><td>x24</td><td>xA5</td><td>x7B</td><td>xB2</td><td>xC6</td><td>x46</td><td>x9E</td><td>xE7</td><td>x8E</td><td>x48</td></tr><tr><td valign="top">x85</td><td>x44</td><td>x15</td><td>xA6</td><td>x9A</td><td>x49</td><td>xC7</td><td>x66</td><td>x68</td><td>xE8</td><td>xAE</td><td>x54</td></tr><tr><td valign="top">x86</td><td>x47</td><td>x06</td><td>xA7</td><td>x9B</td><td>xB5</td><td>xC8</td><td>x29</td><td>x74</td><td>xE9</td><td>xFE</td><td>x51</td></tr><tr><td valign="top">x87</td><td>x48</td><td>x17</td><td>xA8</td><td>xAB</td><td>xA1</td><td>xC9</td><td>x2A</td><td>x71</td><td>xEA</td><td>xFB</td><td>x52</td></tr><tr><td valign="top">x88</td><td>x52</td><td>x28</td><td>xA9</td><td>xAF</td><td>xB4</td><td>xCA</td><td>x2B</td><td>x72</td><td>xEB</td><td>xFD</td><td>x53</td></tr><tr><td valign="top">x89</td><td>x53</td><td>x29</td><td>xAA</td><td>x5F</td><td>x9A</td><td>xCB</td><td>x2C</td><td>x73</td><td>xEC</td><td>x8D</td><td>x58</td></tr><tr><td valign="top">x8A</td><td>x54</td><td>x2A</td><td>xAB</td><td>xB8</td><td>x8A</td><td>xCC</td><td>x30</td><td>x78</td><td>xED</td><td>xAD</td><td>x55</td></tr><tr><td valign="top">x8B</td><td>x57</td><td>x2B</td><td>xAC</td><td>xB7</td><td>x5F</td><td>xCD</td><td>x31</td><td>x75</td><td>xEE</td><td>xBC</td><td>x56</td></tr><tr><td valign="top">x8C</td><td>x56</td><td>x2C</td><td>xAD</td><td>xAA</td><td>xCA</td><td>xCE</td><td>x33</td><td>x76</td><td>xEF</td><td>xBE</td><td>x57</td></tr><tr><td valign="top">x8D</td><td>x58</td><td>x09</td><td>xAE</td><td>x8A</td><td>xAF</td><td>xCF</td><td>x9F</td><td>x77</td><td>xF0</td><td>xCA</td><td>x8C</td></tr><tr><td valign="top">x8E</td><td>x63</td><td>x0A</td><td>xAF</td><td>x8B</td><td>xBC</td><td>xD0</td><td>x8C</td><td>xAC</td><td>xF1</td><td>x8F</td><td>x6A</td></tr><tr><td valign="top">x8F</td><td>x67</td><td>x1B</td><td>xB0</td><td>x06</td><td>x90</td><td>xD1</td><td>xAC</td><td>x7B</td><td>xF2</td><td>x3E</td><td>xCD</td></tr><tr><td valign="top">x90</td><td>x71</td><td>x30</td><td>xB1</td><td>x08</td><td>x8F</td><td>xD2</td><td>x72</td><td>xED</td><td>xF3</td><td>xB9</td><td>xCE</td></tr><tr><td valign="top">x91</td><td>x9C</td><td>x31</td><td>xB2</td><td>x09</td><td>xEA</td><td>xD3</td><td>x73</td><td>xEE</td><td>xF4</td><td>xB6</td><td>xCB</td></tr><tr><td valign="top">x92</td><td>x9E</td><td>x1A</td><td>xB3</td><td>x4F</td><td>xFA</td><td>xD4</td><td>x74</td><td>xEB</td><td>xF5</td><td>xB5</td><td>xCF</td></tr><tr><td valign="top">x93</td><td>xCB</td><td>x33</td><td>xB4</td><td>x0A</td><td>xBE</td><td>xD5</td><td>x34</td><td>xEF</td><td>xF6</td><td>xE1</td><td>xCC</td></tr><tr><td valign="top">x94</td><td>xCC</td><td>x34</td><td>xB5</td><td>x65</td><td>xA0</td><td>xD6</td><td>x75</td><td>xEC</td><td>xF7</td><td>x9D</td><td>xE1</td></tr><tr><td valign="top">x95</td><td>xCD</td><td>x35</td><td>xB6</td><td>x62</td><td>xB6</td><td>xD7</td><td>x76</td><td>xBF</td><td>xF8</td><td>x90</td><td>x70</td></tr><tr><td valign="top">x96</td><td>xDB</td><td>x36</td><td>xB7</td><td>x64</td><td>xB3</td><td>xD8</td><td>x77</td><td>x80</td><td>xF9</td><td>xA1</td><td>xDD</td></tr><tr><td valign="top">x97</td><td>xDD</td><td>x08</td><td>xB8</td><td>xB4</td><td>x9D</td><td>xD9</td><td>x35</td><td>xFD</td><td>xFA</td><td>xB3</td><td>xDE</td></tr><tr><td valign="top">x98</td><td>xDF</td><td>x38</td><td>xB9</td><td>x14</td><td>xDA</td><td>xDA</td><td>x36</td><td>xFE</td><td>xFB</td><td>xDA</td><td>xDB</td></tr><tr><td valign="top">x99</td><td>xEC</td><td>x39</td><td>xBA</td><td>x15</td><td>x9B</td><td>xDB</td><td>x38</td><td>xFB</td><td>xFC</td><td>xFA</td><td>xDC</td></tr><tr><td valign="top">x9A</td><td>xFC</td><td>x3A</td><td>xBB</td><td>x17</td><td>x8B</td><td>xDC</td><td>x39</td><td>xFC</td><td>xFD</td><td>xEA</td><td>x8D</td></tr><tr><td valign="top">x9B</td><td>x70</td><td>x3B</td><td>xBC</td><td>x1A</td><td>xB7</td><td>xDD</td><td>x3A</td><td>xAD</td><td>xFE</td><td>x41</td><td>x8E</td></tr><tr><td valign="top">x9C</td><td>xB1</td><td>x04</td><td>xBD</td><td>xB0</td><td>xB8</td><td>xDE</td><td>x78</td><td>xAE</td><td>xFF</td><td>xFF</td><td>xDF</td></tr><tr><td valign="top">x9D</td><td>x80</td><td>x14</td><td>xBE</td><td>xB2</td><td>xB9</td><td>xDF</td><td>x3B</td><td>x59</td><td></td><td></td><td></td></tr><tr><td valign="top">x9E</td><td>xBF</td><td>x3E</td><td>xBF</td><td>x1B</td><td>xAB</td><td>xE0</td><td>xEE</td><td>x44</td><td></td><td></td><td></td></tr><tr><td valign="top">x9F</td><td>x04</td><td>xFF</td><td>xC0</td><td>x20</td><td>x64</td><td>xE1</td><td>x59</td><td>x45</td><td></td><td></td><td></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.editran.onesait.com/documentacion-editran/ibm-editran-v5.3-comun-z-os-en/interfaz-generica-de-aplicacion/anexo-f.-tablas-traduccion-y-conversion.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
