rm34449
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| rm34449 [2020/02/20 11:42] – [Reproduzieren] kalaschnikow | rm34449 [2020/02/20 13:59] (current) – [Reproduzieren] kalaschnikow | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== rm34449 Anwender vermisst die Einträge in der " | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ===== Daten ===== | ||
| + | |||
| + | TUSER_SCD.cDisplayname: | ||
| + | TUSER_SCD.cUniqueID: | ||
| + | |||
| + | |||
| + | |||
| + | ===== Reproduzieren ===== | ||
| + | Idee von Viktor: | ||
| + | * in '' | ||
| + | * das Problem ist wahrscheinlich dadurch verursacht, dass der aktuelle Eintrag in der Liste nicht auftaucht | ||
| + | |||
| + | Nützliche SQL Befehle (lokal!): | ||
| + | <code sql> | ||
| + | -- locally I've used the schedule with id=185 | ||
| + | SELECT * FROM TAIREDISCHEDULER | ||
| + | where CID=185 | ||
| + | order by cID desc | ||
| + | |||
| + | -- originally CCUSTGROUPID was null | ||
| + | UPDATE TAIREDISCHEDULER set CCUSTGROUPID=2034967 where cID=185; | ||
| + | |||
| + | -- get the customer group with id 2034967 | ||
| + | select * from SEESCMDB0.TORGANIZATION_SCD where cid=2034967; | ||
| + | |||
| + | </ | ||
| + | |||
| + | Remote we have the problem for example with the schedule 1018: | ||
| + | |||
| + | <code sql> | ||
| + | select * from SEESCMDB0.TAIREDISCHEDULER where cID=1018; | ||
| + | |||
| + | -- 2034967 delivers " | ||
| + | select * from SEESCMDB0.TORGANIZATION_SCD where cid=2034967; | ||
| + | |||
| + | SELECT SEESCMDB0.TAIREDISCHEDULER.CID, | ||
| + | TAIREDISCHEDULER.CCUSTGROUPID, | ||
| + | TAIREDISCHEDULER.CSUPPLIERCPID, | ||
| + | CSTARTDATE, | ||
| + | FROM SEESCMDB0.TAIREDISCHEDULER | ||
| + | JOIN SEESCMDB0.TCONTROLPOINT_SCD ON (TAIREDISCHEDULER.CSUPPLIERCPID = TCONTROLPOINT_SCD.CCPID) | ||
| + | LEFT JOIN SEESCMDB0.TORGANIZATION_SCD ON (TORGANIZATION_SCD.CID = TAIREDISCHEDULER.CCUSTGROUPID) | ||
| + | WHERE 1=1 | ||
| + | and SEESCMDB0.TAIREDISCHEDULER.CID=1018; | ||
| + | </ | ||
| + | |||
| + | <code sql> | ||
| + | |||
| + | -- get CP ids for user ' | ||
| + | SELECT SEESCMDB0.tOrganization_SCD.cStatus AS cOrgStatus, | ||
| + | SEESCMDB0.tOrganization_SCD.cOrgCode, | ||
| + | SEESCMDB0.tCPUser_SCD.cCPID, | ||
| + | SEESCMDB0.tUser_SCD.*, | ||
| + | SEESCMDB0.tCPUser_SCD.cNotification | ||
| + | FROM SEESCMDB0.tUser_SCD | ||
| + | LEFT JOIN SEESCMDB0.tCPUser_SCD ON (SEESCMDB0.tUser_SCD.cUniqueID=SEESCMDB0.tCPUser_SCD.cUserID), | ||
| + | WHERE SEESCMDB0.tUser_SCD.cOrganizationID=SEESCMDB0.tOrganization_SCD.cID and SEESCMDB0.tUser_SCD.cUniqueID=' | ||
| + | | ||
| + | -- then we get CPs 10007544 and 10017660 | ||
| + | |||
| + | -- now we fetch all routings for these two cps | ||
| + | SELECT SEESCMDB0.tNetworkLink_SCD_New.cId, | ||
| + | SEESCMDB0.tNetworkLink_SCD_New.CISUNREGSUPPLIER, | ||
| + | SEESCMDB0.tNetworkSupplierInfo_SCD.cSellerPlant, | ||
| + | orgseller.cId orgsellerid, | ||
| + | addressBuyer.cCity buyerCity, addressSeller.cCity sellerCity, tNetworkSupplierInfo_SCD.CDELETIONTIMESTAMP, | ||
| + | FROM SEESCMDB0.tNetworkLink_SCD_New, | ||
| + | SEESCMDB0.tOrganization_SCD orgseller, SEESCMDB0.tOrganization_SCD orgbuyer, SEESCMDB0.vNetworkCommunication_SCD, | ||
| + | SEESCMDB0.tNetworkSupplierInfo_SCD, | ||
| + | WHERE | ||
| + | orgbuyer.cID = cpbuyer.cOrganizationID | ||
| + | AND orgseller.cID = cpseller.cOrganizationID | ||
| + | AND cpbuyer.cCPID = SEESCMDB0.tNetworkLink_SCD_New.cCPByuerID | ||
| + | AND cpseller.cCPID = SEESCMDB0.tNetworkLink_SCD_New.cCPSellerID | ||
| + | AND SEESCMDB0.tNetworkLink_SCD_New.cID=vNetworkCommunication_SCD.cIDNetLink | ||
| + | AND SEESCMDB0.tNetworkLink_SCD_New.cId=SEESCMDB0.tNetworkSupplierInfo_SCD.cNetworkLinkId | ||
| + | AND addressBuyer.cCPID = tNetworkLink_SCD_New.cCPByuerID | ||
| + | AND addressSeller.cCPID = tNetworkLink_SCD_New.cCPSellerID | ||
| + | AND ROWNUM <= 5000 | ||
| + | AND (tNetworkLink_SCD_New.cCPSELLERID IN (10007544, 10017660)) | ||
| + | ORDER BY tNetworkLink_SCD_New.cID, | ||
| + | | ||
| + | |||
| + | -- this query delivers the proper (maybe) results | ||
| + | -- at least it delivers 7 entries | ||
| + | select orgbuyer.* from SEESCMDB0.TORGANIZATION_SCD orgbuyer, SEESCMDB0.tControlPoint_SCD cpbuyer | ||
| + | where | ||
| + | orgbuyer.cID = cpbuyer.cOrganizationID | ||
| + | and cpbuyer.ccpID in (select distinct CCPBYUERID from SEESCMDB0.tNetworkLink_SCD_New where CCPSELLERID IN (10007544, 10017660)); | ||
| + | |||
| + | -- this query will be executed in reality (as SQL + Java) and delivers only 2 entries | ||
| + | select distinct cParentId from ( | ||
| + | SELECT orgbuyer.* | ||
| + | FROM SEESCMDB0.TORGANIZATION_SCD orgbuyer, SEESCMDB0.tControlPoint_SCD cpbuyer | ||
| + | WHERE | ||
| + | orgbuyer.cID = cpbuyer.cOrganizationID | ||
| + | AND cpbuyer.ccpID IN ( | ||
| + | |||
| + | select distinct CCPBYUERID from ( | ||
| + | |||
| + | SELECT SEESCMDB0.tNetworkLink_SCD_New.cId, | ||
| + | SEESCMDB0.tNetworkLink_SCD_New.CISUNREGSUPPLIER, | ||
| + | SEESCMDB0.tNetworkSupplierInfo_SCD.cSellerPlant, | ||
| + | orgseller.cId orgsellerid, | ||
| + | addressBuyer.cCity buyerCity, addressSeller.cCity sellerCity, tNetworkSupplierInfo_SCD.CDELETIONTIMESTAMP, | ||
| + | cpbuyer.cName || ' (' || cpbuyer.cPlantCode || ' | ||
| + | FROM SEESCMDB0.tNetworkLink_SCD_New, | ||
| + | SEESCMDB0.tOrganization_SCD orgseller, SEESCMDB0.tOrganization_SCD orgbuyer, SEESCMDB0.vNetworkCommunication_SCD, | ||
| + | SEESCMDB0.tNetworkSupplierInfo_SCD, | ||
| + | WHERE | ||
| + | orgbuyer.cID = cpbuyer.cOrganizationID | ||
| + | AND orgseller.cID = cpseller.cOrganizationID | ||
| + | AND cpbuyer.cCPID = SEESCMDB0.tNetworkLink_SCD_New.cCPByuerID | ||
| + | AND cpseller.cCPID = SEESCMDB0.tNetworkLink_SCD_New.cCPSellerID | ||
| + | AND SEESCMDB0.tNetworkLink_SCD_New.cID=vNetworkCommunication_SCD.cIDNetLink | ||
| + | AND SEESCMDB0.tNetworkLink_SCD_New.cId=SEESCMDB0.tNetworkSupplierInfo_SCD.cNetworkLinkId | ||
| + | AND addressBuyer.cCPID = tNetworkLink_SCD_New.cCPByuerID | ||
| + | AND addressSeller.cCPID = tNetworkLink_SCD_New.cCPSellerID | ||
| + | AND ROWNUM <= 5000 | ||
| + | AND (tNetworkLink_SCD_New.cCPSELLERID IN (10007544, 10017660)) | ||
| + | ORDER BY tNetworkLink_SCD_New.cID, | ||
| + | ) | ||
| + | ) | ||
| + | ); | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Die Ursache für das Problem scheint die Anzahl der Einträge in der Tabelle '' | ||
| + | -- this query delivers 1356705 | ||
| + | SELECT COUNT(*) FROM SEESCMDB0.tNetworkLink_SCD_New; | ||
| + | |||
| + | -- the query which was used, delivers 8421 => unfortunately also more than 5000 | ||
| + | select count(*) from ( | ||
| + | SELECT SEESCMDB0.tNetworkLink_SCD_New.cId, | ||
| + | SEESCMDB0.tNetworkLink_SCD_New.CISUNREGSUPPLIER, | ||
| + | SEESCMDB0.tNetworkSupplierInfo_SCD.cSellerPlant, | ||
| + | orgseller.cId orgsellerid, | ||
| + | addressBuyer.cCity buyerCity, addressSeller.cCity sellerCity, tNetworkSupplierInfo_SCD.CDELETIONTIMESTAMP, | ||
| + | cpbuyer.cName || ' (' || cpbuyer.cPlantCode || ' | ||
| + | FROM SEESCMDB0.tNetworkLink_SCD_New, | ||
| + | SEESCMDB0.tOrganization_SCD orgseller, SEESCMDB0.tOrganization_SCD orgbuyer, SEESCMDB0.vNetworkCommunication_SCD, | ||
| + | SEESCMDB0.tNetworkSupplierInfo_SCD, | ||
| + | WHERE | ||
| + | orgbuyer.cID = cpbuyer.cOrganizationID | ||
| + | AND orgseller.cID = cpseller.cOrganizationID | ||
| + | AND cpbuyer.cCPID = SEESCMDB0.tNetworkLink_SCD_New.cCPByuerID | ||
| + | AND cpseller.cCPID = SEESCMDB0.tNetworkLink_SCD_New.cCPSellerID | ||
| + | AND SEESCMDB0.tNetworkLink_SCD_New.cID=vNetworkCommunication_SCD.cIDNetLink | ||
| + | AND SEESCMDB0.tNetworkLink_SCD_New.cId=SEESCMDB0.tNetworkSupplierInfo_SCD.cNetworkLinkId | ||
| + | AND addressBuyer.cCPID = tNetworkLink_SCD_New.cCPByuerID | ||
| + | AND addressSeller.cCPID = tNetworkLink_SCD_New.cCPSellerID | ||
| + | --AND ROWNUM <= 5000 | ||
| + | AND (tNetworkLink_SCD_New.cCPSELLERID IN (10007544, 10017660)) | ||
| + | ORDER BY tNetworkLink_SCD_New.cID, | ||
| + | ); | ||
| + | </ | ||
| + | |||
| + | Der Filter, der die Begrenzung nach ROWNUM verursacht, wird in der Methode '' | ||
