■ COUNTサンプル
COUNTを使うと、条件にあったレコードの件数を表示してくれます。
結果は、TOOLMSGのDDに表示されます。▲その1~もっとも簡単な例(レコード件数表示)
//STEP01 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN1 DD * 0000100001ABCDEFG 0000100001ABCDEFG 0000100002ZZZZZZZ 0000100003ZZZZZZZ 0000100004ZZZZZZZ //TOOLIN DD * COUNT FROM(IN1)
実行結果
※大量データのデータセットをTSOでBROWSEすると時間がかかってしまいますが、上記のJOBを実行すると一瞬で件数がわかります。
ICE628I 0 RECORD COUNT: 000000000000005
▲その2~条件にあった件数を表示する例
//STEP01 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN1 DD * 0000100001ABCDEFG 0000100001ABCDEFG 0000100002ZZZZZZZ 0000100003ZZZZZZZ 0000100004ZZZZZZZ //CTL1CNTL DD * INCLUDE COND=(11,3,CH,EQ,'ABC') //TOOLIN DD * COUNT FROM(IN1) USING (CTL1)
実行結果
※CTL1のデータセットに条件を記述しておきます。
ICE628I 0 RECORD COUNT: 000000000000002
※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