AW: AW: AW: [ic] CC & COD extra charges ?

Lars Tode lars.tode at
Thu Jan 27 07:12:44 EST 2005

Hi Niels.

> There is no shipping.gdbm or shipping.db, anywhere on the 
> disk (I did a 'find / -name '), there are 11 other *.gdbm 
> files, and access.gdbm have changed
> Shuld there at all be a database file for shipping (else than the
> shipping.asc) ?

Interchange sometimes create a shipping.db or shipping.gdbm in the
products - directory of your catalog. The files will be updatet if the
correponding text files are changed.

> I looks like the 'cc'  value can be found at the checkout 
> page, the value is just not added to [handle]
> (and the normal shipping calculation does work fine with our normal
> modifications)

If you change different kinds of config - files like variable.txt you
just have to reconfig the catalog, with "interchange
But after changes in the catalog.cfg (may be also in other files) you
normaly had to restart the whole server. This is my experience.

So I m not sure, if you had just reconfig the catalog or restart the
whole server.

May be the problem with the shipping is locate somewhere else.

What you can do is to check if the shipping information exists in the
You can use following code to check that out :
[perl tables="Session Config Carts"] 

	sub scan_var {
		my $var		= shift();
		my $level	= shift();
		my $str_return;
		if (ref($var) =~ /hash/i) {
			foreach my $key (sort { lc($a) cmp lc($b) } keys
%{$var}) {
				if (ref($var->{$key}) =~
/(hash|array)/i) {
					my $next_level = $level + 1;
					$str_return .= ('-' x $level).'
'.$key.' :'."<br>\n";
					$str_return .=
scan_var($var->{$key}, $next_level);
				} else {
					$str_return .= ('-' x $level).'
		} elsif (ref($var) =~ /array/i) {
			@{$var} = sort { lc($a) cmp lc($b) } @{$var};
			foreach my $line (@{$var}) {
				if (ref($line) =~ /(hash|array)/i) {
					my $next_level = $level + 1;
					$str_return .= ('-' x $level).'
'.$line.' :'."<br>\n";
					$str_return .= scan_var($line,
				} else {
					$str_return .= ('-' x $level).'
		} else {
			$str_return .= "$var<br>\n";
		return $str_return;
	my $str = "<p></p><u>CONFIG</u><br>\n"; 
	$str	.= scan_var($Config); 
	$str	.= "<p></p><u>SCRATCH</u><br>\n"; 
	$str	.= scan_var($Scratch); 
	$str	.= "<p></p>\n\n<u>VALUE</u><br>\n"; 
	$str	.= scan_var($::Values); 
	$str	.= "<p></p>\n\n<u>CGI</u><br>\n"; 
	$str	.= scan_var($CGI); 
	$str	.= "<p></p>\n\n"; 
	$str	.= '<p></p><u>SESSION</u><br>'; 
	$str	.= scan_var($Session); 
	$str	.= "<p></p>\n\n"; 
	$str	.= '<p></p><u>CARTS</u><br>'; 
	$str	.= scan_var($Carts); 
	$str	.= "<p></p>\n\n"; 
	$str	.= '<p></p>'; 

	return $str; 

Copy that code in a html - page an put it in your pages directory.
But use it carefully, your database information (username, password)
also displayed in the output.
So You should execute the html - file and remove it directly from the



More information about the interchange-users mailing list