Date to number conversion?

I want to select a number of rows created within last week.
To do it I use a select statement with:
WHERE sysdate-o.created_on <= days;
(days is a number, created_on is a date)
Everything works fine, but I get warnings like this one:
PLW-07204: conversion away from column type may result in sub-optimal query plan
I suppose I should convert date to number to get rid of them. How can I do it isnide a SELECT query?

While the comments regarding re-writting the query to allow the possibility of index usage are valid, the warning will still appear even with the re-written query. I am sure that this query would use an index on dt1 if one was available.
SQL>CREATE TABLE t (id number, dt1 date, dt2 date);
Table created.
SQL> CREATE PROCEDURE p1 AS
  2  BEGIN
  3     FOR r IN (SELECT * FROM t
  4               WHERE dt1 = sysdate - 7) LOOP
  5        NULL;
  6     END LOOP;
  7  END;
  8  /
SQL>/
SP2-0804: Procedure created with compilation warnings
SQL>show error
Errors for PROCEDURE P1:
LINE/COL ERROR
3/13     PLW-07204: conversion away from column type may result in
         sub-optimal query planThe warning in this case is clearly spurious, and the reason is, at the level the compiler is looking, they are different data types. dt1 was inserted as sysdate a few minutes before I did the dunp below.
SQL> SELECT DUMP(dt1) tab_date, DUMP(dt1 - 3) calc_date,
  2         DUMP(sysdate) sys_date
  3  FROM t;
TAB_DATE                            CALC_DATE                          SYS_DATE
Typ=12 Len=7: 120,107,2,27,10,45,42 Typ=13 Len=8: 7,215,2,24,9,44,41,0  Typ=13 Len=8: 7,215,2,27,9,49,13,0A date field in a table is a type 12 while sysdate, and any date that has is a result of a calculation is a type 13. Clearly a "different" datatype.
Practically speaking, in the SQL engine, the type 13 date would be cast to a type 12 date and used in an index probe, but the compiler is likely doing something similar to the DUMP conparision.
I believe that the type 13 dates are a representation of the C time_t struct that Oracle's kernel would likely use internally.
John

Similar Messages

  • Need help in date to number conversion

    Hi,
    I have a doubt in a date conversion, please help me.
    I executed the below query, its throwing "invalid number" error.
    select * from test
    where date_sid between to_number(to_char('01-05-2009','dd-mm-yyyy'),'yyyymmdd') and to_number(to_char('02-05-2009','dd-mm-yyyy'),'yyyymmdd')
    date_sid column is number datatype.
    In my above query i want to pass the date value like '12-05-2009'. If i check my table date_sid looks like yyyymmdd. So how to convert '12-05-2009' to 20090512 in my above query. Please help me.
    Thanks.

    Use to_date instead of your to_char, and to_char instead of your to_number.
    That said, that's very very sad to work on date as number format.
    Nicolas.

  • FM for Material number conversion from R/3 to APO in R/3

    Hi,
       Can anybody tell me conversion exit (function module) for Material number conversion from R/3 to APO in R/3 system. I mean i have 18 digit R/3 material number which i have to convert to 40 digit APO material number in R/3 system.
    Please suggest to win full points.
    Thaniks in Advance,
    Chandan Dubey

    Dear Chandan,
    Conversion Exits:
    CONVERSION_EXIT_MATN1_INPUT ....... If you are storing Material With Zeros
    Then concatenate it with 22 zeros. i.e. '0000000000000000000000000000'.
    For example:
    data : v_matnr type matnr,            "R/3 Material
           v_apo_matnr(40) type c,        "APO Material with 40 length
           v_zeros(22) type c. value '0000000000000000000000000000'.
    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
           EXPORTING  INPUT          = v_matnr
           IMPORTING  OUTPUT         = v_matnr.
    concatenate e_mantr v_zeros into
                v_apo_matnr.
    Regards,
    Naveen.

  • Error ORA-06502, numeric or value error character to number conversion

    I have been trying to create an email including data from a table as part of the body. Whenever I try to send it, I get an error ORA-06502, numeric or value error, character to number conversion. If I take out the part referencing the table, the email will go without error, but if I put it back in I get the error.
    There is the code:
    DECLARE
    v_email_body CLOB;
    v_from_email_address VARCHAR2(100) := v('APP_USER');
    v_id NUMBER;
    BEGIN
    v_email_body := 'Please pay the attached invoice from FY '||:P14_FY||' funds
    Date: '||:P14_PURCHASE_DATE||'
    Vendor: '||:P14_VENDOR||'
    Invoice Number: '||:P14_INVOICE||'
    Invoice Date: '||:P14_INVOICE_DT||'
    Due Date: '||:P14_INVOICE_DUE_DT||'
    KSR Number: '||:P14_KSR||'
    DTS PO: '||:P14_DTS_PO||'
    FINANCE DO: '||:P14_FINANCE_PO||'
    FOR detail IN(SELECT OB_CODE
    FROM BUDGET_USED
    WHERE P_ID = :P14_ID)
    v_email_body := v_email_body||detail.OB_CODE||utl_tcp.crlf;
    LOOP
    FOR detail2 IN (SELECT ob_code, amount
    FROM budget_used
    WHERE p_id = :P14_ID)
    LOOP
    v_email_body := v_email_body||detail2.ELCID||' - '||detail2.AMOUNT||utl_tcp.crlf;
    END LOOP;
    END LOOP;
    v_email_body := v_email_body
    '||:P14_EMAIL_NOTES||'
    Thanks.
    v_id := APEX_MAIL.SEND
    (p_to => :P14_SUBMIT_TO
    ,p_cc => v('APP_USER')
    ,p_bcc => '[email protected]'
    ,p_from => v_from_email_address
    ,p_body => v_email_body
    ,p_subj => 'Invoice, '||:P14_VENDOR||', '||:P14_INVOICE||'');
    --Having set up your email, now add one (or more) attachments...
    FOR c1 in (SELECT FILENAME
    ,BLOB_CONTENT
    ,MIME_TYPE
    FROM file_subjects f, apex_application_files a
    where a.name = f.name
    and f.P_ID = :P14_ID) LOOP
    IF c1.blob_content IS NOT NULL THEN
    APEX_MAIL.ADD_ATTACHMENT( p_mail_id => v_id,
    p_attachment => c1.blob_content,
    p_filename => c1.filename,
    p_mime_type => c1.mime_type);
    END IF;
    END LOOP;
    END;
    Apex_mail.push_queue();
    This is important to my company to be able to put this data into an email. If anyone can help me, I would greatly appreciate it. Thank you in advance.

    Lets isolate the erroring line by running the code in debug mode and adding some debug lines at various stages in the code
    Apex has a builtin function named wwv_flow.debug which can print messages to the debug stack and would be visible when the page is run in debug mode.
    DECLARE
    v_email_body CLOB;
    v_from_email_address VARCHAR2(100) := v('APP_USER');
    v_id NUMBER;
    BEGIN
    wwv_flow.debug('BEGIN');
      v_email_body := 'Please pay the attached invoice from FY '||:P14_FY||' funds
      Date: '||:P14_PURCHASE_DATE||'
      Vendor: '||:P14_VENDOR||'
      Invoice Number: '||:P14_INVOICE||'
      Invoice Date: '||:P14_INVOICE_DT||'
      Due Date: '||:P14_INVOICE_DUE_DT||'
      KSR Number: '||:P14_KSR||'
      DTS PO: '||:P14_DTS_PO||'
      FINANCE DO: '||:P14_FINANCE_PO||'
      '||:P14_EMAIL_NOTES||'
      Thanks.
    wwv_flow.debug('Before sending mail');
      v_id := APEX_MAIL.SEND
      (p_to => :P14_SUBMIT_TO
      ,p_cc => v('APP_USER')
      ,p_bcc => '[email protected]'
      ,p_from => v_from_email_address
      ,p_body => v_email_body
      ,p_subj => 'Invoice, '||:P14_VENDOR||', '||:P14_INVOICE||'');
    wwv_flow.debug('Before attachements');
      --Having set up your email, now add one (or more) attachments...
      FOR c1 in
             (SELECT FILENAME
            ,BLOB_CONTENT
            ,MIME_TYPE
            FROM file_subjects f, apex_application_files a
            where a.name = f.name
            and f.P_ID = :P14_ID)
      LOOP
        IF c1.blob_content IS NOT NULL THEN
        APEX_MAIL.ADD_ATTACHMENT( p_mail_id => v_id,
        p_attachment => c1.blob_content,
        p_filename => c1.filename,
        p_mime_type => c1.mime_type);
        END IF;
      END LOOP;
    wwv_flow.debug('Finished attachements'); 
      Apex_mail.push_queue();
    END;What is the last message you see in the debug after running the page in debug mode and submitting it ?

  • Numeric or value error: character to number conversion error

    I'm having problems inserting a value from a date picker field (DD-MON-YYYY HH MI )
    i'm submitting this value to a packaged procedure that accepts this field as VARCHAR2 .
    on the insert, i do a to_date( P_DATE, 'DD-MON-YYYY HH:MI PM' )
    and i get the numeric conversion error.
    If I change the to_date on the procedure side, I get the :could not read the end of the format mask - which I've found threads about on this site.
    I've tried using HH24 and different formats, but I get one of the two above errors on the insert.
    If I don't fill in the datepicker field at all, it works fine.
    help is appreciated !
    Bill

    Here is the trace anyway:
    *** ACTION NAME:(application 4000, page 1) 2004-09-24 12:58:44.052
    *** MODULE NAME:(HTML DB) 2004-09-24 12:58:44.052
    *** SERVICE NAME:(TOPS) 2004-09-24 12:58:44.052
    *** SESSION ID:(151.1) 2004-09-24 12:58:44.052
    *** 2004-09-24 12:58:44.052
    ksedmp: internal or fatal error
    ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    Current SQL statement for this session:
    declare
    rc__ number;
    begin
    owa.init_cgi_env(:n__,:nm__,:v__);
    htp.HTBUF_LEN := 255;
    null;
    null;
    null;
    null;
    f(p=>:p);
    if (wpg_docload.is_file_download) then
    rc__ := 1;
    wpg_docload.get_download_file(:doc_info);
    null;
    null;
    null;
    commit;
    else
    rc__ := 0;
    null;
    null;
    null;
    commit;
    owa.get_page(:data__,:ndata__);
    end if;
    :rc__ := rc__;
    end;
    ----- PL/SQL Call Stack -----
    object line object
    handle number name
    6A3C4A00 532 package body FLOWS_010500.WWV_FLOW_UTILITIES
    6A3C4A00 2502 package body FLOWS_010500.WWV_FLOW_UTILITIES
    6A3C4A00 2748 package body FLOWS_010500.WWV_FLOW_UTILITIES
    6A0E63C8 991 package body FLOWS_010500.WWV_FLOW_FORMS
    6A11675C 932 package body FLOWS_010500.WWV_FLOW_DISP_PAGE_PLUGS
    6A11675C 247 package body FLOWS_010500.WWV_FLOW_DISP_PAGE_PLUGS
    6A4B54E0 8341 package body FLOWS_010500.WWV_FLOW
    6A2A99F0 102 procedure FLOWS_010500.F
    6A2B9E54 10 anonymous block
    ----- Call Stack Trace -----
    calling call entry argument values in hex
    location type point (? means dubious value)
    ksedmp+524          CALLrel  ksedst+0 1
    ksedmptracecb+15 CALLrel _ksedmp+0            C
    _ksddoa+118          CALLreg  00000000             C
    ksdpcg+143          CALLrel  ksddoa+0
    ksdpec+180          CALLrel  ksdpcg+0 1966 6D7D208 1
    __PGOSF3__ksfpec+11 CALLrel _ksdpec+0            0
    8
    _kgerev+77           CALLreg  00000000             7474210 1966
    kgerec1+18          CALLrel  kgerev+0 7474210 6DCE5EC 1966 1
    6D7D260
    peirve+465          CALLrel  kgerec1+0
    pevmCVTCN+346 CALLrel _peirve+0           
    pfrinstrCVTCN+36 CALLrel pevmCVTCN+0 6E6E604 71CE370 7160F0C
    pfrrunno_tool+51 CALL??? 00000000
    pfrrun+1834         CALLrel  pfrrun_no_tool+0 6E6E604 6A3C010A 6E6E640
    plsqlrun+1051 CALLrel _pfrrun+0            6E6E604
    peicnt+179          CALLrel  plsql_run+0 6E6E604 1 0
    kkxexe+477          CALLrel  peicnt+0
    opiexe+4896         CALLrel  kkxexe+0 6A2B9E54
    kpoal8+1705         CALLrel  opiexe+0 49 3 6D7E06C
    _opiodr+977          CALLreg  00000000             5E 14 6D7E7CC
    _ttcpip+1827         CALLreg  00000000             5E 14 6D7E7CC 0
    _opitsk+1098         CALL???  00000000            
    opiino+938          CALLrel  opitsk+0 0 0 747ABC0 6DEFB14 D8 0
    _opiodr+977          CALLreg  00000000             3C 4 6D7FBBC
    opidrv+479          CALLrel  opiodr+0 3C 4 6D7FBBC 0
    sou2o+45            CALLrel  opidrv+0 3C 4 6D7FBBC
    opimai+237          CALLrel  sou2o+0
    OracleThreadStart@  CALLrel  opimai+0
    4+899
    77E7D338 CALLreg 00000000

  • Re: Error, numeric or value error: character to number conversion error

    Can someone please please tell me why I'm getting this error and what I'm doing wrong? It looks like a simple error, "numeric or value error: character to number conversion error".
    My code is as follows:
    string connectionString = WebConfigurationManager.ConnectionStrings["DEMO_TEST"].ConnectionString;
    OracleConnection con = new OracleConnection(connectionString);
    OracleCommand cmd = new OracleCommand("DEMO.PKG_LOCATION_TYPE.INS", con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add(new OracleParameter("@P_DESCRIPTION", OracleDbType.Varchar2, 60));
    cmd.Parameters["@P_DESCRIPTION"].Value = "Test_Description";
    cmd.Parameters.Add(new OracleParameter("@P_NAME", OracleDbType.Varchar2, 6));
    cmd.Parameters["@P_NAME"].Value = "Test_Name";
    cmd.Parameters.Add(new OracleParameter("@P_LOCATION_TYPE_CD", OracleDbType.Decimal, 4));
    cmd.Parameters["@P_LOCATION_TYPE_CD"].Direction = ParameterDirection.InputOutput;
    con.Open();
    try
    cmd.ExecuteNonQuery();
    catch
    //In case of an error
    finally
    con.Close();
    con.Dispose();
    And I recieve the following error block:
    Oracle.DataAccess.Client.OracleException was unhandled by user code
    Message="ORA-06502: PL/SQL: numeric or value error: character to number conversion error\nORA-06512: at line 1"
    Source="Oracle Data Provider for .NET"
    DataSource="demotest"
    Number=6502
    Procedure="DEMO.PKG_LOCATION_TYPE.INS"
    StackTrace:
    at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
    at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src)
    at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
    at System.Web.UI.WebControls.Wizard.OnFinishButtonClick(WizardNavigationEventArgs e)
    at System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e)
    at System.Web.UI.WebControls.Wizard.WizardChildTable.OnBubbleEvent(Object source, EventArgs args)
    at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
    at System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e)
    at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
    at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
    at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
    at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    ********************************************************

    Are the parameters in your procedure in the same order as they are created in this code? Oracle command works by position unless you change it to be BindByName.
    Failing that you seem to have defined a parameter (P_NAME) to have a length of 6, and are then setting it's value to a string with a length of 9.
    Also the in/output parameter is defined as type decimal. Is this correct? It is defined as InputOutput but you don't assign it any value.
    If these suggestions don't help then perhaps if you post the stored procedure you might get some more ideas.
    HTH
    Lyndon

  • ORA-06502: PL/SQL: numeric or value error: character to number conversion e

    Hi,
    when I do same thing in my procedure it throws below error but it works fine as annonymus block.
    ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    CREATE TABLE test_table
    (memberid NUMBER,
    trans_date date);
    DECLARE
    v_num number(10,0);
    v_text varchar2(100);
    begin
    v_text := '123456abcdef';
    v_num := substr(v_text,1,5);
    INSERT INTO test_table
    (memberid,
    trans_DATE)
    VALUES
    (v_num,
    sysdate);
    end;Thanks
    Sandhya

    Works fine as a procedure as well;
    SQL> DECLARE
      2  v_num number(10,0);
      3  v_text varchar2(100);
      4  begin
      5  v_text := '123456abcdef';
      6  v_num := substr(v_text,1,5);
      7  INSERT INTO test_table
      8  (memberid,
      9  trans_DATE)
    10  VALUES
    11  (v_num,
    12  sysdate);
    13  end;
    14 
    15  /
    PL/SQL procedure successfully completed.
    SQL> select * from test_table;
      MEMBERID TRANS_DAT
         12345 20-MAY-10
    SQL> create or replace procedure ins_test_table as
      2 
      3    v_num number(10,0);
      4  v_text varchar2(100);
      5  begin
      6  v_text := '123456abcdef';
      7  v_num := substr(v_text,1,5);
      8  INSERT INTO test_table
      9  (memberid,
    10  trans_DATE)
    11  VALUES
    12  (v_num,
    13  sysdate);
    14 
    15  end ins_test_table;
    16  /
    Procedure created.
    SQL>
    SQL> exec ins_test_table;
    PL/SQL procedure successfully completed.
    SQL> select * from test_table;
      MEMBERID TRANS_DAT
         12345 20-MAY-10
         12345 20-MAY-10

  • "Settings for material number conversion not found" occurs when ...

    After I run an initial load data into the InfoCube 0PUR_C01, I want to check the InfoCube Content by the following path:
    RSA1 -> pick up the InfoCube 0PUR_C01, right click it and select Manage -> Get to Content tab -> Click InfoCube Content button -> Deselect all selection, only tick the 1st column checkbox next to 0Material, then hit enter, get a small window titled as "Cancel" with a red STOP msg sysing "Settings for material number conversion not found" with an "Exit" button and a question mark button, click Exit button leads to SAP Easy Access screen, if clicking the question mark button, another window pops up with the msg showed above, click Technical Information button causes the original window short dump and the short dump msg shows below in between two dashed lines:
    Runtime Errors         RPERF_ILLEGAL_STATEMENT
    Date and Time          11/28/2005 14:43:13
    ShrtText
        Statement "CALL SCREEN" is not allowed in this form.
    What happened?
        Error in ABAP application program.
        The current ABAP program "SAPLSHL2" had to be terminated because on
        statements could not be executed.
        This is probably due to an error in the ABAP program.
    Error analysis
        There is probably an error in the program
        "SAPLSHL2".
        The program was probably called in a conversion exit
        or in a field exit. These are implemented by
        function modules called CONVERSION_EXIT_xxxxx_INPUT/OUTPUT or
        USER_EXIT_xxxxx_INPUT.
        Conversion exits are triggered during screen field transports or
        WRITE statements, field exits during field transports from the
        screen to the ABAP/4 program.
        In this connection, the following ABAP/4 statements are not allowed:
        -  CALL SCREEN
        -  CALL DIALOG
        -  CALL TRANSACTION
        -  SUBMIT
        -  MESSAGE W... and MESSAGE I...
        -  COMMIT WORK, ROLLBACK WORK
        -  COMMUNICATION RECEIVE
        -  STOP
        -  REJECT
        -  EXIT FROM STEP-LOOP
        Moreover, conversion exits for output conversion
        (implemented by function modules called
        CONVERSION_EXIT_xxxxx_OUTPUT) do not allow
        -  MESSAGE E...
        to be used.
    Trigger Location of Runtime Error
    Program                                 SAPLSHL2
    Include                                 LSHL2F19
    Row                                     3
    Module type                             (FORM)
    Module Name                             TECHNISCHE_INFO5
    rce Code Extract
    e  SourceCde
    1 ***INCLUDE LSHL2F19 .
    2 form technische_info5.
    >>   call screen 1900 starting at 5  8.
    4 endform.
    5
    6 &----
    7 *&      Form  SHRINK_VALUES
    8 &----
    9 *       text                                                           *
    10 ----
    11 *  -->  p1        text
    12 *  <--  p2        text
    13 ----
    14 form shrink_values.
    15
    16   loop at dynpselect.
    17     clear checktable.
    18     if dynpvaluetab-lowvalue ne space and dynpvaluetab-lowvalue na '*'.
    19       move 'EQ' to checktable-op.
    20       move dynpvaluetab-lowvalue to checktable-low_value.
    21       append checktable.
    22     endif.
    What could cause the problem by selecting only 0Material when checking the InfoCube 0PUR_C01 content?  What does that mean by this STOP msg "Settings for material number conversion not found"?
    Thanks

    Hi Kevin,
    Set the length of 0MATERIAL and change conversion to alpha:
    Re: Error Installing 0MATERIAL from Business Content
    Best regards,
    Eugene

  • DATE vs DATETIME conversion

    I am running into a strange issue which is preventing me to finish my project. Any help would be greatly appreciated. 
    It looks like the CONVERT (the same goes for CAST) function treats DATE and DATETIME conversions differently when executed by a user with the Dutch language settings.
    Here is what I mean, I run the following query:
    SELECT CONVERT(DATE, '2014-09-01 23:00:00'), CONVERT(DATETIME, '2014-09-01 23:00:00')
    The results are:
    2014-09-01, 2014-01-09 23:00:00
    The conversion to DATETIME swapped the month and the day around, while this doesn't happen for the DATE conversion. The DATE conversion is the correct format, since I supplied it YYYY-MM-DD HH:mm:ss.
    When I run the same query using a user with the default language settings (en-US I assume) the same query works fine (no swapping of month and day values). 
    Can someone explain why this is happening? And maybe more important how to prevent it or workaround it (changing the language for the user from Dutch to default is not an option)? 
     

    >> Can someone explain why this is happening? And maybe more important how to prevent it or workaround it (changing the language for the user from Dutch to default is not an option)? <<
    CONVERT() is an old Sybase string function. It was created to keep 960's COBOL programmers happy since SQL does not have a PICTURE clause to put data in display formats. 
    CAST() is the ANSI/ISO Standard function to convert data types and this is what you should be using. It is not a string function. It uses the ISO-8601 standard for dates (yyyy-mm-dd), as you have seen. This is the only -– repeat, only! -- format allowed in
    SQL. Microsoft is a few decades behind and trying to catch up now.
    A good SQL programmer will do any local display formatting in the presentation, which will handle local languages that are never used in the database. Want to have some fun? The names of months in Polish, Czech, Croatian, Ukrainian and Belarusian not based
    on the Latin names used in most European languages. 
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Issue with the Data Type 'Number' in Business Objects

    Hi,
    I have an Object in the Universe where the Data Type of the Object is a number. This Column pertaining to this Object has certain values in the database out of which there is a 17 Digit Value which is 00000000031101165.
    Now, when trying to retreive the same value through Business Objects it is getting rounded off to 00000000031101200 automatically when trying to view in Webi and when trying to retreive the same in Designer/Deski, it displays as 0.000000003110116E+16.
    So, I would like to know if there is any other alternative in trying to retreive the Original Value that would not round off. Also, do we have any Limitation for the Data Type Number in Business Objects? The Version we are on is XI3.1.
    Note: There are no functions that are used on this Object at the Universe Level and would not like to use any functions here.

    What is the underlying database?
    It looks like the data is considered to have two decimals, but is rounded to zero decimals.
    Only you don't see the number formatting.
    Is this a BW query?
    Is this a calculated keyfigure?
    In the query you can specify the rounding you want and it is also possible to specify it on an infoobject level.
    Check those settings...
    Hope this helps,
    Marianne
    PS. Oh, and about the formatting, you can specify a default object format in the universe and override it on the final client (WebI, Crystal)

  • Issue with field data type NUMBER(22,5) while updating field data.

    Hi,
    I have a field with data type NUMBER(22,5).
    While inserting or updating field data it should take 17 digit and after decimal point 5 digit total 22 digit.
    I set 22 for maximumLength property of messageTextInput field.
    While updating field I am getting following problems,
    1) I provide the value as 1234567890123456789012 (22 digit) and click apply button.
    then I got error message as
    Error
    मैकेनाइजड दो पहिया/तीन पहिया वाहन - Value 1234567890123460000000 exceeds the maximum allowed value (NUMERIC (22, 5))
    2)then I insert 12345678901234567.1234 (17 digit before decimal point and 4 digit after decimal point and it didn't accept 5 digit after decimal point) and click apply button.
    It insert the value as 12345678901234600 (value changed after Apply)
    The I tried with simple SQL insert statement to insert data and it successfully insert 12345678901234567.12345 value.
    Any item property I missed here to set?
    Please suggest.
    Thanks & Regards,
    Sagarika

    hi
    according to
    " then I insert 12345678901234567.1234 (17 digit before decimal point and 4 digit after decimal point and it didn't accept 5 digit after decimal point) and click apply button.
    It insert the value as 12345678901234600 (value changed after Apply)"
    this statement ,it seems that it is definitely applying round or somthing like that function in the code before inserting value in the table("try with select round(12345678901234567.1234 ) from dual u will get the same result = 123456789012345600 ") ,
    bcz u r able to insert the same directely into the table using insert statement so kindely have look on the code if something like this is not happening there.try to check code in related EOimpl class
    try to to use debugging mode ,and the 23 char problem is related to maximum lenghth of text box make it 23 it will get resolved and u will be able to enter 17 digits with 5 digits after decimal point
    thanx pratap

  • Help needed in converting date to number

    Hi,
    I am trying to execute the below query, its failing with "invalid number" error.
    select * from process_status
    where time_process > to_char('&3','yyyymmdd')
    time_process is the "number" datatype.
    Details:
    SQL> select * from process_status
    2 where time_process > to_char('&3','yyyymmdd');
    Enter value for 3: 01-MAY-09
    old 2: where time_process > to_char('&3','yyyymmdd')
    new 2: where time_process > to_char('01-MAY-09','yyyymmdd')
    where time_process > to_char('01-MAY-09','yyyymmdd')
    ERROR at line 2:
    ORA-01722: invalid number
    If I execute the below query its working fine, I am facing problem only when I pass the date explicitly to the query. Please help me on converting the date to number format.
    select * from etl_process_status
    where time_process > '20090501'
    and rownum < 3;
    Thanks

    as others have said, it would be best to have your time_process column stored as a date in oracle, if it contains dates.
    The reason for this is because if you store your dates as a number, you have removed information from Oracle that says "This is a date", so when Oracle comes to try and estimate the number of rows greater than a specific value, it can no longer guess correctly, since it's basing its guess on that column being a number.
    There are lots more numbers between '20091201' and '20091101' than there are days between 1st November and 1st December.
    By hiding the fact that your data is a date, you could throw your execution plan off and end up with sub-optimal performance.
    In short, store your data in the correct column format!

  • How to get the Data Record Number in BI 7.0?

    Hi All,
    In our requirement we need to load the Data Record Number in the DSO. I got the Request ID and Data Packet Number but not the Data Record Number.
    Does anyone has any idea?

    Hi......
    When the data is activated in DSO, it is written to the table of active data, where it is then available for reporting. Requests are sorted by the key of the DataStore object, request ID, data package ID, or data record number.
    You just load the data to the DSO.....and activate it.......it will autometically get generated.......You cannot load it from one DSO to other beacuse in this case Change log table is used........and this filed is in active table..........I think you need this fir reporting purpose.....so load it and activate the DSO......then it will be available in your active table for reporting.........because reporting is done on active table.......
    Check this link :
    http://help.sap.com/saphelp_nw04s/helpdata/en/a9/49453cabf4ef6fe10000000a114084/frameset.htm
    Hope this helps you....
    Regards,
    Debjani....
    Edited by: Debjani  Mukherjee on Sep 16, 2008 5:22 PM
    Edited by: Debjani  Mukherjee on Sep 16, 2008 5:25 PM

  • Date and number display format

    Hello all,
    I am new to Adobe Form, and I am quite unimpressed with how difficult it is to do the most simple things.
    I have managed one way or another to solve all my problems until now, but this one got me stuck.
    I have date and number fields in my form, and here is what I want to do but cannot:
    - I need these fields to be displayed using the defaults date and number settings of the SAP user who is generating the form. This one is really hard for me to figure out.
    - I need some other fields to be displayed in a specific format depending on a variable in the context of my form. I imagine this could be done using scripting, but how to change the display format of a field via scripting?
    Anyone has an idea of how that can be achieved?
    Thank you.

    Hi Thomas,
    For these kind of issues you will get many answers if you search the forum.
    If your requirement is to display the current date in the form, just drag and drop the "Current date" UI element from the Library palette -> Custom.
    If it is to get the date from SAP and display, pass date to the context node and just drag and drop the field into the form from the data view.
    Check the following wiki by Chintan. It explains some common scenarios in javascript.
    [JavaScript Part 1|http://wiki.sdn.sap.com/wiki/display/ABAP/JavaScriptforCommonScenarios-PartI]
    [JavaScript Part 2|http://wiki.sdn.sap.com/wiki/display/ABAP/JavaScriptforCommonScenarios-PartII]
    Use an 'if' condition, check the value and based on the value you can make the field hide/visible in the form.
    Hope this will help.
    Thanks & Regards,
    Sanoosh

  • Date to Number

    I have to store year and date in a database column like 'yeardate number(6)'.
    I have the year and month being passed to my procedure in a number and character strings respective.
    Month's value is like 'MARCH' i.e. a string, and year value is like 2009 i.e. a number.
    Now I need to convert the 'MARCH' to 03, and then store the value in the table as a number like 200903.
    How should I convert the string 'MARCH' month to a number 03, concatanate it to the year 2009, so that I dont get the error 'ORA-01722: invalid number'

    Nag Swamiyyee wrote:
    Please dont preach. We all get into jobs where applications are already written, data models are in place, and we have live with them. Reading Thomas Kyte is easy, but to work within a given scope of already developed applications is the challenge. With due respect we all know this truth.¿Preach? I don't 'preach', I pointed you to some links that helped me a lot, others a lot and I hoped they would help you as well.
    And :this is not about 'reading=easy', it's about understanding how things work.
    If you'd have read, searched and understood some more, then you'd know that: "applications come and go".
    Data models and applications are not static.
    Its about the data.
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1545206281987#51741210713900
    (sorry for yet another link)
    You don't adjust the data to your application, you adjust your application to the data.
    I've spent quite some time to find out/understand that.
    But, if you/your superiors think that it's better to store a DATE as NUMBER datatype, feel free to do so.
    But 'the scope' you're refering to can be MySQL/.NET/whatever tomorrow, and then you're out of luck. No more Oracle, but we still need the data.
    Just because that query using stored as a NUMBER that should actually be a DATE, crippled the database, since it got frequently used by that application you put so much faith into, but through the years it just couldn't perform anymore. Because you treated the data wrong.
    work within a given scope of already developed applications is the challenge.I sincerely wish you the best of luck.
    Times change.
    Versions change.
    So: I'm afraid 'your dream' will be shattered within 2/5 years (unless you're into mainframe-stuff), while the data is still there and still needed. And some other application will be 'sexy' then. For a while....
    I'm not preaching, I'm being realistic, since I've been through that myself as well.
    It's not about preaching or reading, it's about understanding.
    Now, why would I reinvent the wheel if it's already there?
    Hence I share links with others, since they really helped me (and many many others).
    You should not only read, but also try to understand.
    Nothing is static.
    Applications are certainly not.
    Data is.
    You should not try to squash your data into a static application.
    Your application should fit your data.

Maybe you are looking for

  • Satellite C855D - Computer thinks key Num 9 is pressed

    Such a weird issue, I hope someone can help. So this started happening on a monday after leaving the laptop off since saturday; everything working perfectly - no issues at all.After turning on the machine and booting normally into windows, I noticed

  • OpenOffice font issue

    Last semester I was running Slackware with the OpenOffice binary package from openoffice.org. I typed up some papers in "times" font. All was cool. Now I am running Arch on the same hardware with the openoffice package via pacman. The same documents

  • EXTERNAL HD PERMISSIONS PLEASE HELP!!!

    My Friend Changed Some HD Permissions on His Computer while my HD was connected... Now I don't have permission to access it, and it won't let me change the user permissions, even when logged into root. PLEASE HELP!!!

  • Reinstalled skype and won't see my video calling

    I had to restore my computer to factory settings. I redownloaded Skype and signed in. But it the video calling is grayed out.  I had that before. How do I get it back?

  • Starting songs form Itunes at the beginning

    Is it possible to have songs start from the beginning of song if the time i listeded to it previously i skipped through half way through song.  So i aa listening to Born to Run and half way through the song, i go to the next song.  Next time that son