Pluggable Mapping

Hi,
Can anyone have any example of using pluggable mapping and how we can make mapping generic
by using pluggable mapping.
Regards
Ani

Pluggable mappings can be used to
- split a large mapping into smaller components, can be useful to test each part or to make a complex mapping easier to understand.
- include a reusable piece of logic in multiple mappings.
Use mapping input parameters to pass values and make generic.

Similar Messages

  • Pluggable Mapping causing VLD 1600 validation error

    We are using OWB client 11g R2 on windows. I am trying to use the pluggable mapping functionality to use for our reference data lookups, whereby we want to retrieve full descriptions in several languages from the reference data table. The standalone mapping takes in two parameters in the input signature, both NVARCHAR2, a reference type and reference code to perform the lookup. There is then a key lookup whose output (5 NVARCHAR2 values) goes to an expression which has a CASE statement to evaluate the results before passing them to the output signature.
    The problem is when using the pluggable mapping in a normal mapping it does not validate, and I am getting the VLD-1600: Lookup Condition for Key Lookup REF_DATA_APEX is blank. error. The key lookup of course does have a Lookup Condition.
    The mapping is a simple one, taking a source and mostly mapping directly to the target. It is set based only. I have one source attribute being passed to the pluggable mapping along with a constant, and the output is passed to an expression (which doesn't actually do anything, but without this I got API8003 error when connecting the output attributes to the target attributes).
    Is there something I am missing in how to implement this feature ?

    Hi,
    I am having the same problem with pluggable mapping and lookup operator, when mapping is syncronized it gives error VLD1108. I believe it is a bug of OWB 11.2.0.2.
    Did you manage to resolve it?
    Thanks,
    Alex

  • EXPLAIN PLAN with pluggable mapping

    Dear Folks,
    I have a mapping with a pluggable mapping included. When I try to get the EXPLAIN PLAN TREE I receive an error: 'ORA-00904: "FULLPACKAGENAME"."CONSTANT_0_SITUATION_1":invalid identifier'.
    The EXPLAIN PLAN REPORT says in the first line: Error: cannot fetch last explain plan from PLAN_TABLE
    When I search for 'CONSTANT_0_SITUATION_1' I can find things like:
    (SELECT
    "WH_JOIN_GSMNMBR_PORTINGDATA"."GSS_VOI_ID" "FACT1_ID",
    "WH_JOIN_GSMNMBR_PORTINGDATA"."BEGINDATE" "FACT1_BEGINDATE",
    "WH_JOIN_GSMNMBR_PORTINGDATA"."ENDDATE" "FACT1_ENDDATE",
    "INGRP2"."FACT1_MIN_BEGINDATE" "FACT1_MIN_BEGINDATE",
    "INGRP2"."FACT1_MAX_ENDDATE" "FACT1_MAX_ENDDATE",
    FULLPACKAGENAME."CONSTANT_0_SITUATION_1" "SITUATION_1"
    What is 'FULLPACKAGENAME'???
    I can validate my mapping and this is OK. I checked the pluggable mapping again and again, all seems to be right. I can run the mapping and it works. Just need to tune it.
    I'm working with OWB 11.1 on a 10.2.g DB
    Can please someone help me?
    Greetings
    S.

    Hi,
    if you generate the sql in the mapping editor, the sql may not run directly. FULLPACKAGENAME will be replaced my the mapping name during deployment. The constants you define in the mapping will be pl/sql-variables of that package.
    To make the sql work, you have to replace the FULLPACKAGENAME.xxx expressions with correct values manually.
    Do you have the most recent patch installed? In owb 10gr2 the values from the constants as well as the default values of the mappings are set correctly from version 10.2.0.3 on.
    Regards,
    Carsten.

  • How to pass mapping input paramters to a pluggable mapping?

    Hi,
    I'm using OWB 10.2.0.3.
    How can I pass the mapping input parameters to a pluggable mapping?
    I know that I can use the pluggable mapping input signature, but this means I always need a joiner in the pm before I can use the parameter in a filter, for instance. This is not really convenient.
    Any help would be appreciated!
    Regards,
    Carsten.

    Hi,
    I'm using OWB 10.2.0.3.
    How can I pass the mapping input parameters to a pluggable mapping?
    I know that I can use the pluggable mapping input signature, but this means I always need a joiner in the pm before I can use the parameter in a filter, for instance. This is not really convenient.
    Any help would be appreciated!
    Regards,
    Carsten.

  • Vld-1134 on pluggable mapping after importing MDL

    After importing an MDL file and setting the oracle modules to the correct locations, I can deploy just anything in my target module, except mappings that include a pluggable mapping that references a view, which is correctly deployed on the target module ( validation raises vld-1134). Referencing that view directly from any mapping doesn't raise any problem.
    Are there aditional configuration steps required to succesfully validate thoose mappings ?
    Thanks in advance,
    Pedro Almeida

    Can you try synchronizing (inbound) the view to the pluggable mapping? Then try validating.
    Cheers
    David

  • Pluggable mapping problem

    Hi,
    I have a src table which needs to be mapped to a target, but through a pluggable mapping which contains expressions to calculate an extra field I came to the following problem. The output signature of the Pluggable mapping cannot be combined with the source data, so i used a joiner and it generates something like this:
    SELECT
    "MYTABLE"."THEPK" "THEPK"
    "MYTABLE"."NAME" "NAME"
    "MYTABLE"."STARTDATE" "STARTDATE"
    <function to create ENDDATE field> "ENDDATE"
    FROM
    "MYTABLE" "MYTABLE"
    "MYTABLE" "MYTABLE_1"
    WHERE ....
    I don't want to join them, they must come from the first table, but I cannot combine them without a joiner. It works when I make it without pluggable mapping but it's a lot of redundant work! Is there another way to fix this?
    Thank you
    Den
    ps: I am using OWB 10g R2 (the newest version)
    Message was edited by:
    user537381

    Hi,
    See this thread - Pluggable Mappings
    This might be solution for your problem. IMHO, one should search this forum before posting .
    HTH
    Mahesh

  • MMM 1064 Error when adding pluggable mapping

    OWB ver 11.2.0.1
    9802120 patch has been applied, but not exactly which "version"
    Created a standalone pluggable mapping. It is pretty basic: Source table -> Filter ->Aggregator -> Subquery Filter -> Output Signature.
    When I attempt to add the pluggable mapping to an existing mapping (either by dragging the PM from the Projects Navigator, or going through the Component Palette), I get the following error:
    MMM 1064: Value 98F36D...E390EC not valid in domain IN_MATCHING_ATTRIBUTE
    Any ideas on how to fix this?

    Sorry for the delay, but another fire sprang up.
    I created a pluggable mapping consisting of a table and filter and was able to drop it onto another mapping (I didn't go further and try and connect it). Went back to the pluggable mapping, deleted the lines from the filter to the output signature, and added the aggregate and sub-query filter. I get the error when the revised pluggable mapping is dropped onto another mapping.
    For grins, I got rid of the sub-query (it was an IN type), and did what I wanted "old-school" - brought in a second instance of the table, and joined it to the aggregation. I was able to add this version to a mapping.
    Client hasn't applied the 11.2.0.2 patch, so I am guessing it is something fixed in the patch.

  • Pluggable mapping in ODI?

    Hi guys!
    I was wondering if ODI has a similar functionality to OWB pluggable mapping? If yes please tell me how ;)
    With regards,
    PsmakR

    Hi,
    You can find a great blog post about ODI User Functions @ http://blogs.oracle.com/dataintegration/2009/09/odi_user_functions_a_case_stud.html.
    It should give you enough details, the User Functions are also covered in the ODI documentation.
    Thanks,
    Julien

  • Pluggable Mapping Won't Fully Synchronize

    I'm hoping there is perhaps just a config setting of some kind that governs how a pluggable mapping is embedding in a real mapping that is causing my problems.
    The situation:
    -Mapping A is my actual mapping.
    -Mapping B is my pluggable mapping which implements a whole mess of stuff, including a very large and complex Joiner operator.
    -Mapping A uses pluggable mapping B.
    The problem:
    I recently discovered that I had some errors in the join condition used by the Joiner in pluggable mapping B. I modified the join condition, etc, and saved. I then went into Mapping A and did an inbound sync on the pluggable mapping operator so that mapping A would pick up the changes I made to the join condition in pluggable mapping B.
    Mapping A does not pick up the changes to the join condition when in generates. I have inspected the generated SQL by hand to confirm. I'm now afraid that syncing a pluggable mapping operator only picks up signature changes? But it seems absurd that when using a pluggable mapping in a regular mapping, the internals of the pluggable mapping would get so fully embedded before even generating, and that the only thing you can later change without having to delete and re-add the pluggable mapping operator is the signature?
    Does anyone have any insight? I would really appreciate any thoughts. In reality, this pluggable mapping is used not by one, but by many regular mappings, and implements some really ugly logic that has a very wide input and out signature. So I really want to avoid that obvious solution of having to simply delete the pluggable mapping operator from the main mappings and add it again (which I'm darn sure would work), and have to reattach all the connections. It would take hours and hours.
    Thanks in advance for any help.
    -John

    Well David, I owe you an apology for wasting both our time.
    I have looked at it with a pair of fresh eyes this morning, and the problem was mine. As I think I mentioned in my original post, this pluggable mapping is actually used by a large number of regular mappings (about 15). Each of these regular mappings handle a different step in the loading a primary target table.
    In my confusion, I had missed a sync in one or two, and had apparently been bouncing back and forth between one I had synced, and one I had not when looking at generated code. This caused me to think the syncing and generation were not occurring properly.
    Too many late hours I'm afraid...
    So again, I apologize for the wild goose chase, but really appreciated your input. It appears that the problem is solved (or never even existed) !

  • Pluggable mapping access to others

    I created a pluggable mapping in the pluggabl emappings folder. I am able to use it. but I would like others to look at my pluggable mapping and they can use it also. How do I do that. In the book it says if I put in the folder which I did and in the security section for the folder I gave access to all users. still others are not able to see my mapping.

    To start with I created the pluggable mapping under standalone and then the team decided that the pluggable mapping should be used by everyone. I then copied it to the folder by creating a folder by reading the docs. Still non one is able to see my pluggable mapping. projects are different the security on my preferences is set to minimum.

  • Synchronizing  Pluggable mapping in main map

    Hi,
    I used a pluggable mapping in a map . If I do any changes in the pluggable map,
    those are not reflecting in the map where that pluggable map is used. To reflect I opened the map and I used synchronise option . If I use that pluggable map in many maps , I have to open each and every map and selectiing the option synchronsie.. Is there any alternative way to synchronise the pluggable map with the main map without opening the map...
    Regards,
    Sivarama

    Is this blog down? Or do I need special access?
    Actually I hit the same problem... If I do it like this:
    OMBSYNCHRONIZE PLUGGABLE_MAPPING 'PM_MAKE_ITEM_LEVELS' TO MAPPING 'MAP_DWH_ITEM_MASTER' OPERATOR 'PM_MAKE_ITEM_LEVELS' USE (RECONCILE_STRATEGY 'REPLACE', MATCHING_STRATEGY 'MATCH_BY_OBJECT_NAME')
    I've changed the context to my project and to my module (DWH), which consists the mapping and get the following error:
    OMB07003: cannot locate PM_MAKE_ITEM_LEVELS of type PLUGGABLE_MAPPING: OMB01065: Object type PLUGGABLE_MAPPING is not valid for folder DWH
    I will be thankful for every hint!
    Thanx in advance!
    Steffen

  • Pluggable Mapping: java.lang.ArrayIndexOutOfBoundsException: 5

    Hi,
    I'm using OWB10gR2.
    I got a "java.lang.ArrayIndexOutOfBoundsException: 5" when I try to insert a Pluggable Mapping (which is from a licensing point of view an expensive option).
    The only thing I can do in such a case is to exit witout being able to save.
    Has anyone an idear how this can happen?
    Would be nice if application errors would be a bit better handeld by the new OWB release.
    The exact error I got is:
    java.lang.ArrayIndexOutOfBoundsException: 5
    java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 5
         at oracle.wh.util.expr.WBBindableExpression.validate(WBBindableExpression.java:281)
         at oracle.wh.util.expr.WBBindableExpression.getTemplate(WBBindableExpression.java:307)
         at oracle.wh.repos.impl.mapping.CMPMapAttribute.internalUnbindExpressions(CMPMapAttribute.java:1207)
         at oracle.wh.repos.impl.mapping.CMPMappable.internalUnbindExpressions(CMPMappable.java:592)
         at oracle.wh.repos.impl.mapping.CMPMappable.internalUnbindExpressions(CMPMappable.java:592)
         at oracle.wh.repos.impl.mapping.CMPMapOperator.internalUnbindExpressions(CMPMapOperator.java:1297)
         at oracle.wh.repos.impl.mapping.CMPMapOperator.beforePersist(CMPMapOperator.java:1410)
         at oracle.wh.repos.pdl.foundation.DirtyCache.persist(DirtyCache.java:422)
         at oracle.wh.repos.pdl.foundation.DirtyCache.persist(DirtyCache.java:279)
         at oracle.wh.repos.pdl.foundation.CacheMediator.postChanges(CacheMediator.java:520)
         at oracle.wh.repos.pdl.foundation.CacheMediator.postChanges(CacheMediator.java:513)
         at oracle.wh.repos.pdl.foundation.CacheMediator.commit(CacheMediator.java:2079)
         at oracle.wh.repos.pdl.transaction.TransactionManager.commitGlobalTransaction(TransactionManager.java:340)
         at oracle.wh.repos.pdl.transaction.TransactionManager.commit(TransactionManager.java:456)
         at oracle.wh.ui.console.WorkBenchController.doRealcommit(WorkBenchController.java:1153)
         at oracle.wh.ui.console.commands.CommitCmd.performAction(CommitCmd.java:24)
         at oracle.wh.ui.editor.WindowHelpEventHandler.handleSaveAll(WindowHelpEventHandler.java:239)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at oracle.wh.ui.editor.listener.ReflectListener.invokeMethod(ReflectListener.java:41)
         at oracle.wh.ui.editor.listener.ReflectActionListener.actionPerformed(ReflectActionListener.java:33)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
         at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
         at java.awt.Component.processMouseEvent(Component.java:5100)
         at java.awt.Component.processEvent(Component.java:4897)
         at java.awt.Container.processEvent(Container.java:1569)
         at java.awt.Component.dispatchEventImpl(Component.java:3615)
         at java.awt.Container.dispatchEventImpl(Container.java:1627)
         at java.awt.Component.dispatchEvent(Component.java:3477)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
         at java.awt.Container.dispatchEventImpl(Container.java:1613)
         at java.awt.Window.dispatchEventImpl(Window.java:1606)
         at java.awt.Component.dispatchEvent(Component.java:3477)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 5
         at oracle.wh.util.expr.WBBindableExpression.validate(WBBindableExpression.java:246)
         ... 46 more

    Hi Carsten,
    Thanks for your feedback.
    I syncronised everything, the pluggable mapping as well as the mapping in which I used this pluggable mapping. But I still got the error.
    The only workaround I found was to recreate the pluggable mapping.
    I don't understand how such a exepnsive software generates a Java error instead an error which explains what has to be corrected.
    Regrads
    Maurice

  • Can a pluggable mapping be used by more than one project.

    I have a common mapping which 2 projects use it. If I deploy in one project the otherprojects mapping is getting Invalid. Can I make this mapping a pluggable mapping and then use it in 2 projects will this concept work.
    Thanks

    I have a common mapping which 2 projects use it. I donot think mapping can be common across the project . You can create the same mapping twice in both project.
    So donot know how you are using same mapping which 2 projects use it.
    If I deploy in one project the otherprojects mapping is getting InvalidAs i told create the same mapping in Both the project and use it.
    Can I make this mapping a pluggable mapping and then use it in 2 projects will this concept work.You can not share Pluggable mapping across the Project.
    Cheers
    Nawneet
    Edited by: Nawneet on Apr 12, 2010 10:51 AM

  • Error in reconciling pluggable mapping

    Hello Everybody,
    When i try to reconcile pluggable maapings, i get the error
    "MMM1058: Access invalid property 1 in array property."
    Could any one suggest what can be the cause of this error.
    We are using OWB 10G R2 (10.2.0.2.0).
    Thanks in advance.
    Sunil.

    Hi,
    The scenario I am trying to test is a multi mapping scenario where I am trying to split one source message and create two target messages by using two different receiver interfaces, one for each message.
    I am on PI 7.1 and when I test message mapping and operation mapping using the payload from SXMB_MONI, it is successful. Whereas when I test the scenario end to end I am getting the following error messages:
    Operation Mapping
    Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
    Name
    Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
    Namespace
    http://accenture.com/1:N_multi-mapping
    Runtime error
    Split mapping created no messages
    Start tag ns0:Messages Add raw attribute xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge" Start tag ns0:Message1 Close tag ns0:Message1 Start tag ns0:Message2 Close tag ns0:Message2 Close tag ns0:Messages
    Could someone please help
    Cheers,
    S

  • Pluggable Mappings and Input Parameters

    Hi All,
    I have a mapping which receives 2 input parameters. I have created a pluggable mapping to which I would like to pass those same values. Is is possible to pass parameter values into a pluggable mapping such that these values are NOT part of the input signature?
    thanks
    Ok, I have more information. When I deploy my mapping, I found the following code commented out of the main procedure:
    -- register custom input parameters:
    -- Temp fix until selective registration ensures correct handling of complex types
    -- wb_rt_mapaudit_util.register_custom_param(x_audit_id,
    -- '"MY_PARAM"',
    -- TO_CHAR("MY_PARAM"));
    What is the "selective registration" that they mention and how do I do it?
    thanks, again
    Edited by: philip_b on Mar 26, 2010 8:39 AM

    Thanks for responding David. I am using Client: 10.2.0.1.31 and Repo: 10.2.0.1.0
    I was hoping I didn't have to include it in the signature because I didn't want these values to be part of the incoming dataset; that just complicates the mapping logic for me.
    It would make sense to me that the pluggable mapping should have access to the parent mapping's parameter values.
    Why is the parameter registration code commented out inside the generated package? Do you know what it is referring to when it mentions "selective registration"? I can't find any reference to it:-/
    Someone else had the same issue last year on the following thread, but there were no responses to the issue:
    wb_rt_mapaudit_util register_custom_param call commented out in gen'd sql

Maybe you are looking for

  • TS4002 How do I go to the icloud to get my contact information stores from my Iphone?  Also, my photos.

    I lost my contact information once and I have stored it in the I cloud. How do I access it now that it is stored. I have an IBM Lenovo computer. This also applies to my photos and other data.

  • Opening a Secure PDF

    Hello, I am using CF8 on a WinXP machine, using XAMPP to server the pages. I am working on an app that needs to display a PDF, but not allow it to be changed or printed.  I know that when I view the PDF in the browser, I cannot remove the "Save a cop

  • SCOM 2012 License for SCOM 2012 R2

    Hi, I want to upgrade SCOM 2012 SP1 to SCOM 2012 R2. Do I need to have any additional license for this upgrade or SCOM 2012 RTM license will work for R2 as well?

  • Droid 2 pictures won't save to sd card

    I had about 300 pictures saved to my sd card and when I wanted to save a new picture that I received from a picture message it went straight to internal memory. I purchased a new sd card thinking that my old sd card might have been too full, and it d

  • Aggregate Device "3/4" won't work in Garageband

    Last week, we tried to create an "Aggregate Device" out of 3 or 4 microphones. One was the macbook's built-in mic, one was a USB headset, and another was a desktop microphone. This setup worked fine, and worked very well for our podcasting needs. How