IBM Z Japan - Group home

#023【z/OS V2R2/V2R3/V2R4変更点】「Dynamic LPA」機能を利用したPDSEプログラム・オブジェクトの「LENGTH」表示変更(メッセージCSV550I)

  
従来、LNKLST連結とは異なり、LPALST連結ではPDSEデータセットがサポートされていないため、「Dynamic LPA」機能を利用して「CSA/ECSA」にプログラム・オブジェクトをロードする必要があります。
※例えば、Enterprise COBOL V5以降のコンパイラーでは、作成されたプログラム・オブジェクトをPDSEデータセットに格納する必要があるため、それらのプログラムをLPA常駐させる際には「Dynamic LPA」機能を活用します

【z/OS V2R4の変更点】
  • 「D PROG,LPA,MOD=name」コマンド実行結果(メッセージCSV550I)では、PDSEデータセットからロード済のプログラム・オブジェクト(Dynamic LPA)に関する「LENGTH」値を表示しますが、z/OS V2R4では「LENGTH」値として表示される情報の意味合いが変わり、従来のようなISPF OPT3.4(メンバー・リスト)で出力される「Size」値を示さなくなりました。
※同じ「Dynamic LPA」機能でも、PDSデータセットからロード済のモジュールに関する「LENGTH」表示方法は変更ありません
  • 同様な機能変更は、APAR OA56083 (対象: z/OS V2R2、V2R3)でも行われました。
  • 挙動比較例(z/OS V2R1 vs. V2R4)

【考慮事項】
  • 「Dynamic LPA」機能でPDSEデータセットを利用する場合、例えば次のようなケースでは、「D PROG,LPA,MOD=name」コマンド実行結果(メッセージCSV550I)に含まれる「LENGTH」値が、従来とは異なる値(ISPF OPT3.4で表示される「Size」とは異なる値)になります
※z/OS V2R2、V2R3に対するPTF適用後(APAR OA56083)
※z/OS V2R1からV2R3 (PTF適用済)へ移行した場合
※z/OS V2R2 (PTF未適用)からz/OS V2R4へ移行した場合
  • メッセージCSV550Iに含まれる「LENGTH」値が、ISPF OPT3.4(メンバー・リスト)で表示される「Size」値と同じであることを前提にした何らかの処理(しくみ)がある場合、機能変更後は処理の見直しが必要です。
  • 例えば「Dynamic LPA」機能を利用したプログラム・オブジェクトの反映を確認するには、メッセージCSV550Iで表示される「LENGTH」値に着目せず、次のような方法が考えられます。
※「SETPROG LPA,ADD,MOD=(name),DSN=name」コマンド実行結果(メッセージCSV551I) ・・・ 「SUCCESSFUL」(RESULT)を表示
※「D PROG,LPA,MOD=name」コマンド実行結果(メッセージCSV550I) ・・・ 対象のプログラム・オブジェクトを表示

【注意点】
  • 「Dynamic LPA」機能を利用してプログラム・オブジェクト(PDSE)をロードした場合、「D PROG,LPA,MOD=name」コマンド実行結果(メッセージCSV550I)に含まれる「LENGTH」値は、「PGM=AMBLIST」のLISTLOADコマンド実行結果に示される「PMAR_STOR」値(機能変更前)、あるいは「PMARL_1STOR」値(機能変更後)と一致していることがわかります。ただし、マニュアルに明記された情報ではないため、それを前提にした処理(作り込み)を行うことは推奨されません。
※「PMARL_1STOR」 ・・・ 「プログラム・オブジェクト」をロードするために必要な領域の長さ(4Kページ単位)

以上