7 Replies Latest reply: Jul 9, 2012 3:42 PM by BWall RSS

    OMB02904 Namespace Conflict Creating Mapping

    808482
      Hi, we are running OWB 11GR2 on Windows and I am having trouble creating a mapping as allegedly it already exists. I can find no trace of this either through the GUI, through OMBPlus, or even using the JAVA APIs to find the offending mapping. It is also not visible in owbsys.all_iv_xform_maps or owbsys.all_iv_objects.

      I cannot OMBDROP the mapping as it does not exist !

      The full message in OMBPLUS is OMB02904 Namespace Conflict for map name WORK_SELF_EMPLOYED_INCOM_TA1M1: API0408 Within same namespace domain one object has already used the name WORK_SELF_EMPLOYED_INCOM_TA1M1

      If you have any suggestions they would be gratefully received !

      Phil
        • 1. Re: OMB02904 Namespace Conflict Creating Mapping
          David Allan-Oracle
          Are you on a multi-byte database or something? Is there another object with the same prefix up to some length of characters?

          Cheers
          David
          • 2. Re: OMB02904 Namespace Conflict Creating Mapping
            808482
            Our repository DB uses a Windows character set WE8MSWIN1252.

            I have done a trawl through mappings and tables through all our Modules in a couple of ways (note my OMBPlus may not be the best you have ever seen). Note that these code snippets do work with 'real' mappings, but they do not find my phantom mapping.

            set objectToFind WORK_SELF_EMPLOYED_INCOM.*

            OMBCC '/IDP'

            set moduleList [OMBLIST MODULES]
            #set moduleList [list IPS2_SA1]

            foreach moduleName $moduleList {

            puts "Module name = $moduleName"

            OMBCC '/IDP/$moduleName'

            set tableList [OMBLIST TABLES '$objectToFind']

            foreach tableName $tableList {

            puts "=== Found table $moduleName/$tableName"

            }

            set mapList [OMBLIST MAPPINGS '$objectToFind']

            foreach mapName $mapList {

            puts "=== Found mapping $moduleName/$mapName"

            }
            }

            ============================================

            Java API based search

            set mapToFind WORK_SELF_EMPLOYED_INCOM_TA1M1

            set repManager [java::call oracle.owb.connection.RepositoryManager getInstance]
            set owbConnection [$repManager getConnection]
            set projectManager [java::call oracle.owb.project.ProjectManager getInstance]
            set project [$projectManager getWorkingProject]

            # for every module
            set modList [$project getOracleModuleNames]
            set modCnt [$modList length]

            for {set ic1 0} {$ic1 < $modCnt} {incr ic1} {

            # Find your Oracle module
            set modName [$modList get $ic1]
            set modObj [$project findOracleModule $modName]

            if {("$modName" != "RELEASES") && ("$modName" != "ARCHIVE")} {

            # Proc logit defined earlier to output to a file
            logit "Processing module $projName/$modName"

            set mapList [$modObj getMapNames ]
            set mapCnt [$mapList length]

            for {set ic2 0} {$ic2 < $mapCnt} {incr ic2} {

            set mapName [$mapList get $ic2]

            if { "$mapName" == "$mapToFind" } {
                 
            logit "======= Found the bugger $mapName"
            }
                 }
            }
            }

            ===============================

            Nothing here either ....

            SELECT *
            FROM owbsys.all_iv_xform_maps
            WHERE business_name LIKE 'WORK_SELF_EMPLOYED_INCOM%';

            SELECT *
            FROM owbsys.all_iv_objects
            WHERE object_name LIKE 'WORK_SELF_EMPLOYED_INCOM%';
            • 3. Re: OMB02904 Namespace Conflict Creating Mapping
              MccM
              Check

              select *
              from owbsys.RESERVATION_STORE;

              and see if your name is reserved there.
              • 4. Re: OMB02904 Namespace Conflict Creating Mapping
                808482
                I am afraid this table is empty ... note that I have checked our design repository as well as our runtime repository (not that I would expect anything here of course).

                This is a real pain for us, because as mentioned we us experts to generate the mappings for our Atomic tables. These tables are generated from our Staging tables, which in turn are generated from our Source tables. Our source tables (in their own Modules) are named and defined exactly as the source system. Therefore we can't merely generate the mapping for a different name.
                • 5. Re: OMB02904 Namespace Conflict Creating Mapping
                  MccM
                  Try to create mapping without commit and see if this table holds the name. If not check if your workspace is set:

                  https://blogs.oracle.com/warehousebuilder/entry/owb_public_views_in_11g_release_1


                  Other thing is naming option in OWB. It can be set to Physical or Business and one more option is Propagate name changes (you should check this box). No matter how you set naming option OMB+ always uses Physical names.

                  You should check and see if mapping exists with business name (WORK_SELF_EMPLOYED_INCOM_TA1M1) you're trying to create?

                  It is possible that you don't have mapping with physical name WORK_SELF_EMPLOYED_INCOM_TA1M1 but with business name WORK_SELF_EMPLOYED_INCOM_TA1M1.
                  • 6. Re: OMB02904 Namespace Conflict Creating Mapping
                    808482
                    Thanks for the reply ... I have not had chance to try any of this today, but with any luck will do so tomorrow.
                    • 7. Re: OMB02904 Namespace Conflict Creating Mapping
                      BWall
                      I noticed your OMB error refers to error API0408, which we recently encountered.

                      In our case, we had a mapping that we were making extensive changes to, so we made a copy of it and made the changes to the copy:

                      Original map name: MAP_COMPANY
                      Copy of map name: MAP_COMPANY2

                      When we were satisfied with the changes in MAP_COMPANY2 (and after exporting all metadata just in case) we deleted MAP_COMPANY, saved changes, then tried to rename MAP_COMPANY2 to MAP_COMPANY. OWB did not allow the rename, raising error API0408.

                      What we found is that OWB would raise this error so long as we tried to rename the mapping in the Projects Navigator. If we actually opened up the mapping and changed the name in the Property Inspector, then OWB allowed the name change.