RPG

173. グラフィック・フィールドの解決方法

漢字のようにダブルバイト・フィールドではあるが、両端のシフト文字 ( 0E, 0F ) がないタイプの
フィールドは タイプ = G で表されるグラフィック・フィールドと呼ばれる。
グラフィック・フィールドの使用は多くはないが汎用機や国産の非IBM から移行したユーザーに多く見受けられる。

例えば、オープン・タイプのフィールド FLD_A を グラフィック・フィールド FLD_G に値を

   MOVE  FLD_A         FLD_G

または

   EVAL  FLD_G = FLD_A

によって値をコピーすると実行時にはエラーとなってしまう。
ここで便利な解決方法としては組み込み関数 %GRAPH を使うことである。
%GRAPH は両端のシフト文字を除去してグラフィック・フィールドに値を変換してくれる。

   EVAL  FLD_G = %GRAPH(FLD_A)

にすれば問題なく実行することができる。