Query On Interface Vs Session in Package

Hi,
    I have five interface in a package linked serially using ok  But If I create 5 scenario of that 5 interfaces and then put them in a package using ok serially.
Which will be better and why?
Thanks
Papai

Linking interfaces in a package is better & recommended(at least in development environment) as it will be easier for you to understand flow of your steps & you will be able to edit the steps if required.
Scenario is like a compiled version for your ODI objects & You can't change the code of a scenario. You need to regenerate the package/interface to have new changes in effect.
Scenarios are nothing but ODI jobs that are scheduled & one object compiled with all required. So having 1 scenario for 1 interface doesn't make much sense.
So its better to have simplicity in development.
If this a Production environment, then its fine to have scenarios linked as users will be restricted to make the code changes, but ODI already has provision of that which is "Execution Work repository" where ODI jobs will only be executed & not modified.
Hope this helps.
Regards,
Santy

Similar Messages

  • Query on interface

    I am getting "The parameter name [startDate] in the query's selection criteria does not match any parameter name defined in the query" error when querying on interface using TopLink 11g (11.1.3). The interface is implemented by many classes MyImplementationClass being one of them. The query works in TopLink 10g. Is this a bug in 11g? Thanks.
    Here is my code:
    +// subquery+
    ExpressionBuilder subqueryBuilder = new ExpressionBuilder();
    ReportQuery subQuery = new ReportQuery(MySubQueryClass.class, subqueryBuilder);
    +// Main read query+
    ReadAllQuery namedQuery1 = new ReadAllQuery(MyInterface.class);
    ExpressionBuilder expBuilder1 = namedQuery1.getExpressionBuilder();
    subQuery.addAttribute("primaryKey");
    subQuery.setSelectionCriteria(
    subqueryBuilder.get("operationDate").between(
    subqueryBuilder.getParameter("startDate"),
    subqueryBuilder.getParameter("endDate")).and(
    subqueryBuilder.get("primaryKey").equal(expBuilder1.get("primaryKey))));
    namedQuery1.setSelectionCriteria(expBuilder1.get("valueDate")
    +.between(expBuilder1.getParameter("startDate"),+
    expBuilder1.getParameter("endDate")).and(
    expBuilder1.get("primaryKey").notExists(subQuery)));
    namedQuery1.addArgument("startDate", java.sql.Date.class);+
    namedQuery1.addArgument("endDate", java.sql.Date.class);+
    // Stack trace
    DEBUG 15:52:54 - ClientSession(27122014)--Exception [TOPLINK-6094] (Oracle TopLink - 11g Release 1 (11.1.1.3.0) (Build 100323)): oracle.toplink.exceptions.QueryException
    Exception Description: The parameter name [startDate] in the query's selection criteria does not match any parameter name defined in the query.
    Query: ReadAllQuery(*myPackage.MyImplementationClass*)Local Exception Stack:
    Exception [TOPLINK-6094] (Oracle TopLink - 11g Release 1 (11.1.1.3.0) (Build 100323)): oracle.toplink.exceptions.QueryException
    Exception Description: The parameter name [startDate] in the query's selection criteria does not match any parameter name defined in the query.
    Query: ReadAllQuery(myPackage.MyImplementationClass)
    at oracle.toplink.exceptions.QueryException.parameterNameMismatch(QueryException.java:996)
    at oracle.toplink.internal.expressions.ParameterExpression.getValue(ParameterExpression.java:227)
    at oracle.toplink.internal.databaseaccess.DatabaseCall.translate(DatabaseCall.java:914)
    at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192)
    at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:179)
    at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:250)
    at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:583)
    at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2483)
    at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2441)
    at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:467)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:674)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
    at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:445)
    at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2265)
    at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1079)
    at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1063)
    at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1022)
    at oracle.toplink.descriptors.InterfacePolicy.selectAllObjectsUsingMultipleTableSubclassRead(InterfacePolicy.java:171)
    at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:462)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:674)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
    at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:445)
    at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2265)
    at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1079)
    at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1063)
    at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1037)

    Try using the outer query for the parameters,
    change,
    subqueryBuilder.getParameter("startDate"),
    to,
    expBuilder1.getParameter("startDate"),
    If that does not work, try the query without the sub-query to determine if the sub-query is the cause.
    It could be a bug with the sub-query, if you can recreate it on EclipseLink you could log a bug, or contact Oracle support.
    James : http://www.eclipse.org/eclipselink/

  • How to run the interfaces prallely in a package?

    Hi all,
    Is it possible with ODI to run the interfaces parallely. If yes please help me how to do?
    My reqirement is
    Source-->File and Target-->Teradata. From the unique source flat file data is populated with 45 target tables.
    I designed 45 interfaces. I want to run all the 45 interfaces parallely.
    I tried by generating scenarios for all 45 interfaces and kept in package. And i also used Wait for child session and i passed the keywords for all the 45 scenario's into "wait for child session" and executed the package.
    Its not working.
    So please help me how to achieve.
    Regards
    Suresh

    Hi ,
    After creating the scenario of all 45 interface , create a package say master package which is going to run all 45 scenario in parallel
    Inside the master package for each and every scenario set the Synchronous / Asynchronous to Asynchronous Mode.
    After the 45th scenario use OdiWaitForChildSession and set Max. Number of Failed Child Sessions     to 1 .
    In this way you will achieve the following
    All 45 scenario will run parallel and if any one of the scenario execution fails your master package will result in error .
    Hope this helps .
    Thanks,
    Sutirtha
    PS : You refer odiwaitforchildsession step

  • Can we restrict a Procedure to be called only once in a session or package?

    Hi,
    I am having a procedure which is called for each insert statement.
    The code is non-Editable.
    So, I want to restrict the procedure to be called only once for the entire session or package.
    Could any one please suggest me, can we do this?
    Thak you,
    Regards,
    Gowtham Sen.

    Hi,
    Actually, I am using OWB tool. I used a procedure with output parameters, to map to the target table. So, OWB creates a package. In that package its calling the procedure for each record.
    So, in order to avoid that, can I do any thing else, which would restrict it to call for each record.
    Thank you,
    Regards,
    Gowtham Sen.

  • Need Info Regarding Implementaion of Interfaces in java.sql package

    Hi All,
    I am interested in knowing details abt how the Interfaces in the java.sql package are implemented. We all work with the database using the interfaces provided ,but how do they work at the backend ? How can a Interface provide details (work ) with out an implementation class.I Is this taken care by the JVM or some of the Call level interfaces? Please do provide details abt this..

    hi Sheshadri,
    The implementation of the various interfaces in
    java.sql package are provided by your jdbc driver,
    which also manages the connection and communication of
    your java program with the appropriate database.
    cheers,
    -Jer

  • This advertised application will not be installed because it might be unsafe. Contact your administrator to change the installation user interface option of the package to basic.

    Hi there,
    I was wondering whether anyone could tell me which feature in Windows 7 produces this message "This advertised application will not be installed because it might be unsafe. Contact your administrator to change the installation user interface option of
    the package to basic." and whether it can be turned off in Windows to prevent this message from appearing when installing certain programs that aren't WHQL certified. At first I thought it was the UAC control that generated this message but found out
    that it wasn't and then thought it was the DEP control and found out that it wasn't this either. I'm only seem to be getting this message when installing FileDirector Component Service Version 3 on a few of our workstations which is an add-on that allows file
    integration with Office and is part of FileDirector WinClient Version 3.
    Your help would be much appreciated.
    Many thanks,
    RocknRollTim
    P.S. I know of a way to bypass this message but would ideally not like to have the feature turned on and for the message not to be appear for non WHQL certified program installations in order to make non WHQL certified program installations in the future much
    easier, more simpler and straightforward to carry out. I was redirected by a moderator off the Microsoft Community Forum.

    Hi,
    You can try following options to disable this prompt, but we don't recommend you to do so since this feature helps you to protect your computer.
    Option 1: Run command as admin:
    bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS
    bcdedit -set TESTSIGNING ON
    Restart your computer to apply changes.
    Option 2: Disable in GPO:
    1.Type gpedit.msc in the Run dialog and press Enter.
    2.In the Group Policy Editor, navigate to User Configuration → Administrative Templates → System → Driver Installation.
    3.Double-click on Code signing for device drivers in the right-side pane as shown above.
    4.In the windows that opens, choose Enabled. In the Options, choose Ignore as shown. Then click on the OK button to save the settings.
    Restart your computer to apply changes.
    Kate Li
    TechNet Community Support
    Unmarked as Answer based on OP's request. 
    https://social.technet.microsoft.com/Forums/en-US/35ab1279-c3a1-46be-9f7d-45e8606c1410/this-advertised-application-will-not-be-installed-because-it-might-be-unsafe-contact-your?forum=w7itproappcompat
    Arnav Sharma | http://arnavsharma.net/ Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading
    the thread.

  • Unable to run interface as scenario in package

    Hi All,
    I had a packages consists of variables,procedures and interfaces connected serially
    I created scenario for that package and it runs well
    later I created scenarios for the interfaces used in that package
    Instead of using interfaces i am using that scenarios in the package but it fails
    Please let me know if the above procedure is wrong
    Thanks,

    Dear Nilanjan,
    This is the Script logic we are using.
    //========================================
    //Send data at XX level to XXXX from FinanceDetails
    //Parameters:  Category, Time
    //Logic in FinanceDetails
    //========================================
    *SELECT(%XX_LIST%,ID,ORGDETAIL,[TYPE]='XX')
    //*XDIM_MEMBERSET DataSrc=Input
    *XDIM_MEMBERSET Category=ACTUAL
    *WHEN ORGDETAIL.XXENTRE
    *IS %XX_LIST%
    *REC(ORGDETAIL=ORGDETAIL.XXENTRE)
    *ENDWHEN
              *CLEAR_DESTINATION
              *DESTINATION_APP = FINANCE
              *ADD_DIM ACCTDETAILF=No_line
              *ADD_DIM RptCurrency=LC
              *RENAME_DIM  ORGDETAIL = ORGANISATION
    //========================================
    *COMMIT
    Please guide me .
    Regards,
    Srinivasan.

  • Querying on interface

    I noticed that Kodo 3.3 supports query on interface - is it part of JDO 2.0
    persistent interface support? What else is implemented? Can we associate
    Interface with Implementation to do the rest of the staff?

    >I noticed that Kodo 3.3 supports query on interface - is it part of JDO 2.0
    persistent interface support? What else is implemented? Can we associate
    Interface with Implementation to do the rest of the staff?We've had querying on interfaces for a long time!
    The Kodo implementation is currently different than JDO 2, in that JDO 2
    requires you to explicitly list your persistent interfaces in metadata, along
    with which classes implement them. Kodo currently just dynamically tracks which
    persistent classes implement which interfaces, and turns any query on an
    interface into a query on the set of the implementing classes.

  • Query on Interface Descriptor

    Hi
    I have a simple question about querying on Interfaces.
    I have an interface called Entity, and 2 implementing classes called Service and ServiceProvider (mapped to tables Services (pk serviceId) and ServiceProviders (pk serviceProviderId)). serviceId and serviceProviderId have independent sequences. In Workbench, both classes are specified as implementing the Entity interface. The Entity interface currently specifies an accessor method getEntityId(), and entityId is a common query key for both classes.
    I want to query against the Entity interface to obtain a single instance, by knowing the entityId and class name.
    How can I formulate a readObject query so that Toplink generates the appropriate SQL:
    select * from services where serviceId = ? or
    select * from serviceProviders where serviceProviderId = ?
    Sorry for the trivial nature of this question - I can't find any examples of querying against interface descriptors in a search of tutorials or the developers guide. The developers guide simply says "If there are multiple implementors of the interfaces, the query returns instances of all implementing classes." and this sounds like it would translate to a UNION ALL SQL query.
    I also have in a separate class a variable one to one mapping where I can specify a class indicator (entityTypeId values). Somehow I feel that I need something like this for the Entity interface descriptor.
    James

    Frankly, this just isn't something that is done that often. In the past decade I can only think of a couple of customers who've asked me about this. I always feel a bit uncomfortable with how querying through interfaces really tends to break polymorphism -- it just doesn't seem very natural from an OO perspective. Now, if instead of an interface you had used a common superclass, that makes more sense. I guess the fact that interfaces don't have state makes this whole area a bit of an OOAD research topic. :)
    That being said, I don't expect TopLink would do an "or" query like you've shown, but would do a UNION.
    My recommendation is to experiement with the queries, perhaps take a look at query-keys (they may be of some help here), and contact support with any feature suggestions you have in this area.
    - Don

  • In servlet what Event Listener interface defines session will passivate()

    Hi!
    In servlet what Event Listener interface defines session will passivate() method?
    Thanx

    Hi!
    for the above question which one will be the correct answer?
    1.HTTPSessionEventListener
    2.HTTPSessionListener
    3.HTTPSessionAttributeListener
    4.HTTPSessionActivationListener

  • ACE - Query VLAN Interfaces Status

    Hi,
    I am wondering what the status of the query vlan interface means in the command 'show ft peer detail':
    Query Vlan IF State          : UP, Manual validation - please ping peer
    I am pretty sure that I did not see this status when I configured query vlan last time. Current version is A2(2.3).
    Unfortunately this status does not seem to be documented anywhere on CCO.
    I appreciate any help!
    Thanks,
    Daniel

    Hi Daniel,
    The FT Query VLAN interface is an optional, yet very good, feature to be used when using redundant ACE modules or appliances. Without it, if the FT VLAN was to go down, the standby ACE will no longer receive FT heartbeats from the active ACE and therefore take the active role.  However, if the active ACE is still running fine in the active role, then you don't want the standby ACE to take over as active because that will put them into an active/active scenario, which may lead to connectivity issues.
    This is where the FT Query VLAN interface comes in.  If the FT VLAN goes down, the standby ACE will notice this, but before taking the active role, it will ping it's peer IP address configured on the interface that is designated as the FT Query VLAN.  If the ping is successful, then it will stay in the standby role, thereby saving you some headaches.
    The status that you are seeing is the ACE's way of telling you that the interface is UP, but if you want to know if it can successfully ping the peer IP address, then you would have to manually ping the peer IP address from the CLI.  The ACE does not periodically check the ping connectivity through any automatic mechanism.  The automatic mechanism is only triggered by the FT VLAN going down.
    Does this help?
    Sean

  • Metadata query to extract each session run duration for last 10 Runs

    Here is the query:   Select  Subject_Area,Workflow_Name,Task_Name,Instance_Name,Task_Type_Name, Start_Time, End_Time  from (Select  Subject_Area,Workflow_Name,Task_Name,Instance_Name,Task_Type_Name,Cast(Start_Time As Timestamp) Start_Time, Cast(End_Time As Timestamp) End_Time, rank()over(partition by subject_area,workflow_name,instance_name,task_type_name order by Start_time desc) RFrom Rep_Task_Inst_Run Where Task_Type_Name<>'Start') where R<=10

    Hi all, Please help me with metadata query to extract each session RUN_DURTION, Start Time, end time for last 10 runs of each session at a workflow level. I know we can get information from REP_WFLOW_RUN table but i dont know table strucure and I dont have access to Repository database and we need an exact query to raise it to admin team. so please provide me an exact query.   Thanks

  • Query/Read Interface for API

    Is there a query/read interface from the HRMS API's or from the TCA API's?
    We are using customers online to maintain data , but I want to have a custom application to view the data.
    Obvious choice would be through the TCA API's but I cannot find any Query/Read Interfaces there.
    Oracle's Docs seem to say it's possible so could somebody point me in the right direction please
    cheers
    Dominic

    Anyone have any idea of it ?

  • Metadata query to extract each session run duration for last 10 Runs (10 days if daily scheduled)

    Hi all, Please can anybody help me with metadata query to extract all the sessions run duration information (start time and end time, run duration)in each workflow for last 10days.I dont have access to metadata repository so need exact query so that i can raise a request to admin team(he needs exact query). I know that we can get information from REP_WFLOW_RUN , but i dont know the table structure so please provide full query. Thanks,Ravi kumar

    Hi all, Please help me with metadata query to extract each session RUN_DURTION, Start Time, end time for last 10 runs of each session at a workflow level. I know we can get information from REP_WFLOW_RUN table but i dont know table strucure and I dont have access to Repository database and we need an exact query to raise it to admin team. so please provide me an exact query.   Thanks

  • Same query different timings , different sessions at the same time

    I am running exactly the same query from 2 different sessions almost simultaneously and in one session it is taking 2 seconds and in the other it is taking 20 seconds. The explain plans in both the sessions (by set autotrace on) are exactly the same. The timing is almost same for succesive runs of the query in the same sessions. That is when I run the query again in the "slow session" it is always around 20 seconds and when I run the query again in the "fast session" it is always fast. The queries are being run within a few seconds of each other so the load on the database is almost same.
    My hunch is that it is a database parameter that needs to be changed to solve this problem, can someone guide me with this ....which parameters I should ask our DBAs to adjust ? Our database is Oracle 10G.
    Regards
    Amitabha

    Duplicate thread
    Same query different timings , different sessions at the same time
    Gints Plivna
    http://www.gplivna.eu

Maybe you are looking for