Load Plan exception step variable

Hi all,
maybe you could be interested in.
It is not possible refresh or overwrite a variable inside exception step. This is fantastic !
http://docs.oracle.com/cd/E21764_01/relnotes.1111/e10133/odi.htm#CHDFFEFI
So If I need to log an error I cannot use a parametric query. Great !

Currently my packages have many steps, each step with a red failure arrow leading to this type of failure e-mail procedure -- lots of red arrows and many nearby copies of the failure e-mail procedure to eliminate the confusion.
I had hoped that the Load Plan Exception feature would let me take all these red arrows out of my packages and move the e-mail failure reporting to the Exception step.

Similar Messages

  • Load Plan Exception Finds no PrevStepLog Value

    import smtplib
    server = smtplib.SMTP('XXXmail')
    From = 'XXX'
    To = '#ERROR_RECIPIENT'
    Subject = ' '.join(['#Platform'
    ,'<%=snpRef.getSession("CONTEXT_NAME")%>'
    ,'<%=snpRef.getSession( "SESS_NAME" )%>'
    ,'<%=odiRef.getPrevStepLog("STEP_NAME")%>'
    ,'Failed'])
    MessageString = """<%=odiRef.getPrevStepLog("MESSAGE")%>"""
    MessageString = MessageString[:MessageString.find('\tat')]
    Message="From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n%s" % (From,To,Subject,MessageString)
    server.sendmail(From,To,Message)
    sends "No previous step log message" for a failing Load Plan step.
    How can I get the PrevStepLog value in a Load Plan Exception step?

    Currently my packages have many steps, each step with a red failure arrow leading to this type of failure e-mail procedure -- lots of red arrows and many nearby copies of the failure e-mail procedure to eliminate the confusion.
    I had hoped that the Load Plan Exception feature would let me take all these red arrows out of my packages and move the e-mail failure reporting to the Exception step.

  • How to coordinate Load Plan Asynchronous Steps?

    How does one start a subsequent sequential step depending on the successful completion of two or more prior asynchronous steps.
    1. Wait for the posting of multiple 'successful' completion step variables?
    2. Or does the [successful] completion of all asynchronous Child Steps "terminate successfully" a synchronous Parent Step, so a subsequent [to the Parent]sequential step can start?
    Experience tells me once an asynchronous step starts, a subsequent synchronous step (in the same Parent) starts immediately thereafter.
    What I want to do: asynchronously collect data from multiple sources and once successfully collected, synchronously start an update process.

    You can do that in a package. You will have to use odiWaitForChild tool.
    Scen1(async) -> Scen2(async) -> Scen3(async) -> odiWaitForChild -> startUpdateProcess
    In Load Plans you can do the same.
    Create a load plan with 2 serial steps on the root. Step 1 and Step 2.
    Inside Step 1, create 3 parallel steps.
    [email protected]
    Making your ODI journey a success.

  • Load Plan and empty variables on ODI 11G

    Hi everyone,
    I am working with ODI 11g (11.1.1.7.0) and I want to setup a variable with the Load Plan, however I am not able to update and retrieve the variable value inside of a case that is always keeping the initial value. Even the operation history shows the variable value empty. Have you ever used Load plan and noticed this strange behavior?
    Regards,
    Angelo

    Okay let me try to help you on this.
    Oracle Data Integrator agents process each scenario execution instance as a session. Each session exists in the agent as a separate thread of the agent Java process.
    When a scenario is executed on an agent, the agent creates a session in the repository that corresponds to this scenario's instance. The agent reads each task of this session from the repository, processes it, and writes the result - the return code, message and tasks metrics such as the duration or number of rows processed - into the repository.
    Hence multiple session multiple thread.
    Hope you are clear now.
    Thanks.

  • Load Plan and variables

    Hi all,
    I cannot set value for variables inside load plan exceptions editor. Anyway I can inside Load Plan steps editor.
    Is it possible ?
    I need to set variable when exception is raised. How I can do it ?
    thanks

    thank you for the answer..
    but why I have to use a when case step?
    I just need to set a string in a variable before to execute a serial step within exception step.
    I do this in a normal load plan step. So Why I cannot do the same in the exception one ?

  • ODI 11g, Issue with Load plan variable in CASE WHEN STEP

    Hi,
    I am trying to retrieve value of the current context using the following code in refreshing variable:
    Variable name: Context
    Refreshing Code: select  '<%=odiRef.getContext( "CTX_Name" )%>'  from dual
    The variable is returning correct results when I refresh / Call it as part of Run Scenario step.
    Requirement: I want to use the variable Context in CASE step, depending on the value it results I want to execute a selective set of scenarios. I have defined case when steps per the requirements.
    Issue: The behavior of the variable is not as expected when used in CASE WHEN step. Load plan execution always triggers only ELSE part of CASE WHEN step.
    I have tried force refresh option in CASE STEP on the variable Context.
    Need your help and advice on how to fix the issue.
    Thank you,
    Bharani

    HI Bharani,
    Below link may helps you about load plan in ODI
    Help on Load Plan Execution
    Regards,
    Phanikanth

  • Load Plan logging and environment variables

    Hi all.
    Do think it is possible to log in an external table each load plan step details (such as step name, step duration, etc..) ?
    I'm wondering if there are some environment variables that contain all typical step information.
    Thanks

    thank you for the answer..
    but why I have to use a when case step?
    I just need to set a string in a variable before to execute a serial step within exception step.
    I do this in a normal load plan step. So Why I cannot do the same in the exception one ?

  • Load Plans Don't Honor Default Variable Values

    The following code uses Package defaults for Global Variable Values. When run as the first step in a Package or as the Scenario of a Package, it works.
    When run as the first step in Load Plan the code fails. Load Plans apparently don't honor Variabel default values.
    import socket
    outsocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    ContextName = '<%=snpRef.getSession("CONTEXT_NAME")%>'
    if not ContextName: ContextName = 'No Context'
    SessionName = '<%=snpRef.getSession("SESS_NAME")%>'
    if not SessionName: SessionName = 'No Session'
    Message = '<%=snpRef.getOption("Message")%>'
    if not Message: Message = 'No Message'
    outmessage = ' '.join([
         '#PLATFORM'
        ,ContextName
        ,SessionName
        ,Message
    ListenPort = #LISTEN_PORT
    if not ListenPort: raise RuntimeError, 'no listen port'
    ListenHost = '#LISTEN_HOST'
    if not ListenHost: raise RuntimeError, 'no listen host'
    outsocket.sendto(outmessage,(ListenHost,ListenPort))
    outsocket.close()
    [code]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    I know the documentation says Load Plans don't honor Package defaults, but still. . .

  • Unable to refresh variable definition in ODI Load Plan

    Hi All,
    We recently removed the variable definition and changed it to default value. After that we tried to refresh the variable in  Load plans / Scenarios but it still shows old SQL. Can you please suggest if there is a way to force refresh the variable definitions in load plans? We tried removing and re-adding the variable but that didn't help. Last resort will be to recreate the load plans but we are trying to avoid that.
    Thanks,
    Andy

    Hi Alastair,
    Thanks for the reply. Actually variable is returning the correct value. Only problem is that in the Load Plan's variable section variable still shows old definition even after trying to refresh n number of times and also tried removing it from load plan and then inserting it back in after changing the definition. We don't want to migrate load plan like this. Kindly suggest.
    Thanks,
    Andy

  • Send a Failure Email Notification After Load Plan execution in ODI 11g

    Hi Experts,
    Greetings!
    I am trying to send an email if any of the step fails during Load Plan execution. Irrespective of the failed object, only 1 email should be sent to the Administrator. I unable to do this. Mails are getting sent for the no of times the no of object fails. For eg if 10 out of 100 steps fails, 10 emails are getting sent. I need to send only 1 email.
    I am using ODISendMail.
    I have tried various combinations however, all in Vain.
    For instance:
    root step --> Exeception Step (Send Failure Email) and Execption behaviour (Run Exception and Ignore). Using this because, I dont want to stop the load plan on the step failure.
    Interface1: Exeception Step (Blank) and Execption behaviour (Run Exception and Ignore).
    Interface2: Exeception Step (Blank) and Execption behaviour (Run Exception and Ignore).
    Exception not getting executed.
    Please help.
    Regards,
    Andy

    Thanks SH.
    I tried your suggestion as per below.
    1. Created global variable "v_cnt" with default value "0"
    2. Created package "pkg_v_cnt" to increment the variable by 1
    3. created package "pkg_sendError_Email" to check if v_cnt > 0 then Send Error Email.
    For Instance, the loan plan looks like this:
    root step --> Exeception Step (pkg_v_cnt) and Execption behaviour (Run Exception and Raise)
    Interface1: Exeception Step (pkg_v_cnt) and Execption behaviour (Run Exception and Ignore).
    Interface2: Exeception Step (pkg_v_cnt) and Execption behaviour (Run Exception and Ignore).
    Send Error Email (pkg_sendError_Email)
    The issue here is that, the variables are not getting the incremented value and hence unable to send email . The variable value remains "0" even after execution of the exception steps when both interfaces fails.
    Pls help.
    Thanks,
    Andy

  • [BIACM0085] Error executing load plan after reverting from LDAP to original security mechanism in BIA 11.1.1.7.1

    We have tried to change authenticaion of BI Apps 11.1.1.7.1 to LDAP, but reverted this due to some other issues. Now we are back with standard authentication, and all functionality seems to work fine, except execution of a load plan.
    When we select (any) plan that was executed earlier, we get an error:
    [BIACM0085] Error executing load plan. Action: Correct the properties selected or entered and retry.
    [BIACM0080] Cause: Application error: MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood Action: Contact your help desk or system administrator.
    According to one of our WLS gurus there is a mismatch between consumer and provider of a web service with a security policy, but we cannot find any difference between a working and this failing environment.
    We already started a trace in WLS, but this does not help us further.
    Any hints on troubleshooting steps or even better resolution are more than welcome, as this is blocking a new full load and further tests.
    Tx,
    Luc

    We have tried to change authenticaion of BI Apps 11.1.1.7.1 to LDAP, but reverted this due to some other issues. Now we are back with standard authentication, and all functionality seems to work fine, except execution of a load plan.
    When we select (any) plan that was executed earlier, we get an error:
    [BIACM0085] Error executing load plan. Action: Correct the properties selected or entered and retry.
    [BIACM0080] Cause: Application error: MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood Action: Contact your help desk or system administrator.
    According to one of our WLS gurus there is a mismatch between consumer and provider of a web service with a security policy, but we cannot find any difference between a working and this failing environment.
    We already started a trace in WLS, but this does not help us further.
    Any hints on troubleshooting steps or even better resolution are more than welcome, as this is blocking a new full load and further tests.
    Tx,
    Luc

  • Case when condition in ODI Load Plan

    Hi All,
    Created a project variable(VAR_X) which is a text type and it can be refreshed by querying in some database.
    Created a Load Plan and added a Case step by using VAR_X
    with following logic
    Case VAR_X
    when value ='X'
         run_x_scenario.
    when value='Y'
         run_y_scenario.
    else
    but whenever I give start up value X or Y ,variable unable to evaluate the when condition provided in the load plan.
    always its taking else step
    Case VAR_X
    else
    but its working when I evaluate with numeric number like when value =1 etc (here I changed variable datatype to numeric)
    Any pointers will be appreciated.
    Thanks,
    Aravind

    It may be due to the quotes you have added in your when clause. Can you try it without quotes.

  • Loop in a Load Plan

    I'm sure this is doable, but I'm just too dense to see it...
    Load Plans are really cool -- I like the way it organizes steps (large Packages are cumbersome and while I have encapsulated with Scenarios it can get tricky for me) and I really like the way results get piped back to Operator. I will admit that the parallelism isn't a needed feature at this point but it's nice to have.
    So now that I'm full of Load Plan love, I have a proof of concept Package that loops the records in a table that I want to emulate in a Load Plan. The Package is very similar to this: http://blogs.oracle.com/dataintegration/entry/using_variables_in_odi_creatin
    Through blind stumbling, I have gotten all of the components of my proof-of-concept Package loop into a Load Plan but I can't figure out how to loop in a LP.
    Test for a value? Yes.
    Force a Refresh Variable to refresh? Yes.
    But how do I tell the LP to execute a series of steps and then jump right back to the beginning? I know that I could just list it out (it's 10 steps) but the whole point of a loop (I know everyone knows this but it helps me) is to repeat a process till a counter hits a value.
    I can certainly include my looping Package within an overall LP, but I wonder if I can do away with the Package altogether.
    What oh what am I missing?
    Thanks,
    Cameron Lackpour

    You're not missing anything I'm afraid, loops are not currently supported functionality in load plans.

  • Load Plan in oracle bi Applications Configurations Manager creating issues

    Hi All,
    I have installed oracle data integrator + BI Apps. I had created a load plans in Administer Execution Plans (ie. select payroll subject area ) to load payroll fact. Everything went will till this point.
    But when i start executing the package i am getting weird errors.The errors are as follows:
    In the SDE_ORA_TRANSACTION_TYPEDIMENSION_PO_LINES_TYPE package is failing in the step "Insert flow into I$ table" . When i checked the logs ===> "insert /*+ APPEND */ into TEMP_BIAPPS.I$17_W_XACT_TYPE_DS".. I can see that it is using "PO_LINE_TYPES_V.ORDER_TYPE_LOOKUP_CODE" directly.
    from     TEMP_BIAPPS.C$17_2W_XACT_TYPE_DS RIGHT JOIN (TEMP_BIAPPS.C$17_1W_XACT_TYPE_DS RIGHT JOIN TEMP_BIAPPS.C$17_0W_XACT_TYPE_DS ON LKP_XACT_TYPES.XACT_TYPE_CODE = PO_LINE_TYPES_V.ORDER_TYPE_LOOKUP_CODE) ON LKPTRANS.XACT_TYPE_CODE1 = PO_LINE_TYPES_V.PURCHASE_BASIS
    So its throwing invalid identifier as we are executing this in the data ware house and PO_LINE_TYPES_V is in EBS.
    When i do execute this directly from the ODI Designer by executing the package i am not getting this error. Instead of the "PO_LINE_TYPES_V.ORDER_TYPE_LOOKUP_CODE" i was getting the " C1_XACT_TYPE_CODE".
    FROM
    TEMP_BIAPPS.C$17_2W_XACT_TYPE_DS RIGHT JOIN (TEMP_BIAPPS.C$17_1W_XACT_TYPE_DS RIGHT JOIN TEMP_BIAPPS.C$17_0W_XACT_TYPE_DS ON C14_XACT_TYPE_CODE = C1_XACT_TYPE_CODE) ON C13_XACT_TYPE_CODE1 = C3_XACT_TYPE_CODE1
    Can any one let me know how i can resolve this issue ?

    Hi ,
    We are also facing same issue while using inline view IKM.
    BeanShell script error: Sourced file: inline evaluation of: ``out.print("\"\"\"\n") ; import oracle.di.biapps.*;out.print("\n\n") ; String t . . . '' : Attempt to resolve method: parseFromClause() on undefined variable or class name: InlineView : at Line: 5 : in file: inline evaluation of: ``out.print("\"\"\"\n") ; import oracle.di.biapps.*;out.print("\n\n") ; String t . . . '' : InlineView .parseFromClause ( snpRef .getFrom ( ) )
    BSF info: Build Java String at line: 0 column: columnNo
    out.print("\"\"\"\n") ;

  • BI Apps ODI Load Plan Execution Error and Question on Rerun

    I am following the technetwork Cookbook: Installing and Configuring Oracle BI Applications 11.1.1.7.1 to install and configure my first BIApps with ODI. Smooth until I execute the Load Plan.
    Following errors were found on first attempt of execution. Without doing any change, I re-executed the load plan, error again but this time the message is difference (2nd attempt)
    Question:
    - How shall I start to diagnostic the ODI error?
    - Apparently there are something left in the failure execution, how I can clean it up for reruning the Load Plan?
    Many thanks.
    ODI errors on first execution
    ODI-1519: Serial step "Start Load Plan (InternalID:1500)" failed because child step "Global Variable Refresh (InternalID:2500)" is in error.
    ODI-1519: Serial step "Global Variable Refresh (InternalID:2500)" failed because child step "1 Domain (InternalID:5500)" is in error.
    ODI-1519: Serial step "1 Domain (InternalID:5500)" failed because child step "2 Domain SDE (InternalID:35500)" is in error.
    ODI-1519: Serial step "2 Domain SDE (InternalID:35500)" failed because child step "Serial (InternalID:36500)" is in error.
    ODI-1519: Serial step "Serial (InternalID:36500)" failed because child step "3 SDE General Domain (InternalID:54500)" is in error.
    ODI-1519: Serial step "3 SDE General Domain (InternalID:54500)" failed because child step "Load Target Table (InternalID:55500)" is in error.
    ODI-1519: Serial step "Load Target Table (InternalID:55500)" failed because child step "EBS_12_1_1 - DSN 1000 (InternalID:56500)" is in error.
    ODI-1519: Serial step "EBS_12_1_1 - DSN 1000 (InternalID:56500)" failed because child step "DOMAIN (InternalID:57500)" is in error.
    ODI-1519: Serial step "DOMAIN (InternalID:57500)" failed because child step "Parallel (InternalID:58500)" is in error.
    ODI-1518: Parallel step "Parallel (InternalID:58500)" failed; 5 child step(s) in error, which is more than the maximum number of allowed errors (0) defined for the parallel step.  Failed child steps: COMMON (InternalID:59500), HUMAN_RES (InternalID:90500), FINANCIALS (InternalID:95500), SUPP_CHAIN (InternalID:122500), PROJECTS (InternalID:98500)
    ODI-1518: Parallel step "COMMON (InternalID:59500)" failed; 11 child step(s) in error, which is more than the maximum number of allowed errors (0) defined for the parallel step.  Failed child steps: SDE_ORA_DOMAINGENERAL_PRODUCT_CLASS (InternalID:69500), SDE_ORA_DOMAINGENERAL_FND_LOOKUPS PAY_GROUP (InternalID:88500), SDE_ORA_DOMAINGENERAL_FND_LOOKUPS MARITAL_STATUS (InternalID:85500), SDE_ORA_DOMAINGENERAL_PRODUCT_MASTERORG (InternalID:73500), SDE_ORA_DOMAINGENERAL_PRODUCT_CATEGORYNAME (InternalID:67500), SDE_ORA_DOMAINGENERAL_STATE (InternalID:61500), SDE_ORA_DOMAINGENERAL_FND_LOOKUPS CUSTOMER_CATEGORY (InternalID:83500), PRODCAT (InternalID:75500), SDE_ORA_DOMAINGENERAL_FLEXFIELD (InternalID:89500), SDE_ORA_DOMAINGENERAL_FND_LOOKUPS ORGANIZATION_SIZE (InternalID:82500), UOM - Serial (InternalID:78500)
    ODI-1217: Session SDE_ORAR1211_ADAPTOR_SDE_ORA_DOMAINGENERAL_PRODUCT_CLASS (38500) fails with return code 8000.
    ODI-1226: Step Run SDE_ORA_DomainGeneral_Product_Class fails after 1 attempt(s).
    ODI-1240: Flow Run SDE_ORA_DomainGeneral_Product_Class fails while performing a Integration operation. This flow loads target table W_DOMAIN_MEMBER_GS.
    ODI-1228: Task SDE_ORA_DomainGeneral_Product_Class (Integration) fails on the target ORACLE connection BIAPPS_DW.
    Caused By: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12516, TNS:listener could not find available handler with matching protocol stack...
    ODI errors on second execution
    ODI-1519: Serial step "Start Load Plan (InternalID:1500)" failed because child step "Global Variable Refresh (InternalID:2500)" is in error.
    ODI-1519: Serial step "Global Variable Refresh (InternalID:2500)" failed because child step "1 Domain (InternalID:5500)" is in error.
    ODI-1519: Serial step "1 Domain (InternalID:5500)" failed because child step "2 Domain SDE (InternalID:35500)" is in error.
    ODI-1519: Serial step "2 Domain SDE (InternalID:35500)" failed because child step "Serial (InternalID:36500)" is in error.
    ODI-1519: Serial step "Serial (InternalID:36500)" failed because child step "3 SDE General Flexfield (InternalID:37500)" is in error.
    ODI-1519: Serial step "3 SDE General Flexfield (InternalID:37500)" failed because child step "Finalize Flexfield (InternalID:50500)" is in error.
    ODI-1519: Serial step "Finalize Flexfield (InternalID:50500)" failed because child step "EXEC_TABLE_MAINT_PROC (InternalID:51500)" is in error.
    ODI-1217: Session EXEC_TABLE_MAINT_PROC (107500) fails with return code 20000.
    ODI-1226: Step TABLE_MAINT_PROC fails after 1 attempt(s).
    ODI-1232: Procedure TABLE_MAINT_PROC execution fails.
    ODI-1228: Task TABLE_MAINT_PROC (Procedure) fails on the target ORACLE connection BIAPPS_DW.
    Caused By: java.sql.SQLException: ORA-20000: Error creating Index/Constraint : W_FLEX_SQL_G_U1 => ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found

    Hi,
    The first error happened is
    ORA-12516, TNS:listener could not find available handler with matching protocol stack...
    The above is due to the listener been disconnected while the LP is executing. This can be solved by restarting the load.
    The second error happened is
    ORA-20000: Error creating Index/Constraint : W_FLEX_SQL_G_U1 => ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
    The above is due to the duplicate records found in the table w_flex_sql_g. You can solve this by deleting the duplicated records in that table like referred in the below link
    OBIEE, Endeca and ODI: BIApps and ODI 11.1.1.7.1 Full Load
    Regards,
    Saro

Maybe you are looking for

  • How to use local .sdf database in a windows store apps

    Hi, I am new in windows store app development. I have been working in WPF application development for long time. Now I want develop windows store apps. I am studying on it. I got a problem. I what to store data from windows store app in .sdf database

  • Error when pressing Submit button in Interactive Form

    Hi I have a WD/Java component with an embedded interactive form. The form has two buttons, a SubmitToSAP and a CheckField button. Everything was tested on the development system and worked fine. The component was then deployed to the QA system and ha

  • Do I need to uninstall Logic Express 8 before I can install Logic Studio?

    - NOT the upgrade version. Any issues I need to be aware of. Presumably my projects and associated files (which I have on a separate) will open up automatically in Logic Pro?

  • TextLayout.swc does not resolve to valid file

    Hi, I have not worked in Flash for awhile and have spent way too long just adding a link to a simple button. I have scoured the web looking for AS3 button examples and tried them all. No matter what I try, I keep getting the following error when I pu

  • Can i delegate more than 1object

    hi , im working on Document management systems.i have created ZDRAW1 by copying the standard DRAW object. i have delegated the standard DRAW to my  ZDRAW1. the workflow is working. now i got another scenario to create new workflow. shall i have to cr