Implementing hierarchy in a dimension using OMBPLUS script

Hi all,
I am trying to create a dimension with two levels using TCL scripts.
The first level is 'CHIP' which roll up to 'TOTAL'.
I'd like to know how I can implement the hierarchy between the two levels.
It would be great if any of you can help me with the syntax to implement the hierarchy.
Thanks,
Anoop

Hi Anoop
To add levels use SET REF LEVELS on the hierarchy, for example on dimension DIMX, hierarchy STANDARD;
OMBALTER DIMENSION 'DIMX' MODIFY HIERARCHY 'STANDARD' SET REF LEVELS ('TOTPROD','CATEGORY', 'PRODUCT')
Cheers
David

Similar Messages

  • Register and unregister locations using ombplus script

    hi
    how to register and unregister the locations using ombplus scripts.
    any help would be appreciated.
    thanks,
    Keka

    The deployment script I have posted previously to copy a project mdl over to a new repository for local deployment includes creating a control center, making it the default for your project, creating the locations, assigning them to the control center, and registering them.
    Re: importing mappings using OMBPLUS
    To unregister a location, first you want to undeploy anything deployed from it to avoid dangling references int he repository, and then unregister the location.
    I do that in the following drop_project script that we use to delete an old copy of the project before importing the new version.
    #get db connection info
    source c:\\omb\\owb_config.tcl
    #get standard library
    source c:\\omb\\omb_library.tcl
    # PVCS Version Information
    #/* $Workfile:   ers_owb_drop_project.tcl  $ $Revision:   2.1  $ */
    #/* $Author:   michael.broughton  $
    #/* $Date:   03 Apr 2008 13:43:02  $ */
    #  Connect to repos
    # Commit anything from previous work, otherwise OMBDISCONNECT will fail out.
    exec_omb OMBCOMMIT
    # If already connected, disconnect first.
    set print [exec_omb OMBDISCONNECT]
      # Test if message is "OMB01001: Not connected to repository." or "Disconnected."
      # any other message is a showstopper!
    if [string match Disconn* $print ]  {
       log_msg LOG "Success Disconnecting from previous repository...."
    } else {
       # We expect an OMB01001 error for trying to disconnect when not connected
       if [string match OMB01001* $print ] {
          log_msg LOG "Disconnect unneccessary. Not currently connected...."
       } else {
          log_msg ERROR "Error Disconnecting from previous repository....Exiting process."
          log_msg ERROR "$print"
          #exit
    set print [exec_omb OMBCONNECT $OWB_DEG_USER/$OWB_DEG_PASS@$OWB_DEG_HOST:$OWB_DEG_PORT:$OWB_DEG_SRVC USE REPOSITORY '$OWB_DEG_REPOS']
    if [omb_error $print] {
        log_msg ERROR "Unable to connect to repository."
        log_msg ERROR "$print" "1"
        log_msg ERROR "Exiting Script.............."
        return
    } else {
        log_msg LOG "Connected to Repository"   
    return
    # Connect to project
    set print [exec_omb OMBCC '$PROJECT_TO_DROP_NAME']
    if [omb_error $print] {
       log_msg LOG "Project $PROJECT_TO_DROP_NAME does not exist. No Cleanup Required...."
       exec_omb OMBDISCONNECT CONTROL_CENTER
       exec_omb OMBDISCONNECT
       return
    } else {
       log_msg LOG "Verified project $PROJECT_TO_DROP_NAME exists"
       exec_omb OMBCC '..'
    # Exporting MDL Backup of Project
    set print [exec_omb OMBEXPORT TO MDL_FILE '$EXPORT_FILE_PATH/$EXPORT_FILE_NAME' FROM PROJECT NAMES '$PROJECT_TO_DROP_NAME' OUTPUT LOG TO '$EXPORT_LOG_PATH/$EXPORT_LOG_NAME' ]
    if [omb_error $print] {
       #We expect to get warnings due to differences in Control center names etc,
       if {[string match OMB05105* $print]} {
          log_msg LOG "MDL File $EXPORT_FILE_NAME exported with warnings"
       } else {
           log_msg ERROR "Unable to import $EXPORT_FILE_PATH/$EXPORT_FILE_NAME. "
           log_msg ERROR "$print"
           log_msg ERROR "Exiting Script.............."
           exec_omb OMBROLLBACK
           return
    } else {
       log_msg LOG "MDL File $EXPORT_FILE_NAME exported with no warnings.............."
    exec_omb OMBCOMMIT
    # Validate to Control Center
    set lst [OMBLIST CONTROL_CENTERS]
    if [string match *$CONTROL_CENTER_NAME* lst] {
       log_msg LOG "Verify Control Center $CONTROL_CENTER_NAME Exists."
       log_msg LOG "Setting Passwords to enable de-registration"
       log_msg LOG "Connecting to Control Center $CONTROL_CENTER_NAME"
       set print [exec_omb OMBCONNECT CONTROL_CENTER USE '$DATA_LOCATION_PASS' ]
       if [omb_error $print] {
          log_msg ERROR "Unable to connect to Control Center $CONTROL_CENTER_NAME"
          log_msg ERROR "$print"
          log_msg ERROR "Exiting Script.............."
          exec_omb OMBROLLBACK
          return
       exec_omb OMBCOMMIT
       log_msg LOG "Deleting Existing Mappings."
       set print [exec_omb OMBALTER LOCATION '$DATA_LOCATION_NAME' SET PROPERTIES (PASSWORD) VALUES ('$DATA_LOCATION_PASS')]
       exec_omb OMBCOMMIT
       exec_omb OMBCC '$ORA_MODULE_NAME'
       set mapList [ OMBLIST MAPPINGS ]
       foreach mapName $mapList {
          log_msg LOG "Un-Deploying: $mapName"
          set print [ exec_omb OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ADD ACTION 'MAPPING_DEPLOY' SET PROPERTIES (OPERATION) VALUES ('DROP') SET REFERENCE MAPPING '$mapName' ]
          if [omb_error $print] {
             exit_failure "Unable to create Deployment plan for '$mapName'"
          set print [ exec_omb OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ]
          if [omb_error $print] {
             exit_failure "Error on execute of Deployment plan for '$mapName'"
          exec_omb OMBDROP DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
          exec_omb OMBCOMMIT
      exec_omb OMBCC '..'
      exec_omb OMBCC '..'
       log_msg LOG "Un-Registering Code Location."
       set print [exec_omb OMBUNREGISTER LOCATION '$DATA_LOCATION_NAME']
       if [omb_error $print] {
          log_msg ERROR "Unable to register Location $DATA_LOCATION_NAME"
          log_msg ERROR "$print"
          log_msg ERROR "Exiting Script.............."
          exec_omb OMBROLLBACK
          return
       exec_omb OMBCOMMIT
    } else {
       log_msg LOG "Control Center $CONTROL_CENTER_NAME does not exist - unable to de-register locations."
    # Dropping project
    exec_omb OMBDISCONNECT CONTROL_CENTER
    log_msg LOG "Renaming project $PROJECT_TO_DROP_NAME to $PROJECT_TO_DROP_NEWNAME ...."
    set print [exec_omb OMBALTER PROJECT '$PROJECT_TO_DROP_NAME' RENAME TO '$PROJECT_TO_DROP_NEWNAME']
    if [omb_error $print] {
       log_msg LOG "Failed to drop project $PROJECT_TO_DROP_NAME...."
       log_msg ERROR "$print"
       log_msg ERROR "Exiting Script.............."
    exec_omb OMBDISCONNECTThis script uses the same config and library file given in the other post that I pointed you towards. That is where you will find the definition for exec_omb, for example which is simply a wrapper for OMB+ calls
    Now, note that I don't un-deploy any tables, views, sequences etc. We use Designer as our location of record for the data model metadata so our OWB project never deploys any object metadata except for mappings. Your setup may be different, still this should point you in the right direction.
    Cheers,
    Mike

  • Error when processing dimension using XMLA script

    I am hopeful that someone has an answer for this...
    I am in the process of deploying SQLServer 2014 and have been running in parallel with my production environment for 2 weeks with no issues.  Yesterday morning, my primary data load job failed while executing a process dimension script.  The script
    does a process update on multiple dimensions, but fails on the product dimension.  This is the script:
    <Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
    <Parallel>
    <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">
    <Object>
    <DatabaseID>WestLakeSales</DatabaseID>
    <DimensionID>Dim Product</DimensionID>
    </Object>
    <Type>ProcessUpdate</Type>
    <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
    </Process>
    </Parallel>
    </Batch>
    It processes the attributes and starts processing the associated measure groups, then fails with a return code that I cannot find any information on:
    <return xmlns="urn:schemas-microsoft-com:xml-analysis">
    <results xmlns="http://schemas.microsoft.com/analysisservices/2003/xmla-multipleresults">
    <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty">
    <Exception xmlns="urn:schemas-microsoft-com:xml-analysis:exception" />
    <Messages xmlns="urn:schemas-microsoft-com:xml-analysis:exception">
    <Error ErrorCode="3238133769" Description="" Source="Microsoft SQL Server 2014 Analysis Services" HelpFile="" />
    </Messages>
    </root>
    </results>
    </return>
    At the end of the job log it just shows this:
    Finished processing the 'Inventory Weekly 2009 08' partition.
    Processing of the 'Inventory Weekly 2009 06' partition has started.
    Finished processing the 'Inventory Weekly 2009 06' partition.
    Processing of the 'Inventory Weekly 2010 02' partition has started.
    The job completed with failure.
    The job completed with failure.
    The job completed with failure.
    Execution complete
    When I run process update from Studio it processes all of the attributes and measure group partitions, then throws a single 'error' result with no description or message.  It appears that all partitions process successfully.  See the screen shot:
    This script ran fine up until yesterday.  There were no system changes.  The same script is currently running fine on the production SQLServer 2008 instance.
    Anyone see anything like this happening in SSAS 2014?  Any tips on further trouble shooting?

    Hi Bendare2,
    Thank you for sharing your solution.
    Regards,
    Simon Hou
    TechNet Community Support

  • Creating dimension in OMB script with only 1 level and no hierarchy

    Hi all,
    I have created some dimensions in the OWB client, that map straight 1-on-1 to a table. Those dimensions have only 1 level 'TOTAL' and no hierarchies.
    I am trying to create those dimensions using an OMB script, but it seems that when I bind the dimension level to a table, it =expects= me also to bind hierarchy levels to the table! However I have (dont want/need) a hierarchy?!
    The error message is:
    OMB00001: Encountered DIMENSION_KEY at line: 1, column: 2309. Was expecting one of: <EOF>
    The OMB code I have is:
    IMPLEMENTED BY SYSTEM STAR \
    DIMENSION_KEY BOUND TO COLUMN 'DIM_CAUSE_KEY' \
    LEVEL 'TOTAL' BOUND TO TABLE 'DIM_CAUSE' \
    LEVEL_ATTRIBUTE 'DIM_CAUSE_KEY' OF LEVEL 'TOTAL' BOUND TO COLUMN 'DIM_CAUSE_KEY' \
    LEVEL_ATTRIBUTE ...
    LEVEL_ATTRIBUTE ...
    After the LEVEL_ATTRIBUTEs the statement ends, so I say nothing about any hierarchies.
    If anybody could give me a hint, that would be much appreciated!!
    Ed

    It is finally solved...
    The keyword "SYSTEM" in "IMPLEMENTED BY SYSTEM STAR" shoudn't be there...
    Unfortunately I was overlooking that in the oh-so-clear syntax diagram in the OWB API and Scripting Reference..... )-;
    Let's move on.
    Cheers,
    Ed

  • How to delete the members in one dimension use the maxl script

    i have question that i want to delete the members in one dimension useing the maxl script, but i do not know how to do it. can the maxl delete the members in one dimension? if can, please provide an sample script, thank you so mcuh.

    MaxL does not have commands to alter an outline directly, except the reset command which can delete all dimensions but not members selectively. The best you could do would be to run a rules file (import dimensions) using a file that contains the members you want to keepload rule for the dimension. As typical the warning is to test this first before you do it on a production database

  • How to execute a script using ombplus

    hi
    i have created one scripts using umbplus now i want to execute that scripts using ombplus editor...
    can any one pls let me know how to execute that using ombplus editor..
    thanks
    keka.

    hi,
    we have created a batch file say a.bat and in that batch file we have given the ombplus path "C:\oracle\OWBHome\owb\bin\win32\OMBPlus.bat" and the path of the script file " C:\OWB\test.tcl". if you run the a.bat file its connecting to ombplus but the script is not executing.
    let me know how to achive this??
    thanks.

  • Dimension Formula versus Script Logic that runs on default

    Hi Experts,
    Which is better to use dimension formula or script logic that runs on default? We have a lot of dimension formulas and when noticed that it has a huge impact in the performance of our AppSet. When we try to remove them, the performance seems better. We we're thinking of transforming these dimension formulas into script logic which will run by default instead. Right now I'm hesitant with two things, 1.) Will there be improvement in performance if I all these formulas are run at default via script logic? 2.) The maintenance seems to be much more complex for the user if we use script logic.
    Thanks,
    Marvin

    Hi Marvin,
    Actually you pointed very well the advantage and disantavage regarding dimension formula.
    Dimension formula are executed into run time which means that value are not calculated. Of course this will have an impact regarding performances.
    Usually our recommendation is to use dimension formula just when yoiu have KPI's to calculate which will be very difficult to be implemented into SQL scrip logic or when you have very simple calculation like Account A = Account B+ Account C.
    For other calculation we advice our customer to use script logic.
    But attention:
    Default formula should not become very heavy because you will arrive into other issue with performances.
    When you will send data if default formula script will be heavy you will arrive into situation to wait may be minutes just to send one figure and of course this will be not acceptable for users.
    So you have to use script logic but you have to run into batch mode (schedule package) that script logic.
    Into default formula you have to keep just minimum (you have to calculate just figures which have importance for user imediat, real time).
    Also you have to be aware that moving dimension formula into scrip logic actually your fact table will grow a lot because the number of records generated will be probably 3-4 times bigger than number of records from fact table with dimension formula.
    Maintenance of script logic is more complex than dimension formula and you pointed very well this.
    So it is a balance and I tried o provide you suggestions or best practice when you have to use dimesnion formula and you have to avoid dimension formula.
    I hope this will help you to arrive to best combination for your application.
    Kind Regards
    Sorin Radulescu

  • Multiple hierarchy in one dimension

    hi ,
    i have a dimension with 4 levels and 2 hierarchy . one hierarchy uses all 4 levels (default hierarchy) and one uses 3 levels .
    i have 2 cubes , one cube needs to use hierarchy 1 from that dimension and there is no problem on validation time .
    one cube needs to use hierarchy 2 of that dimension when i uses 'deploy all ' as deployment option , OWB says to me that i have to use last level of that dimension . I use relational implementation .
    can i use diffrent hierarchy of 1 dimension in diffrent cubs ?
    thank u in advance for your advise
    Padideh

    Hi Sankar,
    You can define <b>Employee</b>, <b>Organization</b>, <b>Physical</b>, <b>Customer</b> & <b>Product</b> as navigational attributes of <b>Role</b> and in the query enable the hierarchy for Role. Then pull <b>Employee</b>, <b>Organization</b>, <b>Physical</b>, <b>Customer</b> & <b>Product</b> under <b>Role</b> this way you will be able to display, the hierarchies of Employee, Organization, Physical, Customer & Product under the nodes of Role hierarchy in the order in which you place them in the report.
    Hope this helps.
    Regards
    Kumar

  • Problem deploying certain mappings using OMBPlus

    We've got a problem deploying certain mapings using OMBPLus. This applies to all mappings that use a function to lookup the effective date of a SCD (type 2) from a lookup table. We use that function in the dimension operator properties as the "Default Effective Time of Open Record". Though the validation of those mappings fails they can nevertheless be deployed using the Control Center Manager. And, best of all, they work fine.
    Now we have to deploy those mappings using OMBPlus because we're not allowed to work with tools on the preproduction and production systems. Deploying those mappings with OMBPlus doesn't seem to work. It works fine for all other mappings but not for those mentioned above. Has anybody a solution?
    Regards,
    Jörg

    Hi Dave,
    this is the error message I get whe I run my OMBPLus script:
    OMB05602: An unknown Deployment error has occured for Object Type PUB03205 : Validation Error: MAP_DIM_FAHRZEUGKLASSE : VLD-5010: The Default Effective Date of open records for dimension DIM_FAHRZEUGKLASSE should be an expression of type DATE. Value "FCT_GET_AKT_LL_vmon()" is not a valid date: PLS-00201: identifier 'FCT_GET_AKT_LL_VMON' must be declared
    I'm not quite sure about what you mean with creating a stub function. As you can see from the error message above I use a function called FCT_GET_AKT_LL_vmon that returns the actual date od the load from a lookup table. This function is of course present in the target schema.
    Regards,
    Jörg

  • Ragged Hierarchy Snowflake Displays Dimension Key as Descriptor

    Hello All -
    I am having an issue with OWB 10gR2 and any help would be appreciated.
    I have created a Product Dimension using the "ROLAP" - "Manual" storage method which I've modeled as a snowflake to support our ragged hierarchy.
    I can create, validate, and view the data in the dimension and it is correct ... but the only level of my three levels (All Products, Products, Sub Products) to display the descriptor is the Sub Products level. The other two levels display the Surrogate ID - regardless of what settings I change.
    I know this might sound trivial but it does make a huge difference when you're working with a large number of product hierarchies or demonstrating to non-technical superiors.
    Thanks in advance for any assistance!

    I took a look at this thread, but I think you have a different issue than mine. My Snowflake dimension isn't implemented as MANUAL. I use the Snowflake option and it isn't a "ragged" hierarchy.
    In reality I do, but I "force" the levels to the maximum number. This lets me attach all facts at the base level and have a single grain. For example if I had a mix of 2 level and 3 level hierarchies, I repeat level 2 into level 3 for the 2 level items.
    I rarely use the data viewer, but I did see that if I use it on the table objects, I see my short descriptors. If I use it on the dimension objects it doesn't work - probably because I only implement relational objects.

  • Implement Hierarchy's On InfoObject that is Not Auth Relevant.

    Hello Friends,
    Please Advice me in this issue.
    I am Upgrading from 3.1 to 7.0.I am able to implement hierarchies when the Infoobject is auth relevant.
    There are hierarchies in 3.1 on Infoobjects which are Not Auth Relevant.
    Like 0PLANT ..I don't know how to implement using this.
    Is there any way to implement hierarchies on InfoObjects which are not auth relevant in BI 7.0 using Analysis authorizations.
    Or Do i need to make thes non auth relevant InfoObjects of 3.1 to auth relevant in 7.0 and implement hierarchies.
    Please advice.
    Thanks,
    Ram

    Hi Keerti,
    Can you please tell me how to implement hierarchy with out making 0PLANT auth relevant.
    We are upgrading from 3.1 to 7.0.
    0PLANT is not auth relevant in 3.1 but it has Hierarchies.
    So business team wants to have the same in 7.0 with out making it auth relevant.
    Please help me in doing this.
    Thanks
    Ram

  • How to modify an EXTERNAL_TABLE and MAPPING using OMBplus

    I need to implement a QA--> Production migration technique using OMB+ scripting. We are using source safe for keeping the MDL files.
    As we have insufficient resources both environments are in the same database as different schemas. Configuration is as below;
    Source Schema: DWPROD_TST (test) and DWPROD (production)
    Target Schema: DWEXTRACT_TST (test) and DWEXTRACT (production)
    Source Flat File Module: DWEXTRACT_TST_INPUT (test) and DWEXTRACT_INPUT (production)
    Target Flat File Module: DWEXTRACT_TST_OUTPUT (test) and DWEXTRACT_OUTPUT (production)
    All schemas have their own locations and modules defined. Once a mapping is create in TST environment developers should check in the individual
    mdl files for the object they used for development. From is point the strategy I have follow is like below as I haven't seen a similar scenario before.
    I rename the mdl extensiton .zip. I unzip the file. I take the mdx file extracted and make a text based search/replace for all the test environment modules, locations... etc
    replacing them with production environment names. Then I run the OMB+ script below in order to import and deploy this object. This technique works for table and flat file object
    with slightly different OMB+ scripts. But I can not make it work for external tables and mappings and the reason that I can guess is the Configuration information of the Data File used
    as source for external table and target for the mapping I have developed. I can import the MDX successfully but cant deploy it. When i rigt click the mapping or the external file in OWB GUI
    and click on CONFIGURATION I can see that:
    For the MAPPING : Flat File Operator/(OperatorName)/Target Data File Location is still pointing to TEST environment even tough I have replaced all the TEST environment information with PRODUCTION.
    For the EXTERNAL_TABLE : Data File/(OperatorName)/Data File Location is still pointing to TEST environment even tough I have replaced all the TEST environment information with PRODUCTION.
    Is there any way to modify these LOCATION information for a MAPPING and an EXTERNAL TABLE OMB+. I read though all OWB+ scripting Reference but it sucks or I am so dumb.
    Or if you have an alternative solution for my problem I will be more then happy to read it.
    OMB+ Script for EXTERNAL_TABLE
    OMBCONNECT DWPROD/DWPROD@cakir:1521:orcl USE REPOSITORY 'OWBDB_SYS'
    OMBIMPORT MDL_FILE 'C:\\tfs\\stage\\externaltables\\XTRCT_XTRNL_INPUT_FILE\\XTRCT_XTRNL_INPUT_FILE.mdx' USE UPDATE_MODE MATCH_BY NAMES OUTPUT LOG TO 'C:\\tfs\\stage\\externaltables\\XTRCT_XTRNL_INPUT_FILE\\XTRCT_XTRNL_INPUT_FILE.log'
    OMBCC 'MY_PROJECT'
    OMBCONNECT CONTROL_CENTER
    OMBCOMMIT
    OMBALTER LOCATION 'XTRCT_DWEXTRACT_LOC' SET PROPERTIES (PASSWORD) VALUES ('PASSWORD')
    OMBALTER ORACLE_MODULE 'XTRCT_DWEXTRACT' ADD REFERENCE LOCATION 'XTRCT_DWEXTRACT_LOC' SET AS DEFAULT
    OMBALTER ORACLE_MODULE 'XTRCT_DWEXTRACT' SET PROPERTIES (DB_LOCATION) VALUES ('XTRCT_DWEXTRACT_LOC')
    OMBCOMMIT
    OMBREGISTER LOCATION 'XTRCT_DWEXTRACT_LOC'
    OMBCOMMIT
    OMBREGISTER LOCATION 'DWEXTRACT_INPUT'
    OMBCOMMIT
    OMBCC 'XTRCT_DWEXTRACT'
    OMBALTER EXTERNAL_TABLE 'XTRCT_XTRNL_INPUT_FILE' SET REFERENCE DEFAULT_LOCATION 'DWEXTRACT_INPUT'
    OMBCOMMIT
    OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ADD ACTION 'TABLE_DEPLOY' SET PROPERTIES (OPERATION) VALUES ('REPLACE') SET REFERENCE EXTERNAL_TABLE 'XTRCT_XTRNL_INPUT_FILE'
    OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
    OMBDROP DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
    OMBCOMMIT
    OMBDISCONNECT
    OMB+ Script for the mapping
    OMBCONNECT DWPROD/DWPROD@cakir:1521:orcl USE REPOSITORY 'OWBDB_SYS'
    OMBIMPORT MDL_FILE 'C:\\tfs\\stage\\mappings\\XTRCT_PROTOTYPE_XTRCTFILE_000\\XTRCT_PROTOTYPE_XTRCTFILE_000.mdx' USE UPDATE_MODE MATCH_BY NAMES OUTPUT LOG TO 'C:\\tfs\\stage\\mappings\\XTRCT_PROTOTYPE_XTRCTFILE_000\\XTRCT_PROTOTYPE_XTRCTFILE_000.log'
    OMBCC 'MY_PROJECT'
    OMBCONNECT CONTROL_CENTER
    OMBCOMMIT
    OMBALTER LOCATION 'XTRCT_DWEXTRACT_LOC' SET PROPERTIES (PASSWORD) VALUES ('PASSWORD')
    OMBALTER ORACLE_MODULE 'XTRCT_DWEXTRACT' ADD REFERENCE LOCATION 'XTRCT_DWEXTRACT_LOC' SET AS DEFAULT
    OMBALTER ORACLE_MODULE 'XTRCT_DWEXTRACT' SET PROPERTIES (DB_LOCATION) VALUES ('XTRCT_DWEXTRACT_LOC')
    OMBCOMMIT
    OMBALTER LOCATION 'XTRCT_DWPROD_LOC' SET PROPERTIES (PASSWORD) VALUES ('PASSWORD')
    OMBALTER ORACLE_MODULE 'XTRCT_DWPROD' ADD REFERENCE LOCATION 'XTRCT_DWPROD_LOC' SET AS DEFAULT
    OMBALTER ORACLE_MODULE 'XTRCT_DWPROD' SET PROPERTIES (DB_LOCATION) VALUES ('XTRCT_DWPROD_LOC')
    OMBCOMMIT
    OMBREGISTER LOCATION 'XTRCT_DWEXTRACT_LOC'
    OMBCOMMIT
    OMBREGISTER LOCATION 'XTRCT_DWPROD_LOC'
    OMBCOMMIT
    OMBREGISTER LOCATION 'DWEXTRACT_INPUT'
    OMBCOMMIT
    OMBREGISTER LOCATION 'DWEXTRACT_OUTPUT'
    OMBCOMMIT
    OMBCC 'XTRCT_DWEXTRACT'
    OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ADD ACTION 'MAPPING_DEPLOY' SET PROPERTIES (OPERATION) VALUES ('CREATE') SET REFERENCE MAPPING 'XTRCT_PROTOTYPE_XTRCTFILE_000'
    OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
    OMBDROP DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
    OMBCOMMIT
    OMBDISCONNECT
    Kind Regards,
    Emrah
    Edited by: cakire82 on Jul 29, 2009 12:57 PM

    If it helps, this is a chunk from a script I have which turned off the parallel loading hint on all targets in a given mapping which was required after we discovered that ANSI cross joins and parallel query do NOT work very well in Oracle 10.
    You can see that I OMBRETREIVE all table operators and then use a foreach loop to cycle through them.
    log_msg LOG  "Altering: $mapName"
    set tablist [OMBRETRIEVE MAPPING '$mapName' GET TABLE OPERATORS ]
    foreach tgt_tble $tablist {
        if [catch { set retstr [ OMBALTER MAPPING '$mapName' MODIFY OPERATOR    '$tgt_tble' SET PROPERTIES (LOADING_HINT) VALUES ('NOPARALLEL ("$mapName")')] } errmsg] {
            log_msg ERROR "Unable to set hint for table $tgt_tble of mapping $mapName "
            log_msg ERROR "$errmsg"
        } else {
            set print [ exec_omb OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ADD ACTION 'MAPPING_DEPLOY' SET PROPERTIES (OPERATION) VALUES ('CREATE') SET REFERENCE MAPPING '$mapName' ]
            if [omb_error $print] {
                 log_msg ERROR "Unable to create Deployment plan for '$mapName'"
            } else {
                  set print [ exec_omb OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ]
                  if [omb_error $print] {
                      log_msg ERROR "Error on execute of Deployment plan for '$mapName'"
            OMBDROP DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
            OMBCOMMIT
    }Ignore the exec_omb function as this is just a wrapper I built for OMB+ commands.
    As to passing parameters, look into argc and argv:
    if { $argc > 0 } {
         set i 1
         foreach arg $argv {
              puts "argument $i is $arg"
              incr i
      } else {
         puts "no command line argument passed"
      }You can also write interactive scripts if you prefer too. From earlier in the script above which turned off the parallel hint:
    puts ""
    puts -nonewline "Which mapping do you want to set to NOPARALLEL? "
    set mapName [gets stdin]I've even done loops to allow the user to perform the operation on multiple mappings, and to use pattern matching to determine which mappings to alter:
    set doLoop "1"
    while { [string match "1" $doLoop] } {
        puts -nonewline "What mapping to reconfigure (use name of generated plsql package)? "
        flush stdout
        set mapName [ string toupper [gets stdin] ]
        puts -nonewline "What value do you want to set as the maximum allowed errors? "
        flush stdout
        set eValue [gets stdin]
        set mapList [OMBLIST MAPPINGS '.*$mapName.*']
        if { [llength $mapList] == 0 } {
           log_msg ERROR "No mappings matching search string $mapName"
        } else {
            foreach mName $mapList {
                 puts -nonewline "Update mapping $mName (y/n)? "
                 flush stdout
                 set doThisUpdate [string toupper [gets stdin]]
                if { [string match "Y" $doThisUpdate ] } {
                    if [catch { set retstr [ OMBALTER MAPPING '$mName' SET PROPERTIES (MAXIMUM_NUMBER_OF_ERRORS) VALUES ( '$eValue')] } errmsg] {
                        log_msg ERROR "Unable to modify max errors on Mapping $mName"
                        log_msg ERROR "$errmsg"
                    } else {
                        set print [ exec_omb OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ADD ACTION 'MAPPING_DEPLOY' SET PROPERTIES (OPERATION) VALUES ('CREATE') SET REFERENCE MAPPING '$mName' ]
                        if [omb_error $print] {
                            log_msg ERROR "Unable to create Deployment plan for '$mName'"
                        } else {
                            set print [ exec_omb OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ]
                            if [omb_error $print] {
                                log_msg ERROR "Error on execute of Deployment plan for '$mName'"
                        exec_omb OMBDROP DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
                        exec_omb OMBCOMMIT
                } else {
                    log_msg LOG "Skipping update to mapping $mName"
        puts -nonewline "Do Another? (y/n) "
        flush stdout
        set doAnother [gets stdin]
        if { [string match "Y" [string toupper $doAnother] ] } {
            log_msg LOG "User requests more updates"
        } else {
            set doLoop "0"
    }Anyway - there is lots that you can do to parameterize script or make them interactive. Just spend a bit of time working through a couple of TCL tutorials and you'll be well on your way.
    +(Note: script chunks have been edited for clarity of the main point I wanted to illustrate and may contain missmatched braces or other syntax problems.)+

  • Avoiding creation of DBlink during deployment of mappings using OMBPlus

    Hi
    we are facing an issue in our OWB 11g R2 (upgraded to patchset 10185523)
    We are deploying the mappings using OMBPlus like so
    OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ADD ACTION '$object_type_DEPLOY' SET PROPERTIES (OPERATION)VALUES ('CREATE') SET REFERENCE $object_type '$objname'
    OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
    set OMBCONTINUE_ON_ERROR true
    OMBDROP DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
    OMBCOMMIT
    The $objname is any object(in this case a mapping) that we are deploying
    OMBPlus generates a script on OWB level to create the associated DBlink each time it deploys a mapping and we get an error
    INFORMATIONAL
    multiple rows found for select into statement
    DBlink_a Create Error ORA-02011: duplicate database link name
    But the mapping deploys fine.
    Any tips how we can avoid creation of dblinks from OMBPlus whilst deploying our mappings only?
    Any help will be appreciated
    Birdy
    Edited by: birdy on 22-Nov-2011 05:22

    I dont think that you can:
    "Deploying a mapping or a process flow includes these steps:
    •Generate the PL/SQL, SQL*Loader, or ABAP script, if necessary.
    •Register the required locations and deploy any required connectors. This ensures that the details of the physical locations and their connectors are available at runtime."
    http://www.comp.dit.ie/btierney/Oracle11gDoc/owb.111/b31278/concept_deploy.htm
    But error that you get is only informational so you dont have to worry about it.

  • NQSError: 22047] The Dimension used in AGO function must be referenced

    Hi All,
    I am selecting the following columns in the report:
    1. Dimension.Product
    2. Sales: Directly mapped to physical datasource
    3. Prior Month Sales: calculated using the AGO function at the Month Level
    4. Var from Prior Month : Sales - Prior Month Sales (Calculated at the Logical Level)
    Time Dimensional Hierarchy is Year > Quarter > Month
    I am getting the data for the same but when I apply Grand Total is throws the error:
    nQSError: 22047] The Dimension used in AGO function must be referenced in the query. (HY000)
    When I use the filter for the Month filed it is coming up fine but when I remove the month filter and apply on Year it doesnt work.
    Can anybody please let me know how this works?

    This error is happening in request?
    You have to apply filter MONTH because you are calling month in AGO function. Try to create YEAR AGO calculation and then try combining filters, you will see that then YEAR will be important, not month.

  • How to Flip the Sign using Calculation script for historical data

    I am currently using Essbase 9.3.1. Its required to flip sign for a specific set of accounts for that i am currently using UDA's to flip the sign.
    But now i need to flip the sign for the historical data too. Is there any possible way to flip the sign using calculation scripts for historical data. Kindly let me know your suggestions.
    Many thanks in Advance...
    Edited by: [email protected] on Jul 30, 2009 9:37 PM
    Edited by: [email protected] on Jul 30, 2009 10:58 PM
    Edited by: [email protected] on Jul 30, 2009 11:01 PM

    Of course there is. This is the kind of calc script that only gets run once, so make usre you test it well before doing it on production and make a backup of production before doing it.
    It would be something like
    Fix(time frame, accounts to be flipped, level zero other dimensions)
    actual = actual * -1;
    EndFix
    Cal dim dimensions
    Note, I chose actual, but you could do it for any dimension that has a single or only a couple of members. What ever dimension you choose to do the calculation on, it can't be included in the fix statement

Maybe you are looking for

  • Windows 8.1? DON'T EVEN THINK ABOUT IT

    So! Since getting my S440 laptop back in Septe,mber, I've been holding off the 8.1 upgrade. Until this weekend... WHAT A MISTAKE!!!! Some issues: 1) Laptop would not perform a standard re-start 2) On boot-up a pop-up would display saying Catalyst has

  • Oracle - XI - SAP ( Using RFC )

    Hi, My scenario is Oracle -> XI -> SAP ( Using RFC ), the message in SXMB_MONI is showing success. But iam getting an error on the RFC Side which is as follows. 2006-04-19 00:21:39 Error Exception caught by adapter framework: error while processing m

  • IPhoto content insecure...now duplicates with weird codenames

    iPhoto told me that my content was insecure and asked me to create a new folder and then started reuploading all my photos. Now I have duplicates of photos and everything has weird code-like names in the captions. What happened and what can I do to m

  • OEL 4 on VMware Static IP configuration.

    Hi I am trying to install OEL4 as a guest OS on VMware workstation 5 host OS is Vista. My problem is that i cant use DHCP. Sometimes my laptop is connected to Internet some times not. Now i want to access my Virtual machine from Host Os using Putty.

  • User-Exit for IDoc status

    Hello all! I'm trying to send a message with the status of an IDoc that has been processed, but I can't find an exit right after the status of the IDoc has been set, do you have any idea on what can I do for this? Regards!