Is it possible to Call ODI Scenario from eBS Concurrent request

Hi Experts
We have a concurrent request running on oracle eBS system. Is it possible to Invoke the ODI Scenario (on a different server) by submitting a concurrent request. Mostly the concurrent program will be a PL/SQL
Thanks in advance.

hey,
yeah its possible..
Check this.
/people/vanita.thareja2/blog/2006/05/23/bpm-sending-message-asynchronously-and-getting-the-response-from-synchronous-system-using-abap-proxies
These replies too..
Proxy in BPM
BPM file to ABAP proxy
Thanks,
Vijaya.
Edited by: Vijaya Lakshmi Palla on Jun 4, 2008 5:32 AM

Similar Messages

  • Call ODI Scenario from a Java Program

    Hi,
    I would like to invoke the ODI Scenario from a Java Program. Is there any way i can do this?
    Please let me know if you have any posts related to this.
    Thanks,
    Mansur

    Check this ..
    How to run ODI scenario from java?

  • Invoking ODI Scenario from a BPEL process - Resolved

    I new to Oracle products.
    I am exploring Oracle Data Integrator tool.
    I would like to call ODI scenario from a BPEL process.
    I created a scenario in ODI, I have SOA suite10.1.3.3 installed in my machine.
    In some portal I have read that, we need to deploy apache axis to Oracle App server and then deploy the ODI public web service to axis. This public web service facilitates us to call scenario from partner link.
    Following are my questions:
    1) I guess Oracle App server acts as webservice container too. Why should I use apache axis here?
    2)If axis must be used, please let me know how to deploy it to OAS.
    If axis is not required, please guide me how to deploy public web service to OAS.
    Thanks!!

    Hi:
    I have similar problem, when invoke ODI Scenario from a BPEL Process, the error in ODI Designer is:
    java.lang.NullPointerException
         at com.sunopsis.dwg.dbobj.SnpSession.a(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.y(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSessionPreTrt(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.h.y(h.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:595)
    In the BPEL Console the result is OK and process complete, but in the INVOKE scenario send message:
    <messages><ODI_REQUEST><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="part1"><invokeScenarioRequest xmlns="xmlns.oracle.com/odi/OdiInvoke/">
    *<RepositoryConnection xmlns=""*
    <JdbcDriver>oracle.jdbc.driver.OracleDriver</JdbcDriver>
    <JdbcUrl>jdbc:oracle:thin:@192.168.1.109:1521:ORCL</JdbcUrl>
    <JdbcUser>dimaster</JdbcUser>
    <JdbcPassword>sabr0sa</JdbcPassword>
    <OdiUser>SUPERVISOR</OdiUser>
    <OdiPassword>SUNOPSIS</OdiPassword>
    <WorkRepository>TESTWORKREP1</WorkRepository>
    </RepositoryConnection>
    *<Command xmlns="">*
    <ScenName>P_TRASPASOSOP09</ScenName>
    <ScenVersion>2</ScenVersion>
    <Context>Global</Context>
    <LogLevel>5</LogLevel>
    <SyncMode>0</SyncMode>
    <SessionName/>
    <Keywords/>
    <Variables>
    <Name/>
    <Value xmlns:ns1="http://xmlns.oracle.com/Recepcion">
    <ns1:Escenario>P_TRASPASOSOP09</ns1:Escenario>
    <ns1:Version>2</ns1:Version>
    <ns1:Contexto>Global</ns1:Contexto>
    <ns1:ID>1</ns1:ID>
    <ns1:NivelLogeo>5</ns1:NivelLogeo>
    </Value>
    </Variables>
    </Command>
    *<Agent xmlns="">*
    <Host>192.168.1.109</Host>
    <Port>20910</Port>
    </Agent>
    </invokeScenarioRequest>
    </part></ODI_REQUEST><ODI_RESPONSE><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="part1"><odi:invokeScenarioResponse xmlns:odi="xmlns.oracle.com/odi/OdiInvoke/">
    <odi:CommandResultType>
    <odi:Ok>true</odi:Ok>
    <odi:SessionNumber>445000</odi:SessionNumber>
    </odi:CommandResultType>
    </odi:invokeScenarioResponse>
    </part></ODI_RESPONSE></messages>

  • Problems with the call of an ODI scenario from an OS Command.

    I'm having a trouble to understanding regarding the call an ODI scenario from an OS Command.
    On the machine "XPTO" is installed the Agent.
    For my local computer, by Designer ODI I can usually run the scenarios, using the Agent that is installed in the machine "XPTO".
    When attempting to run ODI scenario directly from the machine "XPTO", where we have the agent installed within the /Ora_Home/oracledi/bin the file STARTSCEN.BAT not exist.
    On the machine where you installed the agent I should also have the client installed, so as to be able to run the StartScen.bat?

    As suggested, I ran the following command line:
    *./startcmd.sh OdiStartScen -SCEN_NAME=STG_CRTC -SCEN_VERSION=001 -CONTEXT=GLOBAL -AGENT_CODE=ODI_2001*
    But gave the error below:
    com.sunopsis.core.f:*
    at com.sunopsis.tools.connection.DwgRepositoryConnectionsCreator.a(DwgRepositoryConnectionsCreator.java)*
    at com.sunopsis.tools.connection.DwgRepositoryConnectionsCreator.a(DwgRepositoryConnectionsCreator.java)*
    at com.sunopsis.tools.connection.DwgRepositoryConnectionsCreator.a(DwgRepositoryConnectionsCreator.java)*
    at com.sunopsis.tools.connection.DwgRepositoryConnectionsCreator.a(DwgRepositoryConnectionsCreator.java)*
    at com.sunopsis.security.c.b(c.java)*
    at com.sunopsis.security.c.b(c.java)*
    at com.sunopsis.dwg.function.SnpsFunctionBaseRepositoryConnected.u(SnpsFunctionBaseRepositoryConnected.java)*
    at com.sunopsis.dwg.function.SnpsFunctionBaseRepositoryConnected.execute(SnpsFunctionBaseRepositoryConnected.java)*
    at com.sunopsis.dwg.tools.StartScen.main(StartScen.java)*
    at com.sunopsis.dwg.tools.OdiStartScen.main(OdiStartScen.java)*
    Can anyone help me?

  • Launch ODI scenario from PL/SQL

    I want to execute ODI scenario from PL/SQL procedure.
    1. I have created the java method using oracle.odi.sdk.invocation.*
    // Create the scenario command
    OdiCommandScenario cmd = new OdiCommandScenario();
    cmd.setScenName(pckName);
    cmd.setScenVersion(pckVer);
    cmd.setSyncMode(lSyncMode);
    cmd.setLogLevel(lLogLevel);
    cmd.setContext(lCtx);
    cmd.setSessionName(sesName);
    // Additional variables
    if (parNames != null) {
    for (int j=0; j<parNames.length;j++) {
    cmd.addVariable(parNames [j], parValues[j]);
    // Create the repository connection
    OdiRepositoryConnection conn = new OdiRepositoryConnection();
    conn.setOdiUser(lOdiUsr);
    conn.setOdiPassword(lOdiPwd);
    // Launch scenario (use Agent scheduler)
    try
    invocation = new OdiInvocation(lHostName,lPortNum);
    catch (Exception e2) { throw new Exception ("open OdiInvocation="+e2.getMessage());}
    OdiInvocationResult result = invocation.invokeCommand(cmd,conn);
    if (!result.isOk())
    {throw new Exception ("invokeCommand="+result.getErrorMessage());}
    else
    {sid = result.getSessionNumber();}
    invocation.close();
    rv = "OK"+sid;
    catch (Exception e) { rv = "ERROR: "+e.getMessage(); }
    finally
    return rv;
    // System.exit(0); // !!
    2. I have created a PL/SQL wrapper for this java method
    It is working satisfactory, an ODI scenario is launched, ID of ODI session is returned, but a java session is not finished, it stay to hang up.
    I have got the same result if I try to execute java-method directly from command line - session is hang up.
    I found only workaroud to use "System.exit(0)" to terminate session, but it is not a way I can use inside JVM.
    (I can to resolve it by deploying java method as web-service and call this webservice from DB - it works OK ... but it seems uselessly complicated ... )
    Version ODI: 10.1.3.5.3, JDK 5.0, Windows (but I've got the same result on the Linux)
    Any suggestions? Thank you very much.

    In your example you invoke ODI scenario using "startscen" command (using java method for launching OS command from PL/SQL).
    Yes, I have also tried this workaround - but it is complicated to get back a session ID or ODI error message. In addition to I had a problem with calling ODI scen asynchrounously - but I didn´t investigate this possibility too properly ...
    Thanks

  • How to execute ODI scenario from a web application

    Hi
    I need to execute ODI scenario from ApEx form.
    how to execute ODI scenario from application. Using 10.1.3.5.5
    -app

    In the SQL property of the TQuery object, enter the call as an anonymous block:
    begin
      pkg_name.procedure_name(true);
    end;

  • How to call a Scenario from BPEL

    Can anyone briefly explain a way to call ODI scenario through a web service from BPEL? I have read the document, "Executing a Scenario using a Web Service", and it provides a simple SOAP request. How a wsdl file is created from the soap request?

    You can also use the Java API for invoking a ODI scenario.
    Sample code:
    boolean result = false;
    OdiCommandScenario odicmdScenario = new OdiCommandScenario();
    OdiRepositoryConnection odiConnection = new OdiRepositoryConnection();
    OdiInvocationResult odiInvocationResult = null;
    OdiInvocation odiInvocation = null;
    odiConnection.setOdiUser("SUPERVISOR");
    odiConnection.setOdiPassword("password");
    odiConnection.setJdbcDriver("oracle.jdbc.driver.OracleDriver");
    odiConnection.setJdbcUrl("jdbc:oracle:thin:@ipaddress:port:sid");
    odiConnection.setJdbcUser("ODI master repository user name");
    odiConnection.setJdbcPassword("ODI master repository password");
    odicmdScenario.setScenName("Scenario name");
    odicmdScenario.setScenVersion("Scenario Version");
    odicmdScenario.setLogLevel(5);
    odicmdScenario.setContext("Global");
    odicmdScenario.addVariable("Your variable (if needed)", "(Variable value)");
    odiConnection.setWorkRepositoryCode("Work Repository");
    try {
    odiInvocation = new OdiInvocation("Agent IP Address", <Agent Port>); //20910 default port
    odiInvocationResult = odiInvocation.invokeCommand(odicmdScenario,odiConnection);
    result = odiInvocationResult.isOk();
    } catch (IOException e) {
    result = false;
    return result;

  • Call ODI interface from Business Rule

    Hi All,
    Is there any way to call ODI interface from business rule?
    I search the forum and found there is a way to call java code from business rule by CDF.
    ODI provide a dos batch file to invoke the ODI interface. But, how can I call batch file from business rule.
    I am using planning version 11.1.1

    Thanks.
    I can call the JAVA from business rule after assign the security in udf.policy.
    And, I am working on calling ODI scenario. However, I found connection refuse as follows.
    ava.net.ConnectException: Connection refused: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
         at java.net.Socket.connect(Socket.java:520)
         at java.net.Socket.connect(Socket.java:470)
         at java.net.Socket.<init>(Socket.java:367)
         at java.net.Socket.<init>(Socket.java:180)
         at oracle.odi.sdk.invocation.internal.AgentNetworkCmd.<init>(AgentNetworkCmd.java:38)
         at oracle.odi.sdk.invocation.OdiInvocation.<init>(OdiInvocation.java:107)
         at com.gammonconstruction.odi.ODICaller.main(ODICaller.java:
    do I need to add scheduler agent for java request ?
    and, how to add the agent if need?

  • Invoke ODI scenario from Fusion ESS

    Hi,
    We have developed one ODI scenario as part of our project to migrate the data from source(oracle DB) to target(oracle DB).
    We would need to call this ODI scenario from a ESS Job to migrate the data to target.
    Can you please let us know, what job type need to be defined for ESS job and
    how the ODI scenario can be invoked from the ESS job ?
    Thanks

    Can you go to the command line from ESS?
    Install the Agent only runtime client so its visible to ESS and run startcmd.sh in this format :
    startcmd.sh OdiStartScen -SCEN_NAME=PURGE_OPERATOR_LOG -SCEN_VERSION=-1 -CONTEXT=GLOBAL -AGENT_CODE=DGDW_AGN
    If you want to specify the agent.
    or simply :
    startscen.sh PURGE_OPERATOR_LOG -1 GLOBAL NAME=DGDW_AGN
    if you are happy for the machine where the Agent software has been installed to orchestrate the job.
    Failing that, you could look at invoking your scenario from web services ?

  • Error while running a ODI scenario from command prompt

    Hi,
    I'm trying to run a ODI scenario from command prompt. I've edited the tnsnames.ora and odiparam.bat file with exact host and port details. Even though I'm facing the below error.
    command:startcmd.bat OdiStartScen -SCEN_NAME=INT.CUSTOMER_STG -SCEN_VERSION=001 -CONTEXT=ICM -AGENT_CODE=KANBAN
    Error: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    The Connection descriptor used by the client was:
    localhost:1521:orcl
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:280)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:328)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:361)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:595)
    at com.sunopsis.sql.SnpsConnection.u(SnpsConnection.java)
    at com.sunopsis.sql.SnpsConnection.c(SnpsConnection.java)
    at com.sunopsis.sql.i.run(i.java)
    Please help in resolving the error...
    Thanks in advance.
    Edited by: 894841 on Dec 22, 2011 11:15 PM

    Hi,
    Are you able to start the Standalone Agent(KANBAN) and test it in the Topology?
    Check the value of the ODI_MASTER_URL variable in odiparams file(at the path <ODI_HOME>\oracledi\agent\bin) of the agent.
    Specify the full the JDBC URL properly not like localhost(until the DB is on same machine as your ODI).

  • Is it possible to call web service from ABAP SAP 4.6 c..If yes how

    Hi Friends,
    Is it possible to call web service from ABAP-SAP 4.6 c..If yes Could you please let me know how.
    Thanks in Advance.
    Murali Krishna K
    Edited by: Murali Krishna Kakarla on Jan 26, 2008 7:09 PM
    Edited by: Murali Krishna Kakarla on Jan 26, 2008 7:11 PM

    Olivier CHRETIEN wrote:>
    > Hi Terry,
    >
    > So these function modules must use the SAPHTTPA RFC destination which uses the exe saphttp.exe ?
    >
    > How much abap code lines do you have for a web service call ?
    > Do you have to code the call specifically for each different web service ?
    > Are you able to use the WSDL ?
    >
    > Nice job if you have coded your own private SOAP runtime !
    >
    > But I don't think this is an easy solution for everybody...
    >
    > Regards,
    >
    > Olivier
    Yes, SAPHTTPA (runs on application server) and/or SAPHTTP (runs on front-end pc), one of which, is required for HTTP communication.  So far, nothing too elaborate as far as SOAP goes, but the logic is simplistic.  Here's some sample code:
      DEST = 'SAPHTTPA'.
      TRANSLATE HOST TO LOWER CASE.
      MYURL = 'wssrvTest/Service.asmx/GetByOrderItem'.
      CONCATENATE HOST MYURL INTO MYURL.
      REQUEST_HEADERS-DATA = 
                  'Content-type: application/x-www-form-urlencoded'.
      APPEND REQUEST_HEADERS.
      CLEAR REQUEST_HEADERS.
    *........Convert Order Number to External Format........................
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
                INPUT  = ORDER
           IMPORTING
                OUTPUT = ORDER.
    *........Convert Item Number to External Format.........................
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
                INPUT  = ITEM
           IMPORTING
                OUTPUT = ITEM.
    *........Convert Material Number to External Format.....................
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
                INPUT  = MATERIAL
           IMPORTING
                OUTPUT = MATERIAL.
      CONCATENATE 'sOrder=' ORDER
                   INTO REQUEST_BODY-DATA.
      APPEND REQUEST_BODY.
      CLEAR REQUEST_BODY.
      CONCATENATE '&sItem=' ITEM
                   INTO REQUEST_BODY-DATA.
      APPEND REQUEST_BODY.
      CLEAR REQUEST_BODY.
      CONCATENATE '&sMaterial=' MATERIAL
                  INTO REQUEST_BODY-DATA.
      APPEND REQUEST_BODY.
      CLEAR REQUEST_BODY.
      CALL FUNCTION 'HTTP_POST'
           EXPORTING
                ABSOLUTE_URI          = MYURL
                RFC_DESTINATION       = DEST
                BLANKSTOCRLF          = 'X'
           TABLES
                RESPONSE_ENTITY_BODY  = RESPONSE_BODY
                REQUEST_ENTITY_BODY   = REQUEST_BODY
                RESPONSE_HEADERS      = RESPONSE_HEADERS
                REQUEST_HEADERS       = REQUEST_HEADERS
           EXCEPTIONS
                CONNECT_FAILED        = 1
                TIMEOUT               = 2
                INTERNAL_ERROR        = 3
                TCPIP_ERROR           = 4
                DATA_ERROR            = 5
                SYSTEM_FAILURE        = 6
                COMMUNICATION_FAILURE = 7
                OTHERS                = 8.
      CHECK SY-SUBRC = 0.  "more appropriate msg goes here
      LOOP AT RESPONSE_BODY.
        IF RESPONSE_BODY+0(7) <> '<string' AND
           RESPONSE_BODY+0(8) <> '</string' AND
           RESPONSE_BODY+0(5) <> '<?xml'.
          SPLIT RESPONSE_BODY-DATA AT '=' INTO FIELD_NAME FIELD_VALUE.
          TRANSLATE FIELD_NAME TO UPPER CASE.
          CASE FIELD_NAME.
            WHEN 'HEIGHT'.
              HEIGHT = FIELD_VALUE.
            WHEN 'WIDTH'.
              WIDTH = FIELD_VALUE.
            WHEN 'LENGTH'.
              LENGTH = FIELD_VALUE.
            WHEN 'WEIGHT'.
              WEIGHT = FIELD_VALUE.
            WHEN 'QTY'.
              QTY = FIELD_VALUE.
          ENDCASE.
        ENDIF.
      ENDLOOP.
    Hope this helps...
    Terry
    Edited by: Terry West on Feb 4, 2008 3:08 PM

  • Possible to call a transaction from a planning book using a macro button?

    Hi All,
    Is it somehow possible to call a transaction using a macro button in the planning book? Also, the current selection should be passed as input parameters to the transaction.
    In my example, I am trying to run the transaction /SAPAPO/MC90 - Release to Supply Network Planning from the Demand Planning  Planning Book/Data View. This way if planners need to change forecasts mid month for specific selections, they can easily transfer to SNP without having to go out of interactive planning.
    Thank you,
    Maria

    Hello Maria,
              It's possible to call a transaction from a planning book using a macro button.
    What you can do is ..... Create a function module and inside it use the command "Call Transaction Tcode"  (ABAPer can do this) to call ur specific transaction. And this module can in turn be called from your macro. Please find the below link which explanis how to call a function module from a macro. Do let me know if you need more information on this.
    Calling a function module from APO Macro
    Regards,
    Siva.

  • How to invoke odi scenario from bpel without passing plain text password

    Hi
    We have following requirement,we would like to invoke odi scenario from oracle bpel process.But one problem is we dont want to pass the odi password as plain text.Please let me know how do i achive this task.
    Thanks
    Baji

    Hi,
    Thanks its working now. I am facing another issue. I do not use parameters in my Scenario. Now when i run my scenario i m getting the following error. I think its because i have not assigned anything to the Variable element. I guess its taking null value for Variable element here and cheking if such a variable exists. Have you come accross such an issue? If so, please sugest remedy.
    java.lang.Exception: Specified variable not found in the Repository : null
         at com.sunopsis.dwg.dbobj.SnpSession.a(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.y(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSessionPreTrt(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.h.y(h.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:619)
    Edited by: silas.john on May 13, 2009 1:29 AM

  • It it possible to call web service from SAP 4.6 c..If yes how

    Hi Friends,
    It it possible to call web service from SAP 4.6 c..If yes how
    Thanks in Advance.
    Murali Krishna K

    It is not possible to directly call a web service from SAP 4.6c.
    Indeed, web service enablement is available as from Web AS 6.20, thus as from SAP R/3 4.7
    So as described above, the solution is indeed to make use of PI(XI) for this.
    Rgds,
    Karim

  • Is it possible to call ctx_doc.filter from Java?

    Hello all,
    Is it possible to call ctx_doc.filter from Java?
    If so, do you have a code sample?
    Thanks,
    Marvin

    I have some Java code using ctx_doc.markup that can help:
    try {
    //make db conn
    OracleCallableStatement stmt =(OracleCallableStatement)conn.prepareCall("begin "+
    "ctx_doc.markup(index_name=>'text_idx', "+
    "textkey=>?,"+
    "text_query=>?,"+
    "restab=>?,"+
    "starttag=> '<a>',"+
    "endtag=> '</a>' "+
    "); " +
    "end; ");
    ... // register other parameters
    stmt.registerOutParameter(3, OracleTypes.CLOB);
    stmt.execute();
    oracle.sql.CLOB text_clob=null;
    text_clob = ((OracleCallableStatement)stmt).getCLOB(3);
    // read the CLOB by chunks
    int chunk_size=text_clob.getChunkSize();
    Reader char_stream = text_clob.getCharacterStream();
    char[] char_array = new char[chunk_size];
    for(int n=char_stream.read(char_array);n>0; n=char_stream.read(char_array)){
    out.print(char_array);}
    }catch (SQLException e)

Maybe you are looking for