Текущее время: Чт, май 15 2025, 23:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: SY-SUBRC всегда равен НУЛЮ ??? К чему бы это???
СообщениеДобавлено: Чт, сен 01 2005, 15:21 
Гость
SELECT SUM( SUM_WO_NDS20 ) SUM( SUM_NDS20 )
SUM( SUM_WO_NDS10 ) SUM( SUM_NDS10 )
FROM ZZZ_BOOK_SALE
INTO (TSUM-SUM_WO_NDS20, TSUM-SUM_NDS20,
TSUM-SUM_WO_NDS10, TSUM-SUM_NDS10 )
WHERE GSBER IN GSBER AND
GJAHR = GJAHR AND
MONAT = MONAT.

IF SY-SUBRC NE 0.
* То ошибка нет данных и т.д.
ENDIF.

Почему даже если данные отсутствют sy-subrc всегда равен нулю???


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 01 2005, 15:28 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
Э-э-э...данные не совсем отсутствуют

запрос по любому возвращает данные с нулевыми суммами

суммы проверяй


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 01 2005, 16:10 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Может быть, стоит сменить ник на Four?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 01 2005, 16:15 
Гость
Правильно возвращает с нулевыми суммами. Но проблему это не решает. Как обработать ситуацию когда данных нет??? Ведь суммы и в таблицах м.б. нулевыми. Так что НУЛИ не показатель отсутсвия данных.


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

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
Select single count( * ) into iCount from...

if iCount eq 0.
*** Криком кричим, надрываемся...
else.
*** Тут молчим, ухмыляемся.
endif.

Поможет? :D

_________________
С уважением, В.Ш.
4.6C


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 01 2005, 16:26 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Zero написал(а):
Правильно возвращает с нулевыми суммами. Но проблему это не решает. Как обработать ситуацию когда данных нет??? Ведь суммы и в таблицах м.б. нулевыми. Так что НУЛИ не показатель отсутсвия данных.

count добавь и спи спокойно. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 01 2005, 16:31 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Виктор(Минск) написал:
Select single count( * ) into iCount from...

if iCount eq 0.
*** Криком кричим, надрываемся...
else.
*** Тут молчим, ухмыляемся.
endif.

Поможет? :D

count можно добавить в select с другими агрегатными функциями - sum. Зачем лепить 2 запроса?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 01 2005, 16:59 
Гость
Господа саперы я наверно не совсем правильно вам объяснил, что меня интересует.

Меня интересует наличие записей в таблице по заданным критериям выборки, а не вообще наличие любых.

Вот что я сделал чтобы sy-subrc все таки менялся.


SELECT VID_CH_F SUM( SUM_ALL ) SUM( SUM_WO_NDS20 ) SUM( SUM_NDS20 )
SUM( SUM_WO_NDS10 ) SUM( SUM_NDS10 ) SUM( SUM_WO_NDS0 )
SUM( SUM_NO_NALOG )
FROM ZZZ_BOOK_SALE
INTO (TSUM-VID_CH_F, TSUM-SUM_ALL, TSUM-SUM_WO_NDS20, TSUM-SUM_NDS20,
TSUM-SUM_WO_NDS10, TSUM-SUM_NDS10, TSUM-SUM_WO_NDS0,
TSUM-SUM_NO_NALOG )
WHERE GSBER IN GSBER AND
GJAHR = GJAHR AND
MONAT = MONAT AND
VID_CH_F EQ '1' AND
ANULL NE 'X'
GROUP BY VID_CH_F.
ENDSELECT.
IF SY-SUBRC NE 0.
NO_DATA = 'X'.
ENDIF.

Но по-моему добавлять лишнее поле(nom_ch_f) в выборку и соотвественно еще производить GROUP BY по нему(по-другому не работает!!!) это полный бред.

Как вы считаете???


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 01 2005, 17:19 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Zero, тебе же сказали - используй агрегатную функцию count!
И для начала почитай руководство по SQL. :)
Интересно, где это в Питере такие стажеры работают? :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 02 2005, 06:26 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
EGF написал(а):
Может быть, стоит сменить ник на Four?


:D


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: *
СообщениеДобавлено: Пт, сен 02 2005, 06:36 
Гость
м.б. тогда select single пользовать (чтобы определить факт "есть/нет записей")?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 02 2005, 07:06 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Zero написал(а):
Так что НУЛИ не показатель отсутсвия данных.


sy-dbcnt возвращает количество обработанных записей


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 02 2005, 07:24 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
sy-dbcnt возвратит единицу для первоначального запроса

лучше действительно count использовать как многие советуют


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 02 2005, 08:42 
Гость
Всем спасибо. Действительно ситуацию исправил пресловутый count.

Дмитрий дело не в стажерстве, а в двух днях непрерывной работы. Так иногда бывает: "Очевидное не видно!" .

Рад был со всеми пообщаться. Спасибо!!!


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

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


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

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


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

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