Date comparison exception

Greetings, I've got an object like the following:
java.sql.Date fromDate;
java.sql.Date toDate;
direct-to-field mapped to an oracle table like:
FROM_DATE DATE
TO_DATE DATE
When I try to query using the following expression I get:
Expression exp = new ExpressionBuilder().get("toDate").
greaterThan(new ExpressionBuilder().get("fromDate));
//... query stuff.
6406 17 May 2004 09:38:24,157 ERROR (DataClientSession.java:334) Error performing query. Nested exception is:
EXCEPTION DESCRIPTION: The object [
Function operator - platform - 53
Query Key toDate
Base QUERY OBJECT], of class [class ...], could not be converted to [class java.sql.Date]. | mil.usmc.mol.common.utils.DataClientSession
LOCAL EXCEPTION STACK:
EXCEPTION [TOPLINK-3001] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.ConversionException
EXCEPTION DESCRIPTION: The object [
Function operator - platform - 53
Query Key toDate
Base QUERY OBJECT], of class [class ...], could not be converted to [class java.sql.Date].
     at oracle.toplink.exceptions.ConversionException.couldNotBeConverted(Unknown Source)
     at oracle.toplink.internal.helper.ConversionManager.convertObjectToDate(Unknown Source)
     at oracle.toplink.internal.helper.ConversionManager.convertObject(Unknown Source)
     at oracle.toplink.internal.databaseaccess.DatabasePlatform.convertObject(Unknown Source)
     at oracle.toplink.mappings.DirectToFieldMapping.getFieldValue(Unknown Source)
     at oracle.toplink.mappings.DirectToFieldMapping.getFieldValue(Unknown Source)
     at oracle.toplink.internal.expressions.QueryKeyExpression.getFieldValue(Unknown Source)
     at oracle.toplink.internal.expressions.ConstantExpression.printSQL(Unknown Source)
     at oracle.toplink.expressions.ExpressionOperator.printDuo(Unknown Source)
     at oracle.toplink.internal.expressions.CompoundExpression.printSQL(Unknown Source)
     at oracle.toplink.internal.expressions.RelationExpression.printSQL(Unknown Source)
     at oracle.toplink.expressions.ExpressionOperator.printDuo(Unknown Source)
     at oracle.toplink.internal.expressions.CompoundExpression.printSQL(Unknown Source)
     at oracle.toplink.expressions.ExpressionOperator.printDuo(Unknown Source)
     at oracle.toplink.internal.expressions.CompoundExpression.printSQL(Unknown Source)
     at oracle.toplink.internal.expressions.ExpressionSQLPrinter.translateExpression(Unknown Source)
     at oracle.toplink.internal.expressions.ExpressionSQLPrinter.printExpression(Unknown Source)
     at oracle.toplink.internal.expressions.SQLSelectStatement.printSQL(Unknown Source)
     at oracle.toplink.internal.expressions.SQLSelectStatement.buildCall(Unknown Source)
     at oracle.toplink.internal.queryframework.StatementQueryMechanism.setCallFromStatement(Unknown Source)
     at oracle.toplink.internal.queryframework.StatementQueryMechanism.prepareSelectAllRows(Unknown Source)
     at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.prepareSelectAllRows(Unknown Source)
     at oracle.toplink.queryframework.ReadAllQuery.prepareSelectAllRows(Unknown Source)
     at oracle.toplink.queryframework.ReadAllQuery.prepare(Unknown Source)
     at oracle.toplink.queryframework.DatabaseQuery.checkPrepare(Unknown Source)
     at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
     at oracle.toplink.queryframework.ReadQuery.execute(Unknown Source)
     at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
     at oracle.toplink.threetier.ServerSession.internalExecuteQuery(Unknown Source)
     at oracle.toplink.threetier.ClientSession.internalExecuteQuery(Unknown Source)
     at oracle.toplink.tools.profiler.PerformanceProfiler.profileExecutionOfQuery(Unknown Source)
     at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
     at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)...
What am I doing wrong?
thanks,

Hi Keith,
What was the problem in the end?
I have been using the following without problems:
ExpressionBuilder builder = new ExpressionBuilder();
Expression whereClause = builder.get("modifiedDate").greaterThan(builder.get("createdDate"));
I did notice that in the 9.0.4.1 release for toplink that it mentions:
OracleAS TopLink now maps the database types DATE and DATETIME to java.util.Calendar for descriptor generation. In previous versions, DATE and DATETIME types were mapped to java.sql.Date.

Similar Messages

  • OBIEE Date Comparison report with multiple measures

    Hello everyone...
    I have a requirement where I need to create a date comparison report (Current Month vs. Prior Month vs Prior Month Year Ago vs YTD vs Prior YTD vs Rolling 3 months, etc) with multiple Measures (Quote count, Quote offered count, New Business count, etc). I am to generate this report in this fashion:
    Quotes Current Month vs PM vs YoY Prior
    Month Current Month Prior Year Current
    YTD vs PM Prior
    YTD Rolling 3 Months vs PM Prior Rolling 3 Months
    Issued 120 120 123 1400 1020 1700 1580
    Unique Risks
    Offered 556 449 571 5881 6220 6101 5892
    Unique Risk Close Ratio
    Offered Close Ratio 21.6% 26.7% 21.5% 23.8% 16.4% 27.9% 26.8%
    Bitmap
    Avg Issued Premium 240 238 222 2801 2630 3104 2892
    Avg Offered Premium
    New Business
    Count
    Avg Full Term Premium
    I understand that time series is an option, and have created the time series (which show up as measures).
    My problem is:
    when creating the report (even as a pivot table) , OBIEE is not allowing me to drag the measure to rows, nor is it allowing me to drag the time series to columns. Also, I need to do conditional formating on some of the columns showing an up arrow for increased vs. prior month and down arrow for decreased vs. prior month.
    Does anyone have a solution for this issue? Any assistance would be greatly appreciated...
    Please advise and thanks!!!

    Jason,
        You've been very helpful, but I guess I'm just not explaining myself that well. The Credit Memo's throw things off because they do not contain a "Paid Date" value. That field in the record is blank. Since it is blank the report query ignores them. Therefore when the report query returns all records that have a "Paid date" range of "x to y" they are never returned. This is a problem whenever a credit memo exists for an invoice because the "invoice total" never changes. So when a customer pays on their account for a particular invoice, they only pay what is due which is the "invoice total" minus any "credit" from the "Credit Memo". So when my A/R person receives payment they are showing the invoice paid in full because MAS automatically includes all invoices and credit memo's. My report does not because there is no data in the "Paid Date" field of the record for Credit Memos.
    I've been doing alot research in trying to resolve this "exception" to my report. I think I may be on to something, but my knowledge of arrays is extremely limited. My resolution involves populating an array with the "invoice numbers" that are returned from the initial query from the supplied date range. Then using the "invoice numbers" from the array have it then populate my details section of the report with all of "invoice records" both the actual invoice record and any "credit memo" records. I can then group the records returned  based upon the "invoice number". then within that grouping I can performing my calculations to show whether or not the invoice has been paid in full. What do you think?  I've been able to populate an array with the invoice numbers based upon my date search range, but I have yet to figure out how to take that information and perform another lookup to pull in the rest of the data I need. Do you have any ideas?
    Thanks.  Bill

  • How to fetch NO DATA FOUND exception in Ref Cursor.

    In my procedure ref cursor is out parameter with returns dataset. in my proceudre
    its like...
    OPEN pPymtCur FOR
    select.....
    when I call this procedure from report to get dataset it causes NO DATA FOUND exception.
    How to fetch this exception in my oracle procedure so I can get some other data.
    Any Idea to do this?
    Edited by: Meghna on 17-Jun-2009 22:28

    Mass25 wrote:
    Correct me if I am wrong.
    So if I do something as follows in my stored proc, I do not have to check for NO_DATA_FOUND?
    OPEN my_CuRSR FOR
          SELECT DISTINCT blah blah blahmy_cursr is what I am returning as OUT param in my SP.Correct. At the point you open the cursor, oracle has not attempted any 'fetch' against the data so it won't know if there is any data or no data. that only occurs when a fetch is attempted.
    Take a read of this:
    [PL/SQL 101 : Understanding Ref Cursors|http://forums.oracle.com/forums/thread.jspa?threadID=886365&tstart=0]

  • IR report - No Data Found exception

    Hi,
    I have created one IR report in apex. I need to get the no data found exception on this report i.e. if user enters some search keywords and he is getting no data in that case want to store the searched keywords in the database for future reference that there is no data for such search criteria.
    Could anyone help me to catch the no data found exception and executing a pl-sql process for fetching the search criteria ?
    Thanks in advance!

    I have created an IR report based on collections. But still I am not able to understand where I can write a code for EXCEPTION NO_DATA_FOUND. The pl-sql code used to create a collection which we write in before header process and the actuall IR report which is build using SQL query on collection so where can I put the exception code?
    What I want is to catch no data found exception when user types something in IR report search bar and gets nothing as a search result. Can you please help me on this?
    Thanks,
    Punam

  • No Data Found Exception in bulk updates

    I am trying to catch no data found exception in bulk updates when it does not find a record to update in the forall loop.
    OPEN casualty;
    LOOP
    FETCH casulaty
    BULK COLLECT INTO v_cas,v_adj,v_nbr
    LIMIT 10000;
    FORALL i IN 1..v_cas.count
    UPDATE tpl_casualty
         set casualty_amt = (select amt from tpl_adjustment where cas_adj = v_adj(i))
         where cas_nbr = v_nbr(i);
    EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line('exception')
    I get this error at the line where i have exception:
    PLS-00103: Encountered the symbol "EXCEPTION" when expecting one of the following:
    begin case declare end exit for goto if loop mod null pragma
    raise return select update while with <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> <<
    close current delete fetch lock insert open rollback
    savepoint set sql execute commit forall merge pipe
    Can someone pls direct me on how to get around this?
    If I do not handle this exception, the script fails when it attempts to update a record that does not exist and the error says : no data found exception.
    Thanks for your help.
    Edited by: user8848256 on Nov 13, 2009 6:15 PM

    No Data Found isn't an exception raised when an UPDATE cannot find any records to process.
    SQL%ROWCOUNT can be used to determine the number of rows affected by an update statement, but if 0 rows are updated then no exception will be raised (it's just not how things work).
    If you post your actual CURSOR (casualty) declaration, it's quite possible we can help you create a single SQL statement to meet your requirement (a single SQL will be faster than your current implementation).
    Have you looked in to using the MERGE command?

  • No Data Found: Exception in SQL inside PL/SQL block

    Hi Friends
    I am trying to execute an SQL SELECT stmt inside a PL/SQL block. But when i execute the procedure, it gives me No Data Found Exception.
    I know it is because no row is fetched in the query, but the condition of the SELECT query i have specified is being satisfied, i have checked it by running it on the SQL prompt.
    But somehow, it is not running from inside the PL/SQL procedure.Can anybody help me out on this as to why is this happening?? I am giving my code for reference and have Highlighted the Query inside it:
    CREATE OR REPLACE procedure insert_sfdc_account
    as
    --DECLARE
    CURSOR C1 IS
    SELECT customer_code, name1, name2, name3, name4, phone_number, fax, web_address, industry_sector, customer_profile, customer_type,
    address, city, postal_code, country_key, zzcust_type, vat_code
    FROM load_cust_general
    WHERE account_group = 'ZSIT';
    v_cust_cur c1%ROWTYPE;
    -- type sales_tab is table of load_cust_sales_area%rowtype;
    v_sales_area load_cust_sales_area%ROWTYPE;
    -- v_sales_area sales_tab;
         v_salesorg varchar2(10);
         v_sales_district varchar2(10);
         v_salesoff varchar2(10);
         v_custgrp varchar2(10);
         v_salesgrp varchar2(10);
    v_type varchar2(20);
    v_nature varchar2(10);
    v_partner_code varchar2(10);
    v_parent_cust varchar2(20);
    v_credit_blk varchar2(20);
    BEGIN
    open c1;
    loop
    fetch c1 into v_cust_cur;
    exit when c1%NOTFOUND;
    for i in (SELECT customer_code, salesorg from load_cust_partner
    where customer_code = v_cust_cur.customer_code ) LOOP
    dbms_output.put_line(v_cust_cur.customer_code );
                        SELECT partner_code into v_partner_code from load_cust_partner
    where customer_code = i.customer_code and salesorg = i.salesorg and partner_function = 'Z1';
    dbms_output.put_line(v_partner_code||i.customer_code);
    SELECT salesorg, sales_district, salesoff, salesgrp, custgrp INTO v_salesorg, v_sales_district, v_salesoff, v_salesgrp, v_custgrp FROM load_cust_sales_area
              WHERE customer_code = i.customer_code and salesorg = i.salesorg;
                   dbms_output.put_line(v_salesorg||i.salesorg);
                        SELECT parent_customer INTO v_parent_cust from load_cust_hierarchy
    WHERE customer_code = i.customer_code and salesorg = i.salesorg and hierarchy_type = 'G'; dbms_output.put_line(v_parent_cust);
                        SELECT credit_block INTO v_credit_blk from load_cust_company_cod
              WHERE customer_code = i.customer_code;
    dbms_output.put_line(v_credit_blk);
    for j in (SELECT account_group, customer_type from load_cust_general
    where customer_code IN (select customer_code from load_cust_partner
                                  where partner_code = i.customer_code and salesorg = i.salesorg and partner_function = 'ZS'))
                                                      LOOP
    -- exit when j%NOTFOUND;
         dbms_output.put_line(j.account_group);
    if (j.account_group = 'ZDIS') THEN
    v_type := 'DISAC';
              v_nature := '06';
         --     EXIT ;
    else
    v_type := 'SPACC';
    v_nature := '01';
    END IF;
    dbms_output.put_line(v_type||' '||v_nature);
    END LOOP;
    INSERT INTO sfdc_account
              (SAP_ACCOUNT_ID__C, NAME, TYPE, RECORDTYPEID, PARENTID, PHONE, FAX, WEBSITE, OWNERID, MARKETING_DOMAIN__C,
    INDUSTRIAL_SECTOR__C, ABC_CLASSIFICATION__C, NAME_1__C, NAME_2__C, NAME_3__C, NAME_4__C, PAYMENT_STATUS__C,
    CUSTOMER_GROUP__C, ADDRESS_STREET__C, CITY__C, POSTAL_CODE__C, COUNTRY__C, SALES_OFFICE__C, SALESORG__C,
    SALESDISTRICT__C, SALESGROUP__C, NATURE__C, VATCODE__C)
    VALUES((i.customer_code||i.salesorg), (v_cust_cur.Name1||' '||v_cust_cur.name2), ' ', v_type, v_parent_cust,
    v_cust_cur.phone_number, v_cust_cur.fax, v_cust_cur.web_address, v_partner_code, SUBSTR(v_cust_cur.industry_sector,1,2),
    v_cust_cur.industry_sector, v_cust_cur.customer_profile, v_cust_cur.name1, v_cust_cur.name2, v_cust_cur.name3,
    v_cust_cur.name4, v_credit_blk, v_custgrp, v_cust_cur.address, v_cust_cur.city, v_cust_cur.postal_code,
    v_cust_cur.country_key, v_salesoff, v_salesorg, v_sales_district,
    v_salesgrp, v_nature, v_cust_cur.vat_code);
    end loop;
    end loop;
    CLOSE c1;
    -- Delete data from Load Table
    -- EXECUTE IMMEDIATE 'TRUNCATE TABLE load_cust_general';
    /* truncate table load_cust_partner;
    truncate table load_cust_hierarhy;
    truncate table load_cust_sales_area;
    truncate table load_cust_company_cod;
    commit;
    exception
    when others then
    raise_application_error( -20001, substr( sqlerrm, 1, 150 ) );
    END;
    Kindly Help.....
    Thanks and Regards

    Create the procedure again and execute it in SQL*Plus environment and paste the output:
    CREATE OR REPLACE procedure insert_sfdc_account
    as
    --DECLARE
    CURSOR C1 IS
    SELECT customer_code, name1, name2, name3, name4, phone_number, fax, web_address, industry_sector, customer_profile, customer_type,
    address, city, postal_code, country_key, zzcust_type, vat_code
    FROM load_cust_general
    WHERE account_group = 'ZSIT';
    v_cust_cur c1%ROWTYPE;
    -- type sales_tab is table of load_cust_sales_area%rowtype;
    v_sales_area load_cust_sales_area%ROWTYPE;
    -- v_sales_area sales_tab;
    v_salesorg varchar2(10);
    v_sales_district varchar2(10);
    v_salesoff varchar2(10);
    v_custgrp varchar2(10);
    v_salesgrp varchar2(10);
    v_type varchar2(20);
    v_nature varchar2(10);
    v_partner_code varchar2(10);
    v_parent_cust varchar2(20);
    v_credit_blk varchar2(20);
    BEGIN
    open c1;
    loop
    fetch c1 into v_cust_cur;
    exit when c1%NOTFOUND;
    for i in (SELECT customer_code, salesorg from load_cust_partner
    where customer_code = v_cust_cur.customer_code ) LOOP
    SELECT partner_code into v_partner_code from load_cust_partner
    where customer_code = i.customer_code and salesorg = i.salesorg and partner_function = 'Z1';
    SELECT salesorg, sales_district, salesoff, salesgrp, custgrp INTO v_salesorg, v_sales_district, v_salesoff, v_salesgrp, v_custgrp FROM load_cust_sales_area
    WHERE customer_code = i.customer_code and salesorg = i.salesorg;
    dbms_output.put_line('Customer_Code : '|| i.customer_code);
    dbms_output.put_line('SalesOrg : '|| i.salesorg);
    SELECT parent_customer INTO v_parent_cust from load_cust_hierarchy
    WHERE customer_code = i.customer_code and salesorg = i.salesorg and hierarchy_type = 'G';
    dbms_output.put_line('Successfully Executed SQL st. Error is somewhere else');
    SELECT credit_block INTO v_credit_blk from load_cust_company_cod
    WHERE customer_code = i.customer_code;
    for j in (SELECT account_group, customer_type from load_cust_general
    where customer_code IN (select customer_code from load_cust_partner
    where partner_code = i.customer_code and salesorg = i.salesorg and partner_function = 'ZS'))
    LOOP
    -- exit when j%NOTFOUND;
    if (j.account_group = 'ZDIS') THEN
    v_type := 'DISAC';
    v_nature := '06';
    -- EXIT ;
    else
    v_type := 'SPACC';
    v_nature := '01';
    END IF;
    END LOOP;
    INSERT INTO sfdc_account
    (SAP_ACCOUNT_ID__C, NAME, TYPE, RECORDTYPEID, PARENTID, PHONE, FAX, WEBSITE, OWNERID, MARKETING_DOMAIN__C,
    INDUSTRIAL_SECTOR__C, ABC_CLASSIFICATION__C, NAME_1__C, NAME_2__C, NAME_3__C, NAME_4__C, PAYMENT_STATUS__C,
    CUSTOMER_GROUP__C, ADDRESS_STREET__C, CITY__C, POSTAL_CODE__C, COUNTRY__C, SALES_OFFICE__C, SALESORG__C,
    SALESDISTRICT__C, SALESGROUP__C, NATURE__C, VATCODE__C)
    VALUES((i.customer_code||i.salesorg), (v_cust_cur.Name1||' '||v_cust_cur.name2), ' ', v_type, v_parent_cust,
    v_cust_cur.phone_number, v_cust_cur.fax, v_cust_cur.web_address, v_partner_code, SUBSTR(v_cust_cur.industry_sector,1,2),
    v_cust_cur.industry_sector, v_cust_cur.customer_profile, v_cust_cur.name1, v_cust_cur.name2, v_cust_cur.name3,
    v_cust_cur.name4, v_credit_blk, v_custgrp, v_cust_cur.address, v_cust_cur.city, v_cust_cur.postal_code,
    v_cust_cur.country_key, v_salesoff, v_salesorg, v_sales_district,
    v_salesgrp, v_nature, v_cust_cur.vat_code);
    end loop;
    end loop;
    CLOSE c1;
    -- Delete data from Load Table
    -- EXECUTE IMMEDIATE 'TRUNCATE TABLE load_cust_general';
    /* truncate table load_cust_partner;
    truncate table load_cust_hierarhy;
    truncate table load_cust_sales_area;
    truncate table load_cust_company_cod;
    commit;
    exception
    when others then
    raise_application_error( -20001, substr( sqlerrm, 1, 150 ) );
    END;
    SQL> set serveroutput on
    SQL> exec insert_sfdc_account;

  • Report customer master data comparison

    Hello Experts,
    Using transaction SE38, we would like to run report customer master data comparison. Could anyone provide the report name?
    Thank you

    Hi Thanks.
    Can you provide report used for sales summary?
    Thanks again

  • Idoc data  comparison between different R/3 clients.

    Hi ppl ,
    Is there a way idoc comparison can be done between different clients without going
    by Segment by Segment comparison ?
    I have a requirement wherein i have thousands of idocs in QA system and i need to
    compare those with the ones in PROD system. The segments in the idocs may vary
    depending on the data that flows from the third party system which will post idocs in R/3.
    So, the segment wise comparison of data is also ruled out .
    Do we have any standard reports which will help in achieving this purpose ?
    Please let me know how the idoc data comparison can be carried out .
    Regards,
    Nick.

    Hi Nick,
    There is no standared tools available for comparing the data of two idocs.
    By using beyond compare s/w you can check the data, but the thing is you have to download the idoc data to file format.
    By using Idoc_xml_transform function module you can download idoc data to xml format, after you can compare.
    Check this
    http://download.cnet.com/Beyond-Compare/3000-2242_4-10015731.html
    Regards
    Ramesh

  • Time "and" Date Comparison

    Hi,
    I am trying to get the difference between two sets of time.
    This also involves a Date comparison because sometimes the times span more than one day.
    Here is an example of what I'm trying to accomplish. I have searched the forum archives but have not yet found time and date comparisons together.
    startRun = "10/26/01 4:30 PM";
    endRun = "10/27/01 7:45PM";
    I want to process these two times and get the difference.
    The result would be:
    totalRunTime = "27 hours 15 minutes";
    I am stumped. Is this type of process even possible? Any help would be grealty appreciated.
    Best,
    Christian Velez
    Senior Software Engineer
    Research Institute of America, Inc.
    [email protected]

    try this ...
            String startRun = "10/26/01 4:30PM";
            String endRun = "10/27/01 7:45PM";
            SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mma");
            try {
                Date startDate = sdf.parse(startRun);
                Date endDate = sdf.parse(endRun);
                System.out.println("Start date/time = " + startDate);
                System.out.println("End   date/time = " + endDate);
                long differenceInMillis = endDate.getTime() - startDate.getTime();
                long differenceInSecs = differenceInMillis / (1000);
                long differenceInMins = differenceInMillis / (1000 * 60);
                long differenceInHours = differenceInMillis / (1000 * 60 * 60);
                System.out.println("Millis = " + differenceInMillis);
                System.out.println("Seconds = " + differenceInSecs);
                System.out.println("Minutes = " + differenceInMins);
                System.out.println("Hours   = " + differenceInHours);
                //What you want
                System.out.println("Total run time = "
                    + differenceInHours + " hours "
                    + (differenceInMins % 60) + " minutes");
            } catch (ParseException pe) {
            }

  • Data comparisons and movements

    I have a Heap Sort using the following code, and I cannot seem to figure out how many data comparisons and data movements there are as the heap is sorted. Does anybody know how to count the number of comparisons and movements?? Please let me know....much appreciated...Thanks :)
    import java.io.IOException;
    import java.util.*; // Calender Class for timing
    public class Heap {
    private MyNode[] heapArray;
    private int maxSize;
    private int currentSize; // number of items in array
    public Heap(int mx) {
    maxSize = mx;
    currentSize = 0;
    heapArray = new MyNode[maxSize];
    public MyNode remove()
    MyNode root = heapArray[0];
    heapArray[0] = heapArray[--currentSize];
    trickleDown(0);
    return root;
    public void trickleDown(int index) {
    int largerChild;
    MyNode top = heapArray[index];
    while (index < currentSize / 2)
    int leftChild = 2 * index + 1;
    int rightChild = leftChild + 1;
    // find larger child
    if (rightChild < currentSize
    heapArray[leftChild].getKey() < heapArray[rightChild]
    .getKey())
    largerChild = rightChild;
    else
    largerChild = leftChild;
    if (top.getKey() >= heapArray[largerChild].getKey())
    break;
    heapArray[index] = heapArray[largerChild];
    index = largerChild;
    heapArray[index] = top;
    public void displayHeap() {
    int nBlanks = 32;
    int itemsPerRow = 1;
    int column = 0;
    int currentIndex = 0;
    while (currentSize > 0)
    if (column == 0)
    for (int k = 0; k < nBlanks; k++)
    System.out.print(' ');
    System.out.print(heapArray[currentIndex].getKey());
    if (++currentIndex == currentSize) // done?
    break;
    if (++column == itemsPerRow) // end of row?
    nBlanks /= 2;
    itemsPerRow *= 2;
    column = 0;
    System.out.println();
    else
    for (int k = 0; k < nBlanks * 2 - 2; k++)
    System.out.print(' '); // interim blanks
    public void displayArray() {
    for (int j = 0; j < maxSize; j++)
    System.out.print(heapArray[j].getKey() + " ");
    System.out.println("");
    public void insertAt(int index, MyNode newNode) {
    heapArray[index] = newNode;
    public void incrementSize() {
    currentSize++;
    public static void main(String[] args) throws IOException {
    int size, i;
    size = 500;
    Heap theHeap = new Heap(size);
    for (i = 0; i < size; i++) {
    int random = (int) (java.lang.Math.random() * 5000);
    MyNode newNode = new MyNode(random);
    theHeap.insertAt(i, newNode);
    theHeap.incrementSize();
    System.out.println(size+" random numbers are currently being generated...");
    for (i = size / 2 - 1; i >= 0; i--)
    theHeap.trickleDown(i); // creates the heap
    System.out.print("\nRandom Numbers in a Heap: ");
    theHeap.displayArray(); // prints the heap
    long time1000start = new Date().getTime() ; // this makes a new Date object and then sets the long integer value of the Date object
    // ******************* START - sorting numbers *******************
    for (i = size - 1; i >= 0; i--)
    MyNode biggestNode = theHeap.remove();
    theHeap.insertAt(i, biggestNode);
    // ******************* END - sorting numbers *******************
    long time1000end = new Date().getTime() ; // this makes a new Date object and then sets the long integer value of the Date object
    double timediff1000m = (time1000end - time1000start); // difference of time in milliseconds
    double timediff1000s = ((time1000end - time1000start) / 1000); // difference of time in seconds
    System.out.print("\nRandom Numbers in a Sort: ");
    theHeap.displayArray(); // prints the numbers in increasing order
    System.out.print("\nStart Time of Sort: "+time1000start);
    System.out.print("\nEnd Time of Sort: "+time1000end);
    System.out.print("\nTime to Complete Sort: "+timediff1000m+" milliseconds or "+timediff1000s+" seconds.");
    } // end main method
    } // END project :)

    I never miss class....my instructor gave us the assignment of making a heap sort and he told us to use code off the internet as a resource because the only sorting we have done so far is bubble.....this was a research project, for my instructor to see if we can use the internet as an effective resource to put together a program and learn about a differnet type of sorting.....everyone in the class got a different type of sort (merge, quick, insertion, etc...). i have put the program together and customized it to my needs based on my knowledge.....the last thing i am having trouble with is my counting of comparisons and data movements. Can you please help me finish up my program.

  • Question on How to Use LI and NP Data Comparison Report

    Hi,
    We are trying to figure out how to make the Transaction Code PC00_M42_LLPD (LI and NP Data Comparison Report) work. What file type (.xls, .txt, etc) should be used?  Anyone who is familiar with the transaction, please help.
    Best Regards,
    Bry

    Somewhere in the Oracle 8.0 documentation it is stated that one
    enviroment per each thread is required if I want to ensure
    complete concurrency of different threads accessing databases.
    But isn't this a waste of resources since only Handle Alloc &
    Free functions use Enviroment handle, hence they should be
    mutexed for access from concurrent threads.
    But the most time-consuming functions are ServerAttach &
    SessionBegin which shouldn't be mutexed since they have each
    their own Server/Session handle.
    So my question is if a single OCI Enviroment is enough for the
    most demanding tasks or should I create one enviroment per
    thread?
    Most folks are happy with a single environment. The mutex on the
    env handle is only taken when the OCI library is allocating some
    memory for internal operations.
    Tomislav.

  • How to limit ALL data transmission except for WhatsApp in Z10?

    Hello, My prepaid carrier allows me to use WhatsApp with no data limits, so I want to use data packs for WhatsApp and WhatsApp ONLY, is there a way to block ALL data transmission except for that used by Whats App?
    To clarify more: my carrier debits my balance if I use voice OR data, it is not a matter of buying data packs, or limiting them, the actual limit is my balance.
    The reason I am asking this is because my balance reduces little by little EVEN if I am not using WhatsApp (turned off or better said terminated from the apps manager), it is like some other applications (or even the OS) are checkin for updates or sending/receiving data in the background.
    Thanks for any help you can provide me with.

    batibreaker wrote:
    Thank you for your advise,
    I have done all you mentioned, but there is something missing in the options I am presented with: After checking App Manager, Device Monitor, I can't find Mobile Data Usage, I only have Battery, CPU, Memory and Storage.
    'Data Usage' is available with latest OS update.
    You can limit data for email accounts - Edit account - Roaming data control, Mobile data control and wifi data control - limits can be set from 5k up or to 'headers only'.
    As long as you aren't syncing files, I wouldn't worry about other settings, apps will only use data when opened.

  • Date comparison in scripts

    Hi all,
    /: If &vbrk-fkdat& <  '31.12.2006'.
    /:    include my_logo.
    /: else.
    /:    include your_logo.
    /: endif.
    I want to compare dates in scripts text element. how to do.
    the &vbrk-fkdat& is holding 19.06.2006. and showing 'your_logo' but i need 'my_logo'.
    Please find out is there any mistake in dates comparison. or let me know how compare dates
    Helpful answeres are surely rewarded.

    Hi all,
    Thanks for your suggestions.
    the solution is
    /: define &dates& = '31.12.2006'.
    /: SET DATE MASK = 'YYYYMMDD'.
    /: If &vbrk-fkdat& < &dates&.
    /: include my_logo.
    /: else.
    /: include your_logo.
    /: endif.
    /: SET DATE MASK = ''. -
    > to reset date mask

  • Date Comparison Error

    I have a database column named lastname this has text data entered in form of: 05/15/2010  and so on.  ---long story on why text field and not date....
    My code is as follows:
    select b.lastname as sale_date, c.combined_legal as legal_address
      from anthem_prod_usr.opr_logi_documents      a
      ,    anthem_prod_usr.opr_parties             b
      ,    anthem_prod_usr.opr_legal_headers       c
      ,    anthem_prod_usr.image_references        f
      ,    prod_pa.valid_dates                     g
    where a.instrument_number = b.instrument_number
       and a.multi_seq = b.multi_seq
       and b.name_type = 'E'
       and b.lastname like ('__/__/____')
       and a.instrument_number = c.instrument_number
       and c.multi_seq = c.multi_seq
       and trunc(to_date(b.lastname,'mm/dd/yyyy')) between trunc(to_date('07/10/2010','mm/dd/yyyy')) and trunc(to_date('08/01/2010','mm/dd/yyyy'))
       and f.content_type_id = 'PUBLIC'
       and a.document_type = 'FORECLOSURE'
    Error I receive is:
    ORA-01843: not a valid month
    01843. 00000 -  "not a valid month"
    *Cause:   
    *Action:
    Using trunc function, I thought I was trimming time off to do only date comparison.  Not sure why this error occurs.

    Hi,
    This shows one of the many reasons why storing date information in VARCHAR2 columns is such a bad idea.
    TRUNC is irrelevant here.  The error occurs in TO_DATE.  You're doing TRUNC on the results of TO_DATE, so nothing you do with TRUNC will affect the error.
    You must have some bad data in the column.  If you can't actually clean up the table, then you have to detect the bad data before attempting TO_DATE.
    Remember, the optimizer decides which conditions in the WHERE clause will be done first.  There's no guarantee that
    and b.lastname like ('__/__/____')
    will be applied before TO_DATE.  Even if it is, the condition above is just testing that the string is the right length and has slashes in the right places.  It's checking that (for example) the month is between '01' and '12', or even if the month is numbers.  The string '//////FOO/' meets the condition above.
    See https://forums.oracle.com/message/4255051 for validating date information in SQL.
    If you need help, post a complete test case that people can run to re-create the problem and test their ideas.  Include CREATE TABLE and INSERT statements for any tables needed. Also post the results you want from that sample data given.
    Simplify the problem as much as possible.  Remove any tables or conditions or anything else that isn't related to the problem.
    See the forum FAQ https://forums.oracle.com/message/9362002#9362002

  • Oracle DB schema and data comparison tools that compare BLOBs

    I'm looking for schema and data comparison tool like DBDiff or DbTools, but it has to be able to compare BLOB and CLOB fields. I went thru few products available on the market but could not find any that does that.
    Can you please recommend tool that will help me with it.
    Thanks,
    E

    Hi.
    I use Comparenicus for Oracle from Orbium Software. It compares data and schema, CLOBs, BLOBs..
    It can also handle large tables which is very useful for some of my environments.
    Last (but not least) it has a unique feature for copying selective data from one DB to another. You can read about it this post:
    Efficient way to copy business data from Production DB to Test DB
    Enjoy..

Maybe you are looking for

  • IMessage not sending messages on iPhone 5

    New iPhone 5 has been having all kinds of problems with messages.  Phone is set to use iMessage and some are delayed for DAYS before arriving.  When someone tries to send and iMessage, it will generally get stuck at Sending.  Outgoing iMessages say d

  • 2Gb Memory Modules - Power Mac G5?

    New here, but a returning Mac user.... at last.... Just got hold of an older (early 2005) G5 Power Mac (Dual 2.7Ghz). Can anyone tell me if it's OK to upgrade the memory using 2Gb memory modules (assuming of course I have matching pairs, and don't ex

  • T530 resolution, 1900x1080 vs 1600 x 900

    hello all! i was looking at the 2  models given for the T530 2012 edition. i saw that the cheaper one had an hd 1900x1080 resolution while the other had a HD+ 1600x900 resolution. my question is, which screen is better? what does hd + mean? and why w

  • Using Wildcards during Text indexing

    Hello all, Can you use a wild card during an indexing? Like can I tell Text to index all files in all directories after /www/docs/root ?? Can this be used with the FILE_DATASTORE variable? Thanks!! -garrett

  • Any idea how to unpair a remote in 10.8?

    The new security pane in System Preferences has changed in Mountain Lion. I am trying to unpair a remote on my macbook pro retina running 10.8. I don't want my apple TV remote affecting it every time i press a button.