Текущее время: Ср, окт 29 2025, 22:00

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Подпрограмма в правилах обновления
СообщениеДобавлено: Вт, ноя 18 2008, 09:30 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 20 2007, 13:18
Сообщения: 63
Добрый день!
При закачке данных из ОДС в куб для определения значения признака мне надо посчитать сумму по группе определенных счетов в том же самом ОДС. Попыталась сделать Select по таблице активных данных этого ОДС /BIC/ALFIGLO0600, но в правилах обновления этот
Select игнорируется. Пробавала и внутреннюю таблицу создать и ФМ - не работает. Хотя если программку запустить как ABAPовскую - результат есть.
Что делать?
версия BW 3.5
Спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подпрограмма в правилах обновления
СообщениеДобавлено: Вт, ноя 18 2008, 10:06 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
Правила обновления между кубом и ОДС?

_________________
http://asapbi.ru/


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подпрограмма в правилах обновления
СообщениеДобавлено: Вт, ноя 18 2008, 10:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
Ulenka написал(а):
Что делать?
версия BW 3.5
Спасибо!


код в студию, pls.

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 18 2008, 10:29 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 20 2007, 13:18
Сообщения: 63
правила обновления из ОДС в куб
....
u_hkont = .... (определяется нормально, проверяла)
......
select sum( BALANCE )
into u_sum
from /BIC/ALFIGLO0600 (в таблице данные есть)
where GL_ACCOUNT = u_hkont
and FISCPER = COMM_STRUCTURE-FISCPER
and BALANCE <> 0
group by GL_ACCOUNT FISCPER.
endselect.
....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 18 2008, 10:35 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
Ulenka написал(а):
правила обновления из ОДС в куб
....
u_hkont = .... (определяется нормально, проверяла)
......
select sum( BALANCE )
into u_sum
from /BIC/ALFIGLO0600 (в таблице данные есть)
where GL_ACCOUNT = u_hkont
and FISCPER = COMM_STRUCTURE-FISCPER
and BALANCE <> 0
group by GL_ACCOUNT FISCPER.
endselect.
....


А строчка Result = u_sum. есть?

_________________
http://asapbi.ru/


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 18 2008, 10:57 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 20 2007, 13:18
Сообщения: 63
u_sum используется дальше, result - это для другого признака (который взависимости от того u_sum >0 или < 0 имеет одно значение или другое) -он срабатывает (пробовала u_sum заводить константой, все хорошо).
Дело в том что u_sum не считается из этого Select.
Если Select написать в Se38 - работает, в правилах обновления - нет.
Пробавала сделать дубликат исходного ОДС и брать оттуда - все равно не работает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 18 2008, 11:44 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 29 2007, 13:53
Сообщения: 251
В se38, наверное, постоянные значения в условия подставляли, попробуйте их же подставить и в правило для теста.
Имхо, и строки group by и endselect здесь не обязательны.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 18 2008, 12:12 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
Kubus написал(а):
В se38, наверное, постоянные значения в условия подставляли, попробуйте их же подставить и в правило для теста.
Имхо, и строки group by и endselect здесь не обязательны.


Скорее всего из-за group by и endselect в сумму выбирается 0.

_________________
http://asapbi.ru/


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 18 2008, 12:20 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 20 2007, 13:18
Сообщения: 63
это я тоже пробавала.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 18 2008, 12:26 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
Ulenka написал(а):
это я тоже пробавала.


Ты группируешь, и в каждой группе вычисляется сумма. Однако снаружи цикла используется сумма только для последней группы. А так как SQL в таком виде не дает строго определенный порядок выборки групп, то и сумма, вычисленная в программе и сумма, полученная в правилах, может отличаться.

Однозначно нужно убирать группировку и endselect

_________________
http://asapbi.ru/


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

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
Ulenka написал(а):
правила обновления из ОДС в куб
....
u_hkont = .... (определяется нормально, проверяла)
......
select sum( BALANCE )
into u_sum
from /BIC/ALFIGLO0600 (в таблице данные есть)
where GL_ACCOUNT = u_hkont
and FISCPER = COMM_STRUCTURE-FISCPER
and BALANCE <> 0
group by GL_ACCOUNT FISCPER.
endselect.
....




Виталий Вам уже написАл.

Мне тоже непонятно, зачем Вам операторы GROUP BY и цикл SELECT - ENDSELECT.
Кроме того, если вы хотите получить сумму по группе счетов, то что находится в переменной u_hkont ?

Если сумма вычисляется по группе, то должно быть что-то вроде:

SELECT.....
WHERE GL_ACCOUNT IN (ACCOUNT1, ACCOUNT2,....)

Или какой-нибудь RANGE должен быть определён для группы.

А вообще, мой вам совет: поставьте BREAK-POINT и пройдите DEBUGGER-ом, сразу всё поймёте.

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


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

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


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

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


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

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