rm23899
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| rm23899 [2018/01/10 16:01] – [rm#23899 Status Partially Received at DA, although all UX and UE have Status Received] kalaschnikow | rm23899 [2018/04/23 15:57] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== rm#23899 Status " | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | * Die ASN enthält 9 UEs, die auf Basis von 6 Orders erstellt wurden | ||
| + | * 3 UEs waren aus einer Order (und Orderposition) erstellt | ||
| + | * 2 UEs aus einer anderen | ||
| + | * Alle anderen UEs wurden aus einzelnen Orders erstellt (d.h. 1 zu 1: aus einer Order -> eine UE) | ||
| + | * D.h. 3 + 2 + 1 + 1 + 1 + 1 | ||
| + | * Laut dem DA Changelog (s. Anhang zum Ticket) ist einer UE am 22.11.2017 um 07:04:46 der Status " | ||
| + | * Das ist VOR dem System-Update passiert (das Update war am 25.11.2017) -> Herausfinden, | ||
| + | * Danach (3 Tage später - am 28.11.2017 zwischen 07:04:46 und 07:05:05) wurden allen anderen UEs der Status " | ||
| + | * Die ASN ist aus mehreren Orders erstellt worden. Wobei eine Order in mehreren ASNs enthalten ist. Vielleicht spielt das eine Rolle. | ||
| + | * Die UEs wurden nicht sequentiell verarbeitet, | ||
| + | * UE 1 wurde am 22.11.2017 verarbeitet | ||
| + | * Alle anderen am 28.11.2017 | ||
| + | * Wenn die UEs aus einer StockMovement(GoodsReceipt)-Nachricht kommen, dann müßten sie eigentlich in der " | ||
| + | * Im SQL-Log sieht man, dass das Lock 5 Mal gemacht wurde. 1 Mal Insert + 5 Updates (nicht 4 Updates, weil es versucht wird das aller erste Mal ein Update zu machen, und nur wenn der nicht klappt, dann macht man INSERT). | ||
| + | * Alle Befehle wurden von demselben Thread gemacht. Ist es ein Indiz darauf, dass alles sequenziell gelaufen ist? | ||
| + | |||
| + | ===== Statistik vom Produktivsystem ===== | ||
| + | (Stand 11.01.2018) | ||
| + | |||
| + | ASNs im System: ca. 1200000 (1,2 Millionen) | ||
| + | |||
| + | ASNs bei denen alle UEs auf " | ||
| + | |||
| + | Von diesen ASNs hat ca. die Hälfte (ca. 570) nur 2 UEs. | ||
| + | |||
| + | Bei ALLEN diesen ASNs mit 2 Positionen haben UEs lastChangeDate (oder wie auch immer das Feld heißt), das sich nur um 1-20 Millisekunden unterscheidet. Es gibt keine, wo der Unterschied im Bereich von Minuten ist. Das ist ein Indiz darauf, dass die UEs mit einer StockMovement geupdatet wurden (oder mit 2 die zeitlich nahe beieinander lagen). Zwei Testproben haben ergeben, dass die UEs wirklich mit EINER StockMovement-Nachricht mit mehreren Positionen geupdatet wurden. | ||
| + | |||
| + | |||
| + | |||
| + | ===== Misc ===== | ||
| + | |||
| + | * ASNManagerEJB.handleGoodsReceiptMessage() | ||
| + | * Bei den Tests ist mir aufgefallen, | ||
| + | * Zu den Problemen, die Lambdas verursachen können, gibt es einige Artikel. Z.B. [[https:// | ||
| + | |||
| + | |||
| + | ====== Tests ====== | ||
| + | |||
| + | Supplier-Benutzer: | ||
| + | |||
| + | Testdaten befinden sich im Verzeichnis: | ||
| + | |||
| + | D: | ||
| + | |||
| + | ===== Testablauf ===== | ||
| + | |||
| + | - PO anpassen und importieren | ||
| + | * PONumber anpassen | ||
| + | * Mit JMS Client importieren | ||
| + | - ASN erstellen | ||
| + | - Bei der StockMovement Nachricht folgende Felder anpassen: | ||
| + | * ASNNumber (und DeliveryNoteText wenn man will) | ||
| + | * PONumber (rm# | ||
| + | * MaterialReference (2017_4901081377_0xx1 oder 2017_4901081377_0xx2) | ||
| + | * DespatchAdviceUX (der Wert wird bei der ASN-Erstellung automatisch festgelegt) | ||
| + | * DespatchAdviceUE (der Wert wird bei der ASN-Erstellung automatisch festgelegt) | ||
| + | |||
| + | ===== Beschreibung für einen Robottest ===== | ||
| + | |||
| + | - PO erstellen | ||
| + | * PONumber -> Zufallszahl? | ||
| + | - PO importieren | ||
| + | - ASN auf Basis der importierten PO erstellen | ||
| + | - ASN Position splitten, so dass 2 Positionen entstehen | ||
| + | - 2 UX mit jeweils einer UEs erstellen | ||
| + | - StockMovement Nachricht mit folgenden Anpassungen erstellen: | ||
| + | * ASNNumber (und DeliveryNoteText wenn man will) | ||
| + | * PONumber (rm# | ||
| + | * MaterialReference (2017_4901081377_0xx1 oder 2017_4901081377_0xx2) | ||
| + | * DespatchAdviceUX (der Wert wird bei der ASN-Erstellung automatisch festgelegt) | ||
| + | * DespatchAdviceUE (der Wert wird bei der ASN-Erstellung automatisch festgelegt) | ||
| + | - Stockmovement importieren | ||
| + | - Status beider UXes soll RECEIVED sein | ||
| + | - Status der ASN soll RECEIVED sein (im Fehlerfall - PARTIALLY_RECEIVED) | ||
| + | |||
| + | ===== Problem reproduzieren ===== | ||
| + | Das Problem lies sich reproduzieren unter folgenden Bedingungen: | ||
| + | * Order hat eine Position | ||
| + | * ASN hat 2 UEs in jeder eine UX | ||
| + | * 1 UE mit 2 UXes hab ich auch getestet -> alles OK (d.h. es führt nicht zum Fehler) | ||
| + | * StockMovement hat nur eine Position, in der aber beide UX drinnen sind. | ||
| + | * Wenn in der StockMovement-Nachricht 2 Positionen mit jeweils einer UX sind, dann ist alles in Ordnung (d.h. man kann den Fehler nicht nachvollziehen) | ||
| + | |||
| + | ===== Ursache ===== | ||
| + | |||
| + | Pro UX wird eine ASN gesucht, manipuliert und gespeichert. D.h. wenn in einer StockMovement Position mehrere UX drinnen sind, dann kommt es zu diesem Fehler. Für jeweils eine wird der Status richtig berechnet, aber wir haben mehrere. Wenn alle UX in dieser StockMovement Nachricht auf RECEIVED stehen, dann kann die ASN nicht auf RECEIVED gestellt werden, da sie für die jeweils eine UX auf PARTIALLY_RECEIVED gestellt werden soll. | ||
