$#@ 00010000
$=in1=~.wk.sql(catdbal1) 00020000
$=in2=~.wk.sql(catdbal2) 00030000
$=out=~.wk.sql(catdbal9) 00040002
call readDsn $in1, m.i1. 00050000
say $in1 m.i1.0 00060000
call readDsn $in2, m.i2. 00070000
say $in2 m.i2.0 00080000
x1 = 1 00090001
x2 = 1 00100001
m.o.0 = 0 00110002
do while x1 <= m.i1.0 & x2 <= m.i2.0 00120002
parse var m.i1.x1 pro1 cnt1 alt1 rst1 00130002
parse var m.i2.x2 pro2 db2 rst2 73 . 00140003
if pro1 == pro2 then 00150001
call mAdd o, left(pro2, 8) left(db2, 8) left(alt1, 10) 00160002
else if pro2 << pro1 then 00170002
call mAdd o, left(pro2, 8) left(db2, 8) strip(rst2) 00180002
x1 = x1 + (pro1 <<= pro2) 00190001
x2 = x2 + (pro1 >>= pro2) 00200001
end 00210001
do x2 = x2 to m.i2.0 00220003
parse var m.i2.x2 pro2 db2 rst2 73 . 00230003
call mAdd o, left(pro2, 8) left(db2, 8) strip(rst2) 00240003
end 00250003
call writeDsn $out, m.o., ,1 00260002
$#out 20120419 16:26:54 00270004
$#out 20120419 16:21:30 00280003
$#out 20120419 16:19:02 00290002