Текущее время: Пт, мар 29 2024, 11:29

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: VBFA JOIN LTAP
СообщениеДобавлено: Чт, ноя 22 2018, 09:40 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 473
Пол: Мужской
Добрый день.
Есть необходимость объединить VBFA и LTAP, проблема в том что длина полей ltap~tapos и vbfa~posnn различная. Как быть (если не рассматривать отдельное считывание двух таблиц)?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Чт, ноя 22 2018, 15:29 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
скорее надо связывать LTAP-POSNR

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Чт, ноя 22 2018, 15:34 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 473
Пол: Мужской
ghost написал:
скорее надо связывать LTAP-POSNR

Да, сейчас так и сделал, но вопрос все равно остался, ведь эти таблицы единичный случай. Возможно ли в join сравнить два поля numc разной длины? Может как то преобразовать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Чт, ноя 22 2018, 15:41 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
NUMC разной длины это разные значения по сути из-за нулей, так что если с CHAR теоретически еще можно сравнивать , то NUMC нет.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Последний раз редактировалось ghost Чт, ноя 22 2018, 15:44, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Чт, ноя 22 2018, 15:43 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Link between EKPO and LIPS как пример


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Чт, ноя 22 2018, 16:40 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
По идее, можно так:
Code:
SELECT vbfa~ruuid, ltap~tanum
  FROM ltap INNER JOIN vbfa
              ON right( vbfa~posnn, 4 ) = ltap~tapos
  INTO TABLE @DATA(t).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Пт, ноя 23 2018, 08:03 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 473
Пол: Мужской
LAT написал(а):
По идее, можно так:
Code:
SELECT vbfa~ruuid, ltap~tanum
  FROM ltap INNER JOIN vbfa
              ON right( vbfa~posnn, 4 ) = ltap~tapos
  INTO TABLE @DATA(t).

Code:
"(" здесь не разрешено, т. к. содержит запрещенный символ или является
ключевым словом. Возможно, его следует скрыть посредством "!". Также
вероятно, что есть отсутствующий или лишний пробел.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Пт, ноя 23 2018, 08:11 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 473
Пол: Мужской
John Doe написал:
Link between EKPO and LIPS как пример
Довольно смело ради select добавлять таблицу. :shock: Но, приму к сведению, возможно в дальнейшем пригодится :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Пт, ноя 23 2018, 10:23 
Специалист
Специалист

Зарегистрирован:
Вт, июн 10 2014, 09:41
Сообщения: 179
Да, для старого абапа всегда делал через промежуточные таблицы, а в новом можно функции 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 использовать...
К сожалению, данных под рукой нет и не могу проверить, сам никогда так не пробовал :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Пт, ноя 23 2018, 11:47 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
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

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: VBFA JOIN LTAP
СообщениеДобавлено: Пт, ноя 23 2018, 14:51 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
Korvax написал:
Code:
"(" здесь не разрешено...
В 7.51 на такое не ругается.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB