■  COUNTサンプル


COUNTを使うと、条件にあったレコードの件数を表示してくれます。
結果は、TOOLMSGのDDに表示されます。
その1〜もっとも簡単な例(レコード件数表示)

//STEP01EXECPGM=ICETOOL
//TOOLMSGDDSYSOUT=*
//DFSMSGDDSYSOUT=*
//IN1DD*
0000100001ABCDEFG
0000100001ABCDEFG
0000100002ZZZZZZZ
0000100003ZZZZZZZ
0000100004ZZZZZZZ
//TOOLINDD*
 COUNT  FROM(IN1)

     実行結果

 ICE628I 0 RECORD COUNT:   000000000000005

※大量データのデータセットをTSOでBROWSEすると時間がかかってしまいますが、上記のJOBを実行すると一瞬で件数がわかります。



その2〜条件にあった件数を表示する例

//STEP01EXECPGM=ICETOOL
//TOOLMSGDDSYSOUT=*
//DFSMSGDDSYSOUT=*
//IN1DD*
0000100001ABCDEFG
0000100001ABCDEFG
0000100002ZZZZZZZ
0000100003ZZZZZZZ
0000100004ZZZZZZZ
//CTL1CNTLDD*
  INCLUDE  COND=(11,3,CH,EQ,'ABC')
//TOOLINDD*
 COUNT  FROM(IN1)  USING  (CTL1)

     実行結果

 ICE628I 0 RECORD COUNT:   000000000000002

CTL1のデータセットに条件を記述しておきます。
CTL1のDD名は、USINGで指定した名前+CNTLです。
※条件の記述の仕方は、DFSORTの条件と同じです。OUTREC指定時に使用するINCLUDE=の記述じゃないので注意!



その3〜そのほかのキーワード

COUNT  FROM(IN1)  EMPTY入力データが0件の時RC=12、 0件でない時RC=0
COUNT  FROM(IN1)  HIGHER(n)入力データがn件より多い時RC=12、n件以下の時RC=0
COUNT  FROM(IN1)  LOWER(n)入力データがn件より少ない時RC=12、n件以上の時RC=0
COUNT  FROM(IN1)  EQUAL(n)入力データがn件の時RC=12、 n件以外の時RC=0
COUNT  FROM(IN1)  NOTEQUAL(n)入力データがn件以外の時RC=12 n件の時RC=0





BEFORE PAGE

TOP PAGE