How to avoid Sequence Gapping in ODI Interface

I have an employee table and a job map table in oracle based on the employee type/group and job type/group I need to pick up the sequence, generate id
and update employee id of employee table using ODI
employee table job table
name type group id type group sequencename seqmin seqmax
pat 1 1 1 1 seq1 1 10
dan 1 2 1 2 seq2 30 40
john 1 3 1 3 seq3 20 100
when I select the sequence using if condition or case statement or decode and call the sequence <%=snpRef.getObjectName( "L" , "My_SEQ" , "D" )%>.nextval
the sequences are creating gaps for every call.as the sequence is incrementing internally for every wrong mapping. How should I get rid of these gaps.
In oracle database we call functions in the case condition.These functions consists of the seq.nextval code and the unwanted incremental gapping is avoided.
But in the case of ODI how can we get this.
Thanks,
Vikram

I am facing this issue when I execute on the source or staging area.When I try toexecute on the target,the ODI
doesn't allow me to execute and gives the following warning
"A mapping executed on the target cannot reference source columns. Move this mapping on the source or the staging area.     Target Column Employeeid"
In my case I am using IKM Oracle Incremental update
the source datastore is employee table, job table and target is copy of employee table(as i need to update the employee id column with sequence numbers by picking the right sequence from job table,sequence name column)

Similar Messages

  • How to avoid redeclaring your web service interface?

    Hi there,
    How can one avoid having to redeclare your wsdl interface on
    each mxml page where it is accessed? I only want to declare the web
    service and the operation is has once and then just include it in
    the component where I use it to access/update data.
    I am new to flex so this may be obviouse to other but not me.
    I tried including it in its own mxml file and then using the normal
    component include tag to include it. I get errors about not being
    able to access the webservice via its id.
    e.g.
    Error: Access of undefined property WebService.
    [mxmlc] WebService.getSiteOptions.send();
    thanks

    The solution is to place the web definition in a separate
    file and then use the "include" like functionality of defining your
    own namespace in the xml. You do the include in the main
    application file.
    eg
    <mx:Panel
    xmlns:mx="
    http://www.adobe.com/2006/mxml"
    xmlns:webservice="webservice.*"
    width="100%"
    height="100%"
    title="Reports Menu"
    creationComplete="onInit();" >
    On the main application page to include your web service file
    do a
    <webservice:webservices id="services"/>
    The webservices.mxml file will contain your definitions.
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Canvas xmlns:mx="
    http://www.adobe.com/2006/mxml"
    height="0"
    visible="false">
    <mx:Script>
    <![CDATA[
    import mx.rpc.soap.mxml.WebService;
    import mx.rpc.events.FaultEvent;
    import mx.controls.Alert;
    [Bindable]
    public var webServiceWSDL:String ="
    http://127.0.0.1:8080/jumpingbean/services/AddWebService?wsdl";
    public function onServiceFault(evt:FaultEvent):void
    var err:Error = new Error(evt.fault.faultCode + " , " +
    evt.fault.faultString);
    parentApplication.showError(err);
    public function onSuccess(evt:Event):void
    Alert.show(evt.toString());
    ]]>
    </mx:Script>
    <!-- ======================================== -->
    <!-- Remote Services -->
    <!-- ======================================== -->
    <mx:WebService id="webservice"
    wsdl="{this.webServiceWSDL}" service="ValueAddWebService"
    port="AppWebServiceHttpPort" fault="onServiceFault(event)"
    showBusyCursor="true" >
    etc
    In your child components you can refer to the component by
    doing a "parentApplication.services.webservice"

  • How to use "full join" in ODI interface

    I need to join two tables using full join. So, when I drag and drop table columns (build join) and mark left and right join (get full join):
    +(All rows of OSS_NCELLREL (OSS_NCELLREL) including the rows unpaired with OSS_NECELASS (OSS_NECELASS) rows and all rows of OSS_NECELASS (OSS_NECELASS) incuding the rows unpaired with OSS_NCELLREL (OSS_NCELLREL)+
    I get the following error:
    Source panel of the diagram: Clause set to full join on a technology that does not support full joins
    I use Oracle DB tables in the same DB.
    Help! What I do wrong?

    Hi,
    You need to work around Topology Manager.
    Please follow the below steps,
    1. Edit the 'Oracle' technology from the Physical Architecture treeview.
    2. In the Technology Defintion Tab select 'Ordered (Sql ISO)' radio button.
    3. In the Technology 'SQL Tab' set the following:
    - Clause Location: From
    - Brackets supported in the ON clauses: check
    - Inner: check, type INNER JOIN
    - Cross: check, type CROSS JOIN
    - Left Outer: check, type LEFT OUTER JOIN
    - Right Outer: check, type RIGHT OUTER JOIN
    - Full Outer: check, type FULL OUTER JOIN
    PS: Please take a backup Oracle techno before editing. ;)
    Thanks,
    G
    Edited by: Gurusank on Nov 27, 2008 9:05 PM

  • How to avoid long user interface response time in long measurements ?

    Hi
    I tried to find more information regarding techniques how to avoid long user interface response times in case of extremely long measurement times with an external instrument communicating over GPIB, so I post this hoping to get some hint or a link to a guideline. I guess this is quite normal problem.
    Problem is that when I want to measure long time in order to get an average result from the instrument, I have to wait until the result is returned from the instrument. Obviously that makes the user interface response very slow in traditional technique. 
    My restriction is the old GPIB 488 instrument driver that I would not want to modify, but I have source code to it.
    What would be the best way to improve the response time for user interface ? I have looked into the few things:
    * multithreading
    * callback in main program for GPIB events
    * modifying instrument driver e.g. to support VISA and creating a VISA callback
    regards,
    Petri

    Several ways to do this:
    If you're getting several measurements, you could have the instrument generate an asynchronous interrupt (an "SRQ" in GPIB terms), then collect the data in response to the SRQ callback.  While you're waiting for the SRQ's, you can have your main thread running the interface so responsive GUI.  You don't have to spinlock on the GPIB read waiting for instrument data.
    Or, as you mentioned, you could spawn a thread to manage the measurements, and use a timer in the main thread to periodically allow you to check the status of the measurement thread.  Again, the main thread mostly just runs the user interface.
    Either way, the idea is to keep the main thread freed up most of the time to run the GUI, and have it periodically check for completion of your measurement sequence.  While you're waiting in the main thread, you may want to make sure the user can't inadvertently re-trigger another measurement sequence until the active one is complete.
    If you do find yourself doing a dead wait, you'd want to break this up into a series of shorter waits, and in between each wait, do a ProcessSystemEvents from the main thread to keep the GUI active.
    Menchar

  • How to Comapare Row by Row in ODI Interface

    Hi all
    i want to Compare Record by Record from my Source Table.
    Can any one Explain Logic How can i do through ODI Interface?

    If you want row by row processing (rather than set based) then look at using Knowledge Modules that implicitly use a cursor via the agent to load the staging table (e.g LKM SQL to SQL) or a KM that explicitly uses a cursor to load the target table (e.g IKM Incremental updata row by row).
    It wont be as fast as set based though!
    What do you want to do with each row? Can you load them all into the staging area and then process row by row?

  • How to set a group by clause in ODI interface?

    How to set a group by clause in ODI interface?

    In ODI, group by method will be triggered automatically when any one of your mapping contains aggregate functions.
    Thanks,
    Saravanan Rajavel

  • How to avoid default selection screen in HR interfaces(using pnp ldbs)

    How to avoid default selection screen in HR interfaces(using pnp ldbs)

    Dear Rakesh,
    The report category is used to change the selection screen of programs that use the 'PNP' logical database.
    See links bellow:
    http://www.sapdevelopment.co.uk/hr/hr_repcat.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/15/229357553611d3967f00a0c9306433/frameset.htm
    Report categories for selection screen in HR programming
    Also visit the following blog:
    /people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports
    Regards,
    Naveen.

  • How to avoid leaving a gap when closing tabs on Firefox 5?

    Hello,
    I want to disable a new feature on Firefox 5. Or, at least, I don't recall it being a feature on Firefox 4.
    When I have various tabs open, and close one of them, they go to the left, leaving a gap to the right that will be filled the time I move the mouse somewhere else.
    Being graphical:
    Starting from this:
    |¨¨a¨¨||¨¨b¨¨||¨¨c¨¨||¨¨d¨¨||¨¨e¨¨|
    I close the last two tabs, first "d", then "e", keeping the mouse over the tabs zone:
    |¨¨a¨¨||¨¨b¨¨||¨¨c¨¨|_Blank Space_
    Then, I move the cursor somewhere else, and then it fills the blank space:
    |¨¨1¨¨||¨¨2¨¨||¨¨a¨¨||¨¨b¨¨||¨¨c¨¨|
    How can I avoid this gap when I close tabs?
    Turning browser.tabs.animate to false did nothing.
    Thank you very much :)

    Cor-el, when we close the tabs, there's an animation where the remaining tabs grow into the vacated space. I have browser.tabs.animate switched off and would, as a result, have expected the tabs to instantaneously resize, instead of doing an animation that slows things down slightly and which I thought I'd turned off.

  • Crystal reports - how to identify a sequence gap within a column

    I am working on a project which requires the ability to identify gaps in numeric sequence within a column.
    Does anyone have any thoughts on what a formula such as this?
    It can be done in excel using the formula columns in screen shot columns I and J. I is H2+1 starting on I3. J is column I - column H to identify sequence gap size.
    Id like to accomplish the same using a crystal formula if possible.
    Thanks in advance.
    Regards,
    Joe

    Hi Joe,
    Here's what you need to do:
    For Column I, create a formula (@I+1) in the report with this code and place it on the Details Section:
    whileprintingrecords;
    numbervar x;
    if onfirstrecord then
         x := {Trans_Num};
         0;
    else
         x := x + 1;
    2) Create another formula and place this beside the above formula:
    EvaluateAfter({@I+1});
    numbervar x;
    if onfirstrecord then
         0
    else
         x - {Trans_Num};
    -Abhilash

  • How to import two kms in one interface(at one staging area)

    Hi All,
    I am new to odi please help....
    1)In my interface i am using IKM SQL Increment.. i want to import on more IKM SQL to SQL how do i import this into my interface i am getting only one KM at a time i need two
    how to do that ..
    2)i am using two data servers,i created odi sequnce when i am using in target datastore it will increment same for all records i want row by row increment please help in this regard with
    clear process steps..
    thanks in advance...

    947267 wrote:
    Hi All,
    I am new to odi please help....
    1)In my interface i am using IKM SQL Increment.. i want to import on more IKM SQL to SQL how do i import this into my interface i am getting only one KM at a time i need two
    An interface can have only one IKM at any given time
    how to do that ..
    2)i am using two data servers,i created odi sequnce when i am using in target datastore it will increment same for all records i want row by row increment please help in this regard with
    clear process steps..Use native sequence for this purpose and not ODI sequence.
    ODI sequence is meant for those technologies which does not have their own sequence
    thanks in advance...

  • How to implement this logic in odi

    suposse my table is like this
    a b c
    1234 01-JAN-09 0
    1234 02-JAN-09 1
    1234 05-JAN-09 1
    1244 06-JAN-09 1
    1234 10-JAN-09 0
    1234 13-JAN-09 1
    1234 25-JAN-09 0
    1234 27-JAN-09 1
    1234 30-JAN-09 1
    1235 01-JAN-09 1
    1235 02-JAN-09 0
    1235 05-JAN-09 1
    1245 06-JAN-09 1
    1235 10-JAN-09 1
    1235 13-JAN-09 3
    1235 25-JAN-09 2
    1235 27-JAN-09 0
    1235 30-JAN-09 0
    i want out put like this
    a b c
    1234 01-JAN-09 0
    1234 02-JAN-09 1
    1234 05-JAN-09 2
    1244 06-JAN-09 3
    1234 10-JAN-09 3
    1234 13-JAN-09 4
    1234 25-JAN-09 4
    1234 27-JAN-09 5
    1234 30-JAN-09 6
    1235 01-JAN-09 1
    1235 02-JAN-09 1
    1235 05-JAN-09 2
    1245 06-JAN-09 3
    1235 10-JAN-09 4
    1235 13-JAN-09 7
    1235 25-JAN-09 9
    1235 27-JAN-09 9
    1235 30-JAN-09 9
    to get out put like that iam using this query
    select a,b,sum(c) over(partition by a order by b) from table.
    how to implement "sum(c) over(partition by a order by b)" in odi interface mappings

    Hi
    if you don't want to aggregate try to define a user function
    analytic_sum($(value))
    implémented by
    sum($(value))
    after that
    replace your
    sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)
    by
    analytic_sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)

  • How to avoid doubleclick event on a datagrid scrollbars?

    Hello.
    I've a datagrid.
    I need a doubleclick event cliccking on a data grid row.
    I've enabled the doubleclick event. It works fine, when the user doubleclicks on a row, an event happens! In my case I open a modal window. Great!
    Now the problem:
    The problem arises when the user clicks in a short time on a data grid scroll bar (both horizontal or vertical). In this case a double click event is dispatched.
    But his intenton is just to scroll the grid, no more.
    Please, notice that the dobule click on a scrollbar is a well-known action that can be performed in all the applications and operating systems.
    I neet the "double click" event just on a data grid rows and not on its scrollbars. Cliccking twice or more on the scrollbar I just want to scroll the grid. How can avoid to dispatch an event?
    Thank you
    Pbesi

    I was returning today to add something about custom item renderers but you beat me to it, Pbesi.   I have a custom gridItemRenderer which I now have to check for just as you demonstrated above.  What I don't understand is why I can't just do this:
    if( event.target is IGridItemRenderer )  //Should be true for both default and custom
    My custom renderer implements the IGridItemRenderer interface, but when I double click one in the grid, the event.target is not myCustomGridItemRenderer, it is GridLayer.  So what I have to do is this:
    if( (event.target is IGridItemRenderer) || (event.target is GridLayer) )
    I presume this would work for all custom gridItemRenderers, but I only have one, so I haven't tested this.  Any idea why GridLayer is the type of the event target?  My custom renderer is very simple.  It just renders Booleans as "Yes/No" rather than "True/False"
    <s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
          xmlns:s="library://ns.adobe.com/flex/spark"
          xmlns:mx="library://ns.adobe.com/flex/mx"
          clipAndEnableScrolling="true"
          implements="spark.components.gridClasses.IGridItemRenderer">
          <fx:Script>
               <![CDATA[
                    override public function prepare(hasBeenRecycled:Boolean):void {
                         lblData.text = (data[column.dataField] == true) ? "Yes" : "No" ;
                                  ]]>
         </fx:Script>
          <s:Label id="lblData" top="9" left="7"/>
    </s:GridItemRenderer>

  • How to migrate OWB mappings in ODI

    Dear All,
    I would require your valuable inputs for following points.
    1. How do we do the deployment on multiple sites in ODI? what is the methdology or steps? R there any third party tools to do the same? what are they?
    2. Is there any scripting language in ODI similar to OMB meta data scripting languate as in OWB which can be used to automate and speed up the multi site deployment?
    3. What is the process of step to convert OWB mappings to ODI interfaces? Does oracle provides any tools or methodology to do the migration from OWB to ODI.?R there any third party tools to do the same? what are they?
    Thanks and Regards
    Edited by: 910192 on Aug 16, 2012 10:22 PM
    Edited by: 910192 on Aug 16, 2012 11:54 PM

    910192 wrote:
    Dear All,
    I would require your valuable inputs for following points.
    1. How do we do the deployment on multiple sites in ODI? what is the methdology or steps? R there any third party tools to do the same? what are they?If you mean databases as 'sites' then you just configure seperate phyiscal connections and choose if you want to implicitly refer to each DB in your code or use Contexts to determine which database to use at run time.
    Also careful consideration / deployment of ODI Agents allow you to run / execute / invoke you code from just about anywhere you want to (Target database, remote file system, source servers etc)
    2. Is there any scripting language in ODI similar to OMB meta data scripting languate as in OWB which can be used to automate and speed up the multi site deployment?There is an SDK and groovy can be used : https://blogs.oracle.com/dataintegration/entry/odi_11g_insight_to_the
    3. What is the process of step to convert OWB mappings to ODI interfaces? Does oracle provides any tools or methodology to do the migration from OWB to ODI.?R there any third party tools to do the same? what are they?Not sure if Oracle have formally released a step by step process yet, they promise an upgrade path to OWB users to migrate, there is a consulting offer for this : http://www.oracle.com/us/products/consulting/resource-library/owb-odi-migration-ds-1367824.pdf
    ALso an italian company has / is developing a migration tool : http://www.owb2odiconverter.com/eng/index.html

  • How to perform loop action in ODI

    hi all,
    i want to implement a function which fetches data from 3 tables and then inserts into one table
    but the problem is there with the loop.
    the function contains a loop and i dont know how to implement a loop in odi.
    anyone can give a solution.
    regards,
    prateek.

    hi guru,
    yes i have fk between the tables but i am not able to understand that how to apply the exit condition and how to tell the interface that if the exit condition is not satisfied then again loop back.
    can you please explain this in detail.
    thanks and regards,
    prateek sharma.
    Edited by: user11116379 on May 21, 2009 5:32 AM

  • How to create data stores in ODI ?

    Hi all,
    I am new to this ODI part.Can anyone please help me as how to create data stores in ODI.
    A prompt reply will be highly aprreciated.
    Thanks
    Saurabh.

    What do you mean by "create datastores"?
    If you mean you want to reverse engineer existing tables from a database, then the phrase used in the ODI docs is "reverse enginnering". If you mean to create new tables in a database, then:
    1) ODI is not meant to be a database design tool.
    2) Using the "diagrams" node under a data model, you are able to use the "Common Format Designer" (CFD) tool to design and create the structure. The CFD tool is a simple ER-digram tool, but importantantly, if you drag structures in from one model to another, it remembers where it came from, allowing automatic generation of interfaces, and it automatically translates the data types.

Maybe you are looking for