For the following examples, assume the following fields
in the file
- CHAR37 is an alphanumeric field with EBCDIC CCSID 37.
- CHAR1208 is an alphanumeric field with UTF-8 CCSID 1208.
- GRAPH835 is a graphic field with DBCS CCSID 835.
- GRAPH834 is a graphic field with DBCS CCSID 834.
Assume the following data structures.
- Each alphanumeric subfield in data structure
custExactIn
will have the same CCSID as the field in the file.
- Each alphanumeric subfield in data structure
custNoexactIn
will have CCSID(*JOBRUN).
- Each graphic subfield in both data structures
will have the same CCSID as the field in the file.
DCL-DS custExactIn LIKEREC(custRec:*INPUT) CCSID(*EXACT);
DCL-DS custNoexactIn LIKEREC(custRec:*INPUT) CCSID(*NOEXACT);
DATA(*CVT) is specified for the file and the job CCSID is 937
The DBCS CCSID related to CCSID 937 is 835.
DCL-F custFile USAGE(*UPDATE) DATA(*CVT);
READ custFile custExactIn;
READ custFile custNoexactIn;
- For both READ operations, database converts the alphanumeric
data in the file to CCSID 937 in the input buffer, and the
graphic data in the file
to CCSID 835 in the input buffer.
- For the first READ operation, the following conversions
are done between the data in the input buffer and the
subfields in the custExactIn data structure.
- For subfield CHAR37, the data is converted from CCSID 937 to CCSID 37.
- For subfield CHAR1208, the data is converted from CCSID 937 to CCSID 1208.
- For subfield GRAPH835, no CCSID conversion is needed since
the data in the buffer and the data in the subfield both
have CCSID 835.
- For subfield GRAPH834, the data is converted from CCSID 835 to CCSID 834.
- For the second READ operation, no CCSID conversions
are necessary for the alphanumeric subfields because the data for each field in the input buffer
has the same CCSID as the matching subfield in the custNoexactIn data structure.
For subfield GRAPH834, the data is converted from CCSID 835 to CCSID 834.
DATA(*CVT) is specified for the file and the job CCSID is 65535
Assume that the default job CCSID is 937.
This is the CCSID that is assumed for alphanumeric
program fields with
CCSID(*JOBRUN).
DCL-F custFile USAGE(*UPDATE) DATA(*CVT);
READ custFile custExactIn;
READ custFile custNoexactIn;
- For both READ operations, no conversion
is done between the data in the file and the input buffer.
The fields in the input buffer have the same CCSID as the
fields in the file.
- For the first READ operation, no CCSID conversions
are necessary because the data for each field in the input buffer
has the same CCSID as the matching subfield in the
custExactIn data structure.
- For the second READ operation, the following conversions
are done between the data in the input buffer and the
subfields in the custNoxactIn data structure.
- For subfield CHAR37, the data is converted from CCSID 37 to job CCSID CCSID 937.
- For subfield CHAR1208, the data is converted from CCSID 1208 to job CCSID 937.
- For subfield GRAPH835, no CCSID conversion is needed since
the data in the buffer and the data in the subfield both
have CCSID 835.
- For subfield GRAPH834, no CCSID conversion is needed since
the data in the buffer and the data in the subfield both
have CCSID 834.
DATA(*NOCVT) is specified for the file
Assume that the job CCSID or default job CCSID is 937.
This is the CCSID that is assumed for alphanumeric
program fields with
CCSID(*JOBRUN).
The READ operations are identical to those of the
previous scenario where the job CCSID is 65535.