From 4236c15112d260d2be1695ce00d125597eed13f1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20B=C3=BCren?= Date: Mon, 26 Apr 2010 11:01:56 +0200 Subject: [PATCH] =?utf8?q?Fehlerbehebung=20f=C3=BCr=20=20Bug=201409=20-=20?= =?utf8?q?=20Bei=20'Erzeugnis=20fertigen'=20wird=20nur=20der=20Bestand=20d?= =?utf8?q?er=20letzten=20Komponente=20gepr=C3=BCft.=20Fehlerhafte=20=C3=9C?= =?utf8?q?berpr=C3=BCfung,=20ob=20=C3=BCberhaupt=20Waren/Dienstleistungen?= =?utf8?q?=20definiert=20worden=20sind.=20Entsprechend=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/WH.pm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/SL/WH.pm b/SL/WH.pm index 44feb83a2..b164a3064 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -170,11 +170,11 @@ sub transfer_assembly { my $sthTransferPartSQL = prepare_query($form, $dbh, $transferPartSQL); # der return-string für die fehlermeldung inkl. welche waren zum fertigen noch fehlen - my $kannNichtFertigen ="Für dieses Erzeugnis sind keine Einzelteile definiert. - Dementsprechend kann auch nichts hergestellt werden"; + my $kannNichtFertigen =""; # Falls leer dann erfolgreich + my $schleife_durchlaufen=0; # Falls die Schleife nicht ausgeführt wird -> Keine Einzelteile definiert. Bessere Idee? jan while (my $hash_ref = $sth_part_qty_assembly->fetchrow_hashref()) { #Schleife für select parts_id,(...) from assembly - $kannNichtFertigen =""; # Wieder auf erfolgreich setzen LEER == keine Fehlermeldung + $schleife_durchlaufen=1; # Erzeugnis definiert my $partsQTY = $hash_ref->{qty} * $params{qty}; # benötigte teile * anzahl erzeugnisse my $currentPart_ID = $hash_ref->{parts_id}; @@ -236,6 +236,14 @@ sub transfer_assembly { } } # ende while SELECT SUM(qty), bin_id, chargenumber, bestbefore FROM inventory WHERE warehouse_id } #ende while select parts_id,qty from assembly where id = ? + + if ($schleife_durchlaufen==0){ # falls die schleife nicht durchlaufen wurde, wurden auch + # keine einzelteile definiert + $kannNichtFertigen ="Für dieses Erzeugnis sind keine Einzelteile definiert. + Dementsprechend kann auch nichts hergestellt werden"; + } + # gibt die Fehlermeldung zurück. A.) Keine Teile definiert + # B.) Artikel und Anzahl der fehlenden Teile/Dienstleistungen if ($kannNichtFertigen) { return $kannNichtFertigen; } -- 2.20.1