MVC - Performance of data binding

Hi Gurus out there
I have a concern regarding performance of (dynamic) data binding if I have a lot of <i>textEdit</i> fields containing huge amount of data on a view page.
<u>Scenario</u>:
The view page contains buttons <b>[Add textEdit field]</b> and<b> [Save all entries]</b>. If you click the button <b>[Add textEdit field]</b> then a (new) <i>textEdit</i> will be generated and the model remembers the total number of <i>textEdit</i> fields that have been generated.
DATA: textedit_count TYPE i,
      o_textedit     TYPE REF TO cl_htmlb_textedit,
      tabix(6)       TYPE c,
      binding_code   TYPE string,
      binding_str    TYPE string.
textedit_count = o_model->get_section_count( ).
DO textedit_count TIMES.
* Create a unique ID for a textEdit field:
  tabix = sy-index.
  CONDESE tabix NO-GAPS.
* String for the data binding of internal table model->data_stream_tab:
  CONCATENATE '//model/data_stream_tab['
              tabix
              '].data_string'   
         INTO binding_str.
* Dynamic data binding:
  CREATE OBJECT o_textedit.
  CONCATENATE 'myTextEditID' tabix
         INTO o_textedit->id.
  o_textedit->width  = 650.
  o_textedit->height = 225.
  o_textedit->_text = binding_str.
  binding_code = o_textedit->IF_BSP_BEE~RENDER_TO_STRING( page_context ).
<htmlb:label for = "<%= o_textedit->id %>"
            text = "<%= o_textedit->id %>"
          design = "EMPHASIZED" />
<%-- Binding of the attribute (internal table) '//model/data_stream_tab<i>.data_stream' --%>
  <%= binding_code %>
ENDDO.
Obviously the <u>whole</u> contents of the <i>textEdit</i> fields in the coding above are <u>always</u> "moved" from the web browser to the server and vice versa when the button <b>[Add textEdit field]</b> is hit every time even though the content of some <i>textEdit</i> fields haven't changed.
Does anyone have a good solution/optimization for this problem? Any suggestion, comment and/or answer will be very appreciated.
Thanks
HW

Place this code above any textedit elements you have in your page:
<script type="text/javascript">
var myFields = new Array();
</script>
Then place this code after every textedit elements, this code will get run when the page is loaded in the browser, right after your element. You are saving the ID and the default value of your element to an array. For every further element, increase the array counter by 1!
<script type="text/javascript">
myFields[0] = new Object();
myFields[0]["id"] = 'myTextEdit1';
myFields[0]["default_value"] = document.getElementById(myFields[0]["id"]).value;
</script>
Finally, include this function in your page (does not have to be at the bottom, I just put it here chronologically):
<script type="text/javascript">
function compareFields() {
  for (var i = 0; i < myFields.length; ++i) {
    if(myFields<i>["default_value"] == document.getElementById(myFields<i>["id"]).value) {
    // nothing has changed, set to ignore-value (any highly unlikely value, like ")?.("
    document.getElementById(myFields<i>["id"]).value = ')?.(';
    // check against this value in your setter method
    // if this is set, then do not user submitted value to update your model attribute value
    // maybe do some output for debug purposes
    // alert(document.getElementById(myFields<i>["id"]).value);
}</script>
Now add this attribute to your submit button:
onClientClick = "javascript:compareFields();"
This should do, test it out and let me know.
Max

Similar Messages

  • Performance issue during SharePoint list data bind to html table using Ajax call(Rest API)

    Hello,
    I am having multiple lists in my SharePoint Site. I am using SharePoint REST APIs to get data from these lists and bind a HTML Table. Suppose, I have 5 lists with 1000 records each, I am looping 5000 times to bind each row(record) to this html table. This
    is causing performance issue which is taking a very long time to bind. 
    Is there any way So that I can reduce this looping OR is there any better approach to improve the performance. Please kindly Suggest.  Thank you for your help :)
    Warm Regards,
    Ratan Kumar Racha

    Hi Racha,
    For handling large data binding in a page,
    AngularJS would be a great option if you might would worry about the performance.
    You can get more information about using AngularJS from the two links below:
    https://www.airpair.com/angularjs/posts/angularjs-performance-large-applications
    http://www.sitepoint.com/10-reasons-use-angularjs/
    Best regards
    Patrick Liang
    TechNet Community Support

  • Data binding in bsp

    hi sdns,
    how data binding is done in BSPS?
    What is the diffference between DO_HANDLEDATA and DO_HANDLE EVENT?
    What is the process flow when using mvc in BSPs?
    Advance Thanks ,
    chandana

    Hi chandana,
    1) how data binding is done in BSPS?     
    A)  Databinding useful to have perfect interactions between view and model.
          Whenever user interacts with view, automatically the data which is entered by the user will be passed
         to the model using databinding.
         Declare reference variable for model class as page attribute in BSP.
         Sample code of BSP:
               <htmlb:inputField       id          = "f1" value = "//model/v1" />
               <htmlb:inputField     id          = "f2"  value = "//model/v2" />
         Here i declared model as reference variable ,v1 and v2 are model class attributes.
         so automatically values of both input fields are passed to the model class attributes (v1 and v2).
    2) What is the diffference between DO_HANDLEDATA and DO_HANDLE EVENT?
    A) DO_HANDLEDATA  is used to handle the data. As data binding is available, we don't need to use this
         method.
        DO_HANDLE EVENT is used to process the actions performed in the view.
    3) What is the process flow when using mvc in BSPs?
      A)  MVC flow doesn't change in bsp.As we know  in MVC , whenever user trigger action in the view,
           Controller process the action and determine what should be happened next such as calling model
           class and displays next view in the process flow.The same flow occurs in BSP .
    Hope it helps.
    xxxxxxxxxxxxxxxxxxxxx
    Thanks,
    Narendra.M
    Edited by: Armin Reichert on Apr 26, 2008 6:52 PM

  • Xcontrols and Data Binding

    Hi
    Is it possible to bind specific controls in a Xcontrol to e.g. a Shared Variable programmatically? I have tried using the Bind to Network Path method, but I only manage to bind the Xcontrol it self. When I try to bind a controller inside the Xcontrol, nothing happens. I have tried applying the method in both Init.vi and under Exec State Change in Facade.vi.
    Regards gelmin
    Message Edited by gelmin on 03-06-2007 11:46 AM

    Hi Nick_CH.
    Thank you for your reply. I have actually looked at this example, but unfortunately it doesn't help me as I want to bind the control inside the Xcontrol, and not the Xcontrol it self. The reason why I'm looking in to this is that I need a way to dynamically both read and write several shared variables inside a Xcontrol. With data binding of controls I could sort of do something like this.
    The most obvious way to achieve this though is to use Datasocket, but I'm afraid this will affect performance as I will have a lot of variables to manage. I have read somewhere that one should only use Datasocket when dealing with less than 30 variables or so. Are there some clever way to dynamically read/write Shared Variables whit out loss of performance?
    Best regards gelmin

  • Controls lose data binding when added to cluster

    Please forgive me if this is a newbie question, but I can't seem to find an answer.
    In a nutshell, I have an array (constant) of strings and a cluster of booleans.  I want to search the name of each boolean in the cluster for a match to a string in the array and perform an action for each match.  Say I want to turn on all booleans that match.
    The problem is that the booleans are bound by datasocket - to OPC server to PLC.  So when I add a boolean to the cluster, the data binding is dropped.  Attempts to reassign data binding are unsuccessful.  If I move the control outside the cluster and reassign data binding, it works.  There are a fair number of booleans so I want to avoid wiring them one by one.
    I am using LabVIEW 8.6 and there is a known bug similar to this for arrays of fixed size.  However I don't totally understand the solution and how I would apply it to a cluster:  "Uncheck autopreallocate arrays and strings in the VI properties execution category for all VIs not intended to run on an FPGA."  There is no listing for clusters.  Could I be doing something wrong?  Should I be using shared variables instead of data binding?
    3OLE2573
    Return
    DataSocket and Fixed Size Array Do Not Work
    You cannot use front panel DataSocket data binding with fixed-sized arrays.
    Workaround: Uncheck autopreallocate arrays and strings in the VI properties execution category for all VIs not intended to run on an FPGA.
    Message Edited by Katelyn on 08-18-2009 12:14 PM

    Peter,
    Thanks. i will separate this in 3 questions.
    I posted the whole thing, so people could copy the code on
    Flex and tested to see what I am talking about.
    "evt.target.selectedItem should be a <module> element.
    Is that not happening?"
    Yes, when loading is a module. Once a click on a list item I
    get the following error:
    TypeError: Error #1009: Cannot access a property or method of
    a null object reference.
    at SPADE2/::changeHandler()
    at SPADE2/__cList1_change()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()
    at
    mx.controls.listClasses::ListBase/mx.controls.listClasses:ListBase::mouseUpHandler()
    at mx.controls::List/mx.controls:List::mouseUpHandler()
    If a click dismiss all, I can click on the tabs and the
    content on the list changes as expected, but when clicking on the
    list items, they don't work.
    If a click on the video tab the state changes, but I have to
    click on the list twice to play a video. After that I the list
    items for the other tabs work.
    Gilbert

  • Report data binding error

    I have created a banded report split into departments. Each
    recore has a value associated with it. The report runs fine if I
    dont try to sub-total each departments vale, but if I add a
    calculated field to the banding, I get the following error:
    Report data binding error Error evaluating expression :
    textField_2 Source text : calc.Department_Total.
    Variable calc.Department_Total is undefined.
    The calculated field is simply the sum of the values, with an
    initial value of 0 and set to reset when the group changes on the
    department. I am using the same data type for the calc field as it
    automatically gave for the original Value field (Big Decimal)
    Any ideas?
    Dave H

    Does anyone have any ideas about this, Its getting a bit
    critical now. Has anyone else been able to do sums that calculate
    on group changes?? The sum total works for the report, jusyt not
    the bands. I desparate here, pulling my hair out.
    Regards
    Dave H

  • Performance with dates in the where clause

    Performance with dates in the where clause
    CREATE TABLE TEST_DATA
    FNUMBER NUMBER,
    FSTRING VARCHAR2(4000 BYTE),
    FDATE DATE
    create index t_indx on test_data(fdata);
    query 1: select count(*) from TEST_DATA where trunc(fdate) = trunc(sysdate);
    query 2: select count(*) from TEST_DATA where fdate between trunc(sysdate) and trunc(SYSDATE) + .99999;
    query 3: select count(*) from TEST_DATA where fdate between to_date('21-APR-10', 'dd-MON-yy') and to_date('21-APR-10 23:59:59', 'DD-MON-YY hh24:mi:ss');
    My questions:
    1) Why isn't the index t_indx used in Execution plan 1?
    2) From the execution plan, I see that query 2 & 3 is better than query 1. I do not see any difference between execution plan 2 & 3. Which one is better?
    3) I read somewhere - "Always check the Access Predicates and Filter Predicates of Explain Plan carefully to determine which columns are contributing to a Range Scan and which columns are merely filtering the returned rows. Be sceptical if the same clause is shown in both."
    Is that true for Execution plan 2 & 3?
    3) Could some one explain what the filter & access predicate mean here?
    Thanks in advance.
    Execution Plan 1:
    SQL> select count(*) from TEST_DATA where trunc(fdate) = trunc(sysdate);
    COUNT(*)
    283
    Execution Plan
    Plan hash value: 1486387033
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 9 | 517 (20)| 00:00:07 |
    | 1 | SORT AGGREGATE | | 1 | 9 | | |
    |* 2 | TABLE ACCESS FULL| TEST_DATA | 341 | 3069 | 517 (20)| 00:00:07 |
    Predicate Information (identified by operation id):
    2 - filter(TRUNC(INTERNAL_FUNCTION("FDATE"))=TRUNC(SYSDATE@!))
    Note
    - dynamic sampling used for this statement
    Statistics
    4 recursive calls
    0 db block gets
    1610 consistent gets
    0 physical reads
    0 redo size
    412 bytes sent via SQL*Net to client
    380 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    1 rows processed
    Execution Plan 2:
    SQL> select count(*) from TEST_DATA where fdate between trunc(sysdate) and trunc(SYSDATE) + .99999;
    COUNT(*)
    283
    Execution Plan
    Plan hash value: 1687886199
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 9 | 3 (0)| 00:00:01 |
    | 1 | SORT AGGREGATE | | 1 | 9 | | |
    |* 2 | FILTER | | | | | |
    |* 3 | INDEX RANGE SCAN| T_INDX | 283 | 2547 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter(TRUNC(SYSDATE@!)<=TRUNC(SYSDATE@!)+.9999884259259259259259
    259259259259259259)
    3 - access("FDATE">=TRUNC(SYSDATE@!) AND
    "FDATE"<=TRUNC(SYSDATE@!)+.999988425925925925925925925925925925925
    9)
    Note
    - dynamic sampling used for this statement
    Statistics
    7 recursive calls
    0 db block gets
    76 consistent gets
    0 physical reads
    0 redo size
    412 bytes sent via SQL*Net to client
    380 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    1 rows
    Execution Plan 3:
    SQL> select count(*) from TEST_DATA where fdate between to_date('21-APR-10', 'dd-MON-yy') and to_dat
    e('21-APR-10 23:59:59', 'DD-MON-YY hh24:mi:ss');
    COUNT(*)
    283
    Execution Plan
    Plan hash value: 1687886199
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 9 | 3 (0)| 00:00:01 |
    | 1 | SORT AGGREGATE | | 1 | 9 | | |
    |* 2 | FILTER | | | | | |
    |* 3 | INDEX RANGE SCAN| T_INDX | 283 | 2547 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter(TO_DATE('21-APR-10','dd-MON-yy')<=TO_DATE('21-APR-10
    23:59:59','DD-MON-YY hh24:mi:ss'))
    3 - access("FDATE">=TO_DATE('21-APR-10','dd-MON-yy') AND
    "FDATE"<=TO_DATE('21-APR-10 23:59:59','DD-MON-YY hh24:mi:ss'))
    Note
    - dynamic sampling used for this statement
    Statistics
    7 recursive calls
    0 db block gets
    76 consistent gets
    0 physical reads
    0 redo size
    412 bytes sent via SQL*Net to client
    380 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    1 rows processed

    Hi,
    user10541890 wrote:
    Performance with dates in the where clause
    CREATE TABLE TEST_DATA
    FNUMBER NUMBER,
    FSTRING VARCHAR2(4000 BYTE),
    FDATE DATE
    create index t_indx on test_data(fdata);Did you mean fdat<b>e</b> (ending in e)?
    Be careful; post the code you're actually running.
    query 1: select count(*) from TEST_DATA where trunc(fdate) = trunc(sysdate);
    query 2: select count(*) from TEST_DATA where fdate between trunc(sysdate) and trunc(SYSDATE) + .99999;
    query 3: select count(*) from TEST_DATA where fdate between to_date('21-APR-10', 'dd-MON-yy') and to_date('21-APR-10 23:59:59', 'DD-MON-YY hh24:mi:ss');
    My questions:
    1) Why isn't the index t_indx used in Execution plan 1?To use an index, the indexed column must stand alone as one of the operands. If you had a function-based index on TRUNC (fdate), then it might be used in Query 1, because the left operand of = is TRUNC (fdate).
    2) From the execution plan, I see that query 2 & 3 is better than query 1. I do not see any difference between execution plan 2 & 3. Which one is better?That depends on what you mean by "better".
    If "better" means faster, you've already shown that one is about as good as the other.
    Queries 2 and 3 are doing different things. Assuming the table stays the same, Query 2 may give different results every day, but the results of Query 3 will never change.
    For clarity, I prefer:
    WHERE     fdate >= TRUNC (SYSDATE)
    AND     fdate <  TRUNC (SYSDATE) + 1(or replace SYSDATE with a TO_DATE expression, depending on the requirements).
    3) I read somewhere - "Always check the Access Predicates and Filter Predicates of Explain Plan carefully to determine which columns are contributing to a Range Scan and which columns are merely filtering the returned rows. Be sceptical if the same clause is shown in both."
    Is that true for Execution plan 2 & 3?
    3) Could some one explain what the filter & access predicate mean here?Sorry, I can't.

  • Unable to find information on WS data binding error on WLS 9.2.03 startup

    Frustratingly, when I Google for "WS data binding error" I get 'old' links to BEA forum issues which may help but these are nowhere to be seen on the read-only copies now on Oracle forums here :- http://forums.oracle.com/forums/category.jspa?categoryID=202.
    The link I'm looking for is:-
    forums.bea.com/thread.jspa?threadID=600017135
    Is there anywhere I can get access to this information or should I just post new items on the new WLS forum?
    Many thanks.
    p.s. the errors I am trying to research are as follows:-
    <WS data binding error>could not find schema type '{http://xmlns.oracle.com/apps/otm}Transmission
    <WS data binding error>Ignoring element declaration {http://xmlns.oracle.com/apps/otm}Transmission because there is no entry for its type in the JAXRPC mapping file.

    Check this..
    http://docs.oracle.com/cd/E10291_01/doc.1013/e10538/weblogic.htm
    you can ignore those warnings
    The following data type binding warnings and errors are displayed during deployment and start of Decision Service (Business Rules) Applications. These errors and warnings can be ignored.
    <WS data binding error>could not find schema type '{http://www.w3.org/2001/XMLSchema}NCName
    <WS data binding error>could not find schema type
    '{http://websphere.ibm.com/webservices/}SOAPElement
    java.lang.IllegalStateException
    at weblogic.wsee.bind.runtime.internal.AnonymousTypeFinder$GlobalElementNode.
    getSchemaProperty(AnonymousTypeFinder.java:253)

  • Dynamic Data Binding at runtime

    For future applications, flexibility will be an important feature. One of the biggest drawbacks of forms is/was, on my opinion, not being able to create new items at runtime.
    JClient will easily overcome this restriction. But how about data binding ?
    Imagine the following situation: We've got a VO "order" with the "custname" incorporated as lookup data. At runtime, the user decides that she needs to see the "custloc" as well (put an additional JTextField into some whitespace on his panel). As I understand it is possible to build a view link to tie an instance of the VO "customer" to the "order" (I'd prefer that over adapting the query statement of "order" at runtime). But how can I create the new iterator binding and control binding needed to populate the dynamically created attributes with the data from "customer"? And, further on, how will I be able to make the changed configuration of my panel persistent, let's say into the DB ? Or does the data binding concept of 10g just not cover this requirement?

    Hi pascal
    It is not possible to send you email at your address. All come back with a permanent error
    Your document:     test
    was not delivered to:     <[email protected]>
    because:     Error transferring to smtp.solnet.CH; SMTP Protocol Returned a Permanent Error 550 Service unavailable; Client host [81.62.5.7] blocked using dul.dnsbl.sorbs.net; Dynamic IP Address See: http://www.dnsbl.sorbs.net/cgi-bin/lookup?IP=81.62.5.7

  • How can I set the data binding between Web Dynpro & Database table

    Dear friend,
    I am a beginner of Web Dynpro. I want to develop my simple project like these:
    1. Create my own database table via Dictionary Project such as TAB_USER and have 3 fields: USER_ID, USER_NAME, USER_POSITION and I have already deployed & archived it.
    2. Create my own Web Dynpro Project, and create the input fields as User ID, User name, User position and icon 'Save' on the selection screen and I have deployed it already.
    For the process, I want to input data at the screen and save the data in the table, please give me the guide line like these:
    1. How can I set the data binding between Web Dynpro and Database table ?
    2.  Are there any nescessary steps that I will concern for this case?
    Sorry if my question is simple, I had try  to find solution myself, but it not found
    Thanks in advances,
    SeMs

    Hi,
    You can write your own connection class for establishing the connection with DB.
    Ex:
    public class  ConnectionClass {
    static Connection con = null;
    public static Connection getConnection() {
    try{
    Context ctx = new InitialContext();
    DataSource ds = (DataSource) ctx.lookup("jdbc/TSPAGE");
    con = ds.getConnection();
    return con;
    }catch(Exception e){
    return null;
    You can place the above class file in src folder and you can use this class in webdynpro.
    You can have another UserInfo class for reading and writing the data into the DB .
    Regards, Anilkumar
    PS : Refer
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/java/simple java bean generator for database.pdf
    Message was edited by: Anilkumar Vippagunta

  • Context Mapping and data binding

    Hi,
    Please explain about the context mapping and data dinding
    and also differences
    Thank's & Regard's.
    Sri

    Hi Sridevi Sudunaguntla ,
    context mapping-> means mapping between different contexts
    ie suppose if we are creating a node in the component controllet and if we want to use that node in view a and view b, then  we have to map this node from component controller to the required view.. this mapping of context nodes is called context mapping..for context mapping, create nodes in compcontroller.. tehn go to view-> context-> tehn drag and drop required node from component controller to the view ..
    data binding-> means binding the data from nopde to the ui elements or viceversa... after the nodes are created in indudual views or after context mapping.. we have to bind these nodes to the ui elements... suppose we have an input field and we want to read that,, so we have to bind the input field to an attribute in the node.. this binding is called.. data binding.
    Regards
    Sarath

  • Report data binding error unknown column name

    Hi,
    I am having a problem with the new 7.02 update of Report
    Builder. The issue is it's not finding my SQL query.
    I have wrote my query initally in the advance mode, and it
    doesn't seem to reconize it. Is there an issue with this?
    I did manage to fix one of my reports by using the basic mode
    and selecting all my tables and seting my linkage and criteria.
    I have other computers that i have not updated to 7.02 and
    they do not have this issue. Below is the error:
    Error Occurred While Processing Request
    Report data binding error Unknown column name : work_phone.
    Please try the following:
    Check the ColdFusion documentation to verify that you are
    using the correct syntax.
    Search the Knowledge Base to find a solution to your problem.
    Browser Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;
    .NET CLR 1.1.4322; .NET CLR 2.0.50727)
    Remote Address 127.0.0.1
    Referrer
    Date/Time 13-Jul-06 02:33 PM
    Stack Trace (click to expand)
    coldfusion.runtime.report.Report$ReportDataBindingException:
    Report data binding error Unknown column name : work_phone.
    at
    coldfusion.runtime.report.Report.runReport(Report.java:420)
    at
    coldfusion.filter.ComponentFilter.invoke(ComponentFilter.java:96)
    at
    coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:225)
    at
    coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:52)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
    at
    coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:69)
    at
    coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
    at
    coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at
    coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at
    coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:106)
    at coldfusion.xml.rpc.CFCServlet.doGet(CFCServlet.java:157)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at
    org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
    at
    jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at
    jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at
    jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257)
    at
    jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:527)
    at
    jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:204)
    at
    jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:349)
    at
    jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:457)
    at
    jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:295)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
    This report works in 7.01. So all query variables match with
    a variable in the SQL select statement.
    Anyone have any Ideas??
    Thanks,
    Daniel

    Thank you very much for help.
    The "Unknown column name " is a field still used in my
    report, so I can't remove it.
    After I clear the query in the report and reopen the report
    and apply the same query back to it, I get different error message:
    Element TASKNUM is undefined in QUERY.
    The error occurred in : line 1
    -1 : Unable to display error's location in a CFML template.
    I know for sure this "Element TASKNUM is undefined in QUERY."
    is defined in query. each time it complains something different. I
    get really confused.
    Thanks again.
    Yueming

  • The data binding isn't working, what have I done wrong?

    I'm writing a very simple WPF app, one view. I've got a few models defined for the small handful of tables this app works with. I'm making some sort of boneheaded mistake, but I can't see what it is. I'm trying to bind to a property of one of the model
    classes I've define, to a textbox in a stackpanel. Here's the XAML:
    <StackPanel Orientation="Horizontal" Margin="0, 5" DataContext="{Binding cvsSpecMapping}">
    <TextBlock Margin="10,0,5,0">Specimen Mapping: </TextBlock>
    <TextBox x:Name="txtHl7SpecMap"
    Text="{Binding HL7SpecimenTypeName}"
    ToolTip="{Binding HL7SpecimenTypeName}"
    MinWidth="50"
    MaxWidth="100"
    MaxLength="250" />
    </StackPanel>
    Earlier in the same XAML file I've got the following collection view source defined in the windows' resources:
    <CollectionViewSource x:Key="cvsSpecMapping" />
    This isn't rocket science. Here's the model class definition. I'm removing all but the relevant property:
    using System;
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    namespace SpecMapException.Models
    * This class I am interested in knowing what properties change.
    * Also note that the properties in this class do NOT represent all of the properties
    * in the Prism.SpecimenMapping table. It only represents what this application has
    * to store.
    public class SpecimenMapping : INotifyPropertyChanged
    private const int MAX_HL7SPECIMENTYPENAME_LEN = 250;
    #region class properties
    private string _hl7SpecimenTypeName = "";
    public string HL7SpecimenTypeName
    get { return _hl7SpecimenTypeName; }
    set
    if (value != _hl7SpecimenTypeName)
    _hl7SpecimenTypeName = EnforceMaxLength(value, MAX_HL7SPECIMENTYPENAME_LEN);
    NotifyPropertyChanged();
    #endregion //class properties
    #region local routines
    private string EnforceMaxLength(string PassedValue, int MaxLength)
    if (PassedValue.Length <= MaxLength)
    return PassedValue;
    return PassedValue.Substring(0, MaxLength);
    #endregion
    #region PropertyChanged code
    * The usual property changed code.
    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
    if (PropertyChanged != null)
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    #endregion
    And lastly here's the relevant code which I've put into the windows Loaded event:
    Models.SpecimenMapping sm = null;
    private void Window_Loaded(object sender, RoutedEventArgs e)
    var cvsSpecMapNames = (CollectionViewSource)(this.FindResource("cvsSpecMapping"));
    cvsSpecMapNames.Source = sm;
    So what is the mistake that I've made? Why isn't the data binding to the textbox txtHl7SpecMap working?
    (I'm using VS 2013, .NET 4.5.)
    Rod

    cvsSpecMapping is a resource and not a property so you should set the DataContext using the StaticResource markup extension instead of Binding:
    <StackPanel Orientation="Horizontal" Margin="0, 5" DataContext="{StaticResource cvsSpecMapping}">
    Also, the Source property of a CollectionViewSource is supposed to be set to a collection:
    private void Window_Loaded(object sender, RoutedEventArgs e)
    sm = new Models.SpecimenMapping();
    var cvsSpecMapNames = (CollectionViewSource)(this.FindResource("cvsSpecMapping"));
    cvsSpecMapNames.Source = new List<Models.SpecimenMapping>() { sm };
    You may also want to set a default value of the HL7SpecimenTypeName property to confirm that the binding actually works after you have done the above changes:
    public class SpecimenMapping : INotifyPropertyChanged
    private const int MAX_HL7SPECIMENTYPENAME_LEN = 250;
    #region class properties
    private string _hl7SpecimenTypeName = "def....";
    public string HL7SpecimenTypeName
    get { return _hl7SpecimenTypeName; }
    set
    if (value != _hl7SpecimenTypeName)
    _hl7SpecimenTypeName = EnforceMaxLength(value, MAX_HL7SPECIMENTYPENAME_LEN);
    NotifyPropertyChanged();
    Hope that helps.
    Please remember to mark helpful posts as answer to close your thread and then start a new thread if you have a new question.

  • Report data binding error with date values

    I have CF7.02 with a Microsoft Visual FoxPro 9.0 SP1 Database
    that I connect to using ODBC (FoxPro Driver 6.01.8630.01). I send
    my sql results to a CF Report Builder 7.02 PDF report and it works
    fine. If I dump the date values before I change them, they look
    like the following: {ts '2004-12-20 00:00:00'} . However I have
    tried a number of ways of manipulating the date before sending it
    to the report, but I continue to get errors. I don't care what
    format they go to the report in, since the report reformats them
    anyway. I checked to make sure that none of the dates were null.
    For example <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDateTime(#ldCFPrcInputDate#) /> yields values in the
    {ts '2004-12-20 00:00:00'} format when I dump the query results to
    screen. Where:
    ldCFPrcInputDate = 12/20/2004
    CreateODBCDateTime(ldCFPrcInputDate) = {ts '2004-12-20
    00:00:00'}
    ReportQuery.PrcInputDate[lcCurRow] = {ts '2004-12-20
    00:00:00'}
    I get the error:
    Report data binding error Unable to get value for field
    'prcinputdate' of class 'java.util.Date'.
    coldfusion.runtime.OleDateTime -> Date
    Not using the CreateODBCDate function for example <cfset
    ReportQuery.PrcInputDate[lcCurRow] = #ldCFPrcInputDate# /> I
    get:
    Report data binding error Unable to get value for field
    'prcinputdate' of class 'java.util.Date'.
    java.lang.String -> Date
    Here are some of my failed attempts:
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDateTime(#ldCFPrcInputDate#) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    #ldCFPrcInputDate# />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    DateFormat(CreateODBCDate(#ldCFPrcInputDate#),'mm/dd/yyyy') />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate(DateFormat(#ldCFPrcInputDate#,'mm/dd/yyyy') />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate(DateFormat(#ldCFPrcInputDate#,'mm-dd-yyyy') />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    Trim(createODBCDateTime(ldtmpdate)) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate({05-07-2006}) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate('{05-07-2006}') />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate(05/07/2006) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate('05/07/2006')/>
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate(parseDateTime('05/07/2006')) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    parseDateTime(CreateODBCDateTime(05/07/2006)) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    parseDateTime(CreateODBCDateTime('#ldCFPrcInputDate#')) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] = '{05-07-2006}'
    />
    <cfset ReportQuery.PrcInputDate[lcCurRow] = '{05/07/2006}'
    />
    <cfset ReportQuery.PrcInputDate[lcCurRow] = '05/07/2006'
    />
    I also did some googling without success. Any help is
    appreciated.

    You may want to make sure that the column is not included in
    the query variable list in your report cfr file.
    The newest version of the Report Builder, which may be
    installed on the server, no longer tolerates vars appearing in that
    list of they are not in the query itselft.

  • User Report data bind variable problems

    Hello,
    I am trying to build a simple report in SQLDeveloper, using a DATE bind variable. But it fails with the error message:
    Inconsistent datatype, expected DATE got NUMBER
    SELECT * FROM FLOW_COMP_REC_SUMMARY_RU
    where create_date = trunc(:TARGET_DATE)
    and type = 'D'
    ORDER BY MESSAGE_FLOW_ID
    Running this query in SQLDeveloper worksheet executes properly after a dialog box pops up and I enter: current_date - 1
    SELECT * FROM FLOW_COMP_REC_SUMMARY_RU
    where create_date = trunc(&TARGET_DATE)
    and type = 'D'
    ORDER BY MESSAGE_FLOW_ID
    I've searched but no clear solutions present themselves. If you have one it would be most appreciated.
    Thanks

    You'll have to convert the input to date yourself:
    SELECT * FROM FLOW_COMP_REC_SUMMARY_RU
    where create_date = TO_DATE(:TARGET_DATE, 'DD/MM/YYYY')
    and type = 'D'
    ORDER BY MESSAGE_FLOW_ID
    Have fun,
    K.

Maybe you are looking for