Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
my $ibm; # Get today's date -1, no weekends::: #my $d_date = today() - 1; #$d_date-- while ($d_date->day_of_week == 0 or $d_date->day_of_week == + 6); # get the newly inserted data from today_records and calculate current + stuff using data from IBMDB::: my ($sql_net,$n_year, @new_date); my $db = "LocalServer"; my $user = $Mydb::Config::odbc_def->{ $db } { user }; my $pass = $Mydb::Config::odbc_def->{ $db } { pass }; my $dbh = DBI->connect("DBI:ODBC:$db",$user, $pass, {RaiseError => 1}) +; my $sql_last ="SELECT account_num, due_year, account_due_date, net FRO +M today_records WHERE type='OK'"; my $sth = $dbh->prepare($sql_last); $sth->execute() || die $sth->errstr; #$sth->finish; #Executes web DB #Going back to the IBMDB to process the rest of accounts from last yea +r:::: my $user = $Mydb::Config::odbc_def->{ $ibm }{ user }; my $pass = $Mydb::Config::odbc_def->{ $ibm }{ pass }; my $dbh = DBI->connect("DBI:ODBC:$ibm",$user, $pass) || print "Connect + fail: $!"; #New connection to update today_records with new data::: my $db = "LocalServer"; my $user = $Mydb::Config::odbc_def->{ $db } { user }; my $pass = $Mydb::Config::odbc_def->{ $db } { pass }; my $dbh_2 = DBI->connect("DBI:ODBC:$db",$user, $pass, {RaiseError => 1 +}); my $count=0; while (my $pointer = $sth->fetchrow_hashref){ my $account_num = $pointer->{'account_num'}; my $account_due_date = $pointer->{'account_due_date'}; my $net = $pointer->{'net'}; my $due_year = $pointer->{'due_year'}; #Format DATE and subtract 1 year from current year to get current ter +m here... if($account_due_date=~/(\d{1,4})-(\d{1,2})-(\d{2})(\s*.*)/g){ #new year $n_year = $year-1; #$n_year = "2006"; $account_due_date=$n_year."-".$2."-".$3; } #Format DATE if($due_year=~/(\d{1,4})-(\d{1,2})-(\d{2})(\s*.*)/g){ $due_year=$1; } #Get all accounts for current term::: my $sql_back="SELECT ABC1,ABC2,ABC3,ABC4,ABC5,ABC6, ABC7, ABC8 FROM TBIBM WHERE ABC2='$account_num' AND ABC6 = '$accou +nt_due_date' AND ABC5='$n_year'"; my $sth = $dbh->prepare($sql_back); $sth->execute() || die $sth->errstr; while (my $pointer = $sth->fetchrow_hashref){ $count++; $ABC1 = $pointer->{'ABC1'}; $ABC2 = $pointer->{'ABC2'}; $ABC3 = $pointer->{'ABC3'}; $ABC4 = $pointer->{'ABC4'}; $ABC5 = $pointer->{'ABC5'}; $ABC6 = $pointer->{'ABC6'}; $ABC7 = $pointer->{'ABC7'}; $ABC8 = $pointer->{'ABC8'}; #done getting all accounts , need to update web db once again w +ith new data! $sql_net="UPDATE today_records SET current_prem= CONVERT(money, '$ABC7') WHERE account_num='$ABC2' AND type='OK'"; my $sth = $dbh_2->prepare($sql_net); $sth->execute() || die $sth->errstr; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Perl Code Efficiency Issue
by Fletch (Bishop) on Feb 15, 2008 at 15:01 UTC | |
by Anonymous Monk on Feb 15, 2008 at 15:57 UTC | |
by cdarke (Prior) on Feb 15, 2008 at 16:04 UTC | |
by Jenda (Abbot) on Feb 15, 2008 at 17:58 UTC | |
by Anonymous Monk on Feb 15, 2008 at 16:18 UTC | |
by grinder (Bishop) on Feb 15, 2008 at 17:21 UTC | |
|
Re: Perl Code Efficiency Issue
by kyle (Abbot) on Feb 15, 2008 at 15:13 UTC | |
|
Re: Perl Code Efficiency Issue
by cdarke (Prior) on Feb 15, 2008 at 15:09 UTC | |
|
Re: Perl Code Efficiency Issue
by Jenda (Abbot) on Feb 15, 2008 at 18:18 UTC |