%GRAPH(char-expr | graph-expr | UCS-2-expr { : ccsid })
%GRAPH は、文字、図形、または UCS-2 から式の値を変換し、図形値を 戻します。 結果は、パラメーターが可変長であれば可変長になります。
2 番目のパラメーターの ccsid はオプション で、結果の式の CCSID を示します。CCSID のデフォルト値は、ジョブの CCSID に関連した図形 CCSID です。 制御仕様書で CCSID(*GRAPH : *IGNORE) が指定されている場合、または モジュールについて想定されている場合、%GRAPH 組み込み関数は使用できません。
パラメーターが定数の場合、変換はコンパイル時に行われます。この 場合、CCSID は、ソース・ファイルの CCSID に関連した図形 CCSID です。
パラメーターが文字である場合、文字データは次の形式になっていなければなりません。
shift-out graphic-data shift-in
例えば、'oAABBCCi' のように指定します。
変換の結果、置換文字になる場合、コンパイル時に警告メッセージ が出されます。 実行時には状況 00050 が設定され、エラー・メッセージは出されません。
詳しくは、グラフィック形式、変換命令、または 組み込み関数を参照してください。
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+.... H*Keywords+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ H ccsid (*graph: 300) D*Name++++++++++ETDsFrom+++To/L+++IDc.Keywords++++++++++++++++++++++++ D char S 8A inz('oXXYYZZi') * The %GRAPH built-in function is used to initialize a graphic field D graph S 10G inz (%graph ('oAABBCCDDEEi')) D ufield S 2C inz (%ucs2 ('oFFGGi')) D graph2 S 2G ccsid (4396) inz (*hival) D isEqual S 1N D proc PR D gparm 2G ccsid (4396) value /FREE graph = %graph (char) + %graph (ufield); // graph now has the value XXYYZZFFGG. // %graph(char) removes the shift characters from the // character data, and treats the non-shift data as // graphic data. isEqual = graph = %graph (graph2 : 300); // The result of the %GRAPH built-in function is the value of // graph2, converted from CCSID 4396 to CCSID 300. graph2 = graph; // The value of graph is converted from CCSID 300 to CCSID 4396 // and stored in graph2. // This conversion is performed implicitly by the compiler. proc (graph); // The value of graph is converted from CCSID 300 to CCSID 4396 // implicitly, as part of passing the parameter by value. /END-FREE
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.