User Tools

Site Tools


rm34704

rm34704 Geänderte PO nicht im Delta-EDI-Export an Lieferanten, wenn Änderung während Export

Reproducing

Go to: EDI Integration / Scheduler

Schedule ID: 1079 → Job ID: 502136

My POs :

  • cPONUM like 'rm34704%' '' * ''AND cSupplierCPId = 10006106
  • AND cCustomerCGId = 100011
SELECT * FROM TAIREDISCHEDULER WHERE cid=1079;
 
SELECT * FROM TJOBSTATUS WHERE cJobId=502136 ORDER BY cStart DESC;
 
SELECT * FROM TJOBS WHERE cJobId=502136;

Job class: com.seeburger.airsupply.edi.scheduler.job.SchedulerJob

How it works:

  • The job fetches all cLineId and CREFHEADERIDs:
SELECT TAIRPOSCHEDULE.CLINEID, TAIRPOSCHEDULE.CREFHEADERID FROM TAIRPOSCHEDULE
INNER JOIN TAIRPOHEADER ON TAIRPOSCHEDULE.CREFHEADERID=TAIRPOHEADER.CHEADERID 
INNER JOIN TAIRPARTNERRELATION ON TAIRPOSCHEDULE.CPRELATIONID=TAIRPARTNERRELATION.CRELATIONID 
INNER JOIN TAIRORDERINGOFFICER ON TAIRPOSCHEDULE.CREFOFFICERID=TAIRORDERINGOFFICER.CORDERINGOFFICERID 
INNER JOIN TAIRMATERIAL ON TAIRPOSCHEDULE.CREFMATID=TAIRMATERIAL.CMATERIALID 
WHERE 1=1  
AND cSupplierCPId = 10006106 
AND (TAIRPOSCHEDULE.CEXPORTID IS NULL OR TAIRPOSCHEDULE.CEXPORTID='  $$NULL$$') 
AND (TAIRPOSCHEDULE.CEXPORTALLID IS NULL OR TAIRPOSCHEDULE.CEXPORTALLID='  $$NULL$$') 
AND cCustomerCGId = 100011 
ORDER BY TAIRPOSCHEDULE.CREFHEADERID ASC
  • …
  • The job sends the next “chunk” with the specific ExportId
  • …

Um die ExportId wieder zurückzusetzen, muss eine spezielle Nachricht vom Lieferanten kommen, wo die ExportId im Feld InternalMessageID steht. Siehe D:\development\testdata\purchaseorder\rm34704\Status-Notification.xml

Speak with Burkhard

  • Any ideas about how it should be solved?
  • Is there some standard solutions? (E.g. ConcTManagerClient.setPessimisticLock()?)
  • SASMessageManagerEJB.createMessageWithNewTransaction()
  • Is it a bigger topic?

Possible causes

The following causes are possible:

  • Lag between the export and status notification message
  • Missing status notification message

Misc

  • Strange error message: GeneralFailureException: com.seeburger.smarti.dao.DAOSysException: Unable to retrieve a database connection: javax.resource.ResourceException: IJ000460: Error checking for a transaction (Code: 1583306705368)

Useful SQLs:

SELECT TAIRPOSCHEDULE.CLINEID, TAIRPOSCHEDULE.CREFHEADERID 
FROM TAIRPOSCHEDULE 
INNER JOIN TAIRPOHEADER ON TAIRPOSCHEDULE.CREFHEADERID=TAIRPOHEADER.CHEADERID 
INNER JOIN TAIRPARTNERRELATION ON TAIRPOSCHEDULE.CPRELATIONID=TAIRPARTNERRELATION.CRELATIONID 
INNER JOIN TAIRORDERINGOFFICER ON TAIRPOSCHEDULE.CREFOFFICERID=TAIRORDERINGOFFICER.CORDERINGOFFICERID 
INNER JOIN TAIRMATERIAL ON TAIRPOSCHEDULE.CREFMATID=TAIRMATERIAL.CMATERIALID 
WHERE 1=1  
AND cSupplierCPId = 10006106 
AND (TAIRPOSCHEDULE.CEXPORTID IS NULL OR TAIRPOSCHEDULE.CEXPORTID='  $$NULL$$') 
AND (TAIRPOSCHEDULE.CEXPORTALLID IS NULL OR TAIRPOSCHEDULE.CEXPORTALLID='  $$NULL$$') 
AND cCustomerCGId = 100011 
AND (TAIRPOSCHEDULE.CEXPORTED = 0 OR (TAIRPOSCHEDULE.CEXPORTED IS NULL)) 
ORDER BY TAIRPOSCHEDULE.CREFHEADERID ASC;
 
SELECT t.CEXPORTED, t.CEXPORTID, t.CEXPORTALLID, t.* FROM TAIRPOSCHEDULE t WHERE T.CREFHEADERID = 546498;

NICHT VERGESSEN

  • Reset LIMIT_EXPORT_POSCHEDULELINE to 32 again
UPDATE tConfig SET cValue=32 WHERE cKey = 'LIMIT_EXPORT_POSCHEDULELINE';
rm34704.txt · Last modified: by kalaschnikow