How to compare to query definitions ?

Hello community of experts,
Does anyone know how to compare two query definitions without looking at either the query builder or query results?  
I want to prove that two queries are identical only by looking at the BW system itself.
BACKGROUND
  For `certifying` queries that were developed directly in production we have the practice of transporting queries backwards to development, renaming them to a new namespace, and then transporting them forward  to production again.
The queries that were transported up from the dev system cannot be changed in the prod system (except by another transport, and this makes those queries `certified`).
My goal is to automate the proof, making it easier to create the test documents required for transporting out of development again.
If we can proove that the query being transported out has the same query definition as the query the user wrote in production, then life will be a lot easier. 
The query definitions are complex, which means eyeballing the query builder isn't reliable.  And often the DEV & QA systems don't have the data needed for comparing the query results.
Thanks for your help!
Keith

I used the following:
rszcomdir
rsrrepdir
rszeltxref
rszeltdir
rszelttxt
rszcel
rszcalc
rszselect
rszrange
rszopratxt
the SAP transaction uses function module RSZ_DB_ELT_GET (it might already be available in 3.5... but then again, it might not)
good luck!

Similar Messages

  • How to compare the query definiation of two or more queries?

    HI Folks.
    I am attempting to determine if there is a method by which I can compare query definination of two or more queries or shows me the differences between queries. 
    Transaction RSRTQ only give the query details of single query at a time and doesnot do a comparison.
    Please let me know a method to undertake this?
    Thanks
    Uday

    There is no straight way of doing this:
    I normally open the definitions in 2 sessions and compare them manually.
    Hope this helps

  • How to compare char and numc in select query

    Hi  Experts,
    I am using For all entries  to combine two tables.
    I want to fetch the data from these tables.
    The field in one table char, and in another the field is numc.
    1st Query from table BDCP2  and get the tabkey value is like (2000000000000000000086200000000000000000000)
    2nd query     For all entries found,
    query table ESTMJ with the following parameter.
         ESTMJ-RECN = BDCP2-TABKEY+3(20)
    1.TABKEY         CHAR     254
    2.RECN         NUMC     20     
    How to compare these two ?
    Regards,
    Bindhu Priya.

    for  two fields numc & char , please check out their Conversion routine in their respective Database table.
    1st in SE11-> enter table names in different sessions. and check out the data domain used by this fields
    In their respective domains of fields, click on tab 'DEFINITIONS', then check out the conversion routines in Output Characteristics of the Data Domain of field
    From my point of view, both the Conversion routines should be the same.
    If Conversion Routines are not there, then insert suitable Conversion routine for both the fields domain
    For help for for conversion routines:
    conversion routine
    http://help.sap.com/saphelp_46c/helpdata/en/cf/21ee19446011d189700000e8322d00/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/35/26b217afab52b9e10000009b38f974/content.htm
    http://abaplovers.blogspot.com/2008/03/conversion-routines-in-sap.html
    hope this solution could solve your issue..
    <begging removed by moderator>
    Gaur Mayank
    Edited by: Gaur Mayank on Nov 5, 2011 10:40 AM
    Edited by: Thomas Zloch on Nov 6, 2011 3:59 PM

  • How to compare result from sql query with data writen in html input tag?

    how to compare result
    from sql query with data
    writen in html input tag?
    I need to compare
    user and password in html form
    with all user and password in database
    how to do this?
    or put the resulr from sql query
    in array
    please help me?

    Hi dejani
    first get the user name and password enter by the user
    using
    String sUsername=request.getParameter("name of the textfield");
    String sPassword=request.getParameter("name of the textfield");
    after executeQuery() statement
    int exist=0;
    while(rs.next())
    String sUserId= rs.getString("username");
    String sPass_wd= rs.getString("password");
    if(sUserId.equals(sUsername) && sPass_wd.equals(sPassword))
    exist=1;
    if(exist==1)
    out.println("user exist");
    else
    out.println("not exist");

  • How to compare same SQL query performance in different DB servers.

    We have Production and Validation Environment of Oracle11g DB on two Solaris OSs.
    H/W and DB,etc configurations of two Oracle DBs are almost same in PROD and VAL.
    But we detected large SQL query performace difference in PROD DB and VAL DB in same SQL query.
    I would like to find and solve the cause of this situation.
    How could I do that ?
    I plan to compare SQL execution plan in PROD and VAL DB and index fragmentations.
    Before that I thought I need to keep same condition of DB statistics information in PROD and VAL DB.
    So, I plan to execute alter system FLUSH BUFFER_CACHE;
    But I am worring about bad effects of alter system FLUSH BUFFER_CACHE; to end users
    If we did alter system FLUSH BUFFER_CACHE; and got execution plan of that SQL query in the time end users do not use that system ,
    there is not large bad effect to end users after those operations?
    Could you please let me know the recomendation to compare SQL query performace ?

    Thank you.
    I got AWR report for only VAL DB server but it looks strange.
    Is there any thing wrong in DB or how to get AWR report ?
    Host Name
    Platform
    CPUs
    Cores
    Sockets
    Memory (GB)
    xxxx
    Solaris[tm] OE (64-bit)
    .00
    Snap Id
    Snap Time
    Sessions
    Cursors/Session
    Begin Snap:
    xxxx
    13-Apr-15 04:00:04
    End Snap:
    xxxx
    14-Apr-15 04:00:22
    Elapsed:
    1,440.30 (mins)
    DB Time:
    0.00 (mins)
    Report Summary
    Cache Sizes
    Begin
    End
    Buffer Cache:
    M
    M
    Std Block Size:
    K
    Shared Pool Size:
    0M
    0M
    Log Buffer:
    K
    Load Profile
    Per Second
    Per Transaction
    Per Exec
    Per Call
    DB Time(s):
    0.0
    0.0
    0.00
    0.00
    DB CPU(s):
    0.0
    0.0
    0.00
    0.00
    Redo size:
    Logical reads:
    0.0
    1.0
    Block changes:
    0.0
    1.0
    Physical reads:
    0.0
    1.0
    Physical writes:
    0.0
    1.0
    User calls:
    0.0
    1.0
    Parses:
    0.0
    1.0
    Hard parses:
    W/A MB processed:
    16.7
    1,442,472.0
    Logons:
    Executes:
    0.0
    1.0
    Rollbacks:
    Transactions:
    0.0
    Instance Efficiency Percentages (Target 100%)
    Buffer Nowait %:
    Redo NoWait %:
    Buffer Hit %:
    In-memory Sort %:
    Library Hit %:
    96.69
    Soft Parse %:
    Execute to Parse %:
    0.00
    Latch Hit %:
    Parse CPU to Parse Elapsd %:
    % Non-Parse CPU:
    Shared Pool Statistics
    Begin
    End
    Memory Usage %:
    % SQL with executions>1:
    34.82
    48.31
    % Memory for SQL w/exec>1:
    63.66
    73.05
    Top 5 Timed Foreground Events
    Event
    Waits
    Time(s)
    Avg wait (ms)
    % DB time
    Wait Class
    DB CPU
    0
    100.00
    Host CPU (CPUs: Cores: Sockets: )
    Load Average Begin
    Load Average End
    %User
    %System
    %WIO
    %Idle
    Instance CPU
    %Total CPU
    %Busy CPU
    %DB time waiting for CPU (Resource Manager)
    Memory Statistics
    Begin
    End
    Host Mem (MB):
    SGA use (MB):
    46,336.0
    46,336.0
    PGA use (MB):
    713.6
    662.6
    % Host Mem used for SGA+PGA:
    Time Model Statistics
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Operating System Statistics
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Operating System Statistics - Detail
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Foreground Wait Class
    s - second, ms - millisecond - 1000th of a second
    ordered by wait time desc, waits desc
    %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
    Captured Time accounts for % of Total DB time .00 (s)
    Total FG Wait Time: (s) DB CPU time: .00 (s)
    Wait Class
    Waits
    %Time -outs
    Total Wait Time (s)
    Avg wait (ms)
    %DB time
    DB CPU
    0
    100.00
    Back to Wait Events Statistics
    Back to Top
    Foreground Wait Events
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Background Wait Events
    ordered by wait time desc, waits desc (idle events last)
    Only events with Total Wait Time (s) >= .001 are shown
    %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
    Event
    Waits
    %Time -outs
    Total Wait Time (s)
    Avg wait (ms)
    Waits /txn
    % bg time
    log file parallel write
    527,034
    0
    2,209
    4
    527,034.00
    db file parallel write
    381,966
    0
    249
    1
    381,966.00
    os thread startup
    2,650
    0
    151
    57
    2,650.00
    latch: messages
    125,526
    0
    89
    1
    125,526.00
    control file sequential read
    148,662
    0
    54
    0
    148,662.00
    control file parallel write
    41,935
    0
    28
    1
    41,935.00
    Log archive I/O
    5,070
    0
    14
    3
    5,070.00
    Disk file operations I/O
    8,091
    0
    10
    1
    8,091.00
    log file sequential read
    3,024
    0
    6
    2
    3,024.00
    db file sequential read
    1,299
    0
    2
    2
    1,299.00
    latch: shared pool
    722
    0
    1
    1
    722.00
    enq: CF - contention
    4
    0
    1
    208
    4.00
    reliable message
    1,316
    0
    1
    1
    1,316.00
    log file sync
    71
    0
    1
    9
    71.00
    enq: CR - block range reuse ckpt
    36
    0
    0
    13
    36.00
    enq: JS - queue lock
    459
    0
    0
    1
    459.00
    log file single write
    414
    0
    0
    1
    414.00
    enq: PR - contention
    5
    0
    0
    57
    5.00
    asynch descriptor resize
    67,076
    100
    0
    0
    67,076.00
    LGWR wait for redo copy
    5,184
    0
    0
    0
    5,184.00
    rdbms ipc reply
    1,234
    0
    0
    0
    1,234.00
    ADR block file read
    384
    0
    0
    0
    384.00
    SQL*Net message to client
    189,490
    0
    0
    0
    189,490.00
    latch free
    559
    0
    0
    0
    559.00
    db file scattered read
    17
    0
    0
    6
    17.00
    resmgr:internal state change
    1
    100
    0
    100
    1.00
    direct path read
    301
    0
    0
    0
    301.00
    enq: RO - fast object reuse
    35
    0
    0
    2
    35.00
    direct path write
    122
    0
    0
    1
    122.00
    latch: cache buffers chains
    260
    0
    0
    0
    260.00
    db file parallel read
    1
    0
    0
    41
    1.00
    ADR file lock
    144
    0
    0
    0
    144.00
    latch: redo writing
    55
    0
    0
    1
    55.00
    ADR block file write
    120
    0
    0
    0
    120.00
    wait list latch free
    2
    0
    0
    10
    2.00
    latch: cache buffers lru chain
    44
    0
    0
    0
    44.00
    buffer busy waits
    3
    0
    0
    2
    3.00
    latch: call allocation
    57
    0
    0
    0
    57.00
    SQL*Net more data to client
    55
    0
    0
    0
    55.00
    ARCH wait for archivelog lock
    78
    0
    0
    0
    78.00
    rdbms ipc message
    3,157,653
    40
    4,058,370
    1285
    3,157,653.00
    Streams AQ: qmn slave idle wait
    11,826
    0
    172,828
    14614
    11,826.00
    DIAG idle wait
    170,978
    100
    172,681
    1010
    170,978.00
    dispatcher timer
    1,440
    100
    86,417
    60012
    1,440.00
    Streams AQ: qmn coordinator idle wait
    6,479
    48
    86,413
    13337
    6,479.00
    shared server idle wait
    2,879
    100
    86,401
    30011
    2,879.00
    Space Manager: slave idle wait
    17,258
    100
    86,324
    5002
    17,258.00
    pmon timer
    46,489
    62
    86,252
    1855
    46,489.00
    smon timer
    361
    66
    86,145
    238628
    361.00
    VKRM Idle
    1
    0
    14,401
    14400820
    1.00
    SQL*Net message from client
    253,909
    0
    419
    2
    253,909.00
    class slave wait
    379
    0
    0
    0
    379.00
    Back to Wait Events Statistics
    Back to Top
    Wait Event Histogram
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Wait Event Histogram Detail (64 msec to 2 sec)
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Wait Event Histogram Detail (4 sec to 2 min)
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Wait Event Histogram Detail (4 min to 1 hr)
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Service Statistics
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    Service Wait Class Stats
    No data exists for this section of the report.
    Back to Wait Events Statistics
    Back to Top
    SQL Statistics
    SQL ordered by Elapsed Time
    SQL ordered by CPU Time
    SQL ordered by User I/O Wait Time
    SQL ordered by Gets
    SQL ordered by Reads
    SQL ordered by Physical Reads (UnOptimized)
    SQL ordered by Executions
    SQL ordered by Parse Calls
    SQL ordered by Sharable Memory
    SQL ordered by Version Count
    Complete List of SQL Text
    Back to Top
    SQL ordered by Elapsed Time
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by CPU Time
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by User I/O Wait Time
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by Gets
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by Reads
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by Physical Reads (UnOptimized)
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by Executions
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by Parse Calls
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by Sharable Memory
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    SQL ordered by Version Count
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    Complete List of SQL Text
    No data exists for this section of the report.
    Back to SQL Statistics
    Back to Top
    Instance Activity Statistics
    Instance Activity Stats
    Instance Activity Stats - Absolute Values
    Instance Activity Stats - Thread Activity
    Back to Top
    Instance Activity Stats
    No data exists for this section of the report.
    Back to Instance Activity Statistics
    Back to Top
    Instance Activity Stats - Absolute Values
    No data exists for this section of the report.
    Back to Instance Activity Statistics
    Back to Top
    Instance Activity Stats - Thread Activity
    Statistics identified by '(derived)' come from sources other than SYSSTAT
    Statistic
    Total
    per Hour
    log switches (derived)
    69
    2.87
    Back to Instance Activity Statistics
    Back to Top
    IO Stats
    IOStat by Function summary
    IOStat by Filetype summary
    IOStat by Function/Filetype summary
    Tablespace IO Stats
    File IO Stats
    Back to Top
    IOStat by Function summary
    'Data' columns suffixed with M,G,T,P are in multiples of 1024 other columns suffixed with K,M,G,T,P are in multiples of 1000
    ordered by (Data Read + Write) desc
    Function Name
    Reads: Data
    Reqs per sec
    Data per sec
    Writes: Data
    Reqs per sec
    Data per sec
    Waits: Count
    Avg Tm(ms)
    Others
    28.8G
    20.55
    .340727
    16.7G
    2.65
    .198442
    1803K
    0.01
    Direct Reads
    43.6G
    57.09
    .517021
    411M
    0.59
    .004755
    0
    LGWR
    19M
    0.02
    .000219
    41.9G
    21.87
    .496493
    2760
    0.08
    Direct Writes
    16M
    0.00
    .000185
    8.9G
    1.77
    .105927
    0
    DBWR
    0M
    0.00
    0M
    6.7G
    4.42
    .079670
    0
    Buffer Cache Reads
    3.1G
    3.67
    .037318
    0M
    0.00
    0M
    260.1K
    3.96
    TOTAL:
    75.6G
    81.33
    .895473
    74.7G
    31.31
    .885290
    2065.8K
    0.51
    Back to IO Stats
    Back to Top
    IOStat by Filetype summary
    'Data' columns suffixed with M,G,T,P are in multiples of 1024 other columns suffixed with K,M,G,T,P are in multiples of 1000
    Small Read and Large Read are average service times, in milliseconds
    Ordered by (Data Read + Write) desc
    Filetype Name
    Reads: Data
    Reqs per sec
    Data per sec
    Writes: Data
    Reqs per sec
    Data per sec
    Small Read
    Large Read
    Data File
    53.2G
    78.33
    .630701
    8.9G
    7.04
    .105197
    0.37
    21.51
    Log File
    13.9G
    0.18
    .164213
    41.9G
    21.85
    .496123
    0.02
    2.93
    Archive Log
    0M
    0.00
    0M
    13.9G
    0.16
    .164213
    Temp File
    5.6G
    0.67
    .066213
    8.1G
    0.80
    .096496
    5.33
    3713.27
    Control File
    2.9G
    2.16
    .034333
    2G
    1.46
    .023247
    0.05
    19.98

  • How can we implement the currency translation in a query definition

    How can we implement the currency translation in a query definition and should it modified for each and every type of currencies

    hi rama krishna
    i think u can not get any translation in Query. this is only for het the report as it is there in tables. if u want to write a report take a help of the Abaper
    hope u goit,assign points if u ok for this
    thanks
    subbu

  • Hi , How to make a calculated kf as local in the query definition

    Hi ,
    How to make a calculated kf as local in the query definition
    Regards,
    Ravi.

    Hi,
    Calculate KF consists of Basic, restrict and other calculated kFs stored in Metadata repository.
    Calculate KF is a replicate of Formula and acts as Global.
    Calculate KF acts as Global--you can use Globally.
    Formula as Local--you can use as local to Query.
    you can create the Calculate KF as follow:
    Goto Query Designer>Open/Create Query>Select Key Figures Mode on left side of Query>Select that KF node> right click Select Calculate Keyfigure.
    then one popup window dispays, so you make the calculations based on Basic KF, Restirct Kf and Formule. then save it.
    Regards,
    Suman.

  • How to import from Oracle to ODI View query definition?

    The scenario:
    I have a View in Oracle database with name 'XV'.
    When I loaded metadata from this Oracle database the 'XV' structure was imported too.
    Is it possible to get in ODI the 'XV' query definition in format 'CREATE VIEW ... ' or 'SELECT * FROM'?
    Thanks a lot for answers.

    Still cannot connect.
    The Administration Tool help suggests the tnsnames.ora is not required:
    "For Oracle Database data sources, the data source name is either a *full connect string* or a net service name from the tnsnames.ora file. If you enter a net service name, you must ensure that you have set up a tnsnames.ora file within the Oracle Business Intelligence environment, in ORACLE_HOME/network/admin".
    I've tried the tnsnames.ora route, but this still does not work. I created a tnsnames.ora file in <MW_HOME>\Oracle_BI1\network\admin. Is this correct?
    I'm assuming that I don't need an Oracle client install on the same (Windows) PC that I've got Oracle BI 11g installed on. Is this correct?

  • How to delete the Query Buffer in OLAP

    Hi Guys,
    I have been working with query, after some time there has some changes in cube data.
    But when i execute the query it shows the previous values only.
    So, i would like to delete the existed buffer in OLAP from that query.
    So, please help me out regarrding this....
    Its very urgent.
    Points are assigned for better ones.
    Thanks in advance
    Peter

    Cached results have a timestamp, which is compared with the timestamp of the last data load
    and meta data change.
    If new data is loaded before a cached query is executed again, the OLAP engine states that the
    cached entry is out-of-date. It removes the old entry, loads the current query result from the
    InfoProviders and writes back this new OLAP Cache entry. The OLAP Cache entry is invalidated
    in the following cases:
    • Transaction Data Load to the underlying InfoProvider(s)
    • Deletion of Transaction Data from the underlying InfoProvider(s)
    • Master Data Load (and hierarchies) and subsequent change run of InfoObjects contained
    in the query definition
    • Currency conversion rate change
    This invalidation is also done for meta data changes, i.e. changes to the query structure, and
    query generation.
    Note that changes to key dates for time-dependent master data does not result in invalidation,
    but in an additional cache entry.
    In addition, the OLAP Cache can be invalidated and deleted completely via the OLAP Cache
    monitor (transaction RSRT &#1048774; Cache Monitor or transaction RSRCACHE). One query entry in
    the OLAP Cache can be invalidated by simply re-generating the query.

  • How to change the query ?

    Gurus,
    Please clarify this
    Select ils.item,(nvl(sum(decode(tdh.loc_type,'S',decode(tdh.tran_code, 1,tdh.units,0),
    'W',decode(tdh.tran_code,30,0,31,0,32, tdh.units,33, tdh.units,37,0,38, tdh.units,20,0,1,0))),0))"result"
    from tran_data_history tdh, item_loc_soh ils
    where tdh.item = ils.item
    and ils.item in('100002513','100002484')
    and trunc(tdh.TRAN_DATE)
    between (*select first_date from (select item,min(trunc(first_received)) first_date From Item_loc_soh*
    where item in('100002513','100002484') and first_received is not null
    group by item ))
    and trunc(sysdate)
    group by ils.item
    Problem with this query is, the block mentioned in BOLD is returning two rows, and I am writing between and clause .. since the query in bold is returning more than one row, it is throwing error stating that single query returns more than one row .. Requirement is, whatever date which is returned with value 100002513 should be compared with sysdate, and other value 100002484 should be compared with sysdate .. Irrespective of number of items (whether 1 or more than 1) should simultaneously be compared with sysdate
    How to change my query
    Regards

    Inner query
    Select First_Date From (Select Item, Min(Trunc(First_Received)) First_Date
                                        From Item_Loc_Soh *
                                        Where Item In ('100002513', '100002484')
                                        And First_Received Is Not Null
                                        Group By Item)
    this will return 2 rows for each of the item id 2513 and 2484 because you write query for this 2 rows
    and select min date
    which means
    item id 2513  min date
    item id 2482  min date
    if you want to compare just a date to sysdate then do it directly,
    Select Ils.Item,
           (Nvl(Sum(Decode(Tdh.Loc_Type,
                           'S',
                           Decode(Tdh.Tran_Code, 1, Tdh.Units, 0),
                           'W',
                           Decode(Tdh.Tran_Code,
                                  30,
                                  0,
                                  31,
                                  0,
                                  32,
                                  Tdh.Units,
                                  33,
                                  Tdh.Units,
                                  37,
                                  0,
                                  38,
                                  Tdh.Units,
                                  20,
                                  0,
                                  1,
                                  0))),
                0)) "result"
      From Tran_Data_History Tdh, Item_Loc_Soh Ils
    Where Tdh.Item = Ils.Item
       And Ils.Item In ('100002513', '100002484')
       And Trunc(First_Received)  = Sysdate;
    however i dont understand importance of Tdh.Tran_Date and which date you exactly want to compare
    hope this helps,
    if not plz clarify more on the questionsEdited by: Nicloei W on Sep 24, 2008 11:51 PM

  • How to compare date which is greatest date

    iam new to sql
    how to compare date which date is greatest date with example
    can i use to_char to compare date
    SELECT eno, ename, GREATEST (TBLE.MAX1, TBLE.MAX2) recent_date "
                   FROM (SELECT TBLA.eno, TBLA.ename, "
                   MAX (TO_CHAR (TBL.date1, 'MM/DD/YYYY HH24:MI') "
                   ) MAX1, "
                   MAX (TO_CHAR (TBL.date2, 'MM/DD/YYYY HH24:MI') "
                   ) MAX2 "
                   FROM dual TBL, dual2 TBLA
    in above query if any one of the date having null value then recent_date is showing 'null'
    and also it showing wrong value
    example
    date1='08-22-2009' and date2='01-23-2010' then it showing wrong recent_datel ike='08-22-2009'
    as according my knowledge it is comparing with month it sholud not be like this wat i have to do pls explain with example my o/p should come for recent_date like =''01-23-2010''
    Edited by: user9112274 on Aug 27, 2010 5:31 AM

    Hi,
    there are numerous ways to compare dates, i give you some examples:
    with data_Sample as
    (select to_date('01-jan-2001','dd-mon-yyyy') d1, to_date('01-mar-2002','dd-mon-yyyy') d2, to_date('03-feb-2002','dd-mon-yyyy') d3 from dual)
    select greatest(d1,d2,d3) from data_Sample
    GREATEST(D1,D2,D3)
    3/1/2002
    with data_Sample as
    (select to_date('01-jan-2001','dd-mon-yyyy') d1 from dual union all
    select to_date('01-mar-2002','dd-mon-yyyy')   from dual union all
    select to_date('03-feb-2002','dd-mon-yyyy')  from dual)
    select max(d1) from data_Sample
    MAX(D1)
    3/1/2002
    declare
    d1 date :=to_date('01-jan-2001','dd-mon-yyyy');
    d2 date :=to_date('01-jan-2001','dd-mon-yyyy');
    begin
    if d1>d2 then
    dbms_output.PUT_LINE('d1 greater than d2');
    else
    dbms_output.PUT_LINE('d1 less or equql than d2');
    end if;
    end;
    output:
    d1 less or equal than d2now concerning your question:
    >
    can i use to_char to compare date
    >
    If you have date data types : don't convert them.
    if you have no choice, use something like:
    if to_char(d1,'YYYYMMDD') > to_char(d2,'YYYYMMDD') then
    else
    end if;Take care when you convert a date into a char format it becomes string comparison (with all it implies) (It's the reason why i've use an explicit mask format).

  • Report running very slow compared to Query Analyzer - high TimeDataRetrieval

    Hi,
    I have a report in SQL Reporting Services 2005 which calls a stored proc and the report takes a very long time to run and sometimes returns zero records. But when i run the stored proc in query analyzer it takes about 4 seconds!!
    I have checked the execution log on the RS using the below sql:
    Code Snippet
    use ReportServer
    Select * from ExecutionLog with (nolock) order by TimeStart DESC
    It shows that i have a large amount of time for the dataretrieval (601309ms, about 10mins) and does not return any records most likely because of a query timeout:
    TimeDataRetrieval  TimeProcessing  TimeRendering Source Status         ByteCount RowCount
      601309                      2227                     3                         1            rsSuccess 4916           0
    The weird thing is that when i run it in query analyzer, i get about 400 records in 4 seconds !!
    I dont understand what RS is doing to take up so much time like this to retrieve data.
    The report is very simple - it basically returns the records straight out into a table.
    The only thing I somewhat suspected was a parameter data type conflict between RS and SQL, specifically dates. I have a start and end date parameter in the report - i tried specifying this as date and string to see if it made any difference but it didn't.
    Any help would be greatly appreciated.

    Hi Mark,
    I didn't say it was an issue of parameter sniffing, and I didn't point you towards the good article about that <s>. I asked you whether you had read the article, described to you earlier in the thread.
    What I said was that it might be an issue of appropriate and dynamic query optimization, versus a cached query plan.  Parameter sniffing is only one of many ways that SQL Server tries to figure out how to optimize a query.  I thought the article did a good job of discussing some of what goes on during this process, and that by absorbing that you could think of ways to handle the wider issue that would be appropriate to your code.  I also pointed you to a thread in which I discussed this in more detail.
    While there are truly many issues with the date controls in the default parameter interface and how they behave, I don't think that what you're experiencing with the date format is implicated in the performance issue.  I guess it *might* be if (say) there is a non-default param value in your proc but your report parameter allows nulls. 
    Let's say the report server database has a different date default than your production database in your system. I have never sat down and tested this scenario and I guess it might cause problems, So we'll look at that first. 
    Whether the date format is at fault is really easy to prove one way or the other, and once proven can be pretty easy to fix:
    Create a test parameter that is of string type.  SQL Server is really good about dynamic conversion of string dates to date types as you probably know.
    place values (formatted however you want) into this version of the parameter instead of your date control parameter.  Use valid dates, in both formats.
    Does your performance change?
    Do you get the right results but bad performance with US format date strings versus right results with good performance with AU date values?
    Do you get the WRONG results with US format date strings, or with AU date strings?
    Try additional permutations involving casting/converting in your proc.
    FWIW, go ahead in the Query Analyzer and put the SAME values you see in the log into your tests there (in US format, I mean).  Do you get the CORRECT results?  Does performance change?  Hold this thought and see below.
    Another thing you can do is look at the query plan as presented by the Query Analyzer when you present the arguments different ways.  See #7 above -- try presenting the date in different formats.  Does the plan show the same path and the same indexes in use each time, or are some not possible because of the way the date has to be converted?  When this happens, the issue is usually that the conversion must be done for each line compared in the filter.  You can fix this really easily in most cases by cast/convert in the procedure so that your SELECT line is only doing that work once. 
    If the plans are different, and perhaps the indexes used are different and you *can't* fix it by fixing the date before the SELECT, do you need to add an index, or perhaps rebuild one?
    Moving on from the date format, as I said before it may be really important NOT to go by your interactive Query Analyzer performance because what you do there may not be used by SQL Server in determining a query plan to cache and re-use.  In case you haven't read the other discussion that I pointed you to at (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1827775&SiteID=1), think about using RECOMPILE or other options that will force a more dynamic investigation of the query.
     >L<

  • How to compare, current value in :block.text_item with the database value

    Hi
    Could you please tell me
    How to compare the current value in :block.text_item with the corresponding database column value.
    I am using forms 10g
    There is block and there is an text Item in that block.
    When I run the form and query the block (tabular), the :block.text_item shows me, whatever value there in the database.
    Now I add some value in the :block.text_item to the existing value.
    now
    the :block.text_item contains old+ new added value
    whereas
    the database table contains 'old' value
    Now on a button click , I want to find out what is the value that I have added
    Could you please tell me, is it possible without writing a select query?

    Hello,
    Now on a button click , I want to find out what is the value that I have addedSo you mean always user will add value in the existing value. Because this way will fail in one case. Let say
    Value in Database is = ABCD
    User opened the form and he removed the D and write E and now value is ABCE and length is still same 4. So, there is no addition.
    Anyway you can know the database value at runtime there is one property for item called DATABASE_VALUE. It gives the value which is in database while you are running the form before save. and you can use like this..
    Trigger = WHEN-MOUSE-DOUBLE-CLICK on item level
    DECLARE
      vItemValue DATATYPE; -- Set the data type according to your desired field.
      vValueAdded DATATYPE; -- Set the data type according to your desired field.
    BEGIN
      vItemValue:=GET_ITEM_PROPERTY('ITEM_NAME',DATABASE_VALUE);  -- It will return you the database value in vItemValue variable.
      IF LENGTH(vItemValue)>LENGTH(:FORM_ITEM_NAME) THEN  -- It mean something change or added
        vValueAdded:=SUBSTR(:FORM_ITEM_NAME,LENGTH(vItemValue)+1);
        MESSAGE('Added value is : '||vValueAdded);  -- It will show you the added value.
      END IF;
      -- now suppose you want to show the old and new value in message not the added one
      -- Then no need of IF condition. You can just use message like this
      -- And i would prefer to use like this way
      MESSAGE('Old Value : '||vItemValue||'  New Value - '||:FORM_ITEM_NAME);
      MESSAGE('Old Value : '||vItemValue||'  New Value - '||:FORM_ITEM_NAME);
    END;Hope it is clear.
    -Ammad

  • How to compare Date/time string

    I read from datalog file including Date/time string ,and want to query the special Date/time string span ,how to compare the data/time string ?

    Hello Joshua,
    To compare date/time you have to extract the different components (day, month, year, hour, minute, second) anyway. Why not "convert to seconds"? I think it's easier to compare one number (where you also can do other math, like calc the difference and so on) than to compare seven (?) parameters with some exceptions... If the dates are read from excel (there was a similar thread some days ago), why not convert to seconds in excel (just a format change)?
    Best regards,
    GerdW
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How to compare two Universes ?

    Post Author: Shrikant
    CA Forum: Administration
    Hi.. all I want to compare two universes of different data mart to check the table structure. Can anybody please tell me how to compare two Universes of different Datamarts?How i can achive this usinig BusinessObjects Enterprise XI Release 2 ??
    Thanks in advance.
    Shrikant

    Create
    table tab1(ID
    int ,DE char(10))
    Create
    table tab2(ID
    int ,DE char(10))
    Insert
    into tab1 Values
    (1,'aaa')
    Insert
    into tab1  Values
    (2,'bbb')
    Insert
    into tab1 Values(3,'ccc')
    Insert
    into tab1 Values(4,'dfe')
    Insert
    into tab2 Values
    (1,'aaa')
    Insert
    into tab2  Values
    (2,'xx')
    Insert
    into tab2 Values(3,'ccc')
    Insert
    into tab2 Values(6,'wdr')
    SELECT 
    tab1.ID,tab2.ID
    As T2 from tab1
    FULL
    join tab2 on tab1.ID
    = tab2.ID  
    WHERE
    BINARY_CHECKSUM(tab1.ID,tab1.DE)
    <> BINARY_CHECKSUM(tab2.ID,tab2.DE)
    OR tab1.ID
    IS NULL
    OR 
    tab2.ID IS
    NULL
    ID column considered as a primary Key
    Apart from different record,Above query populate missing record in both tables.
    Result Set
    ID ID 
    2  2
    4 NULL
    NULL 6
    ganeshk

Maybe you are looking for

  • Create Item with no Page Regions, but with P0 Region Issue

    Hi, Suppose you have a region on Page 0 called: P0_REGION. You then create a page, P100, with no region. If you try to create a Page Item you get the following message: Unable to Create Page Item You must create at least one region before you can cre

  • I can' t get firefox to initialize and install on my computer. Any ideas?

    I download the program, open it, click yes to run and then my computer just sits there and doesn't install it. Any ideas on what could be wrong?

  • RSNASTED

    HI Guys, I am SD consultant dont have much idea on this program. In one of the invoice we have a message type called ZSG with medium ALE sends info to other system system via IDOC, under NACE pgm attached for this is RSNASTED. In  Idoc there is a seg

  • Recently upgraded G4 MDD now chimes and starts but then shuts down, no vide

    Hello all and thank you in advance for checking my question. I hope this particular question has not been brought up in the forums recently and if so, I am sorry for the duplication. I recently received a G4 MDD FW800 with a single CPU running at 1.0

  • Those Annoying Yellow "Tip" Bars

    These drive me crazy. There must be a way to shut off those annoying "this image is a placeholder" yellow bar that somehow can overlay a window in another program and won't go away until you return back to Pages and move the cursor. Is it something t