NAME CGI::AppBuilder::TaskLoads - Loading files to a database SYNOPSIS use CGI::AppBuilder::TaskLoads; my $sec = CGI::AppBuilder::TaskLoads->new(); my ($sta, $msg) = $sec->exe_sql($ar); DESCRIPTION This class provides methods for reading and parsing configuration files. new (ifn => 'file.cfg', opt => 'hvS:') This is a inherited method from CGI::AppBuilder. See the same method in CGI::AppBuilder for more details. get_ldrcfg ($ar) Input variables: $ar - array ref containing the following variables: Variables used or routines called: None How to use: Return: array/hash array or its ref {$k}{$e} where $k = [v|1|..|study_id]; $e contains rdr - relative directory mfn - meta file name, i.e., the xls contains domain and variable metadata dfn - domain file name containing domain metadata vfn - variable file name containing variable metadata ofd - output file directory dml - data manipulation act: A|D|I|U var - hash array ref containing variables ld_mdrstd($q,$ar) Input variables: $q - CGI class $ar - array ref containing the following variables: Variables used or routines called: None Return: $pr will contain the parameters adn output from running the PL/SQL. build_dml($rr, $rf, $ar) Input variables: $rr - array ([$i]{$k}) with new data $rf - hash array with the following elements tbn - table name: cc_domains kcn - key column name: dn_id scn - select column name: study_id scv - select column value: 1 act - DML type: A-auto, D-delete, I-insert, U-update $ar - hash array for system wide parameters Variables used or routines called: None Return: This procedure returns an array containing DML SQL statements and populate the $rf with the following new elements: c1_crf - column definition array [$i]{$k} for the table where $k= column_name,data_type,data_length c1_vars - a list of column names separated by comma in the table c2_crf - column definition array [$i]{$k} for the new data where $k= column_name,data_type,data_length c2_vars - a list of column names separated by comma in the data cvt_ar2list($cr) Input variables: $cr - array ref containing column definitions ([$i]{$k}) where $k is column_name, data_type, and data_length Variables used or routines called: None Return: a list containing column names separated by comma fmt_list2sel ($cns) Input variables: $cns - column names separated by comma Variables used or routines called: None Return: a formated list to be used in SELECT statement. cvt_ar2hr($ar, $vars) Input variables: $ar - array ref containing two dimensional data elements in an array $vars - variable names sparated by comma Variables used or routines called: None Return: an array with hash elements $r->[$i]{$k}. coding sub prt_txt_file { my ($s, $fn,$ar) = @_; my ($fname, $path, $sfx) = fileparse($fn,qr{\..*}); my $t1 = "<center><b>$fname$sfx</b></center>\n<hr>\n<pre>\n"; my $typ = my $w = my $st = my $t = ""; my $n = $w; open FILE, "<$fn" or die "ERR: could not open $fn: $!\n"; while (<FILE>) { s/</\</g; s/>/\>/g; s/ /^L/g; # change the non-printable char to printable char if ($st) { s/($st)/<font color=red>$1<\/font>/ig; } my ($tt, $i) = ($_, -1); if (length($tt) < $n || !$w ) { $t .= $tt; next; } while (length($tt) >= $n) { ++$i; if ($i) { # the second line $t .= " "x4 . substr($tt, 0, $n) . "\n"; } else { # first line $t .= substr($tt, 0, $n) . "\n"; } $tt = substr($tt, $n); } $t .= " "x4 . $tt; } close FILE; return $t if $typ; print "$t1$t</pre><br>\n"; } HISTORY * Version 0.10 This version was started on 09/28/2011. SEE ALSO (some of docs that I check often) Oracle::Loader, Oracle::Trigger, CGI::AppBuilder, File::Xcopy, CGI::AppBuilder::Message AUTHOR Copyright (c) 2009 Hanming Tu. All rights reserved. This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html) POD ERRORS Hey! The above document had some coding errors, which are explained below: Around line 805: You forgot a '=back' before '=head1'