2015-07-10 3 views
0

Я пытаюсь вызвать функцию и сохранить результат в varabileНеверный или NULL аргумент object_id []

la_object_names fls_varchar_table := fls_varchar_table(); 
la_children_EASs FLS_NUMBER_TABLE   := FLS_NUMBER_TABLE(); 
loa_objects_EASs ims_api.typo_ims_objects := ims_api.typo_ims_objects(NULL); 

la_object_names  := rm.sri_object_utils.get_object_names(pia_object_ids => la_children_EASs); 

fls_varchar_table и FLS_NUMBER_TABLE являются таблица VARCHAR и количества объявленных в DDL.
get_object_names функция возвращает fls_varchar_table

В intialization из la_children_EASs

la_children_EASs.extend(loa_objects_EASs.ims_objects.LAST);

Я думаю, что существует неявное преобразование из fls_number_table в ims_api.typo_ims_objects но не ViceVersa

Я получаю эту ошибку:

Invalid or NULL argument for object_id [] in procedure/function rm.sri_object_utils.get_object_name

Я попытался дать и жестко аргумент get_object_names метод что-то вроде этого:

la_object_names  := rm.sri_object_utils.get_object_names(pia_object_ids => FLS_NUMBER_TABLE(31231,2313213,231231)); 

Это возвращает ожидаемые результаты. Любое предложение очень ценится.

ответ

1

Кажется, что вы передаете параметр неправильного типа этой функции в первом случае.
В первом случае вы передаете la_children_EASs, который является FLS_NUMBER_TABLE(),
во втором случае вы передаете fls_varchar_table.

+0

Извините, я обновил второй случай –

+1

Я не вижу изменений - тот же fls_varchar_table во втором случае. Спецификация функций и полный стек ошибок помогут ответить на ваш вопрос. –

+0

Кстати, вы объявляете la_children_EASs, но передаете в качестве параметра la_children_EANs Является ли это опечаткой или вы пропустите la_children_EANs в вашем примере? –