Java Variable Assignment from ODI Proc

Hello,
I have a requirement of purging the records in a set of table in DB.
The table list to be purged is maintained in a Table Custom_Tab_List. Addition to that I need to record the total number of records deleted in another Logging table for this session.
Wrote an ODI Procedure for the same.
<b>Command on Source</b>
Select table_name from custom_tab_list<b>Command on Target</b>
delete from #table_nameFor additional Number of Counts thought of adding a Java Variable which would be global to the session. So added Step 1 in procedure
<@ java.lang.Integer V_Count @>
Step 2 of the Procedure
<b>Command on Source</b>
Select table_name from custom_tab_list<b>Command on Target</b>
DECLARE
v_c number;
BEGIN
select count(*) into v_c from #table_name;
<@V_Count@>:= v_c+ <@out.println.(V_Count); @>;
delete from #table_name;
END;Not able to assignt the sql variable to the Java Variable. Is there any other way other than creating objects in the Database as an solution.

I dont think that is possible. Two ways you can store the oracle value to a java variable.
1.
command on source, you can select the table name or any value with alias name
command on target(java beanshell) just store the alias name as follows
<@String java_v="SOURCE_ALIAS":@>
2.
You have to use the java program to do the dml operation as follows and retrieve the affected rows.
not: I have not tested these codes but it will be allmost same. you just need to debug it.
<@
import java.sql.*;
import java.lang.*;
try {
Connection myCon = snpRef.getJDBCConnection("SRC");
Statement myStmt = myCon.createStatement();
int cnt = myStmt.executeUpdate("delete from #SOURCE_ALIAS");
catch(Exception s){
System.out.println("Table is not exists!");
myStmt .close();
myCon.close();
@>

Similar Messages

  • Java class call from Stored Proc or trigger

    Hi Experts!
    I have windows 2K server with Oracle 8i Enterprise Edition installed. Please let me know if I can call a java class from Stored Procedure or Trigger. If there is a way, then help me out with code sample or description.
    Regards,
    Atul
    [email protected]

    Atul,
    Couple of questions to you, off the subject,
    * Why NULL NULL registration?(You already revealed your name at the bottom)
    * Why email at the bottom? This is already a discussion forum.
    To your qn, it is very much possible. It is not something that one can explain in a single thread. It takes your machine setup for JVM, your knowledgebase on JAVA and other things. Please find notes on External Procedure Calls, which should give you a start. If you are running into problems, please come back with specifics.
    Thx,
    SriDHAR

  • Captivate variable assigned from an inserted .swf?

    I have this bit of code in my .swf file (published from Flash 4):
    root.rdcmndExit = 1;
    When I try to publish the .swf I get this error:
    "1119: Access of possibly undefined property rdcmndExit through a reference with static type flash.display:DisplayObject."
    I get that error for everyvariable I try to set.
    Seems like it should be an easy thing to do, but after two days I still can't figure it out. Any help would be much appreciated. 
    Here's the complete code of the .swf file: I want to insert in Captivate:
    import flash.external.ExternalInterface;
    import com.adobe.captivate.widgets.*;
    import com.adobe.captivate.events.*;
    import flash.display.*;
    import flash.events.*;
    import flash.net.*
    // Create the URLLoader instance to load file
    var loader:URLLoader = new URLLoader();
    // Define the event handlers to listen for success and failure
    loader.addEventListener( IOErrorEvent.IO_ERROR, handleIOError );
    loader.addEventListener( HTTPStatusEvent.HTTP_STATUS, handleHttpStatus );
    loader.addEventListener( SecurityErrorEvent.SECURITY_ERROR, handleSecurityError );
    loader.addEventListener( Event.COMPLETE, handleComplete );
    // Attempt to load the file
    loader.load( new URLRequest( "http://www.epic.com/anything.txt" ) );
    function handleIOError( event:IOErrorEvent ):void {
      trace( "Load failed: IO error: " + event.text );
      root.rdcmndExit = 1;
    function handleHttpStatus( event:HTTPStatusEvent ):void {
      trace( "Load failed: HTTP Status = " + event.status );
      root.rdcmndExit = 1;
    function handleSecurityError( event:SecurityErrorEvent ):void {
      trace( "Load failed: Security Error: " + event.text );
      root.rdcmndExit = 1;
    function handleComplete( event:Event ):void {
      trace( "The data has successfully loaded" );
      root.rdcmndResume = 1;

    I found the answer here:
    http://www.cpguru.com/adobe-captivate-5-system-variables/

  • 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

  • Can we call java jar from ODI?

    Hi All,
    Can we call java jar from ODI? if yes please suggest how?
    Regards,
    Satish

    This is an excellent article from Uli.
    One reason, I dont like this approach is that is mandates to copy the .jar file to the driver folder and restart the agent.
    Think of a scenario where there are several developers in love with Java and want to place the jars in the drivers directory.
    This is a maintenance nightmare for the admin and would clutter up the drivers directory.
    Find here the way to invoke Java jar methods
    http://askankit.blogspot.com/2010/09/call-java-jar-methods-from-odi.html

  • How can we  use java variable in javascript code on JSP page?

    How can we use java variable in javascript code on JSP page?
    Pls help

    Think about it:
    JSP/Java is executed on the Server and produces HTML+JavaScript.
    Then that HTML+JavaScript is transfered to the client. The client now interpretes the HTML+JavaScript.
    Obviously there's no way to access a Java variable directly from JavaScript.
    What you can do, however, is write out some JavaScript that creates a JavaScript variable containing the value of your Java variable.

  • HOW DO I REASSIGN A PACKAGE VARIABLE VALUE FROM WITHIN JAVA BEANSHELL PROC

    Hi all
    I am trying to something that I would consider quite normal in programming applications.
    create a variable - systemId
    create a procedure that runs some code (Java BeanShell), and then sets the varable to a value depending on that code
    create a second procdure that runs some code(Java BeanShell), but uses the value of the variable set from the previous stage
    In the package editor I have created a declare variable step, two procedures, and a flow: declare variable -> procedure 1 -> procedure 2
    If I declare the variable with a vue of 10 initially then try #systemId = 400, I get an error along the lines of '10 = 400'
    I am probably doing something basically wrong
    regards
    Terry

    My friend it depends on you. What ever you mentioned that can be achieved in package level but in procedure level.
    For example:
    Odi procedure: Java beanshell techonlogy
    <@
    String empname="ALEX";
    @>
    odivariable1: refresh mode in package
    select sal from emp where empname='<@=empname@>'
    Package diagram:
    ODIprocedure------ok--->ODIvariable inrefreshmode
    if you will execute this then the odivariable will have value 2000( alex salary)
    Till now it was easy to achieve. But tell me how to assign the alex salary inside the 1st procedure without taking the help of a package. You just have to execute only the procedure.Hmmm nail on your head ? you might be thinking of something like this #odivariable=<@=empname@> which is not correct.
    In this scenario you have update the snp_var_data table. So that the underlying value can be updated. Another approach could be to generate a scenario of the odi variable given above and invoke the scenario inside the procedure(this way you can refrsh it without using a package)
    Ok my friend. Seems to be a long explanation.
    Let me know if it is helpful or not.
    Bhabani
    http://dwteam.in

  • Assign a value to an ODI or Java variable in a KM

    Hi Gurus,
    I'm developing a new KM and I need to get the name of a dblink by calling an Oracle function. How to store the result of a function in an ODI or Java variable in a KM step ?
    And if it is in an Java variable, how to use it in this kind of step (line 7) :
    create or replace view <%=odiRef.getObjectNameDefaultPSchema("L", "" , "W")%><%=odiRef.getInfo("COLL_NAME")%>
         <%=odiRef.getColList("", "[CX_COL_NAME]", ",\n\t", "", "")%>
    as select     <%=odiRef.getPop("DISTINCT_ROWS")%>
         <%=odiRef.getColList("", "[EXPRESSION]", ",\n\t", "", "")%>
    from     <%=odiRef.getSrcTablesList("", "[SCHEMA].[RES_NAME]@"+++*#PROJECT.VARIABLE*+++" [POP_TAB_ALIAS]", ", ", "")%>
    where     (1=1)
    <%=odiRef.getFilter()%>
    <%=odiRef.getJrnFilter()%>
    <%=odiRef.getJoin()%>
    <%=odiRef.getGrpBy()%>
    <%=odiRef.getHaving()%>
    Thanks a lot for your help.
    Best regards

    If it is java variable then your code should looks like this
    create or replace view <%=odiRef.getObjectNameDefaultPSchema("L", "" , "W")%><%=odiRef.getInfo("COLL_NAME")%>
    <%=odiRef.getColList("", "[CX_COL_NAME]", ",\n\t", "", "")%>
    as select     <%=odiRef.getPop("DISTINCT_ROWS")%>
    <%=odiRef.getColList("", "[EXPRESSION]", ",\n\t", "", "")%>
    from     <%=odiRef.getSrcTablesList("", "[SCHEMA].[RES_NAME]@ *<@=java_variable_name@>* [POP_TAB_ALIAS]", ", ", "")%>
    where     (1=1)
    <%=odiRef.getFilter()%>
    <%=odiRef.getJrnFilter()%>
    <%=odiRef.getJoin()%>
    <%=odiRef.getGrpBy()%>
    <%=odiRef.getHaving()%>
    If it is odi variable then your code should looks like this
    create or replace view <%=odiRef.getObjectNameDefaultPSchema("L", "" , "W")%><%=odiRef.getInfo("COLL_NAME")%>
    <%=odiRef.getColList("", "[CX_COL_NAME]", ",\n\t", "", "")%>
    as select     <%=odiRef.getPop("DISTINCT_ROWS")%>
    <%=odiRef.getColList("", "[EXPRESSION]", ",\n\t", "", "")%>
    from     <%=odiRef.getSrcTablesList("", "[SCHEMA].[RES_NAME]@ *#odi_variable_name* [POP_TAB_ALIAS]", ", ", "")%>
    where     (1=1)
    <%=odiRef.getFilter()%>
    <%=odiRef.getJrnFilter()%>
    <%=odiRef.getJoin()%>
    <%=odiRef.getGrpBy()%>
    <%=odiRef.getHaving()%>

  • Can we assign jython variable value into ODI variable?

    Hi Team,
    We are trying to save jython variable value into ODI variable so that ODI variable can use in later steps.
    we are facing failure regards same.
    Please suggest us so that we can use ODI variable value in later steps.
    Thanks
    Ankush.

    See if this post help you :- How to assign value for a ODI variable from Jython Script
    Doc id 424579.1 on metalink should help.

  • Passing a variable from Javascript to java variable in a JSP.

    Here is simple test Ive been messing around with.
    How do I assign the value that was selected in the radio button to a java variable in my JSP here. Javascript being client side and JSPs being serverside makes this difficult.
    <html>
    <head>
    <SCRIPT LANGUAGE="JavaScript">
    function valbutton(thisform)
         myOption = -1;
         for (i=0; i<thisform.myradiobutton.length; i++)
              if (thisform.myradiobutton.checked)
                   myOption = i;
         if (myOption == -1)
              alert("You must select a radio button");
              return false;
         alert("You selected button number " + myOption + " which has a value of " + thisform.myradiobutton[myOption].value);
         thisform.submit();
    </SCRIPT>
    <title>CreateCategoryContent</title>
    </head>
    <body>
    <BR>
    <center>
    <%
         for(int i = 0; i < 10; i++)
    %>
    <form name="myform">
    <table border="1" bordercolor="#C0C0C0" width="50%" cellpadding="0" cellspacing="0" bgcolor="white">
         <tr>
         <td><%=i%><input type="radio" VALUE="<%=i%>" name="myradiobutton"></td>
         </tr>
    <%
    %>
    </form>
    <input type="submit" name="submitit" onclick="valbutton(myform);return false;" value="Validate" />
    </table>
    </center>
    <!--//T2-->
    </body>
    </html>
    Thanks dudes.

    Please excuse me for appearing dim but my JSP skills are rather weak.
    I dynamically create rows in a table from an Iterator. If the mainTopic is news then I need a third column to appear with radio buttons. I have all this done. When a radio button is selected and the UPLOAD button is selected I need to know which of the values in the table was selected.
    When I ran the test below the selected value was null. Can you help me?
    Thanks.
    <%@ page session="false" %>
    // imports etc
    <%@ page errorPage="../com/digisoft/common/Error.jsp" %>
    <html>
    <head>
    <SCRIPT LANGUAGE="JavaScript">
    function valbutton(thisform)
         myOption = -1;
         for (i=0; i<thisform.myradiobutton.length; i++)
              if (thisform.myradiobutton.checked)
                   myOption = i;
         if (myOption == -1)
              alert("You must select a radio button");
              return false;
         alert("You selected button number " + myOption + " which has a value of " + thisform.myradiobutton[myOption].value);
    thisform.selected.value=thisform.myradiobutton[myOption].value;
         thisform.submit();
    </SCRIPT>
    <title>CreateCategoryContent</title>
    <LINK REL="stylesheet" HREF="<%=request.getContextPath() + "/stylesheets/digihostnews.css"%>" TYPE="text/css">
    <%
    HttpSession session = request.getSession(false);
    String mainTopic = request.getParameter("mainTopic");
    String subCategory = request.getParameter("subCategory");
    String subCategoryId = request.getParameter("subCategoryId");
    String subCategoryToBeDeleted = request.getParameter("subCategoryToBeDeleted");
    String selection = request.getParameter("selection");
    // other initializations etc
    %>
    </head>
    <body>
    <BR>
    <!--Another table-->
    <center>
    <table border="1" bordercolor="#C0C0C0" width="90%" cellpadding="0" cellspacing="0" bgcolor="white">
         <tr>
              <td class="blue">Select Topic</td>
         </tr>
         <tr>
         <td class="insidebox2">
         <BR>
              <form action="NewsUpdate.jsp" method=post>
              Select Topic
              <select NAME="mainTopic" class="dropdown">
              <%
                   Iterator menuItems = myLombardiaMgr.getMainCategories();
                   while(menuItems.hasNext())
                        MainCategory aMenuItemCategory = (MainCategory)menuItems.next();
                        String menuItem = aMenuItemCategory.getMainCategory();     
                        if(!menuItem.equalsIgnoreCase(mainTopic))
              %>
                        <option VALUE="<%= menuItem %>" ><%= menuItem %></option>
              <%
                        else
              %>
                        <option SELECTED VALUE="<%= menuItem %>" ><%= menuItem %></option>
              <%
              %>
         </select>
         <INPUT type=submit class="newsbutton" value="LOAD" name=Submit>
    </form>
    <form action="AddCategoryDescription.jsp" method=post>
    <INPUT TYPE=HIDDEN NAME="mainTopic" VALUE="<%=mainTopic%>">
    <INPUT type=submit class="newsbuttonlong" value="EDIT DESCRIPTION" name=Submit>
    </form>
    </td>
    </tr>
    </table>
    </center>
    <!--//Another table-->
    <!--T2-->
    <center>
    <table border="1" bordercolor="#C0C0C0" width="90%" cellpadding="0" cellspacing="0" bgcolor="white">
         <tr><td class="blue">Categories</td></tr>
         <tr>
              <td class="insidebox2">
              <BR>
              <form action="NewsUpdate.jsp" method=post>
                   Add Category
                   <input type="text" name="subCategory" class="dropdown" id="catId" value=""/>
                   <INPUT TYPE=HIDDEN NAME="mainTopic" VALUE="<%=mainTopic%>">
                   <%      
                   if (mainTopic != null)
                        %>
                        <INPUT type=submit class="newsbutton" value="ADD" name=Submit>
                   <%
                   else
              %>
                   <INPUT type=submit class="newsbutton" value="ADD" name=Submit disabled>
                   <%
                   %>
              </form>
                   <!--T3-->
         <table id="categoryTable" border="1" bordercolor="#035C98" width="60%" height="60%" cellpadding="0" cellspacing="0" bgcolor="white">
         <tr>
         <td colspan="1" class="result"><b>Category Name</b></td>
         <td colspan="1" class="result"><b></b></td>
         </tr>
    <%
              if(myApplicationDetails != null)
                   myApplicationDetails = myLombardiaMgr.getAllApplicationDetails();
                   Iterator myMainCategories = myApplicationDetails.getMainCategories();
              while(myMainCategories.hasNext())
                   MainCategory aMainCategory = (MainCategory) myMainCategories.next();
                   if(aMainCategory.getMainCategory().equalsIgnoreCase(mainTopic))
                        Iterator subTopics = aMainCategory.getSubTopics();
                        while(subTopics.hasNext())
                             SubTopic aSubTopic = (SubTopic) subTopics.next();
                   %>
                        <form action="NewsUpdate.jsp" method=post>
                             <tr>
                             <td class="result"><%=aSubTopic%></td>
                             <td class="result">
                                  <INPUT type=submit class="newsbutton" value="REMOVE" name=Submit>
                                  <INPUT TYPE=HIDDEN NAME="subCategoryId" VALUE="<%=aSubTopic.getId()%>">
                                  <INPUT TYPE=HIDDEN NAME="subCategoryToBeDeleted" VALUE="<%=aSubTopic%>">
                                  <INPUT TYPE=HIDDEN NAME="mainTopic" VALUE="<%=mainTopic%>">
                                  <INPUT TYPE=HIDDEN NAME="subCategory" VALUE="<%=aSubTopic%>">
                             </form>
                        <form action="EditStoryItem.jsp" method=post>
                             <INPUT TYPE=HIDDEN NAME="subCategory" VALUE="<%=aSubTopic%>">
                                  <INPUT TYPE=HIDDEN NAME="subCategoryId" VALUE="<%=aSubTopic.getId()%>">
                                  <INPUT TYPE=HIDDEN NAME="mainTopic" VALUE="<%=mainTopic%>">
                                  <INPUT type=submit class="newsbutton" value="EDIT" name=Submit>
                             </form>
                             <%
                                  if(mainTopic.equalsIgnoreCase("News"))
                             %>
                                  <td class="result">
                                       <INPUT type="radio" name="newsitem" VALUE="<%=aSubTopic%>" >
                                       <INPUT TYPE=HIDDEN onclick="valbutton(myform);return false;" NAME="selection" >
                                  </td>
                             <%
                             %>
                   </td>
                             </DL>
                                  </tr>
                        <%
                             } // end of if
                        %>
         </table>
         <table border="0" bordercolor="#C0C0C0" width="60%" cellpadding="0" cellspacing="0" bgcolor="white">
         <tr><td align="right">
         <form action="../../../../../../servlet/UploadXmlFiles" method=post>
         <% if(myApplicationDetails == null )
         System.out.println("******************* selection "+selection);
    %>
              <INPUT type=submit class="newsbutton" value="UPLOAD" name=Submit disabled>
    <%
         else
    %>
    <INPUT type=submit class="newsbutton" value="UPLOAD" name=Submit>
    <%
         System.out.println("******************* selection "+selection);
    %>
         </form>
         </td>
         </tr>
         </table>
         <!--//T3-->
         </td>
         </tr>
    </table>
    </center>
    <!--//T2-->
    </body>
    </html>

  • Is it possible to read Essbase Substitution variables from ODI?

    Is it possible to read Essbase Substitution variables from ODI?

    Hi,
    You can do it with custom code, if you have a read of a blog I wrote :- http://john-goodwin.blogspot.com/2009/11/odi-series-planning-11113-enhancements.html
    About half way through I go into reading essbase sub vars using the essbase java API.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • How can I assign javascript variables to jsp or java variables.?

    How can I assign javascript variables to jsp or java variables.?

    See I have generated some variables in the javascript which is on the jsp page. I want to assgin these variables to the jsp vaiables. Or how can I access javascript variables from jsp on the same jsp page.

  • Assigning stored procedure output value to java variable

    I have one stored procedure which is having ref cursor as the output parameter.
    How to assign refcursor value to my java variable?

    cstmt.registerOutParameter(1, OracleTypes.CURSOR);
    cstmt.execute()
    ResultSet rs = (ResultSet)cstmt.getObject(1);
    ==
    Ashok

  • How to pass a Variable value into an ODI Scenario from ODI Package

    I have created an Interface that uses the variable #ENTITY_ID for retrieving entity data from the DWH; now I have generated a Scenario from the interface and placed the Scenario in an ODI Package; am not sure how to pass the #ENTITY_ID variable to the ODI Scenario?
    Any help is greately appreciated.
    Best Regards
    Bee

    Hi Sutrtha,
    Yeah I got the pop up asking to select the variables used, I have selected ENTITY_ID that was used by the interfaces, but on execution of the package the Scenario did not work as the passeed variable #ENTITY_ID is set to 0 instead of the value I am passing.
    Am I missing something?
    Regards
    B

  • Assigning javascript varibel value to java variable

    Hi all
    I want to find screen resolution in one jsp page.That can be done in javascript.
    (though 'screen.width and screen.height')
    But is there any way to assign that value to java variable.
    Any body has the idea?
    Help me.

    No, why ? becuase jsp is SERVER side
    There are workarounds, You can store your javascript values in hidden fields and submit your page with them to your JSP and then use them like that

Maybe you are looking for

  • 4 months of iPad problems

    Just a report on my recent experience with Apple support on an iPad. In May, I bought the top of the line iPad3 (64Gb + 4G). A couple of weeks later, problems started to appear, in random order. - half of the screen started to flicker - spontaneous r

  • Read error on database

    Hi guys, When trying to click save, an error msg is displayed "Read Error on database /ISDFPS/FORCE" (Message no. /ISDFPS/FORCE100). This however, only appears if we execute this on WEBGUI, but doesn't happen using the SAP GUI thick client. I'm not f

  • What are the prereq require to complete a pending SSL in exchange 2010

    Dear all, Please provide me the steps to complete pending SSL certificate. Below is the required information. 1. using NIC authority SSL certificate. 2. Any downtime required? 3. Any services restart required? like IIS, MS transport? 4. How to import

  • Adding music / audio to Photo Slide Show

    I have several photo pages in the iWeb Photo Template pages and am giving the option to watch as a slide show. If the viewer opts for the slide show, can music and/or voice over be automatically and simulaneously played? How? Thanx.

  • Turn on subtitles on Apple TV

    How do you turn on subtitles