Текущее время: Пт, июл 18 2025, 06:15

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


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

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


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

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