+% {
+% my $f;
+% while ($f= $sth->fetchrow_hashref()) {
+<%perl>
+
+ $f->{Ix}= @flows;
+ $f->{Var}= "f$f->{Ix}";
+
+ $f->{MaxQty}= $f->{'org_qty'} < $f->{'dst_qty'}
+ ? $f->{'org_qty'} : $f->{'dst_qty'};
+ $f->{MaxProfit}= $f->{MaxQty} * $f->{'unitprofit'};
+ $f->{MaxCapital}= $f->{MaxQty} * $f->{'org_price'};
+
+ $f->{Margin}= sprintf "%3.1f%%",
+ $f->{'dst_price'} * 100.0 / $f->{'org_price'} - 100.0;
+
+ $f->{"org_stallid"}= $f->{"dst_stallid"}= 'all'
+ if !$qa->{ShowStalls};
+
+ my @uid= $f->{commodid};
+ foreach my $od (qw(org dst)) {
+ push @uid,
+ $f->{"${od}_id"},
+ $f->{"${od}_price"};
+ push @uid,
+ $f->{"${od}_stallid"}
+ if $qa->{ShowStalls};
+ }
+ $f->{UidLong}= join '_', @uid;
+
+ my $base= 31;
+ my $cmpu= '';
+ map {
+ my $uue= $_;
+ my $first= $base;
+ do {
+ my $this= $uue % $base;
+print STDERR "uue=$uue this=$this ";
+ $uue -= $this;
+ $uue /= $base;
+ $this += $first;
+ $first= 0;
+ $cmpu .= chr($this + ($this < 26 ? ord('a') :
+ $this < 52 ? ord('A')-26
+ : ord('0')-52));
+print STDERR " uue=$uue this=$this cmpu=$cmpu\n";
+die "$cmpu $uue ?" if length $cmpu > 20;
+ } while ($uue);
+ $cmpu;
+ } @uid;
+ $f->{UidShort}= $cmpu;
+
+ if ($qa->{'debug'}) {
+ my @outuid;
+ $_= $f->{UidShort};
+ my $mul;
+ while (m/./) {
+ my $v= m/^[a-z]/ ? ord($&)-ord('a') :
+ m/^[A-Z]/ ? ord($&)-ord('A')+26 :
+ m/^[0-9]/ ? ord($&)-ord('0')+52 :
+ die "$_ ?";
+ if ($v >= $base) {
+ push @outuid, 0;
+ $v -= $base;
+ $mul= 1;
+#print STDERR "(next)\n";
+ }
+ die "$f->{UidShort} $_ ?" unless defined $mul;
+ $outuid[$#outuid] += $v * $mul;
+
+#print STDERR "$f->{UidShort} $_ $& v=$v mul=$mul ord()=".ord($&).
+# "[vs.".ord('a').",".ord('A').",".ord('0')."]".
+# " outuid=@outuid\n";
+
+ $mul *= $base;
+ s/^.//;
+ }
+ my $recons_long= join '_', @outuid;
+ $f->{UidLong} eq $recons_long or
+ die "$f->{UidLong} = $f->{UidShort} = $recons_long ?";
+ }
+
+ if (defined $qa->{"R$f->{UidShort}"} &&
+ !defined $qa->{"T$f->{UidShort}"}) {
+ $f->{Suppress}= 1;
+ }
+
+ push @flows, $f;
+
+</%perl>
+<& dumptable:row, qa => $qa, sth => $sth, row => $f &>