2 Replies Latest reply: May 21, 2013 9:35 PM by knidhi RSS

    Interface has critical error: All datastores in a dataset should be joined

    knidhi
      hi, i am adding new source datastore into existing interface, and creating join between them, here are the code

      ITransactionStatus trans = odiInstance.getTransactionManager().getTransaction(new DefaultTransactionDefinition());

      InteractiveInterfaceHelperWithActions helper = new InteractiveInterfaceHelperWithActions(odiInterface, odiInstance, odiInstance.getTransactionalEntityManager(), new SourceSetComputerRetainer(odiInterface), new SourceSetCreatorNew(), new SourceSetNameProviderBasicIncrement(), new MappingPersistencePolicyDefault());

      OdiDataStore newDataStore=OdiUtils.getOdiDataStore(odiInstance, sourceTable, modelCode);

      helper.performAction(new InterfaceActionAddSourceDataStore(newDataStore, defaultDataset, new AliasComputerDoubleChecker(), new ClauseImporterLazy(), new AutoMappingComputerLazy()));

      String joinExpression = odiInterfaceVO.getPrimarySoruceDataStoreJoinColumn()+"="+(attributeVO.getJoinColumn()).replace("@ALIAS@",alias );

      helper.performAction(new InterfaceActionOnJoinSetJoinProperties(new Join(defaultDataset,joinExpression,false,ExecutionLocation.SOURCE),false,true,false));

      if (helper.areSourceSetsDirty()){
           helper.computeSourceSets();
      }
      helper.preparePersist();

      odiInstance.getTransactionalEntityManager().persist(odiInterface);

      odiInstance.getTransactionManager().commit(trans);

      while running helper.preparePersist(); i am getting following message.

      May 20, 2013 5:05:44 AM oracle.odi.interfaces.interactive.support.InteractiveInterfaceHelperWithActions preparePersist
      INFO: Interface SDE_AGILE_AuditsFact.W_PLM_AUDIT_FS_SQ_W_PLM_QCR_PE has critical error: All datastores in a dataset should be joined. This dataset has several sets of disconnected source datastores. The sets are: [W_PLM_QCR_PE] ; [W_PLM_PAGE_THREE_PS].To design a Cartesian product, create a join and select Cross Join in its properties..

      is there any issue with statement i used for join. after executing this code, when i see it in interface join are proper.

      thanks
      nidhi