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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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