3 Replies Latest reply on May 14, 2013 11:40 AM by PeakIndicators_Alastair

    OdiWaitForChildSession Name filter in paralele execution

      we are using ODI version
      For parallel execution of child interfaces, we will be using interface scenarios set to asynchronous mode execution inside the package using java api's.

      For example:
      -master interface
      -child1 interface scen in async mode
      -Child2...child5 interface scenarios in async mode

      For OdiWaitForChildSession here, we have used these parameters:

      Kindly let us know if ' Name Filter' or 'keywords' also need to be set in such cases where we are using more then 1 OdiWaitForChildSession or it should work fine if we have ' Name Filter' or 'keywords' set as null.

        • 1. Re: OdiWaitForChildSession Name filter in paralele execution
          Bhabani Ranjan Mahapatra
          Isn't it giving you exception when you are not mentioning the step name for odiwaitforchildsession. Can you pest the portion of code you are setting the parameters ?

          • 2. Re: OdiWaitForChildSession Name filter in paralele execution
            I have used StepOdiCommand with the following expression set to that.
            have set the stepname to 'odiWaitForChildSessionStep' in StepOdiCommand constructor.

            LanguageProviderImpl langImpl_new=new LanguageProviderImpl(odiInstance) ;
            ExpressionStringBuilder expBuilder = new ExpressionStringBuilder(langImpl_new.getDefaultSnpsLanguage());
            expBuilder.append("OdiWaitForChildSession ");
            expBuilder.append(" -MAX_CHILD_ERROR=ALL");

            Expression exp = expBuilder.toExpression();      
            StepOdiCommand stepCommand = new StepOdiCommand(odiPackage, "odiWaitForChildSessionStep" );
            • 3. Re: OdiWaitForChildSession Name filter in paralele execution
              I dont believe you need to use Name Filter or Keywords in this case the ODI Wait for child session works on a (nested) hierarchical basis, e.g 1 step up in calling process , see operator Hierarchy view for an impression of this.
              If you want to skip more than one level you would use the Parent Session ID parameter but would most likely need a convaluted way of retrieving this (set a variable in the task flow) else <%=odiRef.getSession("SESS_NO")%> would return the parent session ID.