Текущее время: Пн, июл 14 2025, 05:22

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 07:48 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Писал я такую штуку. но к сожаленю поделиться не могу.
Для тех кто из РЖД - могут глянут в D00 y96tabv


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 08:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
DKiyanov написал:
Писал я такую штуку. но к сожаленю поделиться не могу.
Для тех кто из РЖД - могут глянут в D00 y96tabv

типа - для тех кто в паровозе ))) - а кумулятивным запросом можешь поделится?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 09:26 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, сен 21 2005, 10:01
Сообщения: 651
Откуда: СССР
По моему надо прогу генерить просто и все. Или часть проги. Тока вряд ли ее перенесут дальше среды разработки/песочницы, а в среде разработки можно запрос и в se38 наваять :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 09:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
1980 написал(а):
По моему надо прогу генерить просто и все. Или часть проги. Тока вряд ли ее перенесут дальше среды разработки/песочницы, а в среде разработки можно запрос и в se38 наваять :)

Это уже вопрос культуры. Всегда желательно получать "благословение" автора.
А дёргать клочьями программы.. - некошерно.. По себе знаешь - может как раз собираешься что-то улучшить, гришь - подождите..через пару дней будет новая версия и - в комплекте.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 10:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Цитата:
Единственное ограничение в запросе должно быть обязательно
'INTO TABLE <OUT>'

Лучше в запросе вообще не писать INTO, а вставлять
в программе:

Code:


Последний раз редактировалось sibrin Чт, июл 27 2006, 16:09, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 11:25 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
А теперь смотрим код и представляем что произойдет, напиши мы такой запрос (исходный пример, собственно):
Code:
"select * from anla where anlkl in (select anlkl from anka where ktopl cp '1*')".

Корректной работы мы не дождемся.
А суть программы, на мой взгляд, как раз и должна заключаться в возможности исполнения относительно сложных запросов. Иначе se12 - отличная и уже написанная альтернатива :). Так что без Native SQL и курсоров никак ;)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 12:09 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
Пономарев Артем написал:
А теперь смотрим код и представляем что произойдет, напиши мы такой запрос (исходный пример, собственно):
Code:
"select * from anla where anlkl in (select anlkl from anka where ktopl cp '1*')".

Корректной работы мы не дождемся.
А суть программы, на мой взгляд, как раз и должна заключаться в возможности исполнения относительно сложных запросов. Иначе se12 - отличная и уже написанная альтернатива :). Так что без Native SQL и курсоров никак ;)

вообще-то, сама тема весьма щекотливая с точки зрения (в недалёкую перспективу) отдела безопасности


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 14:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 16:09
Сообщения: 202
Пономарев Артем написал:
А теперь смотрим код и представляем что произойдет, напиши мы такой запрос (исходный пример, собственно):
Code:
"select * from anla where anlkl in (select anlkl from anka where ktopl cp '1*')".

Корректной работы мы не дождемся.
А суть программы, на мой взгляд, как раз и должна заключаться в возможности исполнения относительно сложных запросов. Иначе se12 - отличная и уже написанная альтернатива :). Так что без Native SQL и курсоров никак ;)


а может запрос все такие правильно написать с учетом того что
1. таблица anka не содержит поле ktopl ( пусть будет KTOGR )
2. CP нужно заменить на LIKE

select * from anla INTO TABLE <OUT> where anlkl in ( select anlkl from anka where ktogr
like '01%').

***************
Или может вы желаете свой SQL использовать котороый не OpenSQL ? - тогда ничего не получиться - потому как смысла ето не имеет

P/S: Радует что хоть кто то смог сложить два куска программного кода в один :) ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 14:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Пономарев Артем написал:
А теперь смотрим код и представляем что произойдет, напиши мы такой запрос (исходный пример, собственно):
Code:
"select * from anla where anlkl in (select anlkl from anka where ktopl cp '1*')".

Корректной работы мы не дождемся.


В этом запросе три ошибки:

1) вокруг круглых скобок должны быть пробелы;

2) в таблице anka нет поля ktopl;

3) оператор cp в условии where недопустим, нужно использовать LIKE.

Вот так работает:
Code:
select *  from anla where anlkl in ( select anlkl from anka where ERNAM like 'S%' ).



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 14:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Snegurenok написал(а):
а может запрос все такие правильно написать

Опередил.


Snegurenok написал(а):
P/S: Радует что хоть кто то смог сложить два куска программного кода в один :) ...


В надежде, что кто-нибудь продолжит и усовершенствует.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 14:22 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Ну синтаксис тут не принципиально важен. Важнее то, что на Open SQL мало мальски нормального запроса написать не получится в виду ограниченности возможностей. Т.е. проще использовать всю ту же se12. Ну или завязываться на Native. Что тоже нехорошо, но более соответствует постановке задачи. Как мне кажется.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 16:09 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Добавил синтаксический разбор запроса типа
Code:
select mara~matnr ernam as e from mara up to 10 rows.


Осталось только join'ы разобрать.
По хорошему надо scan делать (из соображений безопасности
по крайней мере).

Code:


Последний раз редактировалось sibrin Чт, июл 27 2006, 17:34, всего редактировалось 3 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 16:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 16:09
Сообщения: 202
Пономарев Артем написал:
Ну синтаксис тут не принципиально важен. Важнее то, что на Open SQL мало мальски нормального запроса написать не получится в виду ограниченности возможностей. Т.е. проще использовать всю ту же se12. Ну или завязываться на Native. Что тоже нехорошо, но более соответствует постановке задачи. Как мне кажется.


хм а чем ето не соответсвует условию ? - тем что не обрабатывает синтаксически не корректные запросы ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 16:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 16:09
Сообщения: 202
а зачем блок вывода два раза дублировать ? внеси его после полечния данных ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 27 2006, 16:28 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Code:
а зачем блок вывода два раза дублировать ? внеси его после полечния данных ...

Вообще-то блоки вывода совсем разные должны быть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2, 3  След.

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


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

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


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

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