ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS= LIBNAME Option

Specifies whether to adjust the lengths of CHAR or VARCHAR data type columns that byte semantics specify.
Valid in: SAS/ACCESS LIBNAME statement
Default: conditional (see “Syntax Description”)
Data source: Oracle
See: ADJUST_NCHAR_COLUMN_LENGTHS=  LIBNAME option, DBCLIENT_MAX_BYTES= LIBNAME option, DBSERVER_MAX_BYTES= LIBNAME option

Syntax

ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=YES | NO

Syntax Description

YES
indicates that column lengths are divided by the DBSERVER_MAX_BYTES= value and then multiplied by the DBCLIENT_MAX_BYTES= value. So if DBCLIENT_MAX_BYTES is greater than 1, ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=YES.
NO
indicates that any column lengths that byte semantics specify on the server are used as is on the client. So if DBCLIENT_MAX_BYTES=1, ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=NO.

Example: Adjust Client-Encoded Column Lengths

When ADJUST_BYTE_SEMANTICS_COLUMN_LENGTHS=YES, column lengths that byte semantics creates are adjusted with client encoding, as shown in this example.
libname x3 &engine &connopt ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=YES;
proc contents data=x3.char_sem; run;
proc contents data=x3.nchar_sem; run;
proc contents data=x3.byte_sem; run;
proc contents data=x3.mixed_sem; run;
In this example, various options have different settings.
libname x5 &engine &connopt ADJUST_NCHAR_COLUMN_LENGTHS=NO
ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=NO DBCLIENT_MAX_BYTES=3;
proc contents data=x5.char_sem; run;
proc contents data=x5.nchar_sem; run;
proc contents data=x5.byte_sem; run;
proc contents data=x5.mixed_sem; run;
This example also uses different settings for the various options.
libname x6  &engine &connopt ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=YES
ADJUST_NCHAR_COLUMN_LENGTHS=YES DBCLIENT_MAX_BYTES=3;
proc contents data=x6.char_sem; run;
proc contents data=x6.nchar_sem; run;
proc contents data=x6.byte_sem; run;
proc contents data=x6.mixed_sem; run;