2016-03-23 5 views
0

pdsファイルのメンバーのサイズを読み取る方法。 pdsファイルには多くのメンバーがいます。 pdsを閲覧すると、メンバー名、作成日時、ユーザー、時間などが表示されます これらの属性を変数で個別に取得する方法です。pdsのメンバーのサイズを読む

答えて

2

TSO/ISPFで実行している場合は、LMMFINDサービスでの統計情報(yes)オプションを使用できます。あなたはLMFINDを行う前に、

を行う必要があります。あなたがメンバーリストを表示したい場合もzarchasmpgmrとして、あなたはLMCLOSELMFREE

を実行する必要があります、ブルースはLMMFINDがPDSメンバーのISPF統計を持っています述べたようにLMMDISP

+0

LMCLOSEとLMFREEを忘れないでください。 :) – zarchasmpgmr

+0

良い点が答えに追加されます。 –

3

を見て。このサービスではSTATS YESを必ず使用してください。また、拡張統計(変数ZLEXT)をチェックする必要があるかもしれません。メンバーのサイズが64Kを超える場合、サイトは拡張統計を使用することを選択することがあります。 ISPFサービス・ガイドを参照してください。以下は、2.1マニュアルのLMMFINDへのリンクです。

https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.f54sg00/lmmfind.htm%23lmmfind

0

あなたが書い統計はISPFによって維持されていることに注意してください。 ISPF以外のメンバーを作成するには多くの方法があり、そのメンバーはではなくにこれらの統計があります。 ISPFサービスLMMSTATSはこれらの統計情報を設定します(3.5 Rパネルはそのサービスのフロントエンドです)。呼び出しの順序が何らかの理由で

で、LMMSTATSはLMOPENとLMCLOSEサービスを必要としません。

+1

LMOPENとLMCLOSEは、LMINITとLMFREEによって統計情報が保持されているPDSディレクトリ(メンバーのディレクトリエントリのユーザーデータセクション)に有効に配置されているため、必要ないと思います。つまり、LMINITはディレクトリを開き、LMOPENは実際のPDSメンバーを開きます。 LMCLOSEはPDSメンバーを閉じ、LMFREEはPDSディレクトリーをクローズします。したがって、統計情報とメンバーリストを取得するには、LMINIT/LMFREEだけが必要です。 – MikeT

0

PDSにISPF統計情報がない場合(またはSTATSが疑わしい場合(たとえば、ISPFの外で変更できる場合など))、古くなっています。次に、ディレクトリの処理を調べることができます。

しかし、デフォルトでは、PDSディレクトリーには多くの情報が含まれていないため、ISPFの統計情報がなければ多くの情報を得ることができません。 PDSディレクトリーにはユーザー定義可能な領域があり、ISPFが利用する領域です。この領域の前には長さ記述子があります(詳細はリンクを参照)。

ISPFの統計情報が存在しないか正確でない可能性があるもう一つの理由は、正しく想起すれば、ディレクトリ・スペースを解放する可能性のある統計を取り除くことができるということです(E37異常終了、ハプニング)。

私は(すなわち(含めていない(アセンブラPDSは、ユーティリティをアンロード書いた)のRexxで試してみましたたが、あなたはPDSのベース名に EXECIOを使用してディレクトリを開き、読むことができるかもしれません思い出すことができない

メンバー))。

ディレクトリは256バイトでブロックされています。構造に関する詳細は、PDS Directoryをご覧ください。私はこれがPDSEのためにはうまくいくとは思わない。

+0

ISPF以外のデータ・セットに遭遇した場合は、通常はISPFやさまざまなLM *関数に依存しないほうがよいので、これは最良の答えです。 PDSとPDSEの場合、基本データセット(メンバー名のないDSNだけ)を割り当て、RECFM U、BLKSIZE 256を使用して開き、PDSディレクトリーを読み取ることができます。これはEXECIOで確実に行えます。残念ながら、データセットに信頼できる統計情報がない場合(ISPFなど...実行可能ファイルのライブラリにも便利な情報があります)、メンバーの長さを取得する唯一の方法は、開始TTRからEOFマーカー。 –

+0

KEYLEN = 8、そうしないと、I/Oバッファに複製されたレコードの最初のメンバー(CKD形式のキーとして格納されます)が得られます。 – zarchasmpgmr

関連する問題