ODI Proc to loop / call scenario launches twice - jdbc timeout?

Fellow Gurus,
Bit of a funny one - I have an ODI Proc looping around a set of variables (source and target table names) to dynamically call an interface to builk shift a set of data. The Sync Mode = 1 as I want to run it in Serial so I dont get a clash of C$ / I$ tables , however I have a weird behaviour where in some cases, a duplicate session is launced (when the sub-scenario runs for longer than 5 mins) - with the same variable values as the last session (there are no dupes in my command on source).
Is there a timeout setting for how long the Parent session waits before launching again ?
I dont want to go down the route of using WaitForChildsession if I can help it as it complicates the chain somewhat - Any other workarounds ?
Basic set up is :
Proc (Command on source, StartScen command on target)
--- Calls package (declare Variable, Run Interface)
Loop.
Thanks
Alastair

I experienced the same behaviour in one of my scenarios recently - multiple sessions spawning for the same scenario without any apparent reason. It was caused by a timeout on the agent host server and increasing the timeout value resolved it in my case.
My setup was 2 agent Linux servers (JavaEE), load balanced.
Edited by: _Phil on Jan 16, 2013 3:44 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • Calling the webservice twice - Duplicate entries

    Hi Experts,
    Scenario : SOAP Client -> Call Microsoft webservice -> XI JDBC Sync call-> Call Microsoft webservice.
    BPM Steps:
    1. Receive Step -> Get the SOAP Client request (Open S/A Bridge)
    2. Send Step -> Async call to Microsoft webservice  to update the log status.
    3. Send Step -> Sync call to JDBC
    5. Send Step -> Close the S/A bridge
    6. Send Step -> Call the Microsoft webservice to update the log status.
    Receiver Determination Steps
    1. SOAP Sender to BPM
    2. BPM(Async request) to 2 Log Business Service. I have mentioned the both business service under Configured Receivers section in Receiver Determination.
    3. BPM(Sync request) to JDBC
    Issue : The JDBC part works fine. Only problem with the Microsoft webservice. Twice it update the log table. ie. Twice it calls the Microsoft's each webservice.
    Please help me out, how to stop the second retry and let me know the above approach is correct or not.
    Thanks & Regards
    Sara

    Hi Sara,
    As per your info, Earlier you was trying to call both logging updates under one Sync/Async Bridge. But on Webservice side it will give you two responses and you will handling only one.
    In later case also you are handling only 1st response of Webservice call, but the another call is still open.
    Actually you are trying to built two Sync/Async Birdges. Which is not at all possible under one BPM.
    SAP have not recommended for it.
    Refer
    http://help.sap.com/saphelp_nw04/helpdata/en/43/65d4dab39b0398e10000000a1553f6/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm
    You need to create two seperate interfaces for this.
    For e.g.
    1st will call the Webservice before updating the JDBC tables.
    2nd After updating the JDBC table you can again call the Webservice for updated logging status.
    Thanks
    Swarup
    Edited by: Swarup Sawant on Jun 2, 2008 8:50 AM

  • How to assign ODI Proc out parameter value to an ODI variable

    hi,
    Can someone kindly help me on assigning ODI Procedure's output parametr to an ODI variable.
    My ODI Proc is:
    proc p_name (e_code varchar2(100), o_num number(50))
    is
    type tab_e is table of xxx%rowtype index by varchar2(100);
    l_tab_type tab_e;
    begin
    select e_no into o_num from xxx where e_name=e_code;
    next 2 steps to populate table type variable
    Step1
    step28/
    end;
    i want to store the value of o_num in an ODI variable so that I can use that in a ODi package to evaluate its value and change the flow.
    Now i tried to include the above code in ODi proc , but its showing error while executing it .
    'Invalid SQL statement'.
    Kindly advice or help on this issue.
    Thanks,
    Hema

    Hellow,
    I am new to ODI.
    I ahve a data base query which returns more than one rows. Each row has more than one column.I wanted to assign these values to a variable . Finally this varibale values i wanted to write into a file in a package. What steps i need to follow to achieve this.
    Regards,
    Ranjan
    Edited by: user12112389 on Jul 16, 2012 2:55 PM

  • Calling Transaction Launcher in custom popup window

    Hello Experts,
    I am facing a issue. I have to call transaction launcher in custom popup window.
    It is working when i am calling transaction launcher in main window. but it is not working when i am trying to call transation launcher in popup window.
    I have written the code to call the transaction launcher in DO_PREPARE_OUTPUT method of popup view.
    Please let me know do i need to do anything extra? I am using CRM 6.0.
    Thanks in Advance
    Rajeev Singh.
    Edited by: Rajeev Singh on Feb 9, 2012 1:08 PM

    Hi Manas,
    I implemented a PopUp component some time ago for this task. There was a tutorial written for something similar here on SDN the link is: https://wiki.sdn.sap.com/wiki/display/CRM/OpeninganURLthroughpop-upfromWEBUIofCRM2007
    In the PopUp you do a followup navigation to the transaction you would like to call:
    data: lr_navigation       TYPE REF TO         if_crm_ui_navigation_service.
    lr_navigation = cl_crm_ui_navigation_service=>get_instance( me ).
      lr_navigation->navigate( iv_link_id         = 'your_logical_link'
                               iv_data_collection = lr_col ).
    lr_col is a BOL collection of any kind of navigational data you need, can be kept empty as well.

  • [svn:fx-3.x] 10063: Fix calling HTTPService responders twice.

    Revision: 10063
    Author:   [email protected]
    Date:     2009-09-08 12:33:30 -0700 (Tue, 08 Sep 2009)
    Log Message:
    Fix calling HTTPService responders twice.
    QE notes: None.
    Doc notes: None.
    Bugs: SDK-22883
    Reviewer: Svetlin
    Tests run: checkintests
    Is noteworthy for integration: no
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-22883
    Modified Paths:
        flex/sdk/branches/3.x/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as

  • FF launches twice on start-up

    Recently FF launches twice on start-up.
    The second is with a BING page.
    My start-up folder only has one FF in it. How do I stop this.

    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem.
    *Switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance
    *Do NOT click the Reset button on the Safe Mode start window
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    You can open the <b>about:config</b> page via the location bar and search for prefs that refer to <b>TEXT</b> and reset related user set (bold) prefs via the right-click context menu to the default value.

  • Stored procedure : how to call SP in sender JDBC adapter for mysql

    HI friends ,
    we have JDBC---->XI--
    >SAP  scenario. For some business requirement, we have to call STORED PROCEDURE , please let me know how to call  SP in sender JDBC adapter for mysql .
    Thanks
    mojib

    Hi Mojib,
    Please create a sample stored procedure like this which contains select statement and in communication channel give
    wite stored procedure name only to sql query statment and in update statement write <test>.
    I am executing this stored procedure successfully.
    Create Proc GetResultX As
    Begin
    Select * From TESTX
    End
    Execute statement for stored procedure is :
    Exec GetResultX
    Regards
    Laxmi Bhushan Jha
    Rewards point if found usful
    I have given same answer to one of the same  thread

  • Weird Problem calling Stored Procedure using JDBC

    Scenario is..
    I have J2EE application and calling stored procedure using JDBC.
    My application connects to instance "A" of testDB.
    Schema "A" does NOT own any packages/procedure but granted execute on oracle packages/procedures that reside in schema "B" of testDB.
    In java code I call procedure(proc1) in package(pac1) which internally calls procedure(proc2) in package(pac2).
    The problem occurs when procedure pac2.proc2 is modified. After the modification, my java code fails and throws an exception "User-Defined Exception" and I am also getting "ORA-06508: PL/SQL: could not find program unit being called". This clears up only if I bounce the web container. (This doesn't happen if I modify pac1.proc1 and run my application)
    Has any one faced this problem? Please suggest if any thing can be changed in jdbc code to fix this problem.
    Thanks

    Hi,
    I assume these are PL/SQL packages and that the changes are made at the package specification level?
    If so, it looks like you are hitting the PL/SQL dependencies rules. In other words, if the spec of proc2 is changed, then proc1 is invalidated, since proc1 still depends on the old version of proc2's spec. As a result, if you try to run proc1, its spec must either be explicitly rewritten before it could run again or implicitly recompiled first, if the (implicit) recompilation fails, it won’t run.
    Kuassi http://db360.blogspot.com

  • Calling a procedure using JDBC-OCI

    When I use setPlsqlIndexTable for calling a procedure using JDBC-OCI
    ps.setPlsqlIndexTable(1,str,10,str.length,OracleTypes.VARCHAR,8);
    always throw a Exception :
    java.sql.SQLException: Non supported character set: oracle-character-set-832
    at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
    at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactoryThin.java:171)
    at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:135)
    at oracle.sql.CHAR.<init>(CHAR.java:133)
    at oracle.sql.CHAR.<init>(CHAR.java:157)
    at oracle.jdbc.oracore.OracleTypeCHAR.toDatum(OracleTypeCHAR.java:145)
    at oracle.jdbc.oracore.OracleType.toDatumArray(OracleType.java:145)
    at oracle.jdbc.oracore.OracleTypeCHAR.toDatumArray(OracleTypeCHAR.java:173)
    at oracle.jdbc.driver.OraclePreparedStatement.setPlsqlIndexTable(OraclePreparedStatement.java:2622)
    When can tell me how to solve it? Thanks

    I hava resolve this problem, we must add the
    class nls_charset12.zip to classpath.

  • Scenario IDOC to JDBC

    Hi experts,
    i've scenario IDOC to JDBC:
    the interface receive two idoc's:
    IDOC1: 1field1, 1field2, 1field3
    IDOC2: 2field1, 2field2, 2field3
    and give the data to only one table in the receiver, ie, the table is equally filled by the contents of both idocs,
    the data in this table must be storage by follow:
    field ->       field1        field2        field3
    values ->    1field1      1field2      1field3
                     2field1      2 field2     2 field3
    ¿how can i do this whe i realize the mapping ?
    ¿Is it possible, or it's better to use two interface, one for each idoc?
    very thanks

    If both the idocs are of same basic type, then you may perform Idoc packaging at the sender side. Due to this you could receive idoc at XI with multiple Idoc nodes having data from different idocs. Then you may map directly till node level and achieve the output.
    If the type of idocs are different, use two interfaces or go for BPM to collect.
    Regards,
    Prateek

  • JCo  client calls as background processes (avoiding timeouts)

    Hi Guys!
    Could you please assist us to resolve a simple issue:
    Our JCo Client call takes sometimes longer than the given timout for sap dialog processes (so, it's now clear,  the jco client simply uses the dialog processes and not something smarter/more flexible).
    My question is, ho to entice the jco client call to run without runtime timeout and take as long time as necessary. If the only possibility is, to use the tRFC, does anybody have an example for tRFC usage from JCo Client?
    Is also a JCo server component  needed to implement some callback functionality from SAP system by using the tRFC, or it could be enough to poll the server and implement the timeout on the client level (it could be for us the best solution if we realy must use the tRFC).
    Once again, we want to run the JCo client calls unlimited time (as long as needed) without the annoying dialog process timeout. The tRFC is not necessary by use cases now.
    Any help would be      appreciated!
    Many thanks, Gena

    Hi Gena,
    so, it's now clear, the jco client simply uses the dialog processes and not something smarter/more flexible
    Well, that's a feature of the underlying RFC protocol: All RFC calls are executed in dialog work processes, thus also the runtime limitations for dialog processes apply.
    My question is, ho to entice the jco client call to run without runtime timeout and take as long time as necessary. If the only possibility is, to use the tRFC, does anybody have an example for tRFC usage from JCo Client?
    The JCo client cannot do anything about it, it's a profile parameter in SAP, i.e. rdisp/max_wprun_time. But as this parameter applies to all dialog processes (so dialog users and RFC calls), so it shouldn't be changed to make a single RFC application work. Anyhow, tRFC won't help you in this case, because all RFC calls are processed in a dialog process no matter of the type of RFC.
    Once again, we want to run the JCo client calls unlimited time (as long as needed) without the annoying dialog process timeout.
    Impossible without making any changes in SAP. In theory one could modify the RFC function so that it resets the "runtime counter" and thus having the capability to run longer than rdisp/max_wprun_time. I'd recommend though not to do that, especially since a very long running RFC seems rather questionable. Long running tasks should be processed in background.
    Cheers, harald

  • Using a variable in the call scenario

    I´m using ODI 10.1.3.6.8.
    I´m calling the scenario as follows:
    ./startscen CENARIO_PRINCIPAL 001 GLOBAL -v=5 GLOBAL.EVENTO=12345
    This is my CENARIO_PRINCIPAL within it calls two scenarios using the global variable GLOBAL.EVENTO.
    When I ran, appears the following error:
    "java.lang.Exception: Specified variable not found in the Repository: GLOBAL.EVENTO"
    I tried to create a step in CENARIO_PRINCIPAL, declaring GLOBAL.EVENTO (this variable is set to the most recent value).
    I ran the scenario again and appears no error, but the variable did not receive the value specified on the "./startscen CENARIO_PRINCIPAL 001 GLOBAL -v=5 GLOBAL.EVENTO=12345" .
    Can anyone help me?

    As I said, I declared the variable in CENÁRIO_PRINCIPAL and ran.
    But the variable GLOBAL.EVENTO not received the amount that I reported the call of the stage was GLOBAL.EVENTO = 12345.
    Remembering that this variable is being used within the scenarios that are executed within the CENARIO_PRINCIPAL.

  • ODI 11g error when running scenario from startscen

    Hi,
    I'm getting the following error when trying to run the scenario using a standalone agent:
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 6, in ?
    ImportError: no module named re
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:345)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:169)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2375)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java:1616)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java:1581)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java:2755)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2515)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:537)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:449)
    Everything runs fine from the Designer. I can execute the scenarion using the agent from Designer no problem.
    Any idea on this error? Sounds like a path error, but I've checked everything.
    Thanks in advance.
    Nick

    I believe i have the answer.
    When are you are triggering via ODI Designer its going and reading from this folder path Oracle_ODI1\oracledi.sdk\lib
    Now there is another Folder called Lib which has the re.py causing which enables Designer to run the re module perfectly.
    When the same scenarios is being called via startscen it reads the Oracle_ODI1\oracledi\agent\lib and here there is Jython.jar is there but Lib which contains the re.py is missing.
    Temporary Solution - Copy the Lib from Oracle_ODI1\oracledi.sdk\lib to Oracle_ODI1\oracledi\agent\lib and call your startscen again .It should work.
    The reason i am calling this a temporary solution is that we would need to modify the odiparams accordingly to read from the right path namely(Lib) and i dont have much time to look at it now. i will look into it later.
    You can try if this works and if you want you can check with metalink if there is proper solution or reach Oracle Support for more appropriate solution or any other experts who have experinced the same can update the solution.

  • ODI - Error when Executing a Scenario from an OS Command

    I am developing a project with ODI on Oracle 10g, but I have had some troubles with it.
    Problem:
    I have a scenario that I run from the Designer and it works correctly.
    But, the problem is when I want to run it from a terminal command from an Operating System (OS).
    For this, I did the following steps:
    1.-Configure file odiparams.bat file from the path C: \ OraHome_1 \ oracledi \bin as follows:
    set ODI_SECU_DRIVER=oracle.jdbc.driver.OracleDriver
    set ODI_SECU_URL=jdbc:oracle:thin:@192.168.1.114:1521:orcle
    set ODI_SECU_USER=ODI_REPMSTR
    set ODI_SECU_ENCODED_PASS=eyfpRSdWr9N5rARKkCmCNMVrEp
    set ODI_SECU_WORK_REP=ODI_REPWORK
    set ODI_USER=SUPERVISOR
    set ODI_ENCODED_PASS=LELKIELGLJMDLKMGHEHJDBGBGFDGGH
    2.- Launching a Listener Agent
    Start\All programs\Oracle\Oracle Data Integrator\Agent
    3.- Run the next command:
    startscen ACT_ETL_CGA 001 GLOBAL -NAME=AGENT_1 "-v=5"
    But, at the end of the execution, it shows one list like that
    FirstDate:2010-03-01 17:10:24.0
    FirstUser:SUNOPSIS_INSTALL
    IndChange:I
    IntJavaName:com.sunopsis.dwg.dbobj.SnpState
    IObjects:4700
    LastDate:2010-03-01 17:10:24.0
    LastUser:SUNOPSIS_INSTALL
    ObjName:OBJ_SNPSTATE_4700
    SecuPos:570, ExtVersion:null
    And last:
    java.lang.NullPointerException
    DwgJv.main: Salida. Código de retorno:-1
    Can you please help.
    Thanks.
    Arturo Rubio

    Hello,
    Try to remove and recreate your package and scenario, I had the same issue and solved doing it.
    It seems for me that the package cannot update its contents, for example, if you change something in your interface, you must recreate your package and scenario to update the changes.
    What ODI version do you use? If you use an old version, try to update to ODI 10.1.3.5
    Regards,
    Wallace Galvão
    São Paulo - Brazil

  • AS2.0 : Infinite recursion loop error when launching debugger

    I want to debug a project:
    When I run it from Flash, it doesn't work as expected but it
    doesn't display
    any compiling nor runtime error.
    But when I want to debug it and press the Play button of the
    debugger, it
    displays an infinite recursion loop error.
    I get this error even when I set a breakpoint at the first
    line of the
    script.
    How can I debug the debugger? lol!
    If you know Flash debugger's internal behavior, can you tell
    me how it can
    display an infinite recursion loop while a classic preview
    does not.
    Thanks.
    Henri

    What you are trying to do is not supported on Windows.
    You mention a thin client.  This has nothing to do with thin clients.  Thin clients are just dumb monitors that run a remote RDP session.
    If you are connecting to a terminal server there is a configuration in GP or in the terminal server configuration that let you specify an alternate shell.  If you are running this as a remote to a workstation then you need to specify the shell in the
    user profile.  THis can be done through group policy or via a registry edit.
    You cannot use a script for this and you cannot use an Office program without Explorer.  Office requires Explorer to run which is why you are getting that error.
    Redirecting userinit for the whole machine will likely create many bad side effects as it is a fundamental process.  It is called multiple times during logon.  Replacing it with a batch file will cause you script to be executed multiple times. 
    Usually userinit is called at least three times.  In a domain with Group Policy it can be called a dozen times.  I am pretty sure the only reason for it being in the registry is to allow for debugging.
    Another this folder.ng to knowis that userinit has to complete before many things in Office will work correctly dependin on you implementation.
    You can load the powerpoint viewer and directly launch that with the file name from the
    "startup"  .  You can also try and set the powerpoint viewer as the alternate shell.  It just might work because it is designed to run completely stand alone with no Office and is used in kiosks which generally run without Explorer. 
    You can also try to use IE to launch the ppt as it can host this with the viewer installed.  It can be set to fullscreen and it will re-launch  when exited just like Explorer does,
    ¯\_(ツ)_/¯

Maybe you are looking for

  • Help needed Inventory 0IC_C03

    Hi guys, I am presently working on an inventory project. I have activated the busines content for the whole process flow i.e the cube 0IC_C03 and its respective datasources and infosources. Now I want to understand the logic thst is being used in the

  • I cannot upload photos from my iphone

    For the last three days I have been unable to upload photos to social media sites or share via text. I have reset my phone, backed up my phone, shut it down, closed all apps and nothing has helped. When i click on a photo to share via text it instant

  • BI content for IS-U: 0UC_DEVICE mapped to EQUNR?

    Hi all, We're using the BI content data flow to load Device data from source tables EGERH and EGERS to the InfoObject 0UC_DEVICE. In this flow, the key field of both tables (EQUNR) is mapped to 0UC_DEVICE. The InfoObject 0EQUIPMENT and accompanying B

  • Ipod video as vault

    I am trying to setup my 60g ipod video as one of my vaults using usb 2 . I can create the ipod as my vault but aperture keeps closing unexpectedly when i hit the update button. My ipod has been set to enable disk use. anyone using an ipod as a vault

  • Time capsule issues (constant downloading)

    Hi guys, I just got a G4 Time Capsule (Model MC343xx/A) with firmware version 7.50001. Anyway, I had it set up as a bridge to a router/modem that I currently have. I am connecting to the TC via wifi on my macbook running 10.6.2. Anyway, I have iStat