Natural バージョン 5 以降では、Natural 生成プログラム(GP)を UNIX、OpenVMS、および Windows のプラットフォーム間で移植可能です。
このドキュメントでは、次のトピックについて説明します。
Natural バージョン 5 以降では、Natural でサポートされる UNIX、OpenVMS、および Windows の任意のプラットフォームでカタログされたソースは、これらすべてのオープンシステムプラットフォームで再コンパイルなしで実行できます。 この機能によって、オープンシステムプラットフォーム間でのアプリケーションの展開が容易になります。
Natural バージョン 4 または Natural バージョン 3 で生成された Natural アプリケーションは、再カタログしなくても Natural バージョン 5 以降で実行できます(上位互換性)。 この場合には、ポータブル GP 機能は有効ではありません。 ポータブル GP およびその他の改良点を利用するには、Natural バージョン 5 以降でカタログする必要があります。
コマンドプロセッサ GP は移植できません。 ポータブル GP 機能は、メインフレームプラットフォームでは使用できません。 このことは、メインフレームコンピュータで生成された Natural GP は、アプリケーションを再コンパイルしない場合、UNIX、OpenVMS、および Windows プラットフォームで実行できないことを意味します。逆の場合も同様です。
Natural バージョン 5 以降では、UNIX、OpenVMS、または Windows プラットフォームのどれが実行中であるかに応じて、マルチバイトの数値が GP に保存されるときのバイト順序が考慮されます。 2 つのバイト順モードがあり、"リトルエンディアン" と "ビッグエンディアン" と呼ばれています。
"リトルエンディアン" とは、数値の下位バイトがメモリの最下位アドレスに格納され、上位バイトが最上位アドレスに格納されることを意味します(小さな桁が最初に来ます)。
"ビッグエンディアン" とは、数値の上位バイトがメモリの最下位アドレスに格納され、下位バイトが最上位アドレスに格納されることを意味します(大きな桁が最初に来ます)。
UNIX、OpenVMS、および Windows プラットフォームでは、両方のエンディアンモードが使用されます。Intel プロセッサおよび AXP コンピュータのバイト順は "リトルエンディアン" であり、HP-UX、Sun Solaris、RS6000 などその他のプロセッサでは "ビッグエンディアン" モードが使用されています。
Natural では、必要に応じて、ポータブル GP を実行プラットフォームのエンディアンモードに自動的に変換します。 GP がすでにプラットフォームのエンディアンモードで 生成されている場合、このエンディアン変換は実行されません。
ポータブル GP の実行パフォーマンスを拡張するために、プロファイルパラメータ ENDIAN
が導入されました。 ENDIAN
は、コンパイル中に GP が生成されるエンディアンモードを決定します。
DEFAULT | GP が生成されるマシンのエンディアンモード |
---|---|
BIG | ビッグエンディアンモード(上位バイトが最初に来ます) |
LITTLE | リトルエンディアンモード(下位バイトが最初に来ます) |
DEFAULT
、BIG
、および LITTLE
の値のうち 1 つを選択します。デフォルト値は DEFAULT
です。
ENDIAN
モードパラメータは次の方法で設定できます。
Natural コンフィグレーションユーティリティを使用して、プロファイルパラメータとして設定
開始パラメータとして設定
セッションパラメータとして、または GLOBALS
コマンドを使用して設定
異なるプラットフォーム(UNIX、OpenVMS、および Windows)でポータブル GP を利用するには、生成された Natural オブジェクトをターゲットプラットフォームに転送するか、または NFS などを経由してターゲットプラットフォームからアクセス可能にする必要があります。
Natural 生成オブジェクト、または Natural アプリケーション全体を配布するには、Natural オブジェクトハンドラの使用をお勧めします。 手順としては、ソース環境のオブジェクトをワークファイルにアンロードし、このワークファイルをターゲット環境に転送して、ワークファイルからオブジェクトをロードします。
オープンシステムプラットフォーム間で Natural 生成オブジェクトを展開するには
Natural オブジェクトハンドラを開始します。 必要なすべてのカタログオブジェクトを PORTABLE タイプのワークファイルにアンロードします。
必要であれば、エラーメッセージもワークファイルにアンロードできます。
重要:
指定するワークファイルタイプは PORTABLE でなければなりません。 PORTABLE は、ワークファイルが異なるマシンに転送されるときに、ワークファイルの自動エンディアン変換を実行します。 『ステートメント』ドキュメントの「DEFINE WORK FILE
」ステートメントの説明にあるワークファイルタイプの情報も参照してください。
ワークファイルをターゲット環境に転送します。 ネットワーク、CD、フロッピーディスク、テープ、電子メール、ダウンロードなど使用する転送メカニズムによっては、ZIP ファイルなどの圧縮アーカイブの使用や、UUENCODE/UUDECODE などによるエンコードが有効な場合もあります。 FTP 経由のコピーでは、バイナリ転送タイプが必要です。
注意:
使用する転送メソッドによっては、ロード機能を続行する前に、転送するワークファイルのレコードフォーマットと属性またはブロックサイズを、特定のターゲットプラットフォームに応じて調整する必要があります。 ターゲットプラットフォームでのワークファイルのフォーマットと属性は、そこで生成された同じタイプのワークファイルと同じものにする必要があります。
適応が必要な場合は、オペレーティングシステムツールを使用してください。
ターゲット環境で Natural オブジェクトハンドラを開始します。 ワークファイルタイプとして PORTABLE を選択します。 Natural オブジェクトおよびエラーメッセージをワークファイルからロードします。
Natural オブジェクトハンドラの使用法の詳細については、『ユーティリティ』ドキュメントの「オブジェクトハンドラ」を参照してください。
Natural 開発ワークステーションから Natural ランタイムワークステーションへアプリケーションを移植する方法の詳細については、『オペレーション』ドキュメントの「移行手順の概要」を参照してください。
上述の推奨される方法に加えて、オペレーティングシステムツールや別の転送方法を使用することにより、単一の Natural 生成オブジェクトだけでなく、ライブラリ全体やその一部を "移動" またはコピーするためのさまざまな方法があります。 これらすべての場合について、オブジェクトを Natural で実行できるようにするには、オブジェクトを Natural システムファイル FUSER にインポートして FILEDIR.SAG 構造に適合させる必要があります。 FNAT または FUSER ディレクトリの詳細については、『オペレーション』ドキュメントの「システムファイル FNAT と FUSER」を参照してください。
この作業には、次のいずれかの方法を使用します。
SYSMAIN ユーティリティのインポート機能を使用する。
FTOUCH ユーティリティを使用する。 このユーティリティは、Natural に入らずに使用できます。
ドラッグ & ドロップまたはメニューコマンドのNatural オブジェクトの管理」を参照してください。
、 、および を使用して、Windows エクスプローラから Natural 環境にファイルをインポートすることもできます。 このことは、Windows エクスプローラ経由でインポートする Natural オブジェクトにアクセスできる場合は、ドラッグ & ドロップや 、 、および が使用可能であり、FILEDIR.SAG ファイルは自動的に更新されることを意味します。 オブジェクトのコピー、移動、およびインポートの詳細については、『Natural スタジオの使用』ドキュメントの「同じことが、NSF やネットワークファイルサーバーなどを経由して、ターゲットプラットフォームからソース環境で生成されたオブジェクトへの直接アクセスが可能な場合にも当てはまります。この場合は、オブジェクトをインポートする必要があります。
Natural バージョン 6.2 以降では、FILEDIR.SAG ファイルおよびエラーメッセージファイルはプラットフォームに依存しません。 したがって、共通の FUSER システムファイルをさまざまなオープンシステムプラットフォームで共有できます。 例えば、1 つのオープンシステムプラットフォームから一連の Natural ライブラリをコピーし、オペレーティングシステムのコピー手順を使用して別のプラットフォームにコピーすることができます。 ただし、FNAT システムファイルの共有はお勧めしません。 移植可能な FILEDIR.SAG に関する詳細については、『オペレーション』ドキュメントの「Natural の移植可能なシステムファイル」を参照してください。