Rational Developer for System z
PL/I for Windows, Version 8.0, プログラミング・ガイド

移植性に影響する環境の相違

ワークステーションとメインフレームのプラットフォームの間には、データ表記以外に、プログラムの移植性に影響を与える可能性のある相違がいくつかあります。このセクションでは、これらの相違のいくつかについて説明します。

ファイル名
PC 上のファイル命名規則は、メインフレームのものと大きく異なります。例えば、次のファイル名は PC では有効ですが、メインフレームでは無効です。
  d:¥programs¥data¥myfile.dat
PL/I ソース内のファイル名を、OPEN および FETCH ステートメントの TITLE オプション の一部として使用すると、このことが移植性に影響を与えます。
ファイル属性
PL/I では、ファイル宣言において、多くのファイル属性を、ENVIRONMENT 属性の一部として指定することができます。これらの属性の多くはワークステーションでは 意味を持ちません。その場合、コンパイラーはそれらを無視します。 使用するプログラムが、これらの属性を無視しないことを前提としている場合、そのプログラムは、正常に移植されない可能性があります。
制御コード
メインフレームで特定の意味を持たないいくつかの文字は、ワークステーションによって制御文字として解釈されます。LF、LFEOF、CRLF、または CRLFEOF のいずれかの TYPE を持つデータ・ファイルは、このことによって、誤って処理される可能性があります。 そのようなファイルには、次の文字を入れないようにしてください。

例えば、下のコード内のファイルが TYPE(CRLF) を持つ場合、2573 は 16 進値 '0D0A'x を持つ ため、WRITE ステートメントはオン・コード 1041 の ERROR 条件を発生します。 ファイルが FIXED、VARLS、または VARMS のいずれかの TYPE を持つ場合は、このようにはなりません。

    dcl
      1 a native,
        2 b char(10),
        2 c fixed bin(15),
        2 d char(10);

    dcl f file output;

    a.b = 'alpha';
    a.c = 2573;
    a.d = 'omega';

    write file(f) from(a);
装置依存の制御コード
プログラムまたはファイルにおいて装置依存の (プラットフォーム固有の) 制御コード を使用すると、制御コードを必ずしもサポートしないその他のプラットフォームにそれらを 移植するときに、エラーが発生する場合があります。

プラットフォームに対する固有性が非常に強い他のすべてのコードと同じように、アプリケーションを別のプラットフォームに移すときに簡単に置き換えることができるように、そのようなコードをできる限り分離することが最善の方法です。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)