Developer for System z
Enterprise PL/I for z/OS, Version 3.8, コンパイラーおよびランタイム 移行ガイド
目次
図
本書について
資料の使用
PL/I 情報
言語環境プログラム情報
概要
再コンパイルの必要性
マイグレーションについての基本事項
ランタイムのマイグレーション - 言語環境プログラムへの移行
コンパイラーのマイグレーション
マイグレーション・ロードマップ
OS PL/I および PL/I for MVS & VM に対するサービス・サポート
新しいコンパイラーおよびランタイムの紹介
製品間の関係 - コンパイラー、ランタイム、デバッグ
PL/I コンパイラーの一般情報
他のプログラムに対する言語環境プログラムのランタイム・サポート
新しいコンパイラーおよびランタイムの利点
新しいコンパイラーおよびランタイムの主な変更点
一般的な移行作業
戦略の計画
言語環境プログラム・ランタイムへの移行
Enterprise PL/I によるソースの再コンパイル
既存のアプリケーションへの Enterprise PL/I プログラムの追加
移行の戦略
言語環境プログラムへの移行の計画
言語環境プログラム・ランタイム・ライブラリーへの移行の準備
言語環境プログラムのインストール
ストレージ要件の査定
言語環境プログラムについてのプログラマーの教育
アプリケーションのインベントリーの作成
ベンダー製のツール、パッケージ、および製品
PL/I アプリケーション
既存の PL/I ロード・モジュール
言語環境プログラムの段階的導入方法の決定
複数言語の変換
アプリケーションがライブラリーにアクセスする方法の決定
レグレッション・テスト手順のセットアップ
パフォーマンスの測定
実動使用への切り換え
新しいコンパイラーへの移行の計画
新しいコンパイラーへのソースの移行の準備
Enterprise PL/Iのインストール
ストレージ要件の査定
新しいコンパイラーの機能についてのプログラマーの教育
アプリケーションのインベントリーの作成
ベンダー製ツール、パッケージ、および製品のインベントリーの作成
PL/I アプリケーションのインベントリーの作成
アプリケーションの優先順位付け
移行カテゴリーと非移行カテゴリーのセットアップ
アプリケーション・プログラムの更新
既存アプリケーションの言語環境プログラムへの移行
言語環境プログラムの下での既存アプリケーションの実行
既存アプリケーションの起動
非 CICS アプリケーションの場合
CICS アプリケーションの場合
既存アプリケーションのリンク・エディット
マイグレーション前の考慮事項
ランタイム・オプションの相違点
削除されたランタイム・オプション
置き換えられたランタイム・オプション
新しいランタイム・オプション
条件処理の相違点
タイミングの相違点
未処理条件の相違点
IBMBXITA および IBMBEER の相違点
ABEND U4039 の相違点
重大度の相違点
PLICALLA と PLICALLB のサポートの相違点
PLICALLA に関する考慮事項
PLICALLB に関する考慮事項
事前初期設定のサポートの相違点
PLISRTx のサポートの相違点
マルチタスキングのサポートの相違点
OS PL/I 共用ライブラリーのサポートの相違点
DATE/TIME 組み込み関数の相違点
ユーザー戻りコードの相違点
PRINT ファイルのオープン方法の相違点
ランタイム・メッセージの相違点
PLIDUMP の相違点
ストレージ報告書の相違点
言語間通信 (ILC) のサポートの相違点
アセンブラー・サポートの相違点
メイン・パラメーター・リストを検出するアセンブラー・プログラム
オブジェクト・モジュールおよびロード・モジュールに関する考慮事項
OS PL/I バージョン 1 のオブジェクト・モジュールおよびロード・モジュールの互換性
OS PL/I バージョン 1 リリース 5.1
OS PL/I バージョン 1 リリース 5
OS PL/I バージョン 1 リリース 3.0 〜 リリース 4.0
リリース 3.0 より前の OS PL/I バージョン 1
OS PL/I バージョン 2 のオブジェクト・モジュールおよびロード・モジュールの互換性
OS PL/I のオブジェクト・モジュールおよびロード・モジュールのサポートの要約
リンク・エディットに関する考慮事項
SCEERUN
シンボル・テーブルに関する考慮事項
NCAL リンケージ・エディター・オプション
ENTRY カード
OS PL/I 数学ルーチンの使用
サブシステムに関する考慮事項
CICS に関する考慮事項
CICS システム定義 (CSD) ファイルの更新
エラー処理
CICS 環境でのユーザー作成条件ハンドラーの制限
マクロ・レベル・インターフェース
PL/I MAIN プロシージャーの FETCH
STACK ランタイム・オプション
ランタイムの出力
CICS 環境で PL/I によって使用される異常終了コード
IMS に関する考慮事項
IMS へのインターフェース
SYSTEM(IMS) コンパイル時オプション
IMS での PLICALLA サポート
サポートされている PSB 言語オプション
ストレージの使用に関する考慮事項
IMS 環境での調整条件処理
ライブラリー保存 (LRR) によるパフォーマンスの向上
DB2 に関する考慮事項
新しいコンパイラーへの移行
新しいコンパイラーの制限について
言語環境プログラムの要件
サポートされない言語
マルチタスキング
CHECK
CHARSET(48) および CHARSET(BCD)
EGCS
Fortran
無効なコード
言語制限
RECORD I/O
STREAM I/O
構造式
配列式
DEFAULT ステートメント
自動変数の範囲
組み込み関数
DEFINED BIT 集合体
OPTIONS(REENTRANT)
iSUB 定義
LABEL 配列
DBCS
マクロ・プリプロセッサー
オプション制限
サポートされないオプション
コンパイラーに対するその他のインターフェースに関する制約事項
バッチ・コンパイル
アセンブラーからのコンパイラーの起動
TSO 環境でのコンパイル
INCLUDE データ・セット名の指定
コンパイル時の時間およびスペース所要量
AMODE(24) の制約事項
EXTERNAL 名の制限
リスト表示の相違点
制御ブロックの相違点
ISAM サポートの相違点
新しいコンパイラーのオプションについて
互換性におけるデフォルト・オプションの効果について
BACKREG(5)
BIFPREC(15)
CMPAT(V2)
EXTRN(FULL)
LIMITS(EXTNAME(7))
NORENT および WRITABLE
SYSTEM
互換性をさらに向上させるためのデフォルト以外のオプションの選択
COMMON
DFT(NOBIN1ARG)
DEFAULT(LINKAGE(SYSTEM))
DFT(OVERLAP)
NOREDUCE
NORESEXP
RULES(LAXCTL)
RULES(NOLAXINOUT NOLAXSEMI)
NOWRITABLE
パフォーマンスを向上させるためのオプションの選択
ARCH
BIFPREC(31)
DEFAULT(NONASGN)
DEFAULT(CONNECTED)
DEFAULT(REORDER)
DEFAULT(NOOVERLAP)
OPTIMIZE(2)/OPTIMIZE(3)
REDUCE
NORENT
RULES(NOLAXCTL)
TUNE
品質を向上させるためのオプションの選択
RULES(NOLAXDCL)
RULES(NOLAXIF)
RULES(NOLAXLINK)
RULES(NOLAXMARGINS)
RULES(LAXSTRZ)
RULES(NOMULTICLOSE)
テスト用のオプションの選択
CHECK(CONFORMANCE)
GONUMBER
PREFIX
TEST
新しいコンパイラーのメッセージについて
IBM1044: 1 バイトの FIXED BIN
IBM1053: スケール付き FIXED BIN の評価
IBM1065: 不正確な浮動小数点定数
IBM1091: FIXED BIN 精度の警告
IBM1099: 混合した FIXED
IBM1181: 誤ってコーディングされた DO ループ
IBM1206: BIT 演算子の誤用
IBM1208: 完全には初期化されていない配列
IBM1215: 不完全な宣言
IBM1216: 間違った構造体宣言
IBM1220: 無意味な比較
IBM1927: SIZE 条件
IBM1948: 制限された式評価
IBM2063: 無効な ALLOCATE
IBM2402: ストレージ・オーバーレイ
IBM2409: 関数内での RETURN;
IBM2410: 関数内に RETURN がない
IBM2412: RETURNS オプションの欠落
IBM2421: ENDFILE での CLOSE
IBM2610: 精度の解釈
IBM2611, IBM2612: 重複する WHEN
IBM2617: PL/I 以外のラベルの引き渡し
IBM2621: ON ERROR SYSTEM の欠落
IBM2622: 不完全にコーディングされた DO ループに対する警告
IBM2626: 長さゼロを持つ SUBSTR
IBM2628: 大きな BYVLAUE パラメーター
IBM2801: スケール付き FIXED BIN の導入
IBM2804: 完全に最適化されていない比較
IBM2810: スケール付き FIXED BIN の変換
IBM2811: DO 制御変数としての PICTURE の使用
IBM2812: 不完全な TRANSLATE および VERIFY
PLIXOPT メッセージ
コンパイラー・ユーザー出口の使用
作業コードを変更する必要がある場合について
間違ったコード
宣言の順序を当てにする
無効な FIXED DECIMAL データを使用する
無効な SUBSTR 参照を使用する
異なる EXTERNAL 宣言を使用する
間違った PLITABS 宣言を使用する
変数を初期化する
AUTOMATIC の初期設定
BASED の初期設定
CONTROLLED の初期設定
STATIC の初期設定
使用されない宣言の保持
使用されない INTERNAL STATIC の保持
例外が発生するようになった間違ったコード
SIZE が無効になっている場合の FIXEDOVERFLOW
無効な割り振り
PRINT ファイルに対する UNDEFINEDFILE 条件
無限ループが発生するようになった間違ったコード
偶数精度の PICTURE ループ制御変数
異なる結果を生成する代入
代入元と代入先の重複
float 間の代入
異なる結果を生成するその他のステートメント
印刷不能な文字が含まれた STREAM 入出力
初期化されていない EXTERNAL STATIC
不完全に宣言された FILE
仮引数と配置
仮引数と CONTROLLED
ポインター算術
パフォーマンスが劣るコード
FIXED DEC をループ制御変数として使用
FIXED BIN(15) をループ制御変数として使用
TOTAL を使用した入出力
作業コードを変更する必要がある可能性のある場合について
例外が発生するようになったコード
ERROR にプロモートされる ZERODIVIDE および OVERFLOW
使用不可の場合に発生する条件
無効な RETURN
GOTO の欠点
NOFOFL のスコープ
例外が発生しなくなったコード
FIXED BIN について発生する FIXEDOVERFLOW
数値変数にブランクを代入する際に生じる CONVERSION
過度に大きな集合体をマッピングした際に生じる ERROR
異なる方法でマップされるストレージ
1 バイトの FIXED BIN
異なる方法で処理される宣言
INITIAL 属性を持つ AREA
異なる方法で処理される変換
FLOAT から文字への変換
スケール付き FIXED BINARY からの変換
異なる方法で処理される組み込み関数
スケール因数と FIXED BIN を持つ算術組み込み関数
マクロ・プリプロセッサーでの違い
マクロ・プリプロセッサーとストリング
新しいオブジェクトのリンク
プリリンカーと PDSE に関する考慮事項
AMODE(24) に関する考慮事項
PLICALLA または PLICALLB エントリーの使用
CHANGE カード
言語環境プログラムの新しいコンパイラーとの使用
適切なランタイム・オプションの使用
アセンブラーのメインプログラムからの PL/I の呼び出し
結果が異なる可能性がある場合について
戻りコード
ランタイムにメッセージが発行される場合
ランタイム・メッセージの意味
ランタイム・メッセージの出力先
数学組み込み関数
ダンプ
ストレージ報告書
前提条件として必要な言語環境プログラム PTF
CPU とストレージの使用効率を向上させるためのチューニング
CPU 使用効率の向上
ストレージ使用効率の向上
サブシステム環境でのパフォーマンス向上
既存の PL/I アプリケーションへの Enterprise PL/I プログラムの追加
オブジェクト・モジュールおよびロード・モジュールに関する考慮事項
SYSPRINT の共用
ランタイム・オプションの考慮事項
条件処理に関する考慮事項
PL/I ソース・プログラムの実行単位への区分化
以前の VisualAge または Enterprise PL/I から Enterprise PL/I V3R8 への移行
VisualAge PL/I からの移行
Enterprise PL/I V3R1 からの移行
Enterprise PL/I V3R2 からの移行
Enterprise PL/I V3R3 からの移行
Enterprise PL/I V3R4 からの移行
Enterprise PL/I V3R5 からの移行
Enterprise PL/I V3R6 からの移行
Enterprise PL/I V3R7 からの移行
V3R4 で導入されたコンパイラー・メッセージ
V3R5 で導入されたコンパイラー・メッセージ
V3R6 で導入されたコンパイラー・メッセージ
V3R7 で導入されたコンパイラー・メッセージ
V3R8 で導入されたコンパイラー・メッセージ
オブジェクトの互換性
ランタイムに関する変更点
サブシステムおよびその他の言語に関する考慮事項
PL/I アプリケーションに関するアセンブラーの考慮事項
PL/I メイン・プロシージャーを模倣したアセンブラー・プログラムに関する考慮事項
アセンブラーおよび言語環境プログラムに準拠したアセンブラーからの PL/I の呼び出し
条件処理およびアセンブラー・プログラム
アセンブラー・ユーザー出口の使用に関する考慮事項
特定の考慮事項
PL/I アプリケーションに関する CICS の考慮事項
CICS に関する一般的な考慮事項
CICS システム定義 (CSD) ファイルの更新
マクロ・レベル・インターフェース
CICS 環境で実行されるプログラム用のコンパイラー・オプション
CICS アプリケーションのリンクとランタイムに関する考慮事項
エラー処理
PL/I MAIN プロシージャーの FETCH
ランタイムの出力
CICS 環境で PL/I によって使用される異常終了コード
統合 CICS プリプロセッサーへのマイグレーション
PL/I アプリケーションに関する IMS の考慮事項
IMS へのインターフェース
SYSTEM(IMS) コンパイル時オプション
IMS での PLICALLA サポート
サポートされている PSB 言語オプション
ストレージの使用に関する考慮事項
IMS 環境での調整条件処理
ライブラリー保存 (LRR) によるパフォーマンスの向上
PL/I アプリケーションに関する DB2 の考慮事項
DB2 に関する一般的な考慮事項
統合 SQL プリプロセッサーへのマイグレーション
プログラミングとコンパイルに関する考慮事項
FOR BIT DATA への代入に関する注記
付録および後付け
付録A. 変換とマイグレーションの支援機能
OS PL/I ルーチン置換ツール
OS PL/I バージョン 1 リリース 5.1 のメイン・ロード・モジュール ZAP
OS PL/I 共用ライブラリー置換ツール
OS PL/I オブジェクト・モジュール再リンク・ツール - APAR PN69803
ILC アプリケーション
PLISRTx アプリケーション
EDGE Portfolio Analyzer
ベンダー製品
付録B. コンパイラー・エレメントの比較
付録C. コンパイラー・オプションの比較
付録D. コンパイラーの制限の比較
付録E. バッチ処理のサンプル
付録F. デバッグ・ツールの比較
デバッグ・ツール間の相違点
付録G. 特記事項
プログラミング・インターフェース情報
商標
索引
Terms of use
|
Feedback
This information center is powered by Eclipse technology. (http://www.eclipse.org)