09.10.2017_montag
Table of Contents
09.10.2017 Montag
rm#21582 EDI Scheduler does not remove cascade ID in parallel scenarios
https://cust-projects.seeburger.de/redmine/issues/21582
- Das Export wird über die UI angestoßen (als Supplier).
- Statusmeldung vom BIS:
<?xml version="1.0" encoding="UTF-8"?> <TransmissionEnvelope> <SO-AirSupply> <ControlArea> <Version>2.2</Version> <SenderInfo>;;PORT123;LS;PGICLNT001</SenderInfo> <ReceiverInfo>PORT456;LI;SUPPLYON</ReceiverInfo> <ContentInfo> <ExternalMessageID>100000000122</ExternalMessageID> <CreationTimeStamp>20100202080000</CreationTimeStamp> </ContentInfo> <ProcessingInfo> <InternalMessageID>S23943</InternalMessageID> <!-- tAirPOSchedule.cExportMsgId --> <ReceivingTimeStamp>20101201131402</ReceivingTimeStamp> <TestFlag>false</TestFlag> </ProcessingInfo> <Validation> <Status>SUCCESS</Status> </Validation> </ControlArea> </SO-AirSupply> </TransmissionEnvelope>
Die Statusmeldung kann man simulieren in dem man im JMS Client eine “SO-StatusNotification” schickt.
Nütliches Zeug
- Job-Runs werden in TAIREDIMESSAGES protokolliert. IDs holen: SELECT * FROM TAIREDIMESSAGES order by cID DESC
- Batch-Größe wird vom Parameter LIMIT_EXPORT_POSCHEDULELINE bestimmt
- Wichtige Klasse (laut Burkhard): POExportXMLM2MProcessor
- TAIRPOSCHEDULE enthält Orders, wenn die Order exportiert ist, müsste cExportAllId nicht leer sein.
-- set config key UPDATE tConfig SET cValue=32 WHERE cKey = 'LIMIT_EXPORT_POSCHEDULELINE' -- reset POs UPDATE TAIRPOSCHEDULE SET CEXPORTID=NULL, CEXPORTALLID=NULL, cExported=NULL WHERE cREFHEADERID>=538845 -- find last message SELECT * FROM TAIREDIMESSAGES ORDER BY cID DESC
TODO
- - Parallelläufe simulieren und die im Ticket erwähnte Exception bekommen
- - …
- - Catch ContainsNoDataException in StatusMessageImportHandler after starting a new job loop and reset the cascade ID. In this case, the scheduler has finished and the cascade ID must be reset.
- In der StatusMessageImportHandler.processRootElement() gibt es einen “else”, der genau den richtigen Code enthält. Aber es wird eine GeneralFailureException gefangen, ImportException geworfen und resetExportAllFlag() wird nicht aufgerufen.
Misc
- Evtl. liegt es an einer Exception beim zurücksetzen der cExportAllId auf null (s. POExportXMLM2MProcessor.markPosForExport() Zeilen 186 oder 192)
- Dann sollte man im Log den Satz “Unexpected error when marking POs for export” bzw. “Unexpected error when marking POs for export with message ID” sehen
- SchedulerManagerEJB.resetExportAllFlag()
- SchedulerManagerEJB.export()
- Dann sollte man im Log den Satz “We could not write message status or reset the export flags. This is a pretty uncool situation because we cannot inform the user about the failed export. So hope someone can read this…” finden können
- In meiner DB gibt es keine Sätze, die hängen geblieben sind, weil folgende Abfrage 0 Sätze liefert:
SELECT * FROM TAIREDIMESSAGES WHERE cMessageId IN (SELECT DISTINCT cExportAllId FROM TAIRPOSCHEDULE WHERE cExportAllId IS NOT NULL);
D.h. in tAirEDIMessages hat keine Sätze, die zu den “hängenden” cExportAllId-s gehören.
rm#22382 CR 22025: Concession - Integration of "Spot-It" application (Airbus Proof of Concept)
https://cust-projects.seeburger.de/redmine/issues/22382
Das Ticket steht momentan auf “ON HOLD”.
Notizen siehe Donnerstag 05.10.2017
Abend
Palletways
- + checken, ob's tut
- + Mail an Hr. Grewe schreiben
Steuervoranmeldung
- + Rechnungen sammeln
Wiatrack
- - Log von gestern und heute anschauen (sind Lücken vorhanden?)
Bauer Gear Motor
- - mit der eigenen App versuchen sich mit dem Board zu verbinden und Tastendrücke abzufangen
09.10.2017_montag.txt · Last modified: by 127.0.0.1
