zOs/REXX/DBXCMP

$=di=DSN.DBX.SRCCAT(ZZCMP020)
$=do=DSN.DBX.SRCCAT(ZZCMP02Z)
ic = 0
oc = 0
call dsnAlloc 'dd(ddi)' $di
call dsnAlloc 'dd(ddo)' $do
do while readDD(ddi, i.)
    ox = 0
    do ix=1 to i.0
        ic = ic + 1
        if substr(i.ix, 3, 20) \= 'F332163' then do
            oc = oc + 1
            ox = ox + 1
            if ox \= ix then
               i.ox = i.ix
            end
        end
    i.0 = ox
    call writeDD ddo, i.
    end
    call readDDEnd ddI
    call writeDDEnd ddO
    call adrTso 'free dd(ddi ddo)'
$$- 'in' ic 'out' oc
$#out                                              20100805 16:39:01
in 89255 out 89184
$#out                                              20100730 18:01:06
in 89255 out 89184
$#out                                              20100730 17:52:02
in 89255 out 89184
$#out                                              20100730 17:49:49
$#out
$#out                                              20100730 17:49:32