UNLOAD (表)

UNLOAD (表) ユーティリティーを使用して、データを順次データ・セットにアンロードします。既存のデータを新規のデータと置き換えるか、またはデータ・セット内にすでにあるデータに新規のデータを追加するかを 選択できます。UNLOAD (表) ユーティリティーは、データ・セットに大容量データを追加する 最も効率的な方法を提供します。

UNLOAD ユーティリティーを使用したときには、以下のことが可能です。
  • テンプレートの必要な列を指定することによって、アンロードすべき列を選択する。
  • アンロード中に、表の列を出力データ・セットのフィールドに (テンプレートで指定されたとおりに) マップすることによって、データを再形式設定する。
  • アンロードされたデータを記述する File Manager Base component テンプレートを作成して、保存する。
  • アンロードする行を選択する。
  • アンロードする行数を指定する。

生成された UNLOAD ステートメントに PUNCHDDN 文節を組み込むには、2 番目の「TEMPLATE Options (TEMPLATE オプション)」パネルの「PUNCHDDN template name (PUNCHDDN テンプレート名)」に必須テンプレート名を指定します

生成された UNLOAD ステートメントに UNLDDN 文節を組み込むには、2 番目の「TEMPLATE Options (TEMPLATE オプション)」パネルの「UNLDDN template name (UNLDDN テンプレート名)」に必須テンプレート名を指定します。

以下の説明は、「Db2®Utilities (ユーティリティー)」パネルで LISTDEF の名前を指定しなかった場合に適用されます。「Db2® Utilities (Db2 ユーティリティー)」パネルで LISTDEF の名前を指定した場合は、LISTDEF が指定された UNLOAD (表) を参照してください。

「UNLOAD Utility (Tables) (UNLOAD ユーティリティー (表))」パネルで、以下のようにします。

  1. Db2®Utilities (ユーティリティー)」パネルで入力した、表名の詳細は 「UNLOAD Utility (Tables) (UNLOAD ユーティリティー (表))」パネルにコピーされます。ソース表の行のすべてはアンロードしないという場合には、 アンロードする行数を「Unload Count (アンロード・カウント)」フィールドに 指定します。
  2. ソース表に対して特定のテンプレートを使用する場合には、そのテンプレートの名前を 「From Template (元テンプレート)」の入力フィールドに指定します。
  3. 「Processing Options (処理オプション)」で、FM/Db2 がソース表に使用するテンプレートを指定し、FM/Db2 がユーティリティー・バッチ・ジョブを作成する前にテンプレートを編集するかどうかを指定します。
  4. 次に進むには、Enter キーを押してください。
    「Edit template (テンプレートの編集)」オプションを選択した場合、FM/Db2 は「Column Selection/Edit (列の選択/編集)」パネルを表示します。このパネルは、次のようにして、ソース表のデータを制限するために使用します。
    • アンロードに対して特定の列を選択または選択解除する。
    • row selection criteria (行選択基準) を指定する。FM/Db2 は、アンロードの基準を満たす内容の 行のみを選択します。
    例えば、行選択基準および選択済み列を示す基本「Column Selection/Edit (列選択/編集)」パネル に示されているテンプレートは、一定の列と、一定の基準を満たす内容を持つ行のみとを選択するように編集されたものです。このテンプレートをアンロード テンプレートとして使用すると、アンロードされるデータは、 以下のものに制限されます。
    • 列「FIRSTNME」、「LASTNAME」、「WORKDEPT」、「JOB」。ただし、 WORKDEPT が「MNT」と等しく、JOB が「PAINTER」と等しい場合のみ。
    1. 行選択基準および選択済み列を示す基本「Column Selection/Edit (列選択/編集)」パネル
       Process   Options   Utilities   Help
     ────────────────────────────────────────────────────────────────────────────────
     FM/Db2 (DFG2)               Column Selection/Edit                 Line 1 of 16
     TABLE FMNUSER.EMP
     ------- Row Selection Criteria ---- (Use SQL/PF4 for full screen edit) -------
     1 Sel: WHERE WORKDEPT = 'MNT' AND JOB = 'PAINTER'                            +
    
     Cmd Seq SHEX CL# Column name          Data type(length)  Null Default  Order A/D
                      ****  Top of data  ****
                    1 EMPNO                CHARACTER(6)            None             
             S      2 FIRSTNME             VARCHAR(12)             None             
                    3 MIDINIT              CHARACTER(1)            None             
             S      4 LASTNAME             VARCHAR(15)             None             
             S      5 WORKDEPT             CHARACTER(3)        Y   Null             
                    6 PHONENO              CHARACTER(4)        Y   Null             
                    7 HIREDATE             DATE                Y   Null             
             S      8 JOB                  CHARACTER(8)        Y   Null             
                    9 EDLEVEL              SMALLINT            Y   Null             
                   10 SEX                  CHARACTER(1)        Y   Null             
                   11 BIRTHDATE            DATE                Y   Null             
                   12 SALARY               DECIMAL(9,2)        Y   Null             
      Command ===> _____________________________________________________ Scroll PAGE
       F1=Help      F2=Split     F3=Exit      F4=SQL       F5=RFind     F6=RunTemp
       F7=Up        F8=Down      F9=Swap     F10=Left     F11=Right    F12=Cancel
    「Column Selection/Edit (列の選択/編集)」オプションを選択しなかった場合、(またはテンプレート・オプションの編集を完了している場合)、 および「TEMPLATE Options (2 of 2) (TEMPLATE オプション (2 の 2))」の「UNLDDN template name (UNLDDN テンプレート名)」フィールドの値がブランクで ある場合、FM/Db2 は「 (UNLOAD Utility (UNLOAD ユーティリティー)」の To (宛先) パネルを表示します。
    注: 「UNLDDN template name (UNLDDN テンプレート名)」フィールドがブランクである場合、出力が既に定義されているため、FM/Db2 は「UNLOAD Utility (UNLOAD ユーティリティー)」の To (宛先) パネルを表示しません。
  5. 現在のバッチ・ジョブの作成で FM/Db2 が使用する UNLOAD オプションの設定を一時的に変更するには、「Edit UNLOAD utility options (UNLOAD ユーティリティー・オプションの編集)」を選択して、「UNLOAD Options (UNLOAD オプション)」パネルを表示します。

    元の設定のいずれかを変更した場合、変更が有効であるのは、 設定を変更した Db2® ユーティリティー UNLOAD 機能を使用している間だけです。「UNLOAD Utility (Tables) (UNLOAD ユーティリティー (表))」パネルを終了して、あとでこのパネルに戻ると、 前の UNLOAD セッションで変更した設定は使用不可になります。

  6. 「UNLOAD Utility (UNLOAD ユーティリティー)」の「To (宛先)」パネルで、「Data set name (データ・セット名)」入力フィールド、およびオプションで「Volume (ボリューム)」入力フィールドを使用して宛先データ・セットの詳細を入力することで、アンロードのターゲットである順次データ・セットを指定します。
  7. 宛先データ・セットに対して特定のテンプレートまたはコピーブックを使用する場合は、テンプレートまたはコピーブック・データ・セットの名前と、オプションでメンバー名を、「To Data Template or Copybook (宛先データ・テンプレートまたはコピーブック)」入力フィールドに指定します。

    Db2® UNLOAD ユーティリティーで使用されるデータ形式は固定です。そのため、コピーブックまたはテンプレート・データ・セットを指定する場合は、データの不一致の問題を回避するために、そのコピーブックまたはテンプレートは Db2® UNLOAD データ形式を反映する必要があります。

    Db2® アンロード・データ・セットに指定するテンプレートは、File Manager Base component テンプレートである必要があります。FM/Db2 テンプレートは使用できません。

    Db2® UNLOAD utility options (Db2 アンロード・ユーティリティー・オプション)」パネルで「Allow padding (充てんを許可)」オプションを選択しない場合は、FM/Db2 はアンロードされたデータを記述するテンプレートを生成できません。この場合、「UNLOAD utility (UNLOAD ユーティリティー)」の「To (宛先)」」パネルの表示時にテンプレートの処理に関連したすべてのフィールドがプロテクトされ、「 template usage (テンプレートの使用法)」オプションは 5 (NONE) に設定されます。

  8. 希望する「 template usage (テンプレート使用法)」および「Disposition (後処理)」オプションを選択します。
  9. Db2® UNLOAD オプションを確認するには、「View UNLOAD options (UNLOAD オプション を表示)」フィールドを選択します。「Db2®UNLOAD utility options (アンロード・ユーティリティー・オプション)」パネルが表示されているときは、変更を行えません。変更を行うには、「Db2®UNLOAD utility From (UNLOAD ユーティリティーの「元」)」パネルに戻り、「Edit UNLOAD options (UNLOAD オプションの編集)」を選択します。
  10. ソース表のテンプレート・マッピングを編集するには、 「Edit template mapping (テンプレート・マッピングの編集)」を選択して、 「Template Mapping (テンプレート・マッピング)」パネルを表示します。
  11. 次に進むには、Enter キーを押してください。

    FM/Db2 は、指定された入力詳細を使用して DDb2®UNLOAD ユーティリティー・ジョブを実行するための バッチ・ジョブを作成します。

    「UNLOAD (Tables) (UNLOAD (表))」用に生成されたサンプル JCL に、表オブジェクトをアンロードするための生成済み JCL の例を示します。
    2. 「UNLOAD (Tables) (UNLOAD (表))」用に生成されたサンプル JCL
       File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help
    ────────────────────────────────────────────────────────────────────────────────
     EDIT       FMNUSER.SPFTEMP1.CNTL                           Columns 00001 00072
     ****** ***************************** Top of Data ******************************
     000001 //FMNUSERB JOB (IBMGSA),
     000002 //             FMNUSER,MSGCLASS=A,
     000003 //             NOTIFY=FMNUSER,CLASS=A,
     000004 //             MSGLEVEL=(1,1)
     000005 //*
     000006 //         JCLLIB ORDER=(DB2V810.DFA2.PROCLIB)
     000007 //*
     000008 //**********************************************************************
     000009 //*
     000010 //* FM/Db2 GENERATED JOB TO UNLOAD A TABLE
     000011 //*
     000012 //**********************************************************************
     000013 //*
     000014 //**********************************************************************
     000015 //* STEP UNLOAD: UNLOAD FROM TABLE
     000016 //*   "FMNUSER"."EMP"
     000017 //**********************************************************************
     000018 //UNLOAD1  EXEC DSNUPROC,SYSTEM=DFA2,UID='FMNUSER'
     000019 //DSNUPROC.STEPLIB  DD DSN=DB2V810.DFA2.SDSNEXIT,DISP=SHR
     000020 //         DD DSN=DB2.V810.SDSNLOAD,DISP=SHR
     000021 //DSNUPROC.SYSREC00 DD DISP=(MOD,CATLG,DELETE),UNIT=SYSALLDA,
     000022 //         BLKSIZE=0,
     000023 //         AVGREC=U,
     000024 //         LRECL=82,RECFM=FB,DSORG=PS,
     000025 //         SPACE=(82,(42,4),RLSE),
     000026 //         DSN=FMNUSER.FRED
     000027 //DSNUPROC.SYSPUNCH DD DISP=(NEW,CATLG,DELETE), UTIL CONTRL DATA
     000028 //         UNIT=SYSALLDA,SPACE=(TRK,(1,1),RLSE),
     000029 //         DSN=FMNUSER.FMNUSER.EMP.D2581536.SYSPUNCH
     000030 //DSNUPROC.SYSIN    DD *
     000031 UNLOAD DATA FROM TABLE
     000032 "FMNUSER"."EMP"
     000033   HEADER NONE
     000034   LIMIT ALL
     000035   (
     000036    "FIRSTNME          " POSITION(1     ) VARCHAR
     000037   ,"LASTNAME          " POSITION(15    ) VARCHAR
     000038   ,"WORKDEPT          " POSITION(33    ) CHAR(3)
     000039   ,"JOB               " POSITION(38    ) CHAR(8)
     000040   ,"BONUS             " POSITION(48    ) DECIMAL
     000041   ,"COMM              " POSITION(66    ) DECIMAL
     000042   )
     000043   WHEN
     000044   (
     000045   "WORKDEPT" = 'MAINT' AND "JOB" = 'PAINTER'
     000046   )
     000047   UNLDDN(SYSREC00)
     000048   NOSUBS
     000049 /*
     ****** **************************** Bottom of Data ****************************
    
     Command ===>                                                  Scroll ===> PAGE
      F1=Help      F2=Split     F3=Exit      F5=Rfind     F6=Rchange   F7=Up
      F8=Down      F9=Swap     F10=Left     F11=Right    F12=Cancel

関連するタスク

関連する参照先