SAPфорум.RU https://sapboard.ru/forum/ |
|
VBFA JOIN LTAP https://sapboard.ru/forum/viewtopic.php?f=13&t=97076 |
Страница 1 из 1 |
Автор: | Korvax [ Чт, ноя 22 2018, 09:40 ] |
Заголовок сообщения: | VBFA JOIN LTAP |
Добрый день. Есть необходимость объединить VBFA и LTAP, проблема в том что длина полей ltap~tapos и vbfa~posnn различная. Как быть (если не рассматривать отдельное считывание двух таблиц)? |
Автор: | ghost [ Чт, ноя 22 2018, 15:29 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
скорее надо связывать LTAP-POSNR |
Автор: | Korvax [ Чт, ноя 22 2018, 15:34 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
ghost написал: скорее надо связывать LTAP-POSNR Да, сейчас так и сделал, но вопрос все равно остался, ведь эти таблицы единичный случай. Возможно ли в join сравнить два поля numc разной длины? Может как то преобразовать? |
Автор: | ghost [ Чт, ноя 22 2018, 15:41 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
NUMC разной длины это разные значения по сути из-за нулей, так что если с CHAR теоретически еще можно сравнивать , то NUMC нет. |
Автор: | John Doe [ Чт, ноя 22 2018, 15:43 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
Link between EKPO and LIPS как пример |
Автор: | LAT [ Чт, ноя 22 2018, 16:40 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
По идее, можно так: Code: SELECT vbfa~ruuid, ltap~tanum
FROM ltap INNER JOIN vbfa ON right( vbfa~posnn, 4 ) = ltap~tapos INTO TABLE @DATA(t). |
Автор: | Korvax [ Пт, ноя 23 2018, 08:03 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
LAT написал(а): По идее, можно так: Code: SELECT vbfa~ruuid, ltap~tanum FROM ltap INNER JOIN vbfa ON right( vbfa~posnn, 4 ) = ltap~tapos INTO TABLE @DATA(t). Code: "(" здесь не разрешено, т. к. содержит запрещенный символ или является
ключевым словом. Возможно, его следует скрыть посредством "!". Также вероятно, что есть отсутствующий или лишний пробел. |
Автор: | Korvax [ Пт, ноя 23 2018, 08:11 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
John Doe написал: Link between EKPO and LIPS как пример Довольно смело ради select добавлять таблицу. Но, приму к сведению, возможно в дальнейшем пригодится
|
Автор: | UKY [ Пт, ноя 23 2018, 10:23 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
Да, для старого абапа всегда делал через промежуточные таблицы, а в новом можно функции SQL использовать. Интересно, а как-нибудь так будет работать для старых версий абапа? Code: SELECT * FROM ltap JOIN vbfa ON ltap~tanum = vbfa~vbeln WHERE EXISTS ( SELECT * FROM ltap AS ltap_b WHERE ltap_b~tanum = vbfa~vbeln AND ltap_b~tapos >= vbfa~posnn AND ltap_b~tapos <= vbfa~posnn ). Можно ещё попробовать LIKE использовать... К сожалению, данных под рукой нет и не могу проверить, сам никогда так не пробовал |
Автор: | ghost [ Пт, ноя 23 2018, 11:47 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
UKY написал(а): Да, для старого абапа всегда делал через промежуточные таблицы, а в новом можно функции SQL использовать. Интересно, а как-нибудь так будет работать для старых версий абапа? Code: SELECT * FROM ltap JOIN vbfa ON ltap~tanum = vbfa~vbeln WHERE EXISTS ( SELECT * FROM ltap AS ltap_b WHERE ltap_b~tanum = vbfa~vbeln AND ltap_b~tapos >= vbfa~posnn AND ltap_b~tapos <= vbfa~posnn ). Можно ещё попробовать LIKE использовать... К сожалению, данных под рукой нет и не могу проверить, сам никогда так не пробовал Это уже какое то извращение, IMHO |
Автор: | LAT [ Пт, ноя 23 2018, 14:51 ] |
Заголовок сообщения: | Re: VBFA JOIN LTAP |
Korvax написал: Code: "(" здесь не разрешено... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |