[set page_banner]Order Update[/set] [set fm_class]Orders[/set] [set help_name]order update[/set] [set page_title]Order Update[/set] [set icon_name]icon_item.gif[/set] @_FM_STD_HEAD_@ [seti sqlSentence] BEGIN TRANSACTION; [perl tables="pd_article"] my $trans; my $action = $Values->{"mv_action"}; my $ordernr = $Values->{"select_order"} || "currval('so_ordersequence')"; if ($action eq "Update") { $trans .= "DELETE FROM so_orderline WHERE ordernr = $ordernr;"; } elsif ($action eq "Delete") { $trans .= "DELETE FROM so_orderhead WHERE ordernr = $ordernr;"; return $trans; } else { $trans .= "INSERT INTO so_orderhead (contact_id,status,credit_code,deliverycode,paycode,freightcode,updated) VALUES ([value select_customer],100,[value creditterms],[value deliveryterms],[value paymentterms],[value freightcode],'now');\n"; } my $ref = $Scratch->{orderlines}; my ($ar, $nul, $names) = @$ref; my $linenr = 0; my $ordertotal = 0; my $vattotal = 0; for my $ol (@$ar) { $linenr++; my ($articlenr, $description, $qty, $price, $discount, $linetotal, $art_id) = @$ol; my $dbh = $Sql{"pd_article"}; my $sth = $dbh->prepare("SELECT v.percent FROM pd_article a, pd_productgroup p, pd_vat v WHERE a.art_id = $art_id AND a.pgrp_id = p.pgrp_id AND p.vat_id = v.vat_id"); $sth->execute(); my ($vatpct) = $sth->fetchrow(); my $vatq = $vatpct/(100.00+$vatpct); $qty +=0; $price +=0; $discount +=0; $linetotal +=0; my $linevat = $linetotal*$vatq; $ordertotal += $linetotal; $vattotal += $linevat; $trans .= "INSERT INTO so_orderline (ordernr, linenr, art_id, description, qty, unitprice, discount, linetotal, linevat) VALUES ($ordernr, $linenr, $art_id, '$description', $qty, $price, $discount, $linetotal, $linevat);\n"; }; $trans .= "UPDATE so_orderhead SET ordertotal = $ordertotal, vattotal = $vattotal WHERE ordernr = $ordernr;"; undef $Values->{select_order}; $trans; [/perl] COMMIT; [/seti] [if value mv_action eq Update] [set returnpage]freemoney/soList[/set] [set leadtext]The order entry has been updated.[/set] [elsif value mv_action eq Delete] [set returnpage]freemoney/soList[/set] [set leadtext]The order entry has been deleted:[/set] [/elsif] [else] [set returnpage]freemoney/so[/set] [set leadtext]The order entry has been added.[/set] [/else] [/if] [value name=mv_action set=""] [try][sql interpolate=1][scratch sqlSentence][/sql][/try]
[L][scratch leadtext][/L]

[catch] [L]There was an error adding the new order. Please check your data.[/L]

[/catch] [L]BACK[/L] @_FM_STD_FOOTER_@