システム関数 SysLib.convert は、EBCDIC 形式 (ホスト) と ASCII 形式 (ワークステーション) の間でデータを変換したり、または単一の形式内でコード・ページの変換を実行します。SysLib.convert は、関数呼び出し文の中で関数名として使用することができます。
SysLib.convert(
target anyFixedItemOrRecordOrFormVariable inout,
direction enumerationConversionDirection in,
conversionTable CHAR(8) in)
リンケージ・オプション・パーツを使用すると、リモート呼び出し、リモート非同期トランザクションの始動、またはリモート・ファイル・アクセスに関して データの自動変換を行うよう要求することができます。自動変換は、変換対象の引数に定義されているデータ構造を常に使用して行われます。引数に複数の形式が存在する場合は、自動変換を要求しないでください。 代わりに、引数の現行値を正しくマップするようにレコード宣言を再定義して、SysLib.convert を明示的に呼び出すプログラムをコーディングしてください。
Record RecordA
record_type char(3);
item1 char(20);
end
Record RecordB
record_type char(3);
item2 bigint;
item3 decimal(7);
item4 char(8);
end
Program ProgramX type basicProgram
myRecordA RecordA;
myRecordB RecordB {redefines = "myRecordA"};
myConvTable char(8);
function main();
myConvTable = "ELACNENU"; // conversion table for US English
if (myRecordA.record_type == "00A")
SysLib.convert(myRecordA, "L", myConvTable);
else;
SysLib.convert(myRecordB, "L", myConvTable);
end
call ProgramY myRecordA;
end
end
関連概念
EGL 関数の構文図
関連リファレンス
データ変換
EGL ライブラリー SysLib
callConversionTable