関連 ID 基準の編集

関連 ID 基準 (すなわち、物理レコード内であらかじめ別のセグメント内に存在するセグメント・レイアウトの ID 基準) を使用してセグメント化レコードを処理する場合、以下のようにしてテンプレート内で関連 ID 基準を編集できます。

  1. 「Template Workbench (テンプレート・ワークベンチ)」パネルの「Template (テンプレート)」セクションにある「Data set name (データ・セット名)」フィールドに、既存のセグメント化データ用テンプレートを保管するデータ・セットの名前を入力します。

    テンプレートは PDS または PDSE データ・セットに保管できますが、CA-Panvalet ライブラリーや、Library Management System Exit がアクセスするライブラリーには保管できません。

    これが分かっている場合は、テンプレートのメンバー名を関係のあるフィールドに入力するか、あるいはメンバー名にブランクまたはパターンを指定して、メンバー選択リストを表示させます。次に、リストから必要なメンバーを選択できます。

    ⋮
    
     Template:
        Data set name . 'FMN.RFM0569.PDSE'                                          
        Member  . . . . TMPLB1  
  2. コマンド行に E コマンドを入力し、Enter キーを押します。

    File Manager が、テンプレートの各レベル 01 レイアウトがリストされた「ecord Type Selection (レコード・タイプ選択)」パネルを表示します。

      Process   Options   Help
     ──────────────────────────────────────────────────────────────────────────────
     File Manager                Record Type Selection                  Line 1 of 9
    
     Processing Option:    Template for segmented data
     Cmd SIE Field Name                                       Prompt   Offset Length
             ****  Top of data  ****
         S   HEADER-01                                                      0     20
         S   HEADER-02                                                      0     20
         S   HEADER-03                                                      0     20
         S   DETAIL-0101                                                    0     30
         S   DETAIL-0102                                                    0     30
         S   DETAIL-0103                                                    0     30
         S   DETAIL-0201                                                    0     30
         S   DETAIL-0202                                                    0     30
         S   DETAIL-0203                                                    0     30
             ****  End of data  ****
    
    
    
    
     Command ===>                                                       Scroll CSR 
      F1=Help      F2=Split     F3=Exit      F4=CRetriev  F5=RFind     F6=RunTemp
      F7=Up        F8=Down      F9=Swap     F12=Cancel
  3. 「Template for segmented data (セグメント化データ用のテンプレート)」オプションを選択します (現在選択解除されている場合)。
  4. 関連 ID 基準 (別のセグメントで保持されているもの) を指定するレイアウト用の「Cmd」フィールドに E 接頭部コマンドを入力します。
      Process   Options   Help
     ──────────────────────────────────────────────────────────────────────────────
     File Manager                Record Type Selection                  Line 1 of 9
    
     Processing Option: /  Template for segmented data
     Cmd SIE Field Name                                       Prompt   Offset Length
             ****  Top of data  ****
         S   HEADER-01                                                      0     20
         S   HEADER-02                                                      0     20
         S   HEADER-03                                                      0     20
     E   S   DETAIL-0101                                                    0     30
         S   DETAIL-0102                                                    0     30
         S   DETAIL-0103                                                    0     30
         S   DETAIL-0201                                                    0     30
         S   DETAIL-0202                                                    0     30
         S   DETAIL-0203                                                    0     30
             ****  End of data  ****
    ⋮
  5. [Enter] を押します。

    File Manager が、選択したレイアウトを示す「Field Selection/Edit (フィールド選択/編集)」パネルを表示します。

      Process   Options   Help
     ──────────────────────────────────────────────────────────────────────────────
     File Manager                 Field Selection/Edit                  Line 1 of 6
    
     ---Criteria - Enter 0 - Related ID expression, 1 or 2 - expression by field---
     0 Rid:                                                                       +
     1 Id :                                                                       +
     2 Sel: 0                                                                     +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 DETAIL-0101                                 AN      1     30
                   2   2 SUBTYPE-FIELD                              AN      1      9
                   3    3 SUBTYPECONST                    X(7)      AN      1      7
                   4    3 TYPEREC                         X(2)      AN      8      2
                   5   2 DETAILTEXT01                               AN     10     21
                   6    3 DETAIL01-01                     X(21)     AN     10     21
                      ****  End of data  ****
    
    
    
     Command ===>                                                       Scroll CSR 
      F1=Help      F2=Split     F3=Exit      F4=Expand    F5=RFind     F6=RunTemp
      F7=Up        F8=Down      F9=Swap     F10=Left     F11=Right    F12=Cancel
    注:
    1. パネル上部にある「0 Rid」行は、(前に関連 ID 式を指定しない限り) ブランクです。
    2. 処理オプションを選択すると、ID 基準と関連 ID 基準との論理和演算を実行できます。
  6. 関連 ID 式を入力または編集するには、コマンド行で「0」(ゼロ) を入力し、Enter キーを押します。
    選択したレイアウトについて、File Manager は、テンプレートの他のレベル 01 レイアウトをリストする「RID Selection (RID 選択)」パネルを表示します。
      Process   Options   Help
     ──────────────────────────────────────────────────────────────────────────────
     File Manager           RID Selection for DETAIL-0101               Line 1 of 8
    
     E against layouts to specify related id criteria
     Cmd SIE Field Name                                       Prompt   Offset Length
             ****  Top of data  ****
         SI  HEADER-01                                                      0     20
         SI  HEADER-02                                                      0     20
         S   HEADER-03                                                      0     20
         SI  DETAIL-0102                                                    0     30
         S   DETAIL-0103                                                    0     30
         S   DETAIL-0201                                                    0     30
         S   DETAIL-0202                                                    0     30
         S   DETAIL-0203                                                    0     30
             ****  End of data  ****
    
    
    
    
    
     Command ===>                                                       Scroll CSR 
      F1=Help      F2=Split     F3=Exit      F4=CRetriev  F5=RFind     F6=RunTemp
      F7=Up        F8=Down      F9=Swap     F12=Cancel
  7. 関連 ID 基準が保持されているレイアウト用の「Cmd」フィールドに E 接頭部コマンドを入力します。
    ⋮
    
     Cmd SIE Field Name                                       Prompt   Offset Length
             ****  Top of data  ****
     E   S   HEADER-01                                                      0     20
         S   HEADER-02                                                      0     20
         S   HEADER-03                                                      0     20
         S   DETAIL-0102                                                    0     30
         S   DETAIL-0103                                                    0     30
         S   DETAIL-0201                                                    0     30
         S   DETAIL-0202                                                    0     30
         S   DETAIL-0203
    ⋮
  8. [Enter] を押します。

    File Manager が、選択したレイアウトを示す「Related ID expression (関連 ID 式)」パネルを表示します。

      Process   Options   Help
     ──────────────────────────────────────────────────────────────────────────────
     File Manager    Related Id expression for DETAIL-0101              Line 1 of 7
    
     -------- Criteria - Enter 0 to specify related ID expression by field --------
     0 Rid:                                                                       +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 HEADER-01                                   AN      1     20
                   2   2 ALLGROUP                                   AN      1     20
                   3    3 TYPE-FIELD                                AN      1      8
                   4     4 TYPECONST                      X(6)      AN      1      6
                   5     4 TYPEREC                        X(2)      AN      7      2
                   6    3 HEADERTEXT                                AN      9     12
                   7     4 HEAD01-TEXT                    X(12)     AN      9     12
                      ****  End of data  ****
    
    
     Command ===>                                                       Scroll CSR 
      F1=Help      F2=Split     F3=Exit      F4=Expand    F5=RFind     F6=RunTemp
      F7=Up        F8=Down      F9=Swap     F10=Left     F11=Right    F12=Cancel
    注: 処理オプションを選択すると、関連基準と別の関連 ID との論理和演算を実行できます。
  9. 「Related ID expression (関連 ID 式)」パネル上部の「0 Rid」行で、関連 ID 式を指定 (または編集) します。または、コマンド行で「0」(ゼロ) を入力してから Enter キーを押して、フィールドごとの関連 ID 式を指定します。

    一般に、関連 ID 式は、関連 ID を保持するレイアウト内のフィールド、およびフィールドに含まれる値を示します。

      Process   Options   Help
     ──────────────────────────────────────────────────────────────────────────────
     File Manager    Related Id expression for DETAIL-0101              Line 1 of 7
    
     -------- Criteria - Enter 0 to specify related ID expression by field --------
     0 Rid: #5='01'                                                               +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 HEADER-01                                   AN      1     20
                   2   2 ALLGROUP                                   AN      1     20
                   3    3 TYPE-FIELD                                AN      1      8
                   4     4 TYPECONST                      X(6)      AN      1      6
                   5     4 TYPEREC                        X(2)      AN      7      2
                   6    3 HEADERTEXT                                AN      9     12
                   7     4 HEAD01-TEXT                    X(12)     AN      9     12
                      ****  End of data  ****
    
    
     Command ===>                                                       Scroll CSR 
      F1=Help      F2=Split     F3=Exit      F4=Expand    F5=RFind     F6=RunTemp
      F7=Up        F8=Down      F9=Swap     F10=Left     F11=Right    F12=Cancel
  10. 「Exit」機能キー (F3) を押して、「RID Selection (RID 選択)」パネルに戻ります。
  11. 「Exit」機能キー (F3) を再度押して、「Field Selection/Edit (フィールド選択/編集)」パネルに戻ります。
      Process   Options   Help
     ──────────────────────────────────────────────────────────────────────────────
     File Manager                 Field Selection/Edit                  Line 1 of 6
    
     ---Criteria - Enter 0 - Related ID expression, 1 or 2 - expression by field---
     0 Rid: SEG(HEADER-01):#5: TYPEREC    ='01'                                   +
     1 Id :                                                                       +
     2 Sel: 0                                                                     +
     Offset      0           Enter "/" to OR with related ID
    
                      ****  Top of data  ****
                   1  1 DETAIL-0101                                 AN      1     30
                   2   2 SUBTYPE-FIELD                              AN      1      9
                   3    3 SUBTYPECONST                    X(7)      AN      1      7
                   4    3 TYPEREC                         X(2)      AN      8      2
                   5   2 DETAILTEXT01                               AN     10     21
                   6    3 DETAIL01-01                     X(21)     AN     10     21
                      ****  End of data  ****
    
    
    
     Command ===>                                                       Scroll CSR 
      F1=Help      F2=Split     F3=Exit      F4=Expand    F5=RFind     F6=RunTemp
      F7=Up        F8=Down      F9=Swap     F10=Left     F11=Right    F12=Cancel

    これで、「Field Selection/Edit (フィールド選択/編集)」パネル上部の「0 Rid」行に、関連 ID 式が表示されます。

  12. 「1 Id」行と「2 Sel」行で、フィールドごとのレコード ID 基準とレコード選択基準 (あるいはいずれか) を必要に応じて指定します。
      Process   Options   Help
     ──────────────────────────────────────────────────────────────────────────────
     File Manager                 Field Selection/Edit                  Line 1 of 6
    
     ---Criteria - Enter 0 - Related ID expression, 1 or 2 - expression by field---
     0 Rid: SEG(HEADER-01):#5: TYPEREC    ='01'                                   +
     1 Id : #4='01'                                                               +
     2 Sel: 0                                                                     +
     Offset      0           Enter "/" to OR with related ID
    
    ⋮
  13. SEGNO() 関数および SEGCNT() 関数を使用したセグメントの識別
    SEGNO 関数および SEGCNT 関数は、処理中の現在のセグメント番号および特定セグメントが過去に出現した回数を確認できる仕組みを提供します。
    SEGNO()
    現在のセグメント番号を戻します。
    SEGCNT('01 field-name')
    指定された 01 field name を使用して、セグメントが過去に出現した回数を戻します。

    SEGNO 関数および SEGCNT 関数は、フリー・フォーマットの式でのみ指定できます。

    使用法の例:

    例えば、最初のセグメントを使用して後に続く A、B、C、または D のセグメントを識別できる次のようなサンプル・データについて考えます。

    ⋮
            Col 1       Insert Length 8160            Record AT TOP     Format CHAR
            ----+----10---+----2----+----3----+----4----+----5----+----6----+----7--
     ****** ****  Top of data  ****
     000001 1234AsegBsegBsegCsegCsegCsegDsegDsegDsegDseg
     000002 0202BsegBsegDsegDseg
     000003 1232AsegBsegBsegCsegCsegCsegDsegDseg
     ****** ****  End of data  ****
    ⋮

    上記のデータは、次のテンプレートを使用してマップできます。

    File Manager                Record Type Selection                  Line 1 of 2
    
     Processing Option:    Template for segmented data
     Cmd SIE Field Name                                       Prompt   Offset Length
             ****  Top of data  ****
      e  SI  SEG-HDR                                                        0      4
      e  SI  SEG-A                                                          0      4
      e  SI  SEG-B                                                          0      4
      e  SI  SEG-C                                                          0      4
      e  SI  SEG-D                                                          0      4
             ****  End of data  ****
    ⋮

    セグメントごとに基準を調べます。

    ヘッダー・セグメント segno() = 1 は、それが常にレコードの最初のセグメントになるようにします。

    File Manager                 Field Selection/Edit                  Line 1 of 5
    
     ---Criteria - Enter 0 - Related ID expression, 1 or 2 - expression by field---
     0 Rid:                                                                       +
     1 Id : segno()=1                                                             +
     2 Sel:                                                                       +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 SEG-HDR                                     AN      1      4
                   2   2 SEG-NUM-A                        9         ZD      1      1
                   3   2 SEG-NUM-B                        9         ZD      2      1
                   4   2 SEG-NUM-C                        9         ZD      3      1
                   5   2 SEG-NUM-D                        9         ZD      4      1
                      ****  End of data  ****
    ⋮
    注: セグメント・ヘッダーには、引き続き出現するセグメントごとの数が含まれています。

    セグメント A: 過去の出現回数をヘッダー内の値と比較する関連式に注目してください。

    File Manager                 Field Selection/Edit                  Line 1 of 3
    
     ---Criteria - Enter 0 - Related ID expression, 1 or 2 - expression by field---
     0 Rid: SEG(SEG-HDR):segcnt('seg-a') < #2: SEG-NUM-A                          +
     1 Id :                                                                       +
     2 Sel:                                                                       +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 SEG-A                                       AN      1      4
                   2   2 SEG-TYPE                         X(1)      AN      1      1
                   3   2 SEG-DATA                         X(3)      AN      2      3
                      ****  End of data  ****
    ⋮
    File Manager           RID Selection for SEG-A                     Line 1 of 4
    
     E against layouts to specify related id criteria
     Cmd SIE Field Name                                       Prompt   Offset Length
             ****  Top of data  ****
     e   SI  SEG-HDR                                                        0      4
         SI  SEG-B                                                          0      4
         SI  SEG-C                                                          0      4
         SI  SEG-D                                                          0      4
             ****  End of data  ****
    ⋮

    [Enter] を押します。

    File Manager    Related Id expression for SEG-A                    Line 1 of 5
    
     -------- Criteria - Enter 0 to specify related ID expression by field --------
     0 Rid: segcnt('seg-a') < #2                                                  +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 SEG-HDR                                     AN      1      4
                   2   2 SEG-NUM-A                        9         ZD      1      1
                   3   2 SEG-NUM-B                        9         ZD      2      1
                   4   2 SEG-NUM-C                        9         ZD      3      1
                   5   2 SEG-NUM-D                        9         ZD      4      1
                      ****  End of data  ****
    ⋮
    注: SEGCNT を使用し、そこから得られた結果をヘッダーに含まれる値と比較することで、出現が確認されたセグメント A の数をヘッダーの値を使用して確実に決定できるようにします。

    セグメント B、SEG-C、および SEG-D は、次のような式によってすべて定義されます。

    File Manager    Related Id expression for SEG-B                    Line 1 of 5
    
     -------- Criteria - Enter 0 to specify related ID expression by field --------
     0 Rid: segcnt('seg-b') < #3                                                  +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 SEG-HDR                                     AN      1      4
                   2   2 SEG-NUM-A                        9         ZD      1      1
                   3   2 SEG-NUM-B                        9         ZD      2      1
                   4   2 SEG-NUM-C                        9         ZD      3      1
                   5   2 SEG-NUM-D                        9         ZD      4      1
                      ****  End of data  ****
    ⋮
    File Manager    Related Id expression for SEG-C                    Line 1 of 5
    
     -------- Criteria - Enter 0 to specify related ID expression by field --------
     0 Rid: segcnt('seg-c') < #4                                                  +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 SEG-HDR                                     AN      1      4
                   2   2 SEG-NUM-A                        9         ZD      1      1
                   3   2 SEG-NUM-B                        9         ZD      2      1
                   4   2 SEG-NUM-C                        9         ZD      3      1
                   5   2 SEG-NUM-D                        9         ZD      4      1
                      ****  End of data  ****
    ⋮
    File Manager    Related Id expression for SEG-D                    Line 1 of 5
    
     -------- Criteria - Enter 0 to specify related ID expression by field --------
     0 Rid: segcnt('seg-d') < #5                                                  +
     Offset      0           Enter "/" to OR with related ID
     Cmd Seq SHE Ref  Field Name                          Picture  Type Start Length
                      ****  Top of data  ****
                   1  1 SEG-HDR                                     AN      1      4
                   2   2 SEG-NUM-A                        9         ZD      1      1
                   3   2 SEG-NUM-B                        9         ZD      2      1
                   4   2 SEG-NUM-C                        9         ZD      3      1
                   5   2 SEG-NUM-D                        9         ZD      4      1
                      ****  End of data  ****
    ⋮

    セグメント化テンプレートを使用してデータを表示すると、次に示すように、ヘッダー・セグメントを使用して後続のセグメントの数を決定している様子を確認できます。

    ⋮
     View             FMN.RFM0757.SEGTEST(SEG2)                         Top of 3
                                                      Record AT TOP     Format TABL
            SEG-NUM-A SEG-NUM-B SEG-NUM-C SEG-NUM-D
                   #2        #3        #4        #5
               ZD 1:1    ZD 2:1    ZD 3:1    ZD 4:1
                   <>        <>        <>        <>
     ****** ****  Top of data  ****
     000001         1         2         3         4
     - - -  - - -1- - - SEG-A - - - - - - - - - - - - - 1 Line(s) suppressed
     - - -  - - -1- - - SEG-B - - - - - - - - - - - - - 2 Line(s) suppressed
     - - -  - - -1- - - SEG-C - - - - - - - - - - - - - 3 Line(s) suppressed
     - - -  - - -1- - - SEG-D - - - - - - - - - - - - - 4 Line(s) suppressed
     000002         0         2         0         2
     - - -  - - -2- - - SEG-B - - - - - - - - - - - - - 2 Line(s) suppressed
     - - -  - - -2- - - SEG-D - - - - - - - - - - - - - 2 Line(s) suppressed
     000003         1         2         3         2
     - - -  - - -3- - - SEG-A - - - - - - - - - - - - - 1 Line(s) suppressed
     - - -  - - -3- - - SEG-B - - - - - - - - - - - - - 2 Line(s) suppressed
     - - -  - - -3- - - SEG-C - - - - - - - - - - - - - 3 Line(s) suppressed
     - - -  - - -3- - - SEG-D - - - - - - - - - - - - - 2 Line(s) suppressed
    ⋮