JCL の DBUTIL コマンド

DBUTIL コマンドは JCL から実行し、IMS で BMP タイプのプログラムとして実行されます。

構文:

//stepname PGM=pgmname,PARM=(BMP,DBUTIL,psbname)
//SYSIN      DD *
jobcardstatements

パラメーター:

psbname
IMS データベースの PSB 名。DBUTIL は他のアプリケーションと同様に DL/I 呼び出しを発行するため、PCB は、制御文ファイルによって適用される呼び出しの適切な処理オプションを指定する必要があります。
DLIcall
psbname によって指定される IMS データベースに適用する DL/I 呼び出し。
DBUTILspecialfunction
psbname によって指定される IMS データベースに適用する DBUTIL 特殊関数。
jobcardstatements
これらの文には、DL/I データベース呼び出しまたは DBUTIL 特殊関数 (あるいはその両方) が含まれます。各文は次のようにフォーマットされる必要があります。
列 1 から 4
位置 1 から 4 には DL/I 呼び出し関数または DBUTIL 特殊関数が含まれます。サポートされるあらゆる DL/I データベース呼び出し、たとえば GHU、REPL、DLET、ISRT などを指定するか、または DBUTIL 特殊関数を指定することができます。特殊関数のリストおよびそれぞれの説明については、「DBUTIL 特殊関数」を参照してください。
列 5
列 5 の空白でない文字は、次の行がその行の継続であることを示します。この行は、グループ化され 1 つの DL/I 呼び出しを形成するレコードのセットの 1 つになります。この継続を使用して IO 関数レコードを続けることはできません。
列 6 から 32768
次のような関数と関連付けられるデータです。
  • DL/I 呼び出し関数およびその継続レコードでは、これは SSA です。
  • IO 関数では、これは ISRT、REPL、DLET 呼び出しの入出力領域です。可変長セグメントは、長さコードをデータ セグメントの最初の 2 バイトとして含む必要があります。
  • DBUTIL 特殊関数では、これは関数に必要となる任意のデータです。
ジョブ カード文の例
*Record Columns
*---+----10---+----20---+----30---+----40
*Set the PCB number
PCB= 03
*
*Issue get unique call with one SSA
GU   TESTSEG1
*
*Issue get unique call with three SSAs.
*(Note the continuation)
GU  XTESTSEG1*-(SEGKEY01 =10)
    XTESTSEG2*-(SEGKEY02 =20)
     TESTSEG3*-(SEGKEY03 =2000)
*
*Issue insert call with SSAs
ISRTXTESTSEG1*--(SEQFIELD =AA)
    XTESTSEG2*--(SEQFIELD =BBBB)
    XTESTSEG3
IO   NEWSEGMENTDATA

DBUTIL の JCL の例

//DBUTILTEST  EXEC PGM=DFSRRC00,PARM=(BMP,DBUTIL,SASTEST)
//SYSOUT     DD SYSOUT=*
//IMSTRACE   DD SYSOUT=*
//SYSIN      DD *
PCB= 02
ISRTXPOF0ROOT
IO   000000000000000000000000100 POF0ROOT 100
ISRTXPOF0LEG
IO   0100 POF0LEG 0100
ISRTXPOF0ALOD
IO   000000000000000000000000001 POF0ALOD 1
ISRTXPOF0ALOD
IO   000000000000000000000000002 POF0ALOD 2
ISRTXPOF0ALOD
IO   000000000000000000000000003 POF0ALOD 3
ISRTXPOF0COMP
IO   00000 POF0COMP 0 CORRECT
ISRTXPOF0COMP
IO   00001 POF0COMP 1 WRONG
ISRTXPOF0COMP
IO   00002 POF0COMP 2
ISRTXPOF0COMP
IO   00003 POF0COMP 3
ISRTXPOF0LEG
IO   0200 POF0LEG 0200
ISRTXPOF0ROOT
IO   000000000000000000000000200 POF0ROOT 200
PCB= 02
FREE
GU   XPOF0ROOT*D--(POFKEY   =000000000000000000000000100)
        XPOF0LEG *PD-(LEGNO    =0100)
          POF0ALOD*---
GNP  POF0ALOD*---
GNP  POF0ALOD*---
GNP  POF0ALOD*---
GNP  POF0COMP*F--(COMPKEY  >     )
/*
//*