Writing functions that contain scriptlets/expressions

How do I go about writing functions in my JSP page that contain scriptlets and expressions? Also, I'd like to reference session/request/response variables from within.
I want something like this:
<jsp:useBean id="myObject" class="com.classes.*" scope="session" />
<%!
void printList()
     String str1 = myObject.getName();    <%-- reference outside object --%>
     String str2 = request.getParameter("address");  <%-- use request variable --%>
     out.println(str1 + ": " + str2); <%-- I know it's illegal to do this, but how do I print to the browser from a function? --%>
     <%= request.getParameter("zipcode") %> <%-- Also illegal (are expressions allowed?) --%>
     out.println("<A HREF=\"<% session.getAttribute("url") %>\">Click here</a>");  <%-- dynamic and static content: how do I do this? --%>
%>I unsure as to how to carry out the above actions. My biggest problem is the last example. How do I print out HTML interspliced with dynamic content with my function?
I'm pretty sure that nesting <% %> tags inside of <%! %> directive tags is illegal. Is writing a void function that prints out a bunch of static and dynamic data simply not possible with JSP? If so, is it necessary that I write several functions to return values which can then be printed later in the page via separate scriptlets or expressions?

Take a look at generated servlet code and try to understand how it is working.
request and response is available only inside some method body. So to access it in your method, you must pass it as argument.
void printList(HttpServletRequest request, HttpServletResponse response) { ... }everything inside
<%!
is added to servelt code, but things inside <% %> are added to processing method body not servlet body.
Take look at jsp and corresponding servlet:
JSP:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
<head><title>JSP Page</title></head>
<body>
    <%="place 1"%>
</body>
</html>
<%!
    public String aaa() {
        return "palce2";
%>GENERATED SERVLET
package org.apache.jsp;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class test_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {
    public String aaa() {
        return "palce2";
  private static java.util.Vector _jspx_dependants;
  public java.util.List getDependants() {
    return _jspx_dependants;
  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {
    JspFactory _jspxFactory = null;
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;
    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html;charset=UTF-8");
      pageContext = _jspxFactory.getPageContext(this, request, response,
                     null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;
      out.write("\n");
      out.write("\n");
      out.write("<html>\n");
      out.write("<head><title>JSP Page</title></head>\n");
      out.write("<body>\n");
      out.write("    ");
      out.print("place 1");
      out.write("\n");
      out.write("</body>\n");
      out.write("</html>\n");
      out.write("\n");
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          out.clearBuffer();
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
    } finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
}

Similar Messages

  • Apply conditional formatting for a textbox in a matrix that contains an expression

    I have a matrix that contains one row, and one of the columns in this row (a field ) contains an expression. I know this field is "Textbox24" but anyway, I have created a placeholder for this field and in Placeholder Properties I have given the
    label "PD". Note that the Value in this placeholder shows "Expr" because it contains an expression.
    I don't think this is relevant, but just in case, the expression is:
    =Code.GetPercentageDifferenceBetweenCurrentAndPreviousValue()
    where GetPercentageDifferenceBetweenCurrentAndPreviousValue is custom code for the report which returns a decimal value. This works correctly in Preview mode.
    I now want to apply conditional formatting on this field so the colour of the font changes depending on the value of the expression. I clicked on the text box of that field, and in Properties > Color > Expression > I entered
    =IIF(Fields!PD.Value >= 50,"Green","Black")
    When I go to Preview mode I get the error "The Color expression for the text box 'Textbox24' refers to the field 'PD'. Report item expression can only refer to fields within the current dataset scope or, if inside an aggregate, the specified
    data set."
    I have tried a couple of other forms of the sytax for Fields!PD.Value but it doesn't work. Is my problem a syntax problem or a scope problem, and how do I solve it?
    Thank you

    From your description, PD is not a field so you cannot reference it as a field. You can do what you want by referring to the textbox:
    =IIf(ReportItems!Textbox24.Value >= 50."Green","Black")
    "You will find a fortune, though it will not be the one you seek." -
    Blind Seer, O Brother Where Art Thou
    Please Mark posts as answers or helpful so that others may find the fortune they seek.

  • Calling stored function that contains commit from .JCX

    I would like to call a stored function (Oracle) that contains a commit, from
    a WebLogic database control (.JCX). The suggested way to call a stored
    function is to do something like:
    * @jc:sql statement::
    * SELECT MY_FUNCTION({projectID}, {staffID}) FROM DUAL
    int callMyFunction(int projectID, int staffID) throws SQLException;
    This doesn't work if the function contains a commit - I get: ORA-14552:
    cannot perform a DDL, commit or rollback inside a query or DML. I don't
    want to just get my own connection to the db in my code and call it directly
    because then I won't be using the connection pool provided by WebLogic. Is
    there a recommended way to do this? So far, the database control has taken
    care of getting connections from the pool. Can I get a connection from the
    pool explicitely and use it? How do I "return" it to the pool?
    Thanks.
    Steve

    Steve Kincer wrote:
    Thanks for the response.
    So far, I've only used the database control, so I haven't been doing any
    transaction management (rollbacks/commits) myself - I've just called methods
    in my database control and not worried it. Come to think of it, all my
    other calls are just SELECTs, so it hasn't been an issue, but I've assumed
    WebLogic or the connection pool would take care of transaction management
    for me if I coded an UPDATE function in the database control.
    What do you mean by "find and use the control API provided for
    defining/demarking
    transactions" ... what control?
    I've seen stuff in the help file about transaction management, so I can
    research that, but where do I get the connection to use for this? I'm
    thinking I should get it from the pool (rather than create my own
    connection). I saw a generated method in my database control called
    getConnection, but when I tried using it with a CallableStatement I got
    error:
    "The transaction is no longer active - status: 'Committed'. No further JDBC
    access is allowed within this transaction."This means that you are automatically being taken care of transactionally,
    and don't need to do any commit() calls.
    Joe
    >
    I guess it's pretty obvious that I'm pretty new to WebLogic.
    Thanks for your help.
    Steve
    "Joe Weinstein" <[email protected]> wrote in message
    news:[email protected]...
    Steve Kincer wrote:
    I would like to call a stored function (Oracle) that contains a commit,
    from a WebLogic database control (.JCX). The suggested way to call a
    stored function is to do something like:
    * @jc:sql statement::
    * SELECT MY_FUNCTION({projectID}, {staffID}) FROM DUAL
    int callMyFunction(int projectID, int staffID) throws SQLException;
    This doesn't work if the function contains a commit - I get: ORA-14552:
    cannot perform a DDL, commit or rollback inside a query or DML.Right. It is bad style to hide a commit in a procedure. The begin-tx
    and commit should be at the same level, above any specific SQL for the
    tx. How did you start a transaction? Are you sure you have an ongoing
    transaction?
    I don't
    want to just get my own connection to the db in my code and call it
    directly because then I won't be using the connection pool provided by
    WebLogic. Is there a recommended way to do this? So far, the database
    control has taken care of getting connections from the pool. Can I get a
    connection from the pool explicitely and use it? How do I "return" it to
    the pool?You should find and use the control API provided for defining/demarking
    transactions.
    Joe
    Thanks.
    Steve

  • I have a manual that contains headings and index entries that contain less than and greater than characters, and . The Publish to Responsive HTML5 function escapes these correctly in the main body of the text but does not work correctly in either the C

    I have a manual that contains headings and index entries that contain less than and greater than characters, < and >. The Publish to Responsive HTML5 function escapes these correctly in the main body of the text but does not work correctly in either the Contents or the Index of the generated HTML. In the Contents the words are completely missing and in the index entries the '\' characters that are required in the markers remain in the entry but the leading less than symbol and the first character of the word is deleted; hence what should appear as <dataseries> appears as \ataseries\>. I believe this is a FMv12 bug. Has anyone else experienced this? Is the FM team aware and working on a fix. Any suggestions for a workaround?

    The Index issue is more complicated since in order to get the < and > into the index requires the entry itself to be escaped. So, in order to index '<x2settings>' you have to key '\<x2settings\>'. Looking at the generated index entry in the .js file we see '<key name=\"\\2settings\\&gt;\">. This is a bit of a mess and produces an index entry of '\2settings\>'. This ought to be '<key name=\"&amp;lt;x2settings&amp;gt;\" >'. I have tested this fix and it works - but the worst of it is that the first character of the index entry has been stripped out. Consequently I cannot fix this with a few global changes - and I have a lot of index entries of this type. I'm looking forward to a response to this since I cannot publish this document in its current state.  

  • You do not have permissions to access a database that contains data required for this form to function correctly.

    I have dropdown on infopath form , and it receives data from sql server table ,  it works fine when i am running in preview mode , but when i am publishing form to sharepoint server and loading that form
    i am getting this
    You do not have permissions to access a database that contains data required for this form to function correctly.
    Can you please help?
    Thanks,

    try this one, if not yet
    Convert the data connection to UDC (store it in a Data Connection Library within the same site collection as the form library).  See if this works without any other changes, but if not, then...
    Manually edit your UDC file in Notepad (or your preferred editor) so that the authentication line is not commented out and so that it references the name of the SSO target app you created. 
    For Type, use NTLM.
    Ensure the user has rights to access the database
    Also ensure the connection file has been approved - A sharepoint admin can access a non approved Ucdx file. Go to the connection library and approve the file
    Also check this post having the similar issue:
    http://social.technet.microsoft.com/Forums/en-US/3196bafd-4bc3-40ab-ac2b-d149d1c3e0fa/sharepoint-2010-error-you-do-not-have-permissions-to-access-a-database?forum=sharepointdevelopmentprevious
    Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog

  • SSAS- DAX expression : Is there any DAX function that can return multiple values ?

    Hi,
    Iam in search of a DAX function that can return multiple values as result. please find below scenario where i want to implement the same.
    I have three  Tables: Table A (typeid, Cost, Qty ) ,Table B (typeid, Cost, Qty ) , Table C ( typeid,Typename ) .
    Table A                                       Table B                               
    Table C
    type id  cost  Qty             type id   Cost    Qty                 
    typeid  typename
    1           100    100                3         300     
    300                  1           aa
    2           200    200                4          400    
    400                  2           bb
                                                                                             3           cc
                                                                                             4          
    dd 
    i have to club cost and Qty of two tables(four measures)  as two measures in the  UI report. There are more columns in these tables that restrict the  UNION of the tables.(for the sake
    of understanding , i have not mentioned the othr columns). In the UI report(Execl 2013-power pivot) iam plotting these measures against the
    Table C.Typeid. Hence the measures drill down against each 
    Table C. Typeid as shown below:
    Typeid  Table A.cost  Table A.Qty  TableB.cost  TableB.Qty                              
    1              100             100
    2              200             200
    3                                                    
    300             300      
    4                                                    
    400             400
    My requirement is to club these measures so that the report will be as below
    Type id  cost   Qty
    1          100    100
    2          200    200
    3         300     300
    4         400      400
    Since i cannot club these in model,as a work around, i created a calculated measure in excel(Analyze tab->Calculations->olap tools->calculated measure) with the condition as below:
    new cost = IIF (ISEMPTY(TableA.cost)="TRUE",TableB.cost,TableA.cost)
    new Qty = IIF(ISEMPTY(TableA.Qty)="TRUE",TableB.Qty,TableA.Qty) and dragged these new measures into the report. It was working fine as expected.
    But  this functionality of Creating calculatedmeasure in excel report is possible only in 2013 excel version.
    Now the requirement is to get the same result in 2010 excel. Can you please help me in implementing the same in 2010 excel? or any other alternative method to bring the columns in model itself. I tried to create a measure in table A with DAX expression as
    : new cost :=CALCULATE(SUM(Table B.cost),ISBLANK(TableA.cost)) -> but this will return only 1 result .i need Sum(Table A.cost) also if it is not blank.
    Thanks in advance

    You can use SUMX ( 'Table A', 'Table A'[Cost] + 'Table B'[cost] )
    However, if you install the latest version of Power Pivot in Excel 2010, it supports the ISEMPTY function, too.
    http://support.microsoft.com/kb/2954099/en-us
    Marco Russo http://www.sqlbi.com http://www.powerpivotworkshop.com http://sqlblog.com/blogs/marco_russo

  • Newbie wants to remove first name from cell that contains "FIRST LAST"

    Any help is appreciated, I'm pretty much a complete newb with a spreadsheet. I have a sheet with sales prospects. One cell has the the full name in a cell, i.e. "John H. Doe". Some of the cells have a period after the middle initial. Some cells have no middle initial. What I am wanting to do is to create a new cell that only contains the first name. If it makes it any easier, I do have another cell that contains only the last name. When explaining how to do this, I ask that you dumb it down for me! I have about 850 rows. I'll need instructions completely in steps. I don't know how to apply a function to a new column. Thanks in advance! I know I'm asking alot.
    Message was edited by: Blacktop711

    BT,
    It would help you to get acquainted with Numbers if you read the User Guide PDF. It's written at a beginner level, not like a reference manual.
    This solution assumes that the full name is in column A. If not, you can substitute your true column for the "A"s in the formula. Click the label on Column A to select it. In the Table Menu, select Add Column After, to make a blank column to the right of the full name column. Let's assume that your first row is a Header Row, so you won't have data or equations in the first row. In the second row of the new column, paste this expression: =IFERROR(LEFT(A, FIND (" ", A)-1), "") (Copied from here)
    That cell that you pasted the expression into should now show the first name of the person in row 2. Now select that row 2 cell and Shift-Click the last cell in that column so that all the cells from row 2 down are selected. Next select Insert > Fill > Fill Down.
    Now all your first names should be showing.
    Let us know if you have any trouble with this.
    Jerry

  • Dynamic Action Set Value - PLSQL Error - cannot contain an expression

    I am trying to use below in a Dynamic Action to Set Value with PL/SQL Function. The dynamic action does not update the item appropriately. I tried to run the below directly in SQL Workshop but received the error "PLS-00372: In a procedure, RETURN statement cannot contain an expression". How can I get below to return the value needed?
    DECLARE
    rqstdaloe number;
    rqstdeloe number;
    devpercent number;
    rqsttarget date;
    timeleft number;
    PSPTime number;
    DevTime number;
    DevPer number;
    BEGIN
    SELECT SUM("TRACK_TIME_SPENT") INTO rqstdaloe
    FROM "TIME_TRACKER"
    LEFT JOIN "TBL_R66_TASK_TYPE" ON "TASK_TYPE_ID" = "TRACK_TYPE"
    WHERE "TRACK_REQUEST_ID" = :P2_REQUEST_ID AND "TASK_TYPE_TYPE" = 'DEV';
    rqstdeloe := :P2_REQUEST_ELOE;
    SELECT SUM(TT1."TRACK_TIME_SPENT") INTO DevTime
    FROM "TIME_TRACKER" TT1
    LEFT JOIN "TBL_R66_TASK_TYPE" TT2 ON TT1."TRACK_TYPE" = TT2."TASK_TYPE_ID"
    WHERE TT1."TRACK_USER" = :P2_PSP_ASSIGNED_PRIMARY AND TT2."TASK_TYPE_TYPE" = 'DEV';
    SELECT SUM(TT1."TRACK_TIME_SPENT") INTO PSPTime
    FROM "TIME_TRACKER" TT1
    WHERE TT1."TRACK_USER" = :P2_PSP_ASSIGNED_PRIMARY;
    DevPer := ROUND(DevTime/PSPTime,2)*8;
    timeleft := TRUNC(((NVL(rqstdeloe,0) - NVL(rqstdaloe,0))/DevPer)+.99999,0);
    rqsttarget := to_date(sysdate,'mm/dd/yyyy') + timeleft;
    RETURN rqsttarget;
    END;

    Hi Dave,
    just a quick hint. If you just want to have the time part of a date/sysdate, you can use TRUNC to do that. So your existing code
    rqsttarget := to_date(sysdate,'mm/dd/yyyy') + timeleft;could be changed to
    rqsttarget := trunc(sysdate) + timeleft;If you perform a TO_DATE on a date variable, the PL/SQL engine will first convert that date variable with an implicit type conversion to a VARCHAR2, because the TO_DATE interface only supports VARCHAR2's and NUMBER's.
    But implicit type conversions are always dangerous, because if your default date format mask isn't mm/dd/yyyy your TO_DATE will fail.
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • Word 2007: Error when saving file that contains equations

    Using Microsoft Word 2007, version 12.0.6425.1000 with Service Pack 2
    I am a High School Math teacher, and when working on a document that contains a number of math equations. When I try to save the document, Word refuses to save. It displays the following error: "A file error has occurred. <filename>. OK",
    and I am unable to save the file. 
    Reading the forum, I have found this to be a very common issue going back to 2009, but I have not seen a definitive solution or patch. 
    I have found a workaround:
    Creat a new document
    Copy and paste from the corrupted doc each page, saving the new document after each page
    Until I hit the error, then I know the page that has the issue, and can usually narrow it down to a specific math equation. Nothing fancy just some basic math. 
    Manually rewrite the equation in the new document and it will successfully save.
    But the issue has been occurring more and more frequently now and it is becoming very frustrating. Any help would be greatly appreciated! 

    There has been a long time known issue with the equation editor.  it causes document corruption by "losing" XML tags.
    Apparently fixes for some causes of these problems have been rolled out in Windows updates. But the problem still exists.  You've got it easy. A lot of people running into this problem are students working on documents, like a thesis, that is on a short
    deadline ...
    One identified cause of these problems is editing equations
    after you created them.  DON'T DO THAT! 
    If you have to change an existing equation, create a new correct one and delete the old one.
    Simpler fix. Don't use Word (or Office) for creating equations.  Find some other product, like a pencil.
    Over in the "Answers" forum there are a couple volunteers, Tony Jollans and Jeeped
    , who have been manually fixing this type of error if you post a new question or add a reply to one of the ongoing discussions on this issue.
    Sorry.
    If you want to invest the time to figure out what your error looks like you may be able to come up with a fix other than copy /paste method.
    Can't open Word File because of end tag/start tag mismatch error... XML Tag 
    - XML Error – Fix It tool - “The name in the end tag of the element must match the element type in the start tag”
    This error is caused when Word either “forgets” to write an XML tag, or writes them in the wrong order.
    Tony Jolans was the first person that I heard of with home made tool to fix the problem. Now MS has released a Fix It for one specific variation of the problem.
    If the tools don’t fix your problem, the file will have to be fixed manually, repairing the tag order.
    The Fix It article notes that the document is still in a fragile state. You have to do some addition fixing to avoid repeats of the problem.
    https://blogs.technet.com/b/wordonenotesupport/archive/2011/03/24/error-when-opening-a-word-2007-or-2010-document.aspx
    http://support.microsoft.com/kb/2528942- FIX IT
    This fix it will work for one specific tag error where there are equations and graphics in the same paragraph AND Office 2010 SP1 has not been applied.
    Preventative suggestions
    <snip Jeeped>
    I don't think that anyone can completely stop editing equations, but pre-planning them should avoid unnecessary edits.
    While I have no concrete, reproducible evidence that editing equations is a cause, I have made these empirical observations:
    I cannot state precisely what many of the DOCX XML tags do, but basic XML syntax rules would suggest that code like:                   <m:oMath><m:e><m:ctrlPr/></m:e></m:oMath>
    ... does nothing at all since it closes everything it opens and offers no content. It looks to me that this is a result of deleting one or more characters from an equation.
    While Word 2010 reports these as a problem at:                  Line: 2  Column: 0 ... Word 2007 will still report the actual position, e.g.:                
     Line: 2  Column: 2726981 I keep a copy of Word 2007 side-by-side Word 2010 for no other purpose. It's the only Office 2007 program on my computer. This seems like it is actually a step backwards from a resolution since Word 2010 no longer seems
    to be able to parse its own error.
    Whether the syntax is truly useless and non-effective for any intent or purpose is actually beside the point. The syntax passes conformity tests and the DOCX
    should launch. Why an 85 page document is 'broken' due to a few empty XML formatting tags while retaining legal syntax structure is beyond me.
    I try to pass along the area that the problem was in and several times people have remarked that the area I report was the place they were last making modifications/deletions to equations (not additions) when the no-load corruption
    occurred.
    When no indication from the OP is offered on what was worked on last, the Line: 2 Column: 0 corruption often comes within a formula at the very end of the unfinished Word/Document.xml file and it may be inferred
    that this was the last place being worked upon.
    The corrupt DOCX files I've worked on are very commonly at the last stages of development with a large complex document. While there couldn't be a worse time for a corruption to appear, it would seem that small edits to existing content are causing
    it and not large scale new content generation.
    Not one of these points is a definitive 'smoking gun', but put together they seem to indicate
    formula editing and not formula writing as a cause for the Line: 2 Column: 0 corruption. If it looks like a duck and quacks like a duck, it is most often a duck.
    </snip>
    Copy “True Autosave Macros for Office” to this place in reply
    Let me fix it myself
    If you are familiar with editing XML, you can try to fix the problem yourself by correcting the sequence of the mismatched oMath tags in the document. See the following example:
    Incorrect tags:
    <mc:AlternateContent>
    <mc:Choice Requires=”wps”>
    <m:oMath>
    </mc:AlternateContent>
    </m:oMath>
    Correct tags:
    <m:oMath>
    <mc:AlternateContent>
    <mc:Choice Requires=”wps”>
    </mc:AlternateContent>
    </m:oMath>
    Note: You will have to use an application such as Notepad to edit the XML.
    Manual Technique
    <snip>  A DOCX document is actually a .ZIP file that contains many internal components. There is an internal folder called word which will always contain a document.xml file. This file is the basis of the document's layout
    and content.
    Assuming that the DOCX archive structure has not been corrupted, it can be opened in an archive utility. I use
    WinRAR for this. Once opened in
    WinRAR, you can drill down into the
    word folder and see the document.xml file. I use
    Notepad++ as a text editing tool and have the .xml file extension associated with this program so i can simply double-click
    document.xml in WinRAR to open an editing session.
    Notepad++ has cursor positioning in the right-hand side of the status bar and finding the position of the error (supplied by a failed open in Word) is pretty straightforward. I look for empty formatting
    tags first and only remove content if removing empty tags does not allow the document to be opened. I try to note existing content in the area that I make modifications in order that I can supply position reference information to the owner of the DOCX.
    When editing, I assume the philosophy that kess is more. My target is to get the document to open in Word with as little modification as possible and let the original owner of the DOCX make any necessary adjustments.
    I should mention that after making a change to word/document.xml you need to save it in
    Notepad++ then go to
    WinRAR and acknowledge that you want to update the file in the DOCX archive. Once the archive is updated, you can attempt to open the DOCX in Word to see if your efforts are successful.
    WinRAR                    
    Notepad++                 
    </snip>
    Further Fixes
    The Fix it solution in this article should let you recover your Word document. However, the symptoms will reappear when you make any further edits to the document unless the core problem in the structure of the document is resolved.
    To try to correct the core problem, follow one of these workarounds:
    Install Office 2010 Service Pack 1
    Office 2010 Service Pack 1 resolves this issue for new files. It will also prevent the problem from recurring with any files that were recovered with the Fix it solution in this article.
    To download Office 2010 Service Pack 1, follow the steps provided in this Microsoft knowledge base article:
    2460049 - Description of Office 2010 SP1
    Grouping Objects
    The steps provided work best under Word 2010:
    After you open the recovered document, turn on the Selection pane. This can be found in the
    Home tab of the ribbon. The editing group of the
    Home tab has a dropdown button named Select.
    Click the Select button, and then click
    Selection Pane...
    Press the Ctrl button on your keyboard and then click each text box in the selection pane.
    Click the Group button under the Format tab. This will group all the objects together.
    As soon as you have all objects grouped on each page, save the document under a new name.
    Save the document in the .RTF file format
    The steps provided work for both Word 2007 and Word 2010:
    After you open the recovered document, click File and select
    Save (for Word 2007 click the Office button and select
    Save As)
    In the Save As dialog box, click "Save as type:" dropdown and select
    Rich Text format (*.rtf).
    Click Save.
    Click to view this
    blog for more information about this issue.
    Bonus tip: Win7 Win8 Math Equation Input Panel / Math input Panel
    http://www.lytebyte.com/2009/07/24/guide-to-math-input-panel-in-windows-7/
    http://www.7tutorials.com/windows-7s-tablet-input-panel-text-entry-and-handwriting-recognition
    http://www.7tutorials.com/training-tablet-input-panel-work-even-better
    http://www.7tutorials.com/do-math-easy-way-math-input-panel
    Not an answer to the problem, just a bonus that may make it easier to input formula’s in Win7.
    Here’s another one of those didn’t-know-it-existed-until-I-clicked-it-by-accident tools in Win7. It’s called the
    Math Input Panel.
    To access it, simply click Start, and in the Search Box that appears above, type in
    Math Input Panel.
    The Window should look like this:
    Let the fine folks at Microsoft explain what it’s used for:
    “Math Input Panel uses the math recognizer that’s built into Win7 to recognize handwritten math expressions. You can then insert the recognized math into a word-processing or computational program. “
    Tony Jolan’s Automatic Fix
    Download  http://www.wordarticles.com/temp/Rebuilder.dotm Microsoft Office Word Macro-Enabled Template (.dotm) and open it.
    Click Options button on the Security warning and select Enable this content.       
    Click the Broken Documents tab at the far right of the ribbon.      
    Click the Rebuild button in the left-hand side      
    Locate and open your corrupt document in the file open dialog.
    That's it. The process will repair your document if possible and create a new document with (Rebuilt)
    appended to the filename. Be patient as it may take a few minutes. If a repair is not possible, you can then post to a public file area and someone here can attempt a manual repair.
    Manual Fix
    XML Maker V1.1 is free. It will allow you to open the document.xml file and edit it. It also marks errors and warnings. 
    I just didn’t have much luck working with it.
    A poster used XML Maker V2.1 (US$125, 30day free trial, enough for average person to fix a file)
    Notepad ++ is a good, free editor for this type of task
    Make a copy of the file
    Rename the copy from DOCX to ZIP
    Open … .ZIP/word/document.xml in notepad
    Copy the contents of the file to clipboard
    Open Word
    Paste a copy of the copied XML into Word
    (optional) the XML is one long string too hard to read, you can replace some tags, with that tag plus a para mark to break up the text to make it more people readable.
    Open an XML validator, ie this site on the internet:
    http://www.w3schools.com/xml/xml_validator.asp
    Paste another copy of the XML into the “Syntax Check Your XML” input window
    Click on “validate” button
    Copy the missing tag, ie </mc:Fallback>  (yours will be different)
    Return to word Find: mc:Fallback>  (without the </ so you find both open and closing tags). 
    Repeat find until you hit 2 open tags in a row.  Then you just have to figure out where to put the closing tag between them. 
    Look for other tags before and after a proper closing tag so you can match the problem area to a good area.
    Discussion by many affected people, a couple in discussions are also fixing problem if Tony’s fix doesn’t work
    http://social.answers.microsoft.com/Forums/en-US/wordcreate/thread/581159d0-9ebc-4522-b30c-53e33e8268e1
    Document Recovery
    http://www.wordarticles.com/Shorts/Corruption/Formats.php
    This page has the most readable description of Word file structures, DOC and DOCX, I have seen so far
    The logical structure of a Word 97‑2003 format document is one of a series of elements arranged in a hierarchy, much like a mini file system. As an example, here is the structure of a simple Word 97‑2003 (.doc) format document:
    MyDocument.doc
    1Table
    *CompObj
    Word Document
    *SummaryInformation
    *DocumentSummaryInformation
    The physical structure of the complete file bears little relation to the logical structure; it is, again, of a proprietary design, a compound, or structured storage, file. Briefly, and loosely, the separate logical elements of the file are broken up into
    blocks; these blocks are treated as individual units, which units are then organised without regard for their logical arrangement, and catalogued, catalogue and organisation detail being held alongside the blocks themselves, to enable recombination into logical
    components when necessary.
    Just to give you a flavour, here are some views of three small parts of such a document, viewed in a hex editor:
    Views of a Word 97-2003 format Document
    The logical structure of a Word 2007 format document is one of a series of elements arranged in a hierarchy, much like a mini file system. As an example, here is the structure of a simple Word 2007 (.docx) format:
    MyDocument.docx
    _rels
    rels
    docProps
    app.xml
    core.xml
    word
    _rels
    document.xml.rels
    theme
    theme1.xml
    document.xml
    settings.xml
    fontTable.xml
    webSettings.xml
    styles.xml
    [Content_Types].xml
    As briefly as before, the [Content_Types] file and the _rels folders, along with the subordinate files therein, contain information about the logical structure, and the two files in the docProps folder contain much the same as the two Information files
    in the old format. The document.xml element within the word folder holds the bulk of the document content and the other files within that same folder hold formatting details.
    So, you might say, the internal structure of a document has changed a little, so what? There are, however, other changes that make a bigger difference. The first is that, although both logical formats are conceptually similar, they are wrapped up in
    completely different ways to make a single file. Instead of the proprietary physical structure used for Word 97‑2003 format documents, a fairly standard, and open, Zip Archive format is used for Word 2007 format documents. The second change is that instead
    of using obscure binary codes, everything in Word 2007 format documents, well almost everything, is held in XML format.
    All data held as XML? In a standard Zip Package? It should be much easier to work with, then? Judge for yourself; here are some views of parts of a Word 2007 format document taken from a hex editor:
    Views of a Word 2007 format Document
    FreeFileViewer – reads 100+ text, Office, audio, video format file types – Can open some XML tag error files
    http://www.freefileviewer.com/formats.html
    Can't open Word file due to undeclared prefix, Location: Part: /word/document.xml, Line:91, Column: 49921
    The most likely cause of your particular problem is that you are missing a
    schema prefix reference within the opening <document ...> XML tag (usually the second one). Different
    schema references are required for various types of specialty content. Here is a sample opening <document ...> tag with a large number of various schema prefix codes. If I remove one or two of these, i can reproduce
    your error message.
    <w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
    xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml">
    It's impossible to blindly say exactly what you are missing but if you post an unadulterated copy of your document to a public file area (as noted above) and post the location back here, someone may be able to help. If you are going to go this route, send
    a copy that has not already been subjected to repair attempts.
    FWIW, while it may be hard to determine exactly which schema you may be missing, I do not believe that having extras causes any problems.
    BTW, you don't actually have to rename the DOCX file extension if you have an archiving program. I use WinRAR and simply
    <right-click>, Open With... to expose the archive.

  • Using Scriptlet expressions as attribute values in taglibs

    Hi,
              While calling a custom tag in a JSP page that has attributes set up to
              accept scriptlet expressions in the TLD, a space is required before and
              after the variable like in <abc:xyz attr1=<%= xyz %> />
              otherwise, the JSP page does not compile. Using Weblogic 5.1.0 SP5 on
              Windows NT.
              

    Runtime expression values work fine. Sounds like an unbalanced tag problem.
              Inproperly quoted strings?
              "Jason Southern" <[email protected]> wrote in message
              news:3c644246$[email protected]..
              >
              > I'm running WL6.1 SP1 on Windows 2000 and I cannot seem to get WebLogic to
              handle
              > runtime expression values for taglib attributes. I'm using a standard
              container
              > tag (no empty body) and I receive the following error:
              >
              > Parsing of JSP File '/file.jsp' failed:
              > no corresponding open tag for tag extension close: //[ null;
              >
              > I have the declared the the tag attribute in the TLD to allow for runtime
              expressions
              > in the TLD (<rtexprvalue>true</rtexprvalue>).
              >
              > Anyone else had this problem. Is this a known bug?
              >
              > "Suneel Parthasarathy" <[email protected]> wrote:
              > >Hi,
              > >While calling a custom tag in a JSP page that has attributes set up to
              > >accept scriptlet expressions in the TLD, a space is required before and
              > >after the variable like in <abc:xyz attr1=<%= xyz %> />
              > >otherwise, the JSP page does not compile. Using Weblogic 5.1.0 SP5 on
              > >Windows NT.
              > >
              > >
              >
              

  • Problem with a simple function that return a number

    Hi,
    I'm writing a function that return a number. I receive always an error (invalid number) but I don't understand why.
    The function is this:
    >
    FUNCTION COUNT_OBJECT(workflow_name_p IN NUMBER, object_type_p IN VARCHAR2) RETURN NUMBER
    IS
    object_inserted NUMBER;
    BEGIN
    object_inserted := 0;
    IF workflow_name_p = 'AIMDailyIngestorWorkflow'
    THEN
    object_inserted := 1;
    else
    object_inserted := 100;
    END IF;
    RETURN object_inserted;
    END COUNT_OBJECT;
    I have left only an if and an assignment because I do not find the error.
    When I execute the function I receive always this error:
    ORA-01722: invalid number
    01722. 00000 - "invalid number"
    *Cause:   
    *Action:
    There are not operation, only assignment I cannot understand.
    Could someone help me?
    Thanks bye bye.

    I changed in this way:
    FUNCTION COUNT_OBJECT(workflow_name_p IN VARCHAR2, object_type_p IN VARCHAR2) RETURN NUMBER
    IS
    object_present NUMBER;
    object_inserted NUMBER;
    table_name_p VARCHAR2(4000);
    query_stmt VARCHAR2(4000);
    BEGIN
    IF workflow_name_p = 'AIMDailyIngestorWorkflow'
    THEN
    SELECT SUM(B.STOREDOBJS) INTO object_present
    FROM DPCTJOBTYPESTATS B
    WHERE B.WORKFLOW_NAME = workflow_name_p AND B.OBJTYPE=object_type_p;
    SELECT 'AIM.'||B.TABLE_NAME INTO table_name_p
    FROM DPCTSWOBJTYPE B
    WHERE B.OBJTYPE=object_type_p AND SOFTWARE='AIM';
    EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || table_name_p || ';' INTO object_inserted;
    object_inserted := object_inserted - object_present;
    END IF;
    RETURN object_inserted;
    END COUNT_OBJECT;and now the error is:
    ORA-00911: invalid character
    ORA-06512: at "INFRA.WORKFLOW_STATISTICS", line 504
    00911. 00000 - "invalid character"
    *Cause:    identifiers may not start with any ASCII character other than
    letters and numbers. $#_ are also allowed after the first
    character. Identifiers enclosed by doublequotes may contain
    any character other than a doublequote. Alternative quotes
    (q'#...#') cannot use spaces, tabs, or carriage returns as
    delimiters. For all other contexts, consult the SQL Language
    Reference Manual.
    but the line 504 is the blank line higlighted with the ***.
    Why this error? The code seems correct.
    Thanks, bye bye.

  • How to call a SQL function from an XSL expression

    Hi
    In R12, in Payroll Deposit adivce/Check writer, We need to sort the earnings tag <AC_Earnings> in to two different categories as regular and other earnings. In the DB and form level of element defintiion we have a DFF which differentiates between the two kinds of earnings. But the seeded XML that is gerneated by the check writer does not have this field.
    The seeded template displays all the earnings in one column. How can we achieve this in the template without modifying the seeded XML.
    The one approach i have is to write a function and based on the return value sort the data. For this I need to know :
    1) How to call a SQL function from an XSL expression that is allowed in BI template.
    If anyone ahs faced similar requirements please share your approach.
    Thanks
    Srimathi

    Thank u..
    but i'd seen that link wen i searched in google..
    Is it possible without using any 3rd party JARs and all?
    and more importantly plz tell me what should be preferred way to call a javascript function?
    Do it using addLoadEvent() or Windows.Load etc
    OR
    Call it thru Xsl? (I donno how to do dis)
    Thanks in Advance..
    Edited by: ranjjose on Jun 3, 2008 8:21 AM

  • Is there a way to place an encrypted document on the iPhone, a document that contains passwords and private information, really well protected from hackers?

    Is there a way to place an encrypted document on the iPhone, a document that contains passwords and private information, really well protected from hackers?
    Can such a document be exempted from the cloud feature, a feature that I use for the rest of my stuff?
    If so, how can I do this?

    Yeah, but 1Password charges for both the iPhone client AND the Mac/Windows client, and it ain't cheap! Plus, it only syncs via Dropbox, and where I work Dropbox is banned due to security concerns.
    Sure, there is Secure Notes, a free form entry part of 1Password, but a bug in the program will not let you view all the text you can put in the field!! You have to EDIT the text to see the whole list! What if you accidentally delete or change an entry while scrolling through your entries??
    Plus NONE of the programs I have tried, and I have tried a lot, can find text IN the file - do a search and it will tell you what file/folder the text is in, but YOU have to scroll down through 400 entries one at a time looking for the entry.
    I use a program called Secure Text - I have many admin passwords, and DO not need a field based program. Secure Text is totally freeform entry. However, it suffers from the same search issue.
    If someone knows of a secure text program that uses a file/folder type of layout, free form entry, AND can actually tell you where in the file/folder the text you searched for is, PLEASE let me know! Plus sycing via some method other than Dropbox would be a plus.
    Before I got my iPhone, I used a program called Tombo for my WinCE based system AND my Windows workstation, and the synced up fine without iTunes, internet, DropBox type functionality or any of that horsecoller stuff Apple likes to throw on your neck.

  • SOLVED: How can I use or call a function that returns %ROWTYPE?

    Hi
    edit: you can probably skip all this guff and go straight to the bottom...In the end this is probably just a question of how to use a function that returns a %rowtype.  Thanks.
    Currently reading Feuerstein's tome, 5th ed. I've downloaded and run the file genaa.sp, which is a code generator. Specifically, you feed it a table name and it generates code (package header and package body) that will create a cache of the specified table's contents.
    So, I ran:
    HR@XE> @"C:\Documents and Settings\Jason\My Documents\Work\SQL\OPP5.WEB.CODE\OPP5.WEB.CODE\genaa.sp"
    749  /
    Procedure created.
    HR@XE> exec genaa('EMPLOYEES');which generated a nice bunch of code, viz:
    create or replace package EMPLOYEES_cache is
        function onerow ( EMPLOYEE_ID_in IN HR.EMPLOYEES.EMPLOYEE_ID%TYPE) return HR.EMPLOYEES%ROWTYPE;
        function onerow_by_EMP_EMAIL_UK (EMAIL_in IN HR.EMPLOYEES.EMAIL%TYPE) return HR.EMPLOYEES%ROWTYPE;
        procedure test;
    end EMPLOYEES_cache;
    create or replace package body EMPLOYEES_cache is
        TYPE EMPLOYEES_aat IS TABLE OF HR.EMPLOYEES%ROWTYPE INDEX BY PLS_INTEGER;
        EMP_EMP_ID_PK_aa EMPLOYEES_aat;
        TYPE EMP_EMAIL_UK_aat IS TABLE OF HR.EMPLOYEES.EMPLOYEE_ID%TYPE INDEX BY HR.EMPLOYEES.EMAIL%TYPE;
        EMP_EMAIL_UK_aa EMP_EMAIL_UK_aat;
        function onerow ( EMPLOYEE_ID_in IN HR.EMPLOYEES.EMPLOYEE_ID%TYPE)
            return HR.EMPLOYEES%ROWTYPE is
            begin
                return EMP_EMP_ID_PK_aa (EMPLOYEE_ID_in);
            end;
        function onerow_by_EMP_EMAIL_UK (EMAIL_in IN HR.EMPLOYEES.EMAIL%TYPE)
            return HR.EMPLOYEES%ROWTYPE is
            begin
                return EMP_EMP_ID_PK_aa (EMP_EMAIL_UK_aa (EMAIL_in));
            end;
        procedure load_arrays is
            begin
                FOR rec IN (SELECT * FROM HR.EMPLOYEES)
                LOOP
                    EMP_EMP_ID_PK_aa(rec.EMPLOYEE_ID) := rec;
                    EMP_EMAIL_UK_aa(rec.EMAIL) := rec.EMPLOYEE_ID;
                end loop;
            END load_arrays;
        procedure test is
            pky_rec HR.EMPLOYEES%ROWTYPE;
            EMP_EMAIL_UK_aa_rec HR.EMPLOYEES%ROWTYPE;
            begin
                for rec in (select * from HR.EMPLOYEES) loop
                    pky_rec := onerow (rec.EMPLOYEE_ID);
                    EMP_EMAIL_UK_aa_rec := onerow_by_EMP_EMAIL_UK (rec.EMAIL);
                    if rec.EMPLOYEE_ID = EMP_EMAIL_UK_aa_rec.EMPLOYEE_ID then
                        dbms_output.put_line ('EMP_EMAIL_UK  lookup OK');
                    else
                        dbms_output.put_line ('EMP_EMAIL_UK  lookup NOT OK');
                    end if;
                end loop;
            end test;
        BEGIN
            load_arrays;
        end EMPLOYEES_cache;
    /which I have run successfully:
    HR@XE> @"C:\Documents and Settings\Jason\My Documents\Work\SQL\EMPLOYEES_CACHE.sql"
    Package created.
    Package body created.I am now trying to use the functionality within the package.
    I have figured out that the section
        BEGIN
            load_arrays;
        end EMPLOYEES_cache;
    /is the initialization section, and my understanding is that this is supposed to run when any of the package variables or functions are referenced. Is that correct?
    With that in mind, I'm trying to call the onerow() function, but it's not working:
    HR@XE> select onerow(100) from dual;
    select onerow(100) from dual
    ERROR at line 1:
    ORA-00904: "ONEROW": invalid identifier
    HR@XE> select employees_cache.onerow(100) from dual;
    select employees_cache.onerow(100) from dual
    ERROR at line 1:
    ORA-06553: PLS-801: internal error [55018]
    HR@XE> select table(employees_cache.onerow(100)) from dual;
    select table(employees_cache.onerow(100)) from dual
    ERROR at line 1:
    ORA-00936: missing expressionHe provides the code genaa.sp, and a very brief description of what it does, but doesn't tell us how to run the generated code!
    Now, I have just done some googling, and it seems that what I am trying to do isn't possible. Apparently %ROWTYPE is PL/SQL, and not understood by SQL, so you can't call onerow() from sql. Correct?
    So I try wrapping the call in an exec:
    HR@XE> exec select employees_cache.onerow(100) from dual;
    BEGIN select employees_cache.onerow(100) from dual; END;
    ERROR at line 1:
    ORA-06550: line 1, column 30:
    PLS-00382: expression is of wrong type
    ORA-06550: line 1, column 7:
    PLS-00428: an INTO clause is expected in this SELECT statement
    HR@XE> exec select table(employees_cache.onerow(100)) from dual;
    BEGIN select table(employees_cache.onerow(100)) from dual; END;
    ERROR at line 1:
    ORA-06550: line 1, column 14:
    PL/SQL: ORA-00936: missing expression
    ORA-06550: line 1, column 7:
    PL/SQL: SQL Statement ignored
    HR@XE> exec employees_cache.onerow(100)
    BEGIN employees_cache.onerow(100); END;
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00221: 'ONEROW' is not a procedure or is undefined
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignoredNo joy.
    Of course, now that I'm looking at it again, it seems that the way to go is indicated by the first error:
    PLS-00428: an INTO clause is expected in this SELECT statement
    So am I supposed to create a type of EMPLOYEES%ROWTYPE in a PL/SQL procedure, and the idea of this code, is that the first call to onerow() runs the initialiation code, which populates the cache, and all subsequent calls to onerow() (whether by my session or any other) will use the cache?
    I've had a stab at this, but still, no joy:
    create or replace procedure testcache is
        emp employees%rowtype;
        begin
            select employees_cache.onerow(100) from dual into emp;
            dbms_output.put_line('Emp id: ' || emp.employee_id);
        end testcache;
    show errors
    HR@XE> @testcache.sql
    Warning: Procedure created with compilation errors.
    Errors for PROCEDURE TESTCACHE:
    LINE/COL ERROR
    4/9      PL/SQL: SQL Statement ignored
    4/54     PL/SQL: ORA-00933: SQL command not properly ended
    HR@XE>Have a feeling this should be really easy. Can anybody help?
    Many thanks in advance.
    Jason
    Edited by: 942375 on 08-Feb-2013 11:45

    >
    Ha, figured it out
    >
    Hopefully you also figured out that the example is just that: a technical example of how to use certain Oracle functionality. Unfortunately it is also an example of what you should NOT do in an actual application.
    That code isn't scaleable, uses expensive PGA memory, has no limit on the amount of memory that might be used and, contrary to your belief will result in EVERY SESSION HAVING ITS OWN CACHE of exactly the same data if the session even touches that package.
    Mr. Feuerstein is an expert in SQL and PL/SQL and his books cover virtually all of the functionality available. He also does an excellent job of providing examples to illustrate how that functionality can be combined and used. But the bulk of those examples are intended solely to illustrate the 'technical' aspects of the technology. They do not necessarily reflect best practices and they often do not address performance or other issues that need to be considered when actually using those techniques in a particular application. The examples show WHAT can be done but not necessarily WHEN or even IF a given technique should be used.
    It is up to the reader to learn the advantages and disadvantages of each technicalogical piece and determine when and how to use them.
    >
    Now, I have just done some googling, and it seems that what I am trying to do isn't possible. Apparently %ROWTYPE is PL/SQL, and not understood by SQL, so you can't call onerow() from sql. Correct?
    >
    That is correct. To be used by SQL you would need to create SQL types using the CREATE TYPE syntax. Currently that syntax does not support anything similar to %ROWTYPE.
    >
    So am I supposed to create a type of EMPLOYEES%ROWTYPE in a PL/SQL procedure, and the idea of this code, is that the first call to onerow() runs the initialiation code, which populates the cache, and all subsequent calls to onerow() (whether by my session or any other) will use the cache?
    >
    NO! That is a common misconception. Each session has its own set of package variables. Any session that touches that package will cause the entire EMPLOYEES table to be queried and stored in a new associative array specifically for that session.
    That duplicates the cache for each session using the package. So while there might be some marginal benefit for a single session to cache data like that the benefit usually disappears if multiple sessions are involved.
    The main use case that I am aware of where such caching has benefit is during ETL processing of staged data when the processing of each record is too complex to be done in SQL and the records need to be BULK loaded and the data manipulated in a loop. Then using an associative array as a lookup table to quickly get a small amount of data can be effective. And if the ETL procedure is being processed in parallel (meaning different sessions) then for a small lookup array the additional memory use is tolerable.
    Mitigating against that is the fact that:
    1. Such frequently used data that you might store in the array is likely to be cached by Oracle in the buffer cache anyway
    2. Newer versions of Oracle now have more than one cache
    3. The SQL query needed to get the data from the table will use a bind variable that eliminates repeated hard parsing.
    4. The cursor and the buffer caches ARE SHARED by multiple sessions globally.
    So the short story is that there would rarely be a use case where ARRAYs like that would be preferred over accessing the data from the table.

  • Memory leak in JCO when calling an ABAP-function that returns larg tables

    Hello everybody,
    I think discovered a memory leak in JCO when the calling functionions that have exporting tables with large datasets. For example the ABAP-function RFC_READ_TABLE, which in this example I use to retrieve data from a table called "RSZELTTXT", which contains ~ 120000 datasets. RFC_READ_TABLE exports the data as table "DATA".
    Here a simple JUnit test:
    http://pastebin.ca/1420451
    When running it with Sun Java 1.6 with standard heap size of 64mb I get a heapsize OutOfMemory error:
    http://pastebin.ca/1420472
    Looking at the heap dump (which I unfortunately cannot post here, because of it' size), I can see that I've 65000 char[512] array objects in my heap, which don't get cleaned up. I think, each char[512] array stands for one dataset in the exporting table "DATA", since the table contains 120000 datasets, the heap is full after the first 65000 datasets are parsed. Apparently, JCO tries to read all datasets in memory instead of justing reading the dataset to which the pointer (JCoTable.setRow(i)) currently points to and releasing it from memory after the pointer moves forward ...
    Did anybody else experience this?
    Is SAP going to remove to issue in upcoming versions of JCO?
    regards Samir

    Hi,
       Check Below links
    1) How To Analyze Performance Problems JCO
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/3fbea790-0201-0010-6481-8370ebc3c17d
    2) How to Avoid Memory Leaks 
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c3e598fe-0601-0010-e990-b8622840c8c2
    Salil...
    Edited by: salil chavan on Jun 2, 2009 5:21 AM

Maybe you are looking for