- # load gifi
- ($filename) = split /_/, $form->{chart};
- $filename =~ s/_//;
- $self->process_query($form, $dbh, "sql/${filename}-gifi.sql");
-
- # load chart of accounts
- $filename = qq|sql/$form->{chart}-chart.sql|;
- $self->process_query($form, $dbh, $filename);
-
- # create indices
- # Indices sind auch in lx-office.sql
- # $filename = qq|sql/$form->{dbdriver}-indices.sql|;
- # $self->process_query($form, $dbh, $filename);
-
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
-
-
-sub process_query {
- $main::lxdebug->enter_sub();
-
- my ($self, $form, $dbh, $filename) = @_;
-
-# return unless (-f $filename);
-
- open(FH, "$filename") or $form->error("$filename : $!\n");
- my $query = "";
- my $sth;
- my @quote_chars;
-
- while (<FH>) {
- # Remove DOS and Unix style line endings.
- s/[\r\n]//g;
-
- # don't add comments or empty lines
- next if /^(--.*|\s+)$/;
-
- for (my $i = 0; $i < length($_); $i++) {
- my $char = substr($_, $i, 1);
-
- # Are we inside a string?
- if (@quote_chars) {
- if ($char eq $quote_chars[-1]) {
- pop(@quote_chars);
- }
- $query .= $char;