Текущее время: Пт, апр 26 2024, 22:28

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


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

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


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

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