- my $sql =
- "SELECT count(*) FROM part_pkg_taxoverride JOIN tax_class ".
- "USING (taxclassnum) WHERE data_vendor = '$format'";
- my $sth = $dbh->prepare($sql) or die $dbh->errstr;
- $sth->execute
- or die "Unexpected error executing statement $sql: ". $sth->errstr;
- die "Don't (yet) know how to handle part_pkg_taxoverride records."
- if $sth->fetchrow_arrayref->[0];
-
- # really should get a table EXCLUSIVE lock here
-
- #remember disabled taxes
- my %disabled_tax_rate = ();
- $error ||= _remember_disabled_taxes( $job, $format, \%disabled_tax_rate );
-
- #remember tax products
- my %taxproduct = ();
- $error ||= _remember_tax_products( $job, $format, \%taxproduct );
-
- #create temp tables
- $error ||= _create_temporary_tables( $job, $format );
-
- #import new data
- unless ($error) {
- my $args = '$job, @_';
- eval "$method($args);";
- $error = $@ if $@;
- }
+ if ( $format =~ /^cch/ ) {
+ # no, THIS part is CCH specific
+
+ my $sql =
+ "SELECT count(*) FROM part_pkg_taxoverride JOIN tax_class ".
+ "USING (taxclassnum) WHERE data_vendor = '$format'";
+ my $sth = $dbh->prepare($sql) or die $dbh->errstr;
+ $sth->execute
+ or die "Unexpected error executing statement $sql: ". $sth->errstr;
+ die "Don't (yet) know how to handle part_pkg_taxoverride records."
+ if $sth->fetchrow_arrayref->[0];
+
+ # really should get a table EXCLUSIVE lock here
+
+ #remember disabled taxes
+ my %disabled_tax_rate = ();
+ $error ||= _remember_disabled_taxes( $job, $format, \%disabled_tax_rate );
+
+ #remember tax products
+ my %taxproduct = ();
+ $error ||= _remember_tax_products( $job, $format, \%taxproduct );
+
+ #create temp tables
+ $error ||= _create_temporary_tables( $job, $format );
+
+ #import new data
+ unless ($error) {
+ eval { &{$continuation}( $job, $param ) };
+ $error = $@ if $@;
+ }