ODI 12C Smart import с действиями с использованием SDK

Привет, я могу интеллектуально импортировать проекты в ODI с помощью SDK. но я не могу использовать предопределенный метод, который устанавливает такие действия, как слияние, создание копии, игнорирование, повторное использование при импорте проектов.

Пожалуйста, помогите мне реализовать метод ниже, setMatchedFCODefaultImportAction (java.lang.String pFCOObjType, int pSmartImportAction)

используя метод ниже, я напрямую импортирую проекты. importObjectsFromXml (fnameAndPath, ExportKey, ExportWithoutCipherData);

Я хочу осуществить вышеперечисленные действия, пожалуйста, помогите мне. Благодарность


person Community    schedule 16.11.2018    source источник
comment
Gopi, перед обращением за помощью надо реализовать первую версию. При этом, как только вы выполните основное требование своего решения, stack-overflow может помочь решить все, что вы пропустили. Неразумно предполагать, что кто-то реализует весь код для слияния, создания, копирования, игнорирования, повторного использования (действий) за вас, но вы можете изучить больше в Интернете, если не знаете, с чего начать.   -  person nitinr708    schedule 16.11.2018
comment
Nitin Я выполнил свою реализацию, вот мой код,   -  person    schedule 16.11.2018
comment
github.com/Gopi1995krishna/smartImport.git   -  person    schedule 16.11.2018


Ответы (1)


К сожалению, вы не можете использовать setMatchedFCODefaultImportAction, чтобы указать действие для определенного объекта, такого как проект, как в вашем коде:

smartImpServ.setMatchedFCODefaultImportAction("Dev_ODI_Project", 1);

Он может определять действие по умолчанию только для объекта первого класса, то есть для всех объектов определенного типа. Например, вы можете установить действия по умолчанию для любого проекта как CREATE / COPY (эквивалент 1, который вы использовали в своем коде):

smartImpServ.setMatchedFCODefaultImportAction(ISmartImportService.PROJECT_OBJECT_NAME, ISmartImportService.SMART_IMPORT_ACTION_CREATE_COPY);

Значения, которые вы можете использовать в качестве параметров pFCOObjType, - это все поля, оканчивающиеся на _OBJECT_NAME в ISmartImportService.

Если вы хотите указать действие для определенного объекта, вам нужно будет использовать файл ответов из предыдущего импорта с тегом importFromXml.

person JeromeFr    schedule 16.11.2018
comment
Привет, в ISmartImportService.PROJECT_OBJECT_NAME, это название проекта? так что я могу использовать Dev_ODI_Project_OBJECT_NAME, где Dev_ODI_Project - это имя проекта - person ; 16.11.2018
comment
Нет, как я уже сказал, нельзя указать ни одного проекта. Единственное, что вы можете указать, - это тип объекта, и в данном случае это проект. Таким образом, он будет применять одно и то же действие для всех проектов. ISmartImportService.PROJECT_OBJECT_NAME - это константа, определенная в интерфейсе, это уже ваша строка. Его значение - "SNP_PROJECT", как вы можете видеть на этой странице: docs.oracle.com/middleware/1221/odi/reference-java-api/ - person JeromeFr; 16.11.2018
comment
Я только что отредактировал свой ответ, чтобы добавить альтернативу с помощью файла ответов. Это позволит вам указать действие для каждого объекта. - person JeromeFr; 16.11.2018
comment
Спасибо за информацию, но я все еще в замешательстве. Не могли бы вы дать мне пример только этого метода, иначе вы можете обновить мой код git с помощью этого метода, это было бы мне большим подспорьем. - person ; 16.11.2018
comment
Какой метод? setMatchedFCODefaultImportAction или importFromXml? - person JeromeFr; 16.11.2018
comment
setMatchedFCODefaultImportAction - person ; 16.11.2018
comment
Тогда пример уже есть в моем посте. smartImpServ.setMatchedFCODefaultImportAction(ISmartImportService.PROJECT_OBJECT_NAME, ISmartImportService.SMART_IMPORT_ACTION_CREATE_COPY); - это то, что вам нужно использовать, чтобы использовать действие СОЗДАТЬ / КОПИРОВАТЬ для всех проектов. .PROJECT_OBJECT_NAME или SMART_IMPORT_ACTION_CREATE_COPY заменять не нужно, это константы Java. - person JeromeFr; 16.11.2018
comment
Привет, я реализовал, как вы предложили, но он не создает копию (я дал действие создания копии) и ни одно из действий (я пытался сделать все из них). smartImpServ.importObjectsFromXml (fnameAndPath, ExportKey, ExportWithoutCipherData); smartImpServ.setMatchedFCODefaultImportAction (ISmartImportService.PROJECT_OBJECT_NAME, ISmartImportService.SMART_IMPORT_ACTION_CREATE_COPY); не могли бы вы поправить меня, что я делаю не так. - person ; 20.11.2018
comment
Перед вызовом importObjectsFromXml необходимо использовать метод setMatchedFCODefaultImportAction. - person JeromeFr; 21.11.2018
comment
Эй, это решено. Я обнаружил, что делаю неправильно. Теперь все работает, как ожидалось. Спасибо за ценные предложения, действительно полезные. - person ; 21.11.2018