Posted: Fri May 15, 2009 2:32 pm Post subject: Не правильная выборка select
В продуктиве селект возвращает непонятную сумму, где может быть потенциальная проблема в этом запросе?
Code:
SELECT SINGLE SUM( p~kzwi4 ) INTO itab-not_bill
FROM lips AS l
JOIN vbup AS u ON u~vbeln = l~vbeln
AND u~posnr = l~posnr
JOIN vbap AS p ON p~vbeln = l~vgbel
AND p~posnr = l~vgpos
JOIN vbak AS k ON k~vbeln = p~vbeln
WHERE k~kunnr EQ itab-kunnr
AND u~wbsta EQ 'C'
AND u~fksta NE 'C'.
Age: 37 Joined: 18 Jan 2008 Posts: 71 Location: Tashkent-Astana-Moscow
Posted: Fri May 15, 2009 4:20 pm Post subject:
ошибка в single
должно быть
Code:
SELECT SUM( p~kzwi4 ) INTO itab-not_bill
FROM lips AS l
JOIN vbup AS u ON u~vbeln = l~vbeln
AND u~posnr = l~posnr
JOIN vbap AS p ON p~vbeln = l~vgbel
AND p~posnr = l~vgpos
JOIN vbak AS k ON k~vbeln = p~vbeln
WHERE k~kunnr EQ itab-kunnr
AND u~wbsta EQ 'C'
AND u~fksta NE 'C'.
_________________ Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
Age: 37 Joined: 18 Jan 2008 Posts: 71 Location: Tashkent-Astana-Moscow
Posted: Fri May 15, 2009 5:29 pm Post subject: Re: Не правильная выборка select
John Doe wrote:
ghost wrote:
ошибка в single
У меня один и тот же результат.
да тоже заметил
Влад wrote:
В продуктиве селект возвращает непонятную сумму, где может быть потенциальная проблема в этом запросе?
проверил у себя запрос, нормально выводит данные
почему вы решили что - непонятная сумма, и если вы точно знаете что это ошибка тогда :
проверяйте что вы передаете в itab-kunnr , а лучше сделайте подобный запрос если есть такая возможность без агрегации и посмотрите что за данные возвращаются или если нету такой возможности тогда трассировка может поможет _________________ Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
Ошибка проявляется только на одном поставщике, на остальных select работает без претензий. удалось только выяснить, что существует некая деливери без sales order, возможно ошибка именно в этом, но точно выяснить не получается.
Поскольку программа в продуктиве, то изменить select и выяснить, из какого документа формируется сумма, нет возможности.
Попробовал воспроизвести выборку по шагам в se16, но сумма не сошлась. Делал так:
1) Выбрал из vbak номера документов, у которых код поставшика = itab-kunnr
2) выбрал все документы из lips, у которых поле lips-vgbel = списку из первой выборки
3) Выбрал все документы из vbup с номерами, равными lips-vbeln из второй выборки и со стаусами wbsta EQ 'C' AND fksta NE 'C'.
4) Выбрал все номера документов из lips = выборкие из третьей выборки, скопировал lips-vgbel в новый список
5) подсчитал суммы vbap-kzwi4 по номерам документов из четвертой выборки.
Суммы не сошлись. Поэтому подумал, что изначальный select содержит какую то ошибку.
Age: 37 Joined: 18 Jan 2008 Posts: 71 Location: Tashkent-Astana-Moscow
Posted: Mon May 18, 2009 12:20 pm Post subject:
Влад wrote:
Ошибка проявляется только на одном поставщике, на остальных select работает без претензий. удалось только выяснить, что существует некая деливери без sales order, возможно ошибка именно в этом, но точно выяснить не получается.
Поскольку программа в продуктиве, то изменить select и выяснить, из какого документа формируется сумма, нет возможности.
Попробовал воспроизвести выборку по шагам в se16, но сумма не сошлась. Делал так:
1) Выбрал из vbak номера документов, у которых код поставшика = itab-kunnr
2) выбрал все документы из lips, у которых поле lips-vgbel = списку из первой выборки
3) Выбрал все документы из vbup с номерами, равными lips-vbeln из второй выборки и со стаусами wbsta EQ 'C' AND fksta NE 'C'.
4) Выбрал все номера документов из lips = выборкие из третьей выборки, скопировал lips-vgbel в новый список
5) подсчитал суммы vbap-kzwi4 по номерам документов из четвертой выборки.
Суммы не сошлись. Поэтому подумал, что изначальный select содержит какую то ошибку.
IMHO ваш SELECT существенных ошибок не содержит , а ошибка по моему в том что вы забыли учесть позиции заказов , помоему не все позиции заказов попадут в результирующий список (это я о том списке который получился в 5) пункте ваших расчетов) _________________ Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.