Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Nick Участник со стажем
Вступление в Клуб: 07.11.2012
|
Ср Ноя 28, 2012 06:57  Выборка в представлении |
|
Полезность: Нет оценки
|
в представлении есть курсор
Код: |
type main is
select credit (
credit.[NUM_DOG] :C_NUM,
credit.[DATE_BEGIN] :C_DATE,
credit.[CLIENT].[NAME] :C_CLIENT,
credit.[COM_STATUS].[NAME] :C_STATUS,
credit.[FT_CREDIT].[NAME] :C_FT_CREDIT,
****
--9ая колонка
credit.[ARRAY_DOG_ACC](1).[NAME_ACCOUNT].[REF_ACC].[SALDO] :C_SALDO
****
)
in ::[PR_CRED] all;
|
в девятую колонку ничего не выводится, пробовал разные поля по REF_ACC, тот же результат.
Код credit.[ARRAY_DOG_ACC](1).[NAME_ACCOUNT].[NAME] выводит значение. Т.е проблема в ссылке.
Так же соединял таблицы, чтобы в отладке не вызывалась операция Z#TIP_ACC#INTERFACE.g#ref_acc.Изменений не было. В каком месте копать? |
|
 |
Nick Участник со стажем
Вступление в Клуб: 07.11.2012
|
Ср Ноя 28, 2012 13:05   |
|
Полезность: Нет оценки
|
Разобрался, не актуально. |
|
 |
radian13 Участник
Вступление в Клуб: 28.05.2014
|
Пт Май 30, 2014 09:54   |
|
Полезность: Нет оценки
|
Nick пишет: | Разобрался, не актуально. |
В чем проблема была? |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пт Май 30, 2014 10:22   |
|
Полезность: Нет оценки
|
Я бы не ссылался в коде на элемент массива, а брал связку с таблицей HOZ_OP_ACC по типу счета (напр 'ACCOUNT' ) |
|
 |
radian13 Участник
Вступление в Клуб: 28.05.2014
|
Пт Май 30, 2014 10:26   |
|
Полезность: Нет оценки
|
vtar пишет: | Я бы не ссылался в коде на элемент массива, а брал связку с таблицей HOZ_OP_ACC по типу счета (напр 'ACCOUNT' ) |
Не могу получить номер счета из массива счетов в продукте:
select prod(
h_o_acc.[NAME_ACCOUNT].[REF_ACC].main_V_ID
)
in :: [PRODUCT] ,
(:: [hoz_op_acc]all: h_o_acc)
where prod.num_dog = '13076' and
h_o_acc%collection = prod.[ARRAY_DOG_ACC]
В чем ошибка кто знает? |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пт Май 30, 2014 10:46   |
|
Полезность: Нет оценки
|
Код: |
pr ref [PRODUCT];
begin
pr := this;
for
(
select p(h:h)
in ::[PRODUCT], ( ::[HOZ_OP_ACC] all:h) all
where p.[NUM_DOG]= '12345'
and p.[ARRAY_DOG_ACC] = h%collection
and h.[NAME_ACCOUNT].[COD] = 'ACCOUNT'
)
loop
debug_pipe (p.h.[ACCOUNT_DOG].[1].[2].[MAIN_V_ID]||' '||p.h.[NAME_ACCOUNT].[COD],0);
end loop;
end;
|
Вот тут лажа
h_o_acc.[NAME_ACCOUNT].[REF_ACC].main_V_ID |
|
 |
radian13 Участник
Вступление в Клуб: 28.05.2014
|
Пт Май 30, 2014 10:59   |
|
Полезность: Нет оценки
|
vtar пишет: | Код: |
pr ref [PRODUCT];
begin
pr := this;
for
(
select p(h:h)
in ::[PRODUCT], ( ::[HOZ_OP_ACC] all:h) all
where p.[NUM_DOG]= '12345'
and p.[ARRAY_DOG_ACC] = h%collection
and h.[NAME_ACCOUNT].[COD] = 'ACCOUNT'
)
loop
debug_pipe (p.h.[ACCOUNT_DOG].[1].[2].[MAIN_V_ID]||' '||p.h.[NAME_ACCOUNT].[COD],0);
end loop;
end;
|
Вот тут лажа
h_o_acc.[NAME_ACCOUNT].[REF_ACC].main_V_ID |
Не совсем то(
Мне нужно вывести все счета этого продукта, а не основной счет продукта. |
|
 |
radian13 Участник
Вступление в Клуб: 28.05.2014
|
Пт Май 30, 2014 11:08   |
|
Полезность: Нет оценки
|
radian13 пишет: | vtar пишет: | Код: |
pr ref [PRODUCT];
begin
pr := this;
for
(
select p(h:h)
in ::[PRODUCT], ( ::[HOZ_OP_ACC] all:h) all
where p.[NUM_DOG]= '12345'
and p.[ARRAY_DOG_ACC] = h%collection
and h.[NAME_ACCOUNT].[COD] = 'ACCOUNT'
)
loop
debug_pipe (p.h.[ACCOUNT_DOG].[1].[2].[MAIN_V_ID]||' '||p.h.[NAME_ACCOUNT].[COD],0);
end loop;
end;
|
Вот тут лажа
h_o_acc.[NAME_ACCOUNT].[REF_ACC].main_V_ID |
Не совсем то(
Мне нужно вывести все счета этого продукта, а не основной счет продукта. |
Все получилось!
Большое спасибо!
Убрал h.[NAME_ACCOUNT].[COD] = 'ACCOUNT' |
|
 |
|