The following example demonstrate that moving three bytes string ( '01' '99' and '6D' ) into a System.String we lose the byte containing '99' (actually any byte with a value greather than '7F').
IDENTIFICATION DIVISION.
PROGRAM-ID. Program1 AS "Application1.Program1".
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
REPOSITORY.
CLASS CLASS-String AS "System.String".
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Str-Object OBJECT REFERENCE CLASS-String.
01 Alpha-1 PIC X(3).
01 Alpha-2 PIC X(3).
PROCEDURE DIVISION.
MOVE X'05996D' TO Alpha-1
SET Str-Object TO X'05996D'
SET Alpha-2 TO Str-Object
END PROGRAM Program1.
IDENTIFICATION DIVISION.
PROGRAM-ID. Program1 AS "Application1.Program1".
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
REPOSITORY.
CLASS CLASS-String AS "System.String".
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Str-Object OBJECT REFERENCE CLASS-String.
01 Alpha-1 PIC X(3).
01 Alpha-2 PIC X(3).
PROCEDURE DIVISION.
MOVE X'05996D' TO Alpha-1
SET Str-Object TO X'05996D'
SET Alpha-2 TO Str-Object
END PROGRAM Program1.