DSECT 情報を使用したストレージ域のマッピング

対話式レポートにおいて DSECT コマンドを使用すると、アセンブラー・マクロまたは DSECT サンプル集を含む PDS または PDSE データ・セット・メンバーに基づき、ストレージ域をマップできます。

DSECT コマンド (構文については DSECT を参照) は、任意の画面のコマンド行または PF キー割り当てによって入力できます。デフォルトでは、DSECT コマンドは PF4 に割り当てられています。

呼び出すと、次のようなポップアップ・ウィンドウが表示されます。
1. Storage DSECT Mapping Entry 画面の例
  File  View  Services  Help
┌─────────────────────────── Storage DSECT Mapping ───────────────────────────┐
│                                                                             │
│ Enter the name of the Dsect in the Dsect Name field to be used to map the   │
│ storage address provided in the Address field. Press PF4 to display a list  │
│ of all available Dsects.  Optionally a specific Dsect can be used by        │
│ supplying a Dataset and Member name in the DSN field.  In this case if a    │
│ Dsect name is not provided it will be made equal to the member name.        │
│                                                                             │
│ Address                                                                     │
│ Dsect Name                                                                  │
│ DSN  . . .                                                                  │
│                                                                             │
│                                                                             │
│  F1=Help     F3=Exit    F12=Cancel                                          │
└─────────────────────────────────────────────────────────────────────────────┘
  First Operand Address . . : 0002A120 (3808 bytes of storage addressable)
  First Operand Length. . . : 8
  First Operand Storage . . : 00000000 0986888C   *.....fh.*
  Second Operand Address. . : 0002A110 (3824 bytes of storage addressable)
  Second Operand Length . . : 4
  Second Operand Storage. . : C1C2C3CF   *ABC.*
 F1=Help      F3=Exit      F5=RptFind   F6=Actions   F7=Up        F8=Down
F10=Left     F11=Right
注: ポイント・アンド・シュート・フィールドのアドレス上にカーソルがあるときに DSECT コマンドを発行した場合、ポップアップ画面のアドレスは、そのアドレスで自動的に初期化されます。

開始アドレス (まだ入力済みでない場合)、およびストレージ域のマッピング時に使用する DSECT の名前を入力できます。Address フィールドは 64 ビット対応です。詳しくは、64 ビット・アドレスの指定を参照してください。

DSECT の名前は次のいずれかの方法で提供できます。

  1. DSECT 名のみを入力します。この場合、一致する IDIDSECT 連結が検索されます (詳細については、IDIDSECT 連結を参照)。要求された DSECT が IDIDSECT 連結に複数ある場合、PF4 を押し、選択可能なすべての DSECT のリストから適切なものを選択します。「S」を使用すると DSECT をリストから選択でき、「E」を使用すると編集できます。
  2. 指定された DSECT が保管されたデータ・セットおよびメンバー名を入力します。DSECT 名が指定されない場合、PDS または PDSE メンバー名と同様の名前がデフォルトとして使用されます
有効なストレージ・アドレスおよび DSECT 名が指定されると、次の例のようにストレージはマップされて表示されます。
2. Storage DSECT Mapping Map 画面の例
   File  View  Services  Help
 ───────────────────────────────────────────────────────────────────────────────
 Dsect mapping for DFHCSADS at address 4de20                    Line 1 Col 1 80
 Command ===> ________________________________________________ Scroll ===> CSR 
 
 CICS DUMP: SYSTEM=QXPM2C61 CODE=ASRA     ID=      MVS2     2019/06/25 13:47:55

 0004DE20 +0000                                     DSECT DFHCSADS
                                                    DFHCSABA EQU   *
 0004DE20 +0000 00000248 0000D0A0 17EB4D00 983C1ECE
                80BF4DA8 80800000 18685160 18642330
                000003FD 18973FB8 00000BAF 00000000
                983C1A40 18973000 18685160 18684B70
                00051D80 17F90680                   CSAOSRSA DS    18F
                                                    CSASOSI  DS    0B
 0004DE68 +0072 00                                  CSASSI1  DS    B
                                                    CSAFPURG EQU   X'80'
                                                    CSAFTCAB EQU   X'40'
                                                    CSASDTRN EQU   X'20'
                                                    CSACSDOP EQU   X'02'
                                                    CSASOSON EQU   X'01'
                                                    CSAKCMI  DS    0B
 0004DE69 +0073 10                                  CSASSI2  DS    B
  F1=Help      F3=Exit      F5=RptFind   F6=Actions   F7=Up        F8=Down
 F10=Left     F11=Right

さらに DSECT 情報を表示する必要がある場合は、上下左右にスクロールします。

PF3 を押すと、Storage DSECT Mapping Map 画面から戻ります。

IDISYSLB 連結

DSECT コマンドと IDIPDSCU ユーティリティーはどちらも内部的に ADATA を生成するアセンブラーを使用します。ADATA はフィールド名とオフセットを決定するために使用されます。アセンブラーが使用する syslib DD は、ソース DSECT と同じデータ・セットに動的に割り振られます。ただし、この割り振りは、アセンブラー・マクロを使用して DSECT を生成し、そのマクロが DSECT データ・セットに存在しない場合、不十分に実行される可能性があります。このような状況に対応するために、追加の syslib データ・セットを IDISYSLB DD に割り振ることで指定できます。

例えば、データ・セット MY.DSECTS には、CICS DFHSIT DSECT を生成するための 1 つのメンバー CICSSIT が含まれます。


    000001 * GENERATE THE CICS DFHSIT DSECT
    000002          DFHSIT TYPE=DSECT      
    000003          END            
  

DSECT コマンドまたは IDIPDSCU ユーティリティーでこのデータ・セットまたはメンバーを使用しても、DFHSIT マクロが解決されないため、使用可能な DSECT は生成されません。このため、IDISYSLB DD を使用できます。例:


    //UTIL1    EXEC PGM=IDIPDSCU,PARM=('MY.DSECTS')            
    //SYSPRINT DD   SYSOUT=*                                   
    //SYSPUNCH DD   SYSOUT=*                                   
    //IDISYSLB   DD DISP=SHR,DSN=CICS.TS61.CICS.SDFHMAC  
  

対話式再分析中に DSECT コマンドを使用する場合、または ISPF で IDIPDSCU を使用する場合は、次の TSO ALLOCATE コマンドを使用します。

ALLOCATE FILE(IDISYSLB) DS('CICS.TS61.CICS.SDFHMAC') SHR