%CHAR は、文字、グラフィック、
または UCS-2 式の値を、特定の文字 CCSID の文字型に変換できます。
CCSID オペランドは、%CHAR 組み込み関数の結果の CCSID を指定します。 
CCSID オペランドを指定する場合、*HEX、*JOBRUN、*UTF8 と指定するか、
EBCDIC または ASCII CCSID を表す数値を指定するか、
値 65535 (これは *HEX と同じです) または値 1208 (これは *UTF8 と同じです) を指定することができます。 
CCSID オペランドが指定されていない場合、
制御キーワード CCSID(*CHAR) で指定されるように、モジュールのデフォルト文字 CCSID に
デフォルト設定されます。 
文字オペランドの CCSID が *HEX の場合、変換は行われません。
オペランドのデータは、CCSID オペランドで指定された CCSID であると想定されます。
CCSID *HEX の文字データについては、文字形式を参照してください。 
データから文字 CCSID への変換で、一部の CCSID では
すべてのデータを正常に変換できない場合があることについて、変換を
参照してください。 
グラフィック・データで、%CHAR 戻り値の CCSID が EBCDIC CCSID の場合、
戻り値にはシフトイン文字およびシフトアウト文字が
含まれます。たとえば、5
文字の図形フィールドが変換される場合、戻り値は 12 文字 (10
バイトの図形データと 2 つのシフト文字) になります。式の値が可変長である場合、戻り値は
可変長形式になります。 
詳細については、変換命令または 組み込み関数を参照してください。
D graphicName S 20G VARYING INZ(G'oXXYYZZi')
D greeting S 20A VARYING CCSID(*UTF8) INZ('Hello')
D message S 30C INZ('Successful operation')
D result S 100A VARYING
result = 'The customer''s name is ' + %CHAR(Name) + '.';
// result = 'The customer's name is oXXYYZZi.'
result = %CHAR(greeting : *JOBRUN);
// result = 'Hello'
result = %CHAR(message : *JOBRUN);
// result = 'Successful operation'
