User Tools

Site Tools


airs-1809

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
airs-1809 [2019/04/16 09:35] – kalaschnikowairs-1809 [2019/04/24 16:22] (current) – [AIRS-1809 Concession - New uniqueness validation for NCR-Create interface] kalaschnikow
Line 1: Line 1:
 +====== AIRS-1809 Concession - New uniqueness validation for NCR-Create interface ======
 +
 +[[https://tasks.supplyon.de/browse/AIRS-1809|AIRS-1809 Concession - New uniqueness validation for NCR-Create interface]] (@Jira)\\ 
 +[[https://doc.supplyon.de/display/S10058/Concession+-+New+sequences+for+NCR-Response+and+NCR-Create|Concession - New uniqueness validation for NCR-Create interface]] (@Confluence)\\ 
 +
 +===== Spec =====
 +
 +  * Customer: 
 +    * AIRBUS (für alle anderen bleibt es so wie es ist)
 +  * Affected "Processes":
 +    * NCR Create M2M
 +    * NCR Update (via NCR Response) M2M
 +      * The place where it should be done: ''NCRManagerEJB.isUniqueNCR()''
 +
 +===== TODO =====
 +  * ''NCRStateEngine.checkSupplierReferenceIdUniqueness()''
 +    * Abhängig von Concession type (AIRBUS oder Safran) Fehlermeldung ausgeben 
 +
 +===== Fragen =====
 +  * In wie weit ist der CSV Upload betroffen? (Direkt wohl nicht, aber evtl. muss man beim Import nach dem anderen Schlüssel schauen.)
 +  * Customer Ref. No. / Customer Revision
 +    * Wann/Wo werden sie befüllt?
 +    * Was ist wenn sie Null/leer sind?
 +      * Null?
 +      * Leer?
 +
 +===== Anmerkungen =====
 +
 +==== Marc am 17.04.2019 (1) ====
 +Für den Fall "Update" ist wichtig folgendes zu testen. Wir haben 2 NCRs erzeugt. Beide mit verschiedenen Tripeln Supplier Reference + Customer Reference + Customer Revision:
 +    * A + A + A
 +    * A + A + B
 +Beide sind im Status "INCOMPLETE". Bisher alles in Ordnung. Nun will der Supplier die Supplier Reference editieren. Die Oberfläche muss es erlauben, da sonst der Prozess blockiert ist. Eine solche Konstellation wird nämlich über das "Split-Szenario" permanent vorkommen.
 +
 +==== Marc am 17.04.2019 (2) ====
 +Um ein Satz updaten zu können ist es wichtig den kompletten Schlüssel (SupplierRefNo + CustomerRefNo + CustomerRevision) zu haben. Aber in einem Szenario wird es nicht funktionieren. Das geht nämlich so:
 +  * Supplier legt über die UI eine NCR an. Er darf auf der UI aber nur die SupplierRefNo eingeben. Die zwei andere Felder bleiben also leer.
 +  * Jetzt schickt der Kunde eine NCR Response, wo er die CustomerRefNo + CustomerRevision angeben will. Der vorhandene Code würde eine dazu passende NCR nicht finden. 
 +
 +Man kann auch nicht einfach nur nach der SupplierRefNo schauen, da es bereits Sätze geben kann, die mit anderen CustomerRefNo und CustomerRevision angelegt wurden. Deshalb wurde folgende Lösung vorgeschalgen:
 +  * Bei dem Import von NCR Response wird zuerst nach dem kompletten Schlüssel (SupplierRefNo + CustomerRefNo + CustomerRevision) gesucht. Wenn keine solche Sätze vorhanden sind, wird nach dem Schlüssel ''SupplierRefNo + CustomerRefNo + <null>'' gesucht. Wenn dann auch nichts gefunden wird, wird nach ''SupplierRefNo + <null> + <null>'' gesucht. 
 +  * Wichtig ist, nicht einfach die Filter rauszuschmeißen, sondern wirklich nach NULL-Werten in den entsprechenden Spalten zu suchen. Sonst können wir nicht zwischen ''A+<null>+<null>'' und ''A+B+B'' nicht unterscheiden. Und da unsere "Lock"-Methode einfach den ersten Satz liefert, werden wir u.U. den falschen Satz updaten.
 +