Текущее время: Ср, апр 24 2024, 21:46

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: ABAP & Native SQL
СообщениеДобавлено: Пн, янв 31 2022, 15:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Привет,

Занялся тут наведением порядка (с полномочиями :) и обнаружил, что
"тупая" замена

Code:
select a.ID, b.MODIFIEDON, c.CUSTOMERCODE, a.INVALIDDUL
from zt3_cn_contact4 a
join zt3_cn_contact1 b on a.id = b.id and a.invaliddul = 1
join zt3_cn_contact3 c on a.id = c.id


на

Code:
select a~ID, b~MODIFIEDON, c~CUSTOMERCODE, a~INVALIDDUL
  from zt3_cn_contact4 as a
  JOIN zt3_cn_contact1 as b on a~id = b~id and a~invaliddul = 1
  join zt3_cn_contact3 as c on a~id = c~id
  INTO TABLE @itab.


не сработало.
что не так?

p.s. Oracle ес-но

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Пн, янв 31 2022, 17:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Что значит "не сработала"? не выбирает данные? Или сыпет синт.ошибками? нейтив вроде как по дефолту не обрабатывает мандант, т.е. начальный запрос должен был показать инфу из всех мандантов. А вот абап-версия уже автоматом мандант обработает, и если в этом клиенте нет данных - нифига не покажет, например

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Вт, фев 01 2022, 08:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Кодер написал(а):
Что значит "не сработала"? не выбирает данные? Или сыпет синт.ошибками? нейтив вроде как по дефолту не обрабатывает мандант, т.е. начальный запрос должен был показать инфу из всех мандантов. А вот абап-версия уже автоматом мандант обработает, и если в этом клиенте нет данных - нифига не покажет, например

нифига не выбирает.
client specified добавил..
сначала подумал, что таблички они создали кросс-мандантные, но - нет, во всех мандант есть и заполнен.
интересно, что когда
Code:
select a~ID, b~MODIFIEDON, c~CUSTOMERCODE, a~INVALIDDUL
  INTO CORRESPONDING FIELDS OF TABLE @itab
  from ( ( zt3_cn_contact4 as a
     LEFT outer JOIN zt3_cn_contact1 as b
     on a~id = b~id and
        a~invaliddul = 1 )

  inner join zt3_cn_contact3 as c
     on  c~id = a~id )
*  INTO TABLE @itab.
  client specified

то выборка идёт, но a~invaliddul ес-но любые
думаю проблема связана с разницей в интерпретации JOIN в нативе и опене - интересно как-то стало :)

p.s. сделал "времянку" через exec sql - чтоб не лезли в SQL editor в проде

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Вт, фев 01 2022, 10:39 
Специалист
Специалист

Зарегистрирован:
Вт, июн 10 2014, 09:41
Сообщения: 179
А какой тип у zt3_cn_contact4~invaliddul? Может быть, надо фильтровать не по 1, а по `01`, например?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Вт, фев 01 2022, 11:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
UKY написал(а):
А какой тип у zt3_cn_contact4~invaliddul? Может быть, надо фильтровать не по 1, а по `01`, например?

NUMC10
Причём заполнен "грязно": 0 или 00000000000, 1...
думал на это, убрал выборку - стало собираться, но всё подряд..
может из-за этого?
-------
во, млин, попробовал выбрать в se16 zt3_cn_contact4~invaliddul = 1 - НОЛЬ записей! "а он есть" :)
ставлю > 0 - выбирает! Это безобразие какое-то...
--------
таки что делать?

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Вт, фев 01 2022, 17:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Skif написал:
Таки что делать?


Указывай a~invaliddul = '0000000001'
Раз это NUMC, то лежит в бд с ведущими нулями.
CLIENT SPECIFIED тебе как раз не нужен, он необходим, когда нужно указать MANDT в условиях.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Ср, фев 02 2022, 09:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Кодер написал(а):
Skif написал:
Таки что делать?


Указывай a~invaliddul = '0000000001'
Раз это NUMC, то лежит в бд с ведущими нулями.
CLIENT SPECIFIED тебе как раз не нужен, он необходим, когда нужно указать MANDT в условиях.

ЩАЗ!!
Ваши местячковые коллеги умудряются впихивать туда данные (причем просто флажок!) в "мусорном" формате.
NUMC10 (в оракле VARCHAR2(30) при такой загрузке вообще не позволяет потом средствами OpenSQL что-либо выбрать.
Вот поэтому они и требуют доступ к SQL-Editor в проде. А я-то думаю.. :evil:

p.s. "буду бить аккуратно, но сильно "

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Ср, фев 02 2022, 11:09 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 131
Откуда: Набережные Челны
Пол: Мужской
Можно было сделать SQL-трассировку и увидеть какой запрос физически идёт в БД.
В плане выполнения запроса, можно также увидеть какая из таблиц возвращает нулевой набор данных, а там уже разбираться по месту.

+ в se16 можно отключить преобразования, чтобы видеть как физически хранятся данные.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Ср, фев 02 2022, 11:48 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
С этим ладно - понятно.
Просто на Хану миграцию готовить - надо бы проверить качество содержимого остальных Z*-таблиц.
Кто делал? В смысле выборку таблиц с "мусорными" данными...

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Вт, фев 22 2022, 10:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Привет,

Уже жалею, что вообще копнул этот проект :|
Вопрос - это, вообще, корректно - использовать прямую загрузку в базу минуя нормализацию данных ?

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Вт, фев 22 2022, 12:04 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Ну, делать с SAP интеграцию на уровне прямой записи в таблицы БД - это смело, конечно, и мягко говоря не распространенный подход.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP & Native SQL
СообщениеДобавлено: Вт, фев 22 2022, 21:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Skif написал:
Вопрос - это, вообще, корректно - использовать прямую загрузку в базу минуя нормализацию данных ?

Для рукожопов - вполне нормально. А так - конечно плохо

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


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

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


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

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


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

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