Hitachi

uCosminexus Batch Job Execution Server 使用の手引


3.2.7 プロシジャ内のDD要素の修正方法

プロシジャ内のDD要素の修正では次に示すことができる。

プロシジャ内のDD要素の属性を修正する場合は,プロシジャを呼び出すためのCALL要素に続けて,修正情報を持つREPLACE要素内にDD要素を定義する。このREPLACE要素には,修正したいプロシジャ内のジョブステップ名(プロシジャステップ名)をREPLACESTEPとして定義し,実際に修正の対象となるDD要素の名前(NAME属性),修正する属性,および属性値を記述する。また,属性値を無効にする修正の場合は,値を""で指定する。この修正は,EXEC要素の修正と同じく,プロシジャ内の複数のDD要素および各DD要素に対して複数の属性の修正が指定できる。

プロシジャ中のDD要素は,そのプロシジャが呼び出されたとき,DD要素の修正がすべて完了した時点で排他的関係のチェックをする。

なお,NAME属性に対して属性値の変更を行うことはできない。

〈この項の構成〉

(1) DD要素を修正するための指定方法

(a) 属性値の変更

DD要素の属性値を変更するための指定方法を次に示す。

プロシジャを呼び出したCALL要素に続いて,修正情報を持つREPLACE要素内にDD要素を指定する。

<REPLACE >
  [<REPLACESTEP NAME="修正するプロシジャステップ名">]
    <DD NAME="修正したいDD要素のDD名" 修正する属性="修正する属性値" />
  [</REPLACESTEP>]
</REPLACE>

プロシジャステップを省略した場合,先頭のプロシジャステップが仮定される。

(b) 属性の追加

DD要素の属性を追加するための指定方法を次に示す。

指定方法は「属性値の変更」と同じだが,プロシジャ内のDD要素に指定していない属性を,修正するDD要素に定義することによって追加となる。

<REPLACE >
  [<REPLACESTEP NAME="修正するプロシジャステップ名">]
    <DD NAME="修正したいDD要素のDD名" 追加する属性="追加する属性値" />
  [</REPLACESTEP>]
</REPLACE>

この場合,追加した属性と排他的な関係の属性をプロシジャ内のDD要素に指定していると,追加処理後に背反のチェックをする。

(c) 属性の削除

DD要素の属性を削除するための指定方法を次に示す。

修正する属性の値を空文字列(="")にすることによって,プロシジャ内のDD要素に指定している属性を削除できる。

<REPLACE >
  [<REPLACESTEP NAME="削除するプロシジャステップ名">]
        <DD NAME="削除したいDD要素のDD名" 削除する属性="" />
  [</REPLACESTEP>]
</REPLACE>

(2) プロシジャ内のDD要素を無効化にする場合

DD要素を無効化する場合は,TYPE属性にDUMMYを指定する。ダミーファイルに変更することで,該当するDD要素を無効化できる。なお,無効化されるDD要素にTYPE=DUMMYと背反する属性値が指定されている場合も,TYPE属性値以外の属性値はすべて無視される。

(3) 連結したDD要素の修正

プロシジャ内で連結したDD要素が定義されている場合,その連結を1つのDD要素で置き換えようとすると最初のDD要素だけ置き換わる。連結している残りのDD要素を置き換える場合には,各DD要素に対して,それぞれ置き換え用のDD要素が必要である。置き換えを指定するDD要素はプロシジャ中の連結DD要素と同じ順序とすること。

また,連結DD要素のどれかを変更したくない場合は,置き換えを指定する対応DD要素は,NAME属性だけを指定する。

カタログドプロシジャの例(TEST4.xml)
<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <PROC NAME="TEST4">
    <STEP NAME="STEP00">
      <EXEC PGM="PGMNAME" PARM="123" />
      <DD NAME="DD00" DSN="A" />
      <DD NAME="DD00" DSN="B" />
      <DD NAME="DD00" DSN="C" />
      <DD NAME="DD00" DSN="D" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>
カタログドプロシジャTEST4を呼び出すジョブ定義XML
<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="CALLTEST4" >
    <STEP NAME="PROCCALL">
      <CALL NAME="TEST4" >
        <REPLACE>
          <DD NAME="DD00" />
          <DD NAME="DD00" DSN="X" />
          <DD NAME="DD00" />
          <DD NAME="DD00" DSN="Y" />
        </REPLACE>
      </CALL>
    </STEP>
  </JOB>
</HitachiBatchJobExec>
修正後のDD要素
<DD NAME="DD00" DSN="A" />
<DD NAME="DD00" DSN="X" /> ;修正された
<DD NAME="DD00" DSN="C" />
<DD NAME="DD00" DSN="Y" /> ;修正された

プロシジャ内に定義されている連結されたDD要素のうち,2番目と4番目のDSN属性をそれぞれ"X","Y"に修正して実行することを示している。1番目と3番目のDSN属性は元の"A","C"である。