Same target operator (table) twice in mapping

Can I use the same table operator as target twice in two different places in the same mapping?

Yes.
Regards:
Igor

Similar Messages

  • How to delete some date in target table at a mapping?

    How to delete some date in target table at a mapping?
    I extract date from source tabel into target table,
    but before extract date I want to delete some date from target?
    how to do?

    Just to change a bit of terminology in the reply, within the mapping, click on operator properties and choose TRUNCATE/INSERT.
    Note that truncate is dependent on constraints, so you probably must disable those before doing this. You can of course do DELETE/INSERT...
    Jean-Pierre

  • Target operation is unavailable: cleanup of previous target with the same n

    Greetings,
    In OEM 12c I have several clusters. For one, from the console I deleted the cluster and then manually added the cluster target back. The operation was successful but for one of the high availability (has) services a metric collection error is displayed. For that particular target the EMDIAG output reports -
    Target operation is unavailable: cleanup of previous target with the same name is still pending
    I have not been able to find an explanation of that nor how to resolve it. Can anyone assist me?
    Thank you.
    Bill Wagman

    Hi,
    You can remove the target from monitoring and add it again, that can solve the problem.
    Regards,
    Venkat

  • Cost of using subquery vs using same table twice in query

    Hi all,
    In a current project, I was asked by my supervisor what is the cost difference between the following two methods. First method is using a subquery to get the name field from table2. A subquery is needed because it requires the field sa_id from table1. The second method is using table2 again under a different alias to obtain table2.name. The two table2 are not self-joined. The outcome of these two queries are the same.
    Using subquery:
    select a.sa_id R1, b.other_field R2,
    (select b.name from b
    where b.b_id = a.sa_id) R3
    from table1 a, table2 b
    where ...Using same table twice (table2 under 2 different aliases)
    select a.sa_id R1, b.other_field R2, c.name R3
    from table1 a, table2 b, table2 c
    where
    c.b_id = a.sa_id,
    and ....Can anyone tell me which version is better and why? (or under what circumstances, which version is better). And what are the costs involved? Many thanks.

    pl/sql novice wrote:
    Hi all,
    In a current project, I was asked by my supervisor what is the cost difference between the following two methods. First method is using a subquery to get the name field from table2. A subquery is needed because it requires the field sa_id from table1. The second method is using table2 again under a different alias to obtain table2.name. The two table2 are not self-joined. The outcome of these two queries are the same.
    Using subquery:
    Using same table twice (table2 under 2 different aliases)
    Can anyone tell me which version is better and why? (or under what circumstances, which version is better). And what are the costs involved? Many thanks.In theory, if you use the scalar "subquery" approach, the correlated subquery needs to be executed for each row of your result set. Depending on how efficient the subquery is performed this could require significant resources, since you have that recursive SQL that needs to be executed for each row.
    The "join" approach needs to read the table only twice, may be it can even use an indexed access path. So in theory the join approach should perform better in most cases.
    Now the Oracle runtime engine (since Version 8) introduces a feature called "filter optimization" that also applies to correlated scalar subqueries. Basically it works like an in-memory hash table that caches the (hashed) input values to the (deterministic) correlated subquery and the corresponding output values. The number of entries of the hash table is fixed until 9i (256 entries) whereas in 10g it is controlled by a internal parameter that determines the size of the table (and therefore can hold different number of entries depending on the size of each element).
    If the input value of the next row corresponds to the input value of the previous row then this optimization returns immediately the corresponding output value without any further action. If the input value can be found in the hash table, the corresponding output value is returned, otherwise execute the query and keep the result combination and eventually attempt to store this new combination in the hash table, but if a hash collision occurs the combination will be discarded.
    So the effectiveness of this clever optimization largely depends on three different factors: The order of the input values (because as long as the input value doesn't change the corresponding output value will be returned immediately without any further action required), the number of distinct input values and finally the rate of hash collisions that might occur when attempting to store a combination in the in-memory hash table.
    In summary unfortunately you can't really tell how good this optimization is going to work at runtime and therefore can't be properly reflected in the execution plan.
    You need to test both approaches individually because in the optimal case the optimization of the scalar subquery will be superior to the join approach, but it could also well be the other around, depending on the factors mentioned.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Value Mapping : Different Source - Same Target

    Hi all,
    Is it possible to map the different source value to the same target value with XI Value mappuing.
    Because when i try to set the same target value for a second value .. the directory delete it for the first one.
    for example i have:
    Value1
    Value2 --- newValue1
    Value3
    Value4 --- newValue2
    Value5 --- newValue3
    is it possible to build this somehow with ValueMapping?
    Regards,
    Robin

    Hi,
    no you missunderstood.
    i useing the conversion function Value mapping.
    The Values i set in Directory -> Tools -> Value mapping.
    What i want know, is if value 1 and value 2 comes the value mapping hast to give back for both the same... value 3.
    im only intressting of the values .. no structure other something else.
    Regards,
    Robin

  • Truncate tables in pre-mapping process

    I am using OWB 9.0.4 and I have 10 staging area tables that I will be loading in one mapping. I want to truncate all of these tables before I load them. I can not use the TRUNCATE/INSERT option on the target tables because each table will be loaded from two different source tables and I can't specify order in the mapping so I can't have one TRUNCATE/INSERT and the other just INSERT. I would prefer not to have two mappings. I have also tried doing a union on the two source tables but this was not working out well. If I use a pre-mapping operator and select the WB_TRUNCATE_TABLE function, how do I specify multiple tables?
    Is there a better way to do this?

    WB_TRUNCATE_TABLE function takes in only one parameter, so you would have to have 10 pre-mapping processes with that function, or a single one with a custom function.
    I guess you figured the other two choices yourself:
    - If your sources have the same number of attributes and matching datatypes - map them through a Set Operator in a single map with TRUNCATE/INSERT loading type
    - If your sources are different, put them in different maps, with TRUNCATE/INSERT on one and INSERT on the other. Then you can control the order of map execution.
    Nikolai

  • Different formats of the flat file for the same target

    In our deployment, we use plugin code to extract the csv files in the required format. The customers are on same version of datamart, but they are on different versions of source database - from 3.x to 4.5 depending on which version of application they are using. In 4.0, we introduced a new column email in the user table in the source database. Accordingly, plugin will add the field in the csv file. But not all the customers will get the upgraded version of plugin at the same time. So ETL code needs to decide which data flow to process depending on the format of the csv file to load data to the same target table. I made the email field in the target table nullable but it still expects the same format of the csv file with delimiter for null value.
    Need help to achieve this. Can I read the structure of the flat file in DS or get the count of delimiters so that I can use a conditional to use different data flow based on the format of the flat files.
    Can I make the email column in the flat file optional?
    Thanks much in advance.

    You can add an email column that maps to null in a query transform for the source that does not contain this column. 
    Or else you can define two different file formats that map to the same file.  One with the column and one without

  • Update 2 tables in 1 mapping fails when using DB link

    Hi,
    We use OWB10 R2. We have a mapping which should update 2 target tables. 1 table is part of the target schema of the mapping, the other table is located on a different database and is updated through a database link.
    What we encounter is that only 1 of the 2 targets is updated.
    When removing 1 of the targets in the mapping (does not matter which one) then the target left in the mapping is updated normally.
    Is there a problem or restriction on using target tables in a mapping? Should they always be located in the same database? Or is there somethingelse we are overlooking?
    Any help is very appreciated.
    Regards,
    Ilona

    Hi Ilone
    When we had a conf call with Oracle regarding one of the issues - they told us that with Oracle 10g R2 it is recommened configuration to have target in the same machine/database as the runtime repository. Apparetnly they haven't tested the situation when the target is on different machine. I was told that it makes more sense to keep runtime and target together as it will reduce network traffic and increase performance coz no data will have to be moved across the network (and aviod using pesky dblinks!). Apparently this recommendation is stated somewhere in thier installation guide. Because it is not supported and tested configuration - they don't know the impact it might have and how it is going to behaive. Some sql might be generated wrongly or the situation you are in...
    So we had to change our configuration and now have runtime repository sitting on the target machine and i have maps that load more then one table - no problems at all!
    Could you possibly try creating simple map and doing load to two tables on the same db? if this works - then y ou will know the answer.
    Hope it helps and would be interesting to know how you get on.
    Vix

  • To create 3 diff files with same content but with diff names in same target

    Hi SapAll.
    i have got a a requirement where pi need to create 3 different files with same content but with different names under same target from a single Idoc.
    its an IDOC to 3 File Inteface.
    can any body help me in providing the differnt solutions for this without use of any script executions.
    will be waiitng for response.
    regards.
    Varma

    > i want to use only one communication channel to produce 3 different file names with same content ,so here i should use only one message mapping in 3 operation mappings .
    This is not possible to produce 3 different file names with single CC. You have to use 3 different CCs. unless you have going to use some other trick e.g some script to rename the file etc..
    As I suggested in my previous reply use Multi-Mapping Or create 3 different Interface Mappings (by using the same MM).
    Note: You have to create 3 different Inbound Message Interfaces (you can use the same Inbound Message Type) otherwise while creating the 3 Interface Determination it won't allow because of same Outbound & Inbound Message Interface. It will simply say Interface alreday exists..
    So, just use the Multi-Mapping which is best solution in my opinion, because the benefit of using multi-mapping are:
    1. You have to create only single Message Mapping
    2. Single Interface Mapping
    3. Single Receiver Determination
    4. Single Interface Determination
    5. 3 Receiver CCs (3 you have to use in any case)
    6. Performance wise it is good (read the blog's last 2 para)
    7. And last but not the least easy to maintain the scenario.

  • Repository Table Empty after mapping procedures

    I'm using OWB 11g and simply trying to do a 'test case' where I create a simple mapping from a single (oracle) source table to a target table and then generate and populate a repository table. All 3 tables have the exact same structure. The problem is that when I generate the Repository table it has no data in it.
    I'm religiously following all the directions:
    1) Create & Bind on the target table
    2) Synchronize on the target table
    3) Validate Mapping
    4) Generate mapping
    Go to Design center
    5) Validate, Generate, Deploy the repository table
    6) Validate, Generate, Deploy and 'Start' the repository mapping.
    But when I finally select 'data' for the Repository Table the Data Viewer shows me the structure but no data beneath it.
    Just to cover the basics, I've set up a Staging Area module for all of this and I'm sure my source table has data in it.
    Any ideas on why this is happening?
    Thanks
    Message was edited by:
    John W

    David,
    I found the table that is generating the[b] table of view does not exist error- but I'm stumped as to why this is. I have 2 tables in my source module (dw_user) which are the EVENTS and PRIZES tables. They are both accessible from the staging schema and the repository schema in sql. But the PRIZES table is getting the table of view does not exist error and the EVENTS table is not. Also, all columns referred to in the script are all valid.
    The line that is generating the error is line 17 in the script below which I've bolded. Note that Line 16 accessing the EVENTS table is not generating an error. Here are some points:
    1) When I try to 'deploy' either the EVENTS table or the PRIZES table, as you suggested, I get a msg saying that these are source tables and cannot be 'deployed'. I am validating, generating and deploying the target table and the mapping however.
    2) One difference I did find in my initial error was that I just happened to have a copy of the EVENTS table in the stage schema (dw_stg) but did not have a copy of the PRIZES table there. This should not matter since the schema being accessed in the sql is obviously the source schema (dw_user) and not the stage schema (dw_stg). Nonetheless, just as an experiment I also put a copy of the PRIZES table in the stage schema (dw_stg) but the error remained.
    Any other ideas as to why the EVENTS table is accessible in the sql but the PRIZES table is not?
    Here's the script with the error on line 17:
    1) CREATE OR REPLACE PACKAGE BODY ""MAP3"" AS
    2)
    3)
    4)
    5)
    6)
    7) -- Procedure "JOINER_p" is the entry point for map "JOINER_p"
    8)
    9) PROCEDURE "JOINER_p"
    10) IS
    11)
    12) -- Row by row processing
    13) "PRZ_EVT_ld" BOOLEAN;
    14) CURSOR "JOINER_c" IS
    15) SELECT
    16) "EVENTS"."EVENTNAME" "EVENTNAME",
    [17) "PRIZES"."PRIZEPLACE" "PRIZEPLACE",
    18) "PRIZES"."PRIZEAMOUNT" "PRIZEAMOUNT"
    19) FROM
    20) "DW_USER"."EVENTS" "EVENTS",
    21) "DW_USER"."PRIZES" "PRIZES"
    22) WHERE
    23) ( "EVENTS"."EVENTID" = "PRIZES"."EVENTID" );
    Thanks for your continued help.
    Cheers,
    John

  • Lookup into R/3 table during Message Mapping

    Hi all,
    I have a field in my source message that I need to convert. The corresponding values are stored in an R/3 table. I could use a 2:1 mapping in a BPM to merge an RFC call reading the table with my mapping, but I was told that this can be done without using BPM.
    Can anyone describe me this ?
    Thanks in advance.
    Best regards,
    Julien

    Hi Julien,
    Starting SP13 you can perform RFC lookups within your mapping using standard RFC API.
    Check this michal's document for the same...
    https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/801376c6-0501-0010-af8c-cb69aa29941c
    Regards
    Anand
    Message was edited by: Anand Torgal

  • Target attribute table RA_XELLERATEUSER2 is empty.

    Hi All,
    I am "Still" getting this error. I thought I would wake up a post to try again and see if anyone else has run into this. another piece of info here is the app is deployed as an MDB and processing xml from a topic
    and the xml is parsed used for the recon event. Creating the recon event works fine. it's processReconciliationEvent that fails.
    Caused by: oracle.iam.platform.utils.SuperRuntimeException: -101: Error occurred in XL_SP_RECONEVALUATEUSER while processing Event No 145 Error occurred in XL_SP_RECONREQDATACHECK while processing Event 145 Target attribute table RA_XELLERATEUSER2 is empty.
    trying to either
    reconOp.processReconciliationEvent(eventKey);
    or
    reconOp.finishReconciliationEvent(eventKey);
    after success from
    eventKey = reconOp.createReconciliationEvent(objectName, reconMap, true);
    This code will work flawlessly when its running in batch on a remote machine. as soon as I put it in a weblogic managed server running on the same machine with the oim managed server I start getting this error.
    I looked at the stored proc and basically XL_SP_RECONREQDATACHECK is trying to lookup the recon event just created and says it cant find it. as soon as I see the error I can run the query and the record is there.
    there is no change in the code or the data only the environment.
    I also put the process call in a retry loop and sleep a few seconds. I still get the error(s) but it does seem to eventually link up.
    also, I setup a seperate little batch program to call reconOp.processReconciliationEvent(eventKey); given an event key from the command line and that
    works also on the previously failed event.
    any ideas on this strange problem?
    Thanx in advance.
    Fred
    Edited by: Foresterf on Aug 12, 2011 6:40 AM

    Hi Jay,
    I think that the value was overwritten by the User Library. Now I've created a dedicated global attribute to the target system with your condition and everything works correctly.
    activeSync:
    <Field name='global.ADfirstname'>
    <Display class='Hidden'/>
    <Expansion>
    <ref>activeSync.firstname</ref>
    </Expansion>
    <Disable>
    <eq>
    <ref>activeSync.firstname</ref>
    <ref>waveset.attributes.firstname</ref>
    </eq>
    </Disable>
    </Field>
    Resource Form:
    <Field name='accounts[$(RESOURCE_NAME)].firstname'>
    <Display class='Text'>
    <Property name='title' value='firstname'/>
    </Display>
    <Default>
    <ref>global.ADfirstname</ref>
    </Default>
    </Field>
    Thank you,
    David.

  • Problem with Dynamic table having row map.

    Hi,
    I need to create a table dynamically based on following inputs:
    a.)Name and number of columns will be decided dynamically at run-time.
    b.) Each row will contain a map of column values ,which will be dynamically generated by some other class.
    In the same way multiple tables need to be created dynamically.
    I tried created table for the same as following:
    RichTable tb=new RichTable();
    tb.setId("trs");
    tb.setValue(UICredRowList.getMapListforRows());
    for(Iterator itr=header.iterator();itr.hasNext();)
    String headerKey = (String) itr.next();
    RichColumn myCol = new RichColumn();
    ExpressionFactory efact = FacesContext.getCurrentInstance(). getApplication().getExpressionFactory();
    ValueExpression valExpr1 = efact.createValueExpression( elContext1,"#{row["+headerKey+"]}",Object.class);
    resolveExpression("#{row["+headerKey+"]}") ;
    myCol.setId("tc1");
    myCol.setSortable(false);
    myCol.setWidth("250");
    myCol.setHeaderText(headerKey);
    RichOutputText rot1 = new RichOutputText();
    rot1.setValueExpression("value", valExpr1);
    myCol.getChildren().add(rot1);
    tb.getChildren().add(myCol);
    Here when I checked the column value from Expression I am getting value as null.
                        Can someone help me how can I handle this type of table.Example will be highly appreciated.
    Thanks in Advance
    Sunil

    Which JDeveloper version do you use, if you use 12c or 11R2 you should find this option when you drag and drop the table to auto generate columns dynamically.

  • Target structure generation using GUI mapping

    Hi Experts,
    I have two nodes in source  and one node in target structure .
    Source
    permanentemployee (0..n)
          name
          dept
    contract employee (0..n)
         name
         dept
    Target
    Employee (0..n)
        name
        dept
    If both nodes (permanentemployee  &  contract employee )are present in source then I should get two occurances of target..
    Please watch that I have same subnodes in permanentemployee  &  contract employee .
    Please let me know your thoughts.

    Hi Vamsi,
    Duplicate the target structure.
    then map
    permanentemployee (0..n) node to Employee (0..n) target node and fields should map to the target side fields [like name --> name and dept --> dept]
    and contract employee (0..n) node to Employee (0..n) target node [this is the duplicated node] and map the corresponding fields to tarhet fields. [like name --> name and dept --> dept]
    Regards
    Ramesh
    Edited by: Venkataramesh Boppana on Oct 8, 2009 12:43 AM

  • Drill-Down from several Charts to Same Target

    Hi,
    we have built a dashboard with 3 (soon to be 6) column charts and one line chart below. The colum charts represent 6 KPIs aggregated for a year for different warehouses. Each warehouse is a specific series (because we want them to have a individual colors). When the user clicks on a warehouse in one of the column charts, we want the line chart above to show the
    For this purpose, we have all column charts store drill-down values to the same two cells:
    - One cell stores the series name (warehouse selected)
    - One cell stores the name of the clicked line chart (we use a single cell with the chart name as source for the first series of each chart. After the first series is selected as the default drill-down, this source and destination seems to be used for every series selected, which might be a bug)
    Our problem is, all queries for the charts are loaded at startup. The default drill-downs for all charts are done, and we have a random chart in the drill-down destination. If the user clicks the same chart again, we do not notice this as the value of our target cell does not change. We have tried several solutions for this, but nothing is really satisfactory.
    Does any of you have an idea, or a similar dashboard maybe, where the drill-down of several charts (preferably with several series per chart) is stored into a single target chart?
    Thanks & Regards,
    Sebastian

    Hi Sebastian,
    You cannot have drill downs from different charts to the same target.
    As per your scenario you have 3 column charts with warehouses displaying their respective 3 KPI's values. I believe you would have created a series each for available warehouses. If you have selected drill down on load for all the column charts with one single target then at load all the three column charts will try to place the destination of their selected series(based on warehouse selected) to the same target.
    And also as you mentioned when the user tries to select the same chart again the target doesn't change, the reason is the same as all the charts are trying to put the destination of the series in the same cell.
    Instead of doing it this way, what you could do is to name the series of all column charts the same and have the series name put into one cell. Then based on this series name you can lookup the data for that warehouse and display it in the line chart.
    Here again the user has to select the same warehouse in all the three column charts else it wont work.
    Hope this was useful =]
    Thanks & Regards
    Arjun.C.T

Maybe you are looking for

  • How do I add my NEW iPod to my current iTunes account?

    **Let me just start by saying, iPod's don't swim.** *Bought a used one from a friend.* *2 Questions:* *1. How do I add this new nano to my current iTunes account?* *2. How do I take off the music files on the "new" one?* TIA!

  • Ipad is connected to my wifi hotspot but will not connect

    hello so i have recenly moved to a new appartment, and the complex provides the internet thru a adsl cable, i buy the weekly subscription for the internet, i guess a bit like at the airport where u buy it for an hour ec. i have tried several times to

  • InDesign Crashes when Accessing Character Panel

    I just updated my Mac OS 10.6.7 with CS5 after uninstalling CS3, which functioned without any problems.  Now, after both creating new documents and opening previously created documents, InDesign is having all kinds of problems when I attempt to acces

  • I cannot drag my music onto my iphone? Error icon?

    I cannot drag and drop my music onto my iphone, it gives me an error icon as i go to put it in? The music stores into my itunes library fine, but doesnt want to go into my iphone? Does anyone know how i can solve this issue?

  • Problem Open links to fileshare when browse to SharePoint in chrome and firefox

    We have a search center site and results come from file share. It seems that when user use Chrome and firefox - there is a problem to open a link to the file. In addition in case the file is an image - the preview image is seen only in IE keren tsur