[Sorted] ORA-01841 - date problem

I must be doing something stupid here, but for the life of me, I can't work out what it is! I'm on 10.2.0.2
I have a partitioned table that has partitions named PART_<YYYYMMDD> (eg. PART_20070618) or PART_MAX (for the catchall partition).
I've written a query to try and find the partition that's greater than a specified date, so I can work out what partition to split in my partition upkeep procedure.
(This is the test version of the query - in the procedure the table_name and the date comparison will be variables)
    SELECT 'PART_'||to_char(MIN(TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd')), 'yyyymmdd')
    FROM   (select partition_name
            from   all_tab_partitions
            WHERE  table_name = UPPER('task_archive')
            AND    partition_name <> 'PART_MAX')
    WHERE   TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd') > trunc(to_date('20070618', 'yyyymmdd'))This gives the error: ORA-01841: (full) year must be between -4713 and +9999, and not be 0
However, taking off the last WHERE clause gives this:
    SELECT 'PART_'||to_char(MIN(TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd')), 'yyyymmdd')
    FROM   (select partition_name
            from   all_tab_partitions
            WHERE  table_name = UPPER('task_archive')
            AND    partition_name <> 'PART_MAX')
'PART_'||TO_CHAR(MIN(TO_DATE(SUBSTR(PARTITION_NAME,6),'YYYYMMDD')),'YYYYMMDD')
PART_20070604And the inner query gives this:
            select partition_name
            from   all_tab_partitions
            WHERE  table_name = UPPER('task_archive')
            AND    partition_name <> 'PART_MAX'
PARTITION_NAME
PART_20070604
PART_20070611
PART_20070618Can anyone spot what it is that I've done wrong, please?!

Heh, yes, I did rewrite the query due to receiving the error initially. I've gone down the same route as you and couldn't get it to work.
I've just pasted your query in and run it, and same error occurs. Then I thought perhaps it's a Toad-ism, somewhere, but sqlplus gives the same error:
SQL>     SELECT 'PART_'|| to_char(MIN( part_date ), 'yyyymmdd')
  2      FROM   (select partition_name, TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd') part_Date
  3              from   all_tab_partitions
  4              WHERE  table_name = UPPER('task_archive')
  5              AND    partition_name <> 'PART_MAX')
  6      WHERE   part_date > to_date('20070618', 'yyyymmdd')
  7 
SQL> /
    FROM   (select partition_name, TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd') part_Date
ERROR at line 2:
ORA-01841: (full) year must be between -4713 and +9999, and not be 0I'm pretty sure Oracle's rewriting the query somehow, but I'm not sure how to stop it, given that the materialize hint isn't working:
  1      SELECT 'PART_'|| to_char(MIN( part_date ), 'yyyymmdd')
  2      FROM   (select /*+ materialize */ partition_name, TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd')
  3              from   all_tab_partitions
  4              WHERE  table_name = UPPER('task_archive')
  5              AND    partition_name <> 'PART_MAX')
  6*     WHERE   part_date > to_date('20070618', 'yyyymmdd')
SQL> /
    FROM   (select /*+ materialize */ partition_name, TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd')
ERROR at line 2:
ORA-01841: (full) year must be between -4713 and +9999, and not be 0

Similar Messages

  • ORA-01841 Error when value for date col is NULL in .dat (using SQL Loader)

    Hello Gurus,
    I have some data in .dat file which needs to be loaded into oracle table. I am using SQL * Loader to do the job. Although "NULLIF col_name =BLANKS" works for character datatype, but when value for date col is NULL then I get ORA-01841 error. I have to make NULL for all rows withour value for date column
    Early reply will be highly appreciated
    Farooq

    Hi,
    May be this problem is not with the NULLIF. The value for the date column is not in proper date format.
    create table:
    create table kk (empno number, ename varchar2(20), deptno number, hiredate date)
    Control file:
    LOAD DATA
    INFILE 'd:\kk\empdata.dat'
    insert into TABLE kk ( empno position (1:2) integer external,
    ename position(4:5) char NULLIF ename=BLANKS,
    deptno position (7:8) integer external NULLIF deptno=BLANKS,
    hiredate position (10:20) date NULLIF hiredate=BLANKS)
    data file:
    10 KK 01-jan-2005
    20 10
    SELECT * FROM KK;
    EMPNO ENAME DEPTNO HIREDATE
    10 KK 01-JAN-05
    20 10
    Verify the data file.
    Hope it will help

  • ORA-01841 Converting SQL Server DateTime to Oracle Date

    I have Oracle 11gR2 x64 running on my Win7 Enterprise x64 personal system. I'm trying to convert the TSQL to create a database in SQL Server 2008 Express for my C# class to Oracle, and I've run into a "interesting" problem loading date data.
    The SQL Server 2008 TSQL InvoiceDate column in the Invoices table has datatype DATETIME:
    *[InvoiceDate] [datetime] NOT NULL,*
    which Oracle does not support. The Oracle InvoiceDate column in the MMAB_Invoices table has datatype DATE:
    InvoiceDate DATE NOT NULL,
    The fun begins with the TSQL INSERT statements (for example):
    INSERT [dbo].[Invoices] ([InvoiceID], [CustomerID], [InvoiceDate], [ProductTotal], [SalesTax], [Shipping], [InvoiceTotal]) VALUES (18, 20, CAST(0x00009CFD00000000 AS DateTime), 151.0000, 11.3300, 6.2500, 168.5800)
    As you can see, whoever wrote the load script thought it would be totally awesome to convert hex (binary?) data to generate a date, instead of using data readable by a human being.
    BTW, the date generated is 2010-01-13 00:00:00.000.
    After Reading The Fabulous Manual and searching the OTN Discussion Fora, what I came up with is
    INSERT INTO MMAB_Invoices (CustomerID, InvoiceDate, ProductTotal, SalesTax, Shipping, InvoiceTotal) VALUES (20, TO_DATE(UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('00009CFD00000000')), 'YYYY-MM-DD HH:MI:SS'), 151.0000, 11.3300, 6.2500, 168.5800);
    which returned
    Error starting at line 846 in command:
    INSERT INTO MMAB_Invoices (CustomerID, InvoiceDate, ProductTotal, SalesTax, Shipping, InvoiceTotal) VALUES (20, TO_DATE(UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('00009CFD00000000')), 'YYYY-MM-DD HH:MI:SS'), 151.0000, 11.3300, 6.2500, 168.5800)
    Error report:
    SQL Error: ORA-01841: (full) year must be between -4713 and +9999, and not be 0
    *01841. 00000 - "(full) year must be between -4713 and +9999, and not be 0"*
    **Cause: Illegal year entered*
    **Action: Input year in the specified range*
    The PK InvoiceID is automatically generated by a BEFORE INSERT trigger that uses a sequence.
    Suggestions?
    Thanks.
    P.S. Happy New Year!!!

    Your hex conversion is certainly not returning a date format:
    sql> select UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('00009CFD00000000')) from dual;
    UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('00009CFD00000000'))
      ┐²To convert the hex number to decimal, simply use to_number:
    sql> select to_number('00009CFD00000000', 'xxxxxxxxxxxxxxxx') from dual;
    TO_NUMBER('00009CFD00000000','XXXXXXXXXXXXXXXX')
                                          1.7261E+14Now, before you can make any further calculations with that number, you need to know how it represents the date of 2010-01-13. Luckily, we've got Google nowadays. ;-)
    Sql server representation seems to be an 8 byte field. The first 4 bytes stores the number of days since SQL Server's epoch (1st Jan 1900). The second 4 bytes stores the number of milliseconds after midnight.
    sql> select to_number('00009CFD', 'xxxxxxxxxxxxxxxx') from dual;
    TO_NUMBER('00009CFD','XXXXXXXXXXXXXXXX')
                                       40189
    sql> select to_date('1900-01-01','yyyy-mm-dd') + 40189 from dual;
    TO_DATE('
    13-JAN-10So, the conversion would be something like this:
    sql> select to_date('1900-01-01','yyyy-mm-dd') + to_number(substr('00009CFD00000000',1,8), 'xxxxxxxx') + to_number(substr('00009CFD00000000',9,8), 'xxxxxxxx') / (24*60*60*1000) from dual;
    TO_DATE('
    13-JAN-10Note: Oracle DATE format specifies a datetime up to the second, whereas the sqlserver DATETIME format specifies a datetime up to the millisecond; if that precision is needed, use Oracle's TIMESTAMP instead.
    Note: using an internal representation is risky, implementation details may change. In this case, it seems pretty unlikely that Microsoft will ever change the datetime internal representation, since that would break lots and lots of code.
    Edited by: theoa on 2-jan-2012 9:14

  • Regarding the error ORA-01841: (full) year must be between -4713 and +9999,

    The issue is the code is not inserting the good records into the MIE table. This is becasue of the error 'OtherError GFSTM_INS_SNURK_NEW_TABLES_PA.gfstm_ins_asn_journal_pr:ORA-01841: (full) year must be between -4713 and +9999, and not be 0' This error is throwing out because of space issue in dt_asn_shipped.
    My requirement is to log error if any if not get the next record in the loop and insert it in the table if it has no error. The issue is good records are not getting inserted. The snurk_cmms_crct018_asn_journl in the cursor is a synonym which uses dblionk to connect to the remote db. The dt_asn_shipped data type is char(6) and the format is YYMMDD.
    declare
    CURSOR cur_asn_journal IS
    SELECT NVL(TRIM(cd_asn_plant),' ') cd_asn_plant,
         NVL(TRIM(no_journal),0) no_journal,
    NVL(TRIM(cd_ship_from),' ') cd_ship_from,
         TRIM(no_asn) no_asn,
    DECODE(LENGTH(dt_asn_shipped),6, to_date(to_char(to_date(trim(dt_asn_shipped),'YYMMDD'),
    'DD-MON-YY'),'DD-MON-YY'), '') dt_asn_shipped,
    TRIM(dt_processed) dt_processed,
    TRIM(in_manual) in_manual,
         TRIM(ts_last_update) ts_last_update     
    FROM snurk_cmms_crct018_asn_journl;
    BEGIN
    FOR l_rec_asn_journal IN cur_asn_journal LOOP
    BEGIN
    INSERT INTO gfstmie_st_cmms_asn_journal
    gsdb_site_code ,
    journal_num,
    gsdb_site_from_code,
    adv_shipping_notice_cnum,
    adv_sn_shipping_date,
    processed_date,
    manual_in_code,
    cmms_last_update_cdate,
    create_userid,
    create_dts,
    update_userid,
    update_dts
    ) VALUES
    l_rec_asn_journal.cd_asn_plant,
    l_rec_asn_journal.no_journal,
    l_rec_asn_journal.cd_ship_from,
    l_rec_asn_journal.no_asn,
    l_rec_asn_journal.dt_asn_shipped,
    l_rec_asn_journal.dt_processed,
    l_rec_asn_journal.in_manual,
    l_rec_asn_journal.ts_last_update,
    g_con_user_id,
         l_dts_current_gmt,
    g_con_user_id,
    l_dts_current_gmt
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('l_num_exception_pt_7');
    --To assign value to error attributes
    l_str_email_body := GFSTU_MSG_CONTEXT_STACKER_PA.gfstu_add_msg_context_fn(
    SQLERRM || l_str_process_track,
    g_con_package_name || l_con_proc_name,
    g_con_string_null);
    l_rec_apm_error_attributes.job_run_sakey := l_num_job_run_id;
    l_rec_apm_error_attributes.proj_acronym_code := GFSTM_PARM_SPECIFICATION_PA.g_con_proj_acronym_code_ta;           
    l_rec_apm_error_attributes.module_code := l_con_module_code;
    l_rec_apm_error_attributes.notes_text := l_str_email_body;
    l_rec_apm_error_attributes.msg_id := GFSTM_PARM_SPECIFICATION_PA.g_con_msg_id_invalid_date;
    --Calling procedure to log and notify subscribers of transaction
    --related errors and informational messages
    GFSTM_COMMON_UTL_PA.gfstm_log_message_pr(
    SUBSTR(l_str_email_body,1,2000),
    g_con_string_null,
    g_con_string_null,
    SUBSTR(l_str_email_body,1,2000),
    l_rec_apm_error_attributes,
    g_con_string_null,
    l_num_wait_time,
    l_num_wait_interval_time,
    l_str_msg_action_code,
    l_num_oracle_error_code,
    l_str_oracle_msg,
    l_num_return_code,
    l_num_status);
    END;
    END LOOP;
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('l_num_exception_pt_12');
    DBMS_OUTPUT.PUT_LINE('l_num_exception_pt_2 '||l_str_procg_mode_code);
    --Rollback uncommitted transactions
    ROLLBACK;
    --Assigning failure status
    o_num_status := g_con_status_failure;
    --Assigning procedure end time in GMT
    l_dts_end_time := GFSTU_DATETIME_UTILITIES_PA.gfstu_to_gmt_fn;
    --To assign value to error attributes
    l_str_email_body := GFSTU_MSG_CONTEXT_STACKER_PA.gfstu_add_msg_context_fn(
    SQLERRM || l_str_process_track,
    g_con_package_name || l_con_proc_name,
    g_con_string_null);
    l_rec_apm_error_attributes.job_run_sakey := l_num_job_run_id;
    l_rec_apm_error_attributes.proj_acronym_code := GFSTM_PARM_SPECIFICATION_PA.g_con_proj_acronym_code_ta;           
    l_rec_apm_error_attributes.module_code := l_con_module_code;
    l_rec_apm_error_attributes.notes_text := l_str_email_body;
    l_rec_apm_error_attributes.msg_id := GFSTM_PARM_SPECIFICATION_PA.g_con_msg_id_oracle;
    --Calling procedure to log and notify subscribers of transaction
    --related errors and informational messages
    GFSTM_COMMON_UTL_PA.gfstm_log_message_pr(
    SUBSTR(l_str_email_body,1,2000),
    g_con_string_null,
    g_con_string_null,
    SUBSTR(l_str_email_body,1,2000),
    l_rec_apm_error_attributes,
    g_con_string_null,
    l_num_wait_time,
    l_num_wait_interval_time,
    l_str_msg_action_code,
    l_num_oracle_error_code,
    l_str_oracle_msg,
    l_num_return_code,
    l_num_status);
    --Calling procedure to update the job status
    GFSTM_COMMON_UTL_PA.gfstm_update_job_status_pr(
    l_num_job_run_id,
    GFSTM_PARM_SPECIFICATION_PA.g_con_process_abort,
    l_dts_end_time,
    g_con_perf_metric_code,
    g_con_zero,
    g_con_n,
    l_num_oracle_error_code,
    l_str_oracle_msg,
    l_num_return_code,
    l_num_status);
    END ;
    Thanks,
    Vinodh

    Hi,
    Could you not have reduced your question to what is relevant?
    You seem to be saying that this is your problem:
    SELECT DECODE ( LENGTH (dt_asn_shipped),
              6,
              TO_DATE ( TO_CHAR ( TO_DATE ( TRIM (dt_asn_shipped), 'YYMMDD'), 'DD-MON-YY'), 'DD-MON-YY'),
             dt_asn_shipped
    FROM   snurk_cmms_crct018_asn_journl;As far as I can see, problem might be that you decode on UNTRIMMED length.
    Also, you could get rid of some the to_date(to_char(to_date), which is nothing more than simply to_date()
    Try something like
    SELECT CASE LENGTH (TRIM (dt_asn_shipped))
             WHEN 6 THEN TO_DATE ( TRIM (dt_asn_shipped), 'YYMMDD')
           END
             dt_asn_shipped
    FROM   snurk_cmms_crct018_asn_journl;Regards
    Peter

  • ORA-01841 when refreshing materialized view

    Hi,
    I have to upgrade my database from oracle 8.1.7.4 to 9.2.0.1.
    I have tested two ways to do it :
    1) I upgraded my database from 8i to 9i with the u0801070.sql script.
    2) I created an empty 9i database and then I exported the data from the 8i database and imported them to the 9i database.
    The two procedures worked fine.
    But now, when I try to refresh the mateiralized views with DBA Studio on the database upgraded via export/import, I obtain the error : ORA-01841.
    On the database upgraded via u0801070.sql, I don't have the problem.
    Why do I have this error ?
    Regards,
    Rachel TREBUCHET DANJOU

    Error: ORA 1841
    Text: (full) year must be between -4713 and +4713 / +9999
    Cause:
    Action:
    *** Important: The notes below are for experienced users - See Note 22080.1
    Explanation:
         Eg: In a clause like "to_date('XXXX','YYYY')" XXXX is outside of the
         range -4713 and +4713.
         Note that Year 0 is invalid too. See Bug 106242 for an explanation..
         Typically this involves "to_date('00','YYYY')" or similar which is
         invalid. It is probably better to use 'RR' rather than 'YY' which
         prefixes with an appropriate century.
         Eg:
              select to_char(to_date('00','yyyy')) from dual;
              ORA-01841: (full) year must be between -4713 and +4713
              select to_char(to_date('00','rr')) from dual;
              01-MAR-2000
    Year 2000
    ~~~~~~~~~
    You may also see this error if using a TO_DATE() function
    on a date column (or SYSDATE) and your sessions NLS_DATE_FORMAT
    includes a 2 digit year mask (RR or YY).
    eg: alter session set nls_date_format='DD-MON-RR';
    select to_date(sysdate,'DD-MON-YYYY') from dual;
    "ORA-01841: (full) year must be between -4713 and +9999, and not be 0"
    This is because TO_DATE() expects to work on a CHARACTER
    data type and so there is an implicit conversion from
    DATE to CHAR.
    eg: In the above example SYSDATE of 01-JAN-2000 is implictly
    converted to the character string "01-JAN-00", which is
    then converted back to a date using a DD-MON-YYYY date format.
    This gives a year of 0000 which is invalid, hence ORA-1841.
    Note:     From Oracle 7.2 onwards the UPPER bound is +9999 and not +4713
    Regards,
    Reza

  • Error in .oci.GetQuery(conn, statement, ...) :    ORA-29400: data cartridge error ORA-24323: ????? ORA-06512: at "RQSYS.RQTABLEEVALIMPL", line 24 ORA-06512: at line 4

    Hi,everyone,
                I had  installed  R Enterprise in my Oracle 11.2.0.1 base on win7,using the R 2.13.2, ORE 1.1,  I can using the part function: like
    library(ORE)
    options(STERM='iESS', str.dendrogram.last="'", editor='emacsclient.exe', show.error.locations=TRUE)
    > ore.connect(user = "RQUSER",password = "RQUSERpsw",conn_string = "", all = TRUE)
    > ore.is.connected()
    [1] TRUE
    > ore.ls()
    [1] "IRIS_TABLE"
    > demo(package = "ORE")
    Demos in package 'ORE':
    aggregate               Aggregation
    analysis                Basic analysis & data processing operations
    basic                   Basic connectivity to database
    binning                 Binning logic
    columnfns               Column functions
    cor                     Correlation matrix
    crosstab                Frequency cross tabulations
    derived                 Handling of derived columns
    distributions           Distribution, density, and quantile functions
    do_eval                 Embedded R processing
    freqanalysis            Frequency cross tabulations
    graphics                Demonstrates visual analysis
    group_apply             Embedded R processing by group
    hypothesis              Hyphothesis testing functions
    matrix                  Matrix related operations
    nulls                   Handling of NULL in SQL vs. NA in R
    push_pull               RDBMS <-> R data transfer
    rank                    Attributed-based ranking of observations
    reg                     Ordinary least squares linear regression
    row_apply               Embedded R processing by row chunks
    sql_like                Mapping of R to SQL commands
    stepwise                Stepwise OLS linear regression
    summary                 Summary functionality
    table_apply             Embedded R processing of entire table
    > demo("aggregate",package = "ORE")
      demo(aggregate)
      ---- ~~~~~~~~~
    Type  <Return> to start : Return
    > #
    > #     O R A C L E  R  E N T E R P R I S E  S A M P L E   L I B R A R Y
    > #
    > #     Name: aggregate.R
    > #     Description: Demonstrates aggregations
    > #     See also summary.R
    > #
    > #
    > #
    >
    > ## Set page width
    > options(width = 80)
    > # List all accessible tables and views in the Oracle database
    > ore.ls()
    [1] "IRIS_TABLE"
    > # Create a new table called IRIS_TABLE in the Oracle database
    > # using the built-in iris data.frame
    >
    > # First remove previously created IRIS_TABLE objects from the
    > # global environment and the database
    > if (exists("IRIS_TABLE", globalenv(), inherits = FALSE))
    +     rm("IRIS_TABLE", envir = globalenv())
    > ore.drop(table = "IRIS_TABLE")
    > # Create the table
    > ore.create(iris, table = "IRIS_TABLE")
    > # Show the updated list of accessible table and views
    > ore.ls()
    [1] "IRIS_TABLE"
    > # Display the class of IRIS_TABLE and where it can be found in
    > # the search path
    > class(IRIS_TABLE)
    [1] "ore.frame"
    attr(,"package")
    [1] "OREbase"
    > search()
    [1] ".GlobalEnv"          "ore:RQUSER"          "ESSR"              
    [4] "package:ORE"         "package:ORExml"      "package:OREeda"    
    [7] "package:OREgraphics" "package:OREstats"    "package:MASS"      
    [10] "package:OREbase"     "package:ROracle"     "package:DBI"       
    [13] "package:stats"       "package:graphics"    "package:grDevices" 
    [16] "package:utils"       "package:datasets"    "package:methods"   
    [19] "Autoloads"           "package:base"      
    > find("IRIS_TABLE")
    [1] "ore:RQUSER"
    > # Select count(Petal.Length) group by species
    > x = aggregate(IRIS_TABLE$Petal.Length,
    +               by = list(species = IRIS_TABLE$Species),
    +               FUN = length)
    > class(x)
    [1] "ore.frame"
    attr(,"package")
    [1] "OREbase"
    > x
         species  x
    1     setosa 50
    2 versicolor 50
    3  virginica 50
    > # Repeat FUN = summary, mean, min, max, sd, median, IQR
    > aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
    +           FUN = summary)
         species Min. 1st Qu. Median  Mean 3rd Qu. Max. NA's
    1     setosa  1.0     1.4   1.50 1.462   1.575  1.9    0
    2 versicolor  3.0     4.0   4.35 4.260   4.600  5.1    0
    3  virginica  4.5     5.1   5.55 5.552   5.875  6.9    0
    > aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
    +           FUN = mean)
         species     x
    1     setosa 1.462
    2 versicolor 4.260
    3  virginica 5.552
    > aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
    +           FUN = min)
         species   x
    1     setosa 1.0
    2 versicolor 3.0
    3  virginica 4.5
    > aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
    +           FUN = max)
         species   x
    1     setosa 1.9
    2 versicolor 5.1
    3  virginica 6.9
    > aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
    +           FUN = sd)
         species         x
    1     setosa 0.1736640
    2 versicolor 0.4699110
    3  virginica 0.5518947
    > aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
    +           FUN = median)
         species    x
    1     setosa 1.50
    2 versicolor 4.35
    3  virginica 5.55
    > aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
    +           FUN = IQR)
         species     x
    1     setosa 0.175
    2 versicolor 0.600
    3  virginica 0.775
    > # More than one grouping column
    > x = aggregate(IRIS_TABLE$Petal.Length,
    +               by = list(species = IRIS_TABLE$Species,
    +                         width = IRIS_TABLE$Petal.Width),
    +               FUN = length)
    > x
          species width  x
    1      setosa   0.1  5
    2      setosa   0.2 29
    3      setosa   0.3  7
    4      setosa   0.4  7
    5      setosa   0.5  1
    6      setosa   0.6  1
    7  versicolor   1.0  7
    8  versicolor   1.1  3
    9  versicolor   1.2  5
    10 versicolor   1.3 13
    11 versicolor   1.4  7
    12  virginica   1.4  1
    13 versicolor   1.5 10
    14  virginica   1.5  2
    15 versicolor   1.6  3
    16  virginica   1.6  1
    17 versicolor   1.7  1
    18  virginica   1.7  1
    19 versicolor   1.8  1
    20  virginica   1.8 11
    21  virginica   1.9  5
    22  virginica   2.0  6
    23  virginica   2.1  6
    24  virginica   2.2  3
    25  virginica   2.3  8
    26  virginica   2.4  3
    27  virginica   2.5  3
    > # Sort the result by ascending value of count
    > ore.sort(data = x, by = "x")
          species width  x
    1   virginica   1.4  1
    2   virginica   1.7  1
    3  versicolor   1.7  1
    4   virginica   1.6  1
    5      setosa   0.5  1
    6      setosa   0.6  1
    7  versicolor   1.8  1
    8   virginica   1.5  2
    9  versicolor   1.1  3
    10  virginica   2.4  3
    11  virginica   2.5  3
    12  virginica   2.2  3
    13 versicolor   1.6  3
    14     setosa   0.1  5
    15  virginica   1.9  5
    16 versicolor   1.2  5
    17  virginica   2.0  6
    18  virginica   2.1  6
    19     setosa   0.3  7
    20 versicolor   1.4  7
    21     setosa   0.4  7
    22 versicolor   1.0  7
    23  virginica   2.3  8
    24 versicolor   1.5 10
    25  virginica   1.8 11
    26 versicolor   1.3 13
    27     setosa   0.2 29
    > # by descending value
    > ore.sort(data = x, by = "x", reverse = TRUE)
          species width  x
    1      setosa   0.2 29
    2  versicolor   1.3 13
    3   virginica   1.8 11
    4  versicolor   1.5 10
    5   virginica   2.3  8
    6      setosa   0.4  7
    7      setosa   0.3  7
    8  versicolor   1.0  7
    9  versicolor   1.4  7
    10  virginica   2.1  6
    11  virginica   2.0  6
    12  virginica   1.9  5
    13 versicolor   1.2  5
    14     setosa   0.1  5
    15 versicolor   1.6  3
    16 versicolor   1.1  3
    17  virginica   2.4  3
    18  virginica   2.5  3
    19  virginica   2.2  3
    20  virginica   1.5  2
    21  virginica   1.6  1
    22  virginica   1.4  1
    23     setosa   0.6  1
    24     setosa   0.5  1
    25 versicolor   1.8  1
    26  virginica   1.7  1
    27 versicolor   1.7  1
    > # Preserve just 1 row for duplicate x's
    > ore.sort(data = x, by = "x", unique.keys = TRUE)
          species width  x
    1      setosa   0.5  1
    2   virginica   1.5  2
    3  versicolor   1.1  3
    4      setosa   0.1  5
    5   virginica   2.0  6
    6      setosa   0.3  7
    7   virginica   2.3  8
    8  versicolor   1.5 10
    9   virginica   1.8 11
    10 versicolor   1.3 13
    11     setosa   0.2 29
    > ore.sort(data = x, by = "x", unique.keys = TRUE, unique.data = TRUE)
          species width  x
    1      setosa   0.5  1
    2   virginica   1.5  2
    3  versicolor   1.1  3
    4      setosa   0.1  5
    5   virginica   2.0  6
    6      setosa   0.3  7
    7   virginica   2.3  8
    8  versicolor   1.5 10
    9   virginica   1.8 11
    10 versicolor   1.3 13
    11     setosa   0.2 29
    but    when I  use the following The ore.doEval command  get the errors,
    > ore.doEval(function() { 123 })
    Error in .oci.GetQuery(conn, statement, ...) :
      ORA-29400: data cartridge error
    ORA-24323: ?????
    ORA-06512: at "RQSYS.RQEVALIMPL", line 23
    ORA-06512: at line 4
    and  I  try to run the        demo("row_apply", package="ORE")  get the  same errors:
    demo("row_apply",package = "ORE")
      demo(row_apply)
      ---- ~~~~~~~~~
    Type  <Return> to start : Return
    > #
    > #     O R A C L E  R  E N T E R P R I S E  S A M P L E   L I B R A R Y
    > #
    > #     Name: row_apply.R
    > #     Description: Execute R code on each row
    > #
    > #
    >
    > ## Set page width
    > options(width = 80)
    > # List all accessible tables and views in the Oracle database
    > ore.ls()
    [1] "IRIS_TABLE"
    > # Create a new table called IRIS_TABLE in the Oracle database
    > # using the built-in iris data.frame
    >
    > # First remove previously created IRIS_TABLE objects from the
    > # global environment and the database
    > if (exists("IRIS_TABLE", globalenv(), inherits = FALSE))
    +     rm("IRIS_TABLE", envir = globalenv())
    > ore.drop(table = "IRIS_TABLE")
    > # Create the table
    > ore.create(iris, table = "IRIS_TABLE")
    > # Show the updated list of accessible table and views
    > ore.ls()
    [1] "IRIS_TABLE"
    > # Display the class of IRIS_TABLE and where it can be found in
    > # the search path
    > class(IRIS_TABLE)
    [1] "ore.frame"
    attr(,"package")
    [1] "OREbase"
    > search()
    [1] ".GlobalEnv"          "ore:RQUSER"          "ESSR"              
    [4] "package:ORE"         "package:ORExml"      "package:OREeda"    
    [7] "package:OREgraphics" "package:OREstats"    "package:MASS"      
    [10] "package:OREbase"     "package:ROracle"     "package:DBI"       
    [13] "package:stats"       "package:graphics"    "package:grDevices" 
    [16] "package:utils"       "package:datasets"    "package:methods"   
    [19] "Autoloads"           "package:base"      
    > find("IRIS_TABLE")
    [1] "ore:RQUSER"
    > # The table should now appear in your R environment automatically
    > # since you have access to the table now
    > ore.ls()
    [1] "IRIS_TABLE"
    > # This is a database resident table with just metadata on the R side.
    > # You will see this below
    > class(IRIS_TABLE)
    [1] "ore.frame"
    attr(,"package")
    [1] "OREbase"
    > # Apply given R function to each row
    > ore.rowApply(IRIS_TABLE,
    +              function(dat) {
    +                  # Any R code goes here. Operates on one row of IRIS_TABLE at
    +                  # a time
    +                  cbind(dat, dat$Petal.Length)
    +              })
    Error in .oci.GetQuery(conn, statement, ...) :
      ORA-29400: data cartridge error
    ORA-24323: ?????
    ORA-06512: at "RQSYS.RQROWEVALIMPL", line 26
    ORA-06512: at line 4
    >
    whether my oracle's version 11.2.0.1 has no the RDBMS bug fix, and other  problems? Thanks

    Oracle R Enterprise 1.1. requires Oracle Database 11.2.0.3, 11.2.0.4. On Linux and Windows.  Oracle R Enterprise can also work with an 11.2.0.1 or 11.2.0.2 database if it is properly patched.
    Embedded R execution will not work without a patched database.  Follow this procedure to patch the database:
    1. Go to My Oracle Support:http://support.oracle.com
    2. Log in and supply your Customer Support ID (CSI).
    3. Choose the Patches & Updates tab.
    4. In the Patch Search box, type 11678127
    and click Search
    5. Select the patch for your version of Oracle Database, 11.2.0.1.
    6. Click Download to download the patch.
    7. Install the patch using OPatch. Ensure that you are using the latest version of OPatch.
    Sherry

  • Application Express 4.0.1.00.03 -   ORA-01841 error when attempting to edit

    I am logged into a development workspace and am able to add new users in HOME|ADMINISTRATION|USERS but when I try to edit them afterward I get the following error:
    Application Express Users
    ORA-01841: (full) year must be between -4713 and 9999, and not be 0+
    Obviously APEX is looking for a date value and not finding it. Anyone else encounter this or know where to look to resolve this? I got the same error in APEX 4.0 so the patch didn't resolve this error. I've done some research in the tables but couldn't find anything that looked like a missing date value.
    I'm using an 11gR2 database on OEL 5.5 running in VBOX on my laptop.
    Thanks.
    Rob

    FIX:
    Cause
    The issue appears due to a problem with the PASSWORD_LIFE_TIME.
    Solution
    Using the apex_admin application, navigate to Home > Manage Service > Security then enter integer values for:
    * Account Password Lifetime (days) - enter 11688, for example
    Apply Changes.
    Looks like it is a bug in apex 4.0 which has also affected previous versions (known about since version 1.5)........

  • ORA-01841 - (full) year must be between -4713 and +9999, and not be 0

    Hi Comunnity,
    Let me explain the scenario:
    We want to replicate a number of Discoverer reports, adding more columns to the reports. Due to the internal structure of the views and materialized tables, we can not make the joins inside the Discoverer Administration Edition, so we have decided to replicate the original materialized table adding the columns in order to get what we want. So the new materialized table has built as follows:
    CREATE TABLE APPS.GUZMAN_STOCK_DEPRE_EXIST_MAT_X
    EMPRESA VARCHAR2(240 BYTE),
    COD_ORGANIZACION NUMBER,
    COD_SECCION VARCHAR2(40 BYTE),
    SECCION VARCHAR2(4000 BYTE),
    FAMILIA VARCHAR2(40 BYTE),
    NOMBRE_PRODUCTO VARCHAR2(240 BYTE),
    DESCRIPCION_ARTICULO VARCHAR2(240 BYTE),
    UNIDAD_EXISTENCIA_ACT NUMBER,
    PRECIO_MEDIO NUMBER,
    FECHA_ULT_VENTA DATE,
    FECHA_ULT_COMPRA DATE,
    FECHA_ULT_MOVIMIENTO DATE,
    PRECIO_ULT_COMPRA NUMBER,
    CLASE_UNIDAD VARCHAR2(40 BYTE),
    COD_ORG_INV NUMBER,
    ORG_INV_NAME VARCHAR2(240 BYTE),
    COD_ARTICULO NUMBER,
    AÑO VARCHAR2(2 BYTE),
    MES VARCHAR2(2 BYTE),
    ULTIMO_DIA_TRANS DATE,
    SEIS_MESES_ANTES DATE,
    DOCE_MESES_ANTES DATE,
    DIECIOCHO_MESES_ANTES DATE,
    SEIS_MESES NUMBER,
    SIETE_DOCE_MESES NUMBER,
    TRECE_DIECIOCHO_MESES NUMBER,
    FCOMVACIA NUMBER,
    TIPO_ARTICULO VARCHAR2(80 BYTE),
    TRANSACTION_ID NUMBER,
    FECHA_MOVIMIENTO DATE,
    TIPO_MOVIMIENTO VARCHAR2(80 BYTE)
    TABLESPACE APPLSYSD
    PCTUSED 40
    NOMONITORING;
    The bold fields are the new ones. So we added the materialized table as a new folder in our working business area and add the following new intems:
    Valor Compra = CASE WHEN Precio Ult Compra = 0 THEN Importe Stocks ELSE Unidad Existencia Act*Precio Ult Compra END
    Importe Stocks = Unidad Existencia Act*Precio Medio
    Depreciación = CASE WHEN Valor Compra < Importe Stocks THEN Importe Stocks-Valor Compra ELSE 0 END
    DiasMes = CASE WHEN ((((((Mes = '01' OR Mes = '03') OR Mes = '05') OR Mes = '07') OR Mes = '08') OR Mes = '10') OR Mes = '12') THEN 31 WHEN (((Mes = '04' OR Mes = '06') OR Mes = '09') OR Mes = '11') THEN 30 ELSE 28 END
    fecha_MES = TO_NUMBER(CONCAT(DiasMes,Mes))
    Nueva_Fecha = TO_DATE(CONCAT(fecha_MES,Ano))
    Dias = NVL(Nueva_Fecha-Fecha Ult Venta,0)
    PorcenDepre = CASE WHEN Dias = 0 AND DiasC < 181 THEN 0 WHEN Dias = 0 AND DiasC > 180 THEN 100 WHEN Dias < 181 THEN 0 WHEN Dias < 361 THEN 25 WHEN Dias < 540 THEN 50 WHEN Dias > 541 THEN 100 ELSE 0 END
    Valor Depr = Valor Compra*PorcenDepre/100
    DiasC = NVL(Nueva_Fecha-Fecha Ult Compra,0)
    PorcenDepreC = CASE WHEN DiasC = 0 THEN 100 WHEN DiasC < 181 THEN 0 WHEN DiasC < 361 THEN 25 WHEN DiasC < 540 THEN 50 WHEN DiasC > 541 THEN 100 ELSE 0 END
    Valor DepreC = Valor Compra*PorcenDepreC/100
    T6 = CASE WHEN Unidad Existencia Act >= SEISMESES THEN SEISMESES ELSE Unidad Existencia Act END
    T12 = CASE WHEN Unidad Existencia Act-T6 > DOCEMESES THEN DOCEMESES WHEN Unidad Existencia Act-T6 < DOCEMESES THEN Unidad Existencia Act-T6 WHEN Unidad Existencia Act-T6 = DOCEMESES THEN Unidad Existencia Act-T6 END
    T18 = CASE WHEN Unidad Existencia Act-( T6+T12 ) > DIECIOCHOMESES THEN DIECIOCHOMESES WHEN Unidad Existencia Act-( T6+T12 ) < DIECIOCHOMESES THEN Unidad Existencia Act-( T6+T12 ) WHEN Unidad Existencia Act-( T6+T12 ) = DIECIOCHOMESES THEN Unidad Existencia Act-( T6+T12 ) END
    TR = Unidad Existencia Act-( T6+T12+T18 )
    DT6 = T6*Precio Medio*0/100
    DT12 = ( T12*Precio Medio )*25/100
    DT18 = T18*Precio Medio*50/100
    DTR = TR*Precio Medio*100/100
    DTOTAL = DT6+DT12+DT18+DTRVCIA+DFCOMPVCIA
    SEISMESES = CASE WHEN NVL(Seis Meses,0) < 0 THEN 0 ELSE NVL(Seis Meses,0) END
    DOCEMESES = CASE WHEN NVL(Siete Doce Meses,0) < 0 THEN 0 ELSE NVL(Siete Doce Meses,0) END
    DIECIOCHOMESES = CASE WHEN NVL(Trece Dieciocho Meses,0) < 0 THEN 0 ELSE NVL(Trece Dieciocho Meses,0) END
    FCOMPVCIA = DECODE(Fecha Ult Compra,NULL,Unidad Existencia Act,0)
    TRVCIA = TR-FCOMPVCIA
    DTRVCIA = TRVCIA*Precio Medio*100/100
    DFCOMPVCIA = FCOMPVCIA*Precio Medio*100/100
    Due to Discoverer does not allow foreign characters (ñ), we have changed the name of Field Año to Ano (as you can check in the Nueva_Fecha calculated field).
    Now, when we select the fields (Empresa, Cod Sección, Nombre Producto, Unidad Existencia Act, Precio Medio, Fecha Ult Venta, Fecha Ult Compra, Fecha Ult Movimiento, Precio Ult Compra, Org Inv Name, Ano, Mes, Valor Compra, Importe Stocks, Depreciación, Dias, PorcenDepre, Valor Depr, DiasC, PorcenDepreC, ValorDepreC) in order to build a new report, Discoverer shows us the ORA-01841 Error.
    Can be produced the error by the way in which discoverer stores the Nueva_Fecha Field?, cause as we check the field in Adminostration Edition, it appears as TO_DATE(CONCAT(fecha_MES,'Ano')) (with the field Ano in simple quotes), or just by any other circumstance?
    Thanks a lot for your help.
    Luis.
    Update:*
    It seems that the problem comes with the item created in Discoverer Administration Edition "Nueva_Fecha":
    Nueva_Fecha = TO_DATE(CONCAT(fecha_MES,Ano))
    (Keep in mind that:
    fecha_MES = TO_NUMBER(CONCAT(DiasMes,Mes))
    DiasMes = CASE WHEN ((((((Mes = '01' OR Mes = '03') OR Mes = '05') OR Mes = '07') OR Mes = '08') OR Mes = '10') OR Mes = '12') THEN 31 WHEN (((Mes = '04' OR Mes = '06') OR Mes = '09') OR Mes = '11') THEN 30 ELSE 28 END
    ), so any created field that uses Nueva_Fecha or is derivated from Nueva_Fecha causes the error (e.g. --> Dias = NVL(Nueva_Fecha-Fecha Ult Venta,0))
    Then; How can we configure the field in order that discoverer deals with it as a date field?
    Regards,
    Luis.
    Edited by: GGOracle User on 27-may-2010 15:23

    Hi,
    I think you forgot the separator in the string you want to convert to date.
    Your problem lies in the format of the date you are trying to create.
    try
    Nueva_Fecha = TO_DATE(DiasMes||'-'||Mes||'-'||Ano ,'DD-MM-YYYY')
    BTW
    you can use || instead of CONCAT so that you can concatenate more than 2 values each time
    Tamir

  • Ora-01841 returned

    Hi,
    ***Condition***
    - Table1 has
    [field1] : varchar2 (20)
    (data: '20110301', '20110302', ... (No null values))
    - View2 has
    [date1]: to_date(Table1.field1, 'yyyymmdd')
    under the condition above, ora-01841 returned by the following sql[1]:
    select date1 from View2
    where to_char(View2.date1, 'rrrr') = '2011' and substrb(to_char(View2.date1, 'mm'),1) = '03'
    i can get the records by the following sql[2]:
    select date1 from View2
    where to_char(View2.date1, 'rrrrmm') = '2011' || '03'
    any idea of the difference between sql[1] & [2]?
    *Oracle version is 11g
    Edited by: user5334162 on 2012/03/26 23:58

    This problem was solved by
    adding "ORDERED" hint & disabling cardinarity feedback option.

  • ORA-01841

    Hi expert,
    I have two statement in my procedure :
    r_period IN VARCHAR2
    v_from_date date;
    v_to_date date;
    v_from_date := to_date('1/4/'||to_char(r_period),'dd/mm/yyyy');
    v_to_date := to_date('31/3/'||to_char((to_number(r_period)-5)),'dd/mm/yyyy');
    when I ran procedure , got following error message:
    "ORA-01841 :(full) year must be between -4713 and +9999, and not be 0 "
    appreciate very much if help me to resolve it.
    Many Thanks,

    Hi,
    I can't re-produce the problem.
    Whenever you have a problem, please post a complete test script that people can run to re-create the problem and test their ideas. In this case, include the complete procedure code (or a simplified version that has the same problem) and the code that you use to call it.
    Always say which version of Oracle you're using (for example, 11.2.0.2.0).
    See the forum FAQ {message:id=9360002}
    918440 wrote:
    Hi expert,
    I have two statement in my procedure :
    r_period IN VARCHAR2
    v_from_date date;
    v_to_date date;
    v_from_date := to_date('1/4/'||to_char(r_period),'dd/mm/yyyy');
    v_to_date := to_date('31/3/'||to_char((to_number(r_period)-5)),'dd/mm/yyyy');Usuaully, when people talk about dates "from x to y", x is earlier than y. You're setting v_from_date to be over 5 years later than v_to_date. That's not the cause of the ORA-01841 error, or any other Oracle error, but it is likely to confuse whoever has to maintain this code.
    when I ran procedure , got following error message:
    "ORA-01841 :(full) year must be between -4713 and +9999, and not be 0 "That's one of those error messages that actually means what it says. Apparantly, you're calling the procedure with a bad value for r_period. I can't say anthing more specific until you post a complete script.
    Converting from NUMBERs to VARCHAR2s to DATEs is very error prone. Try to avoid doing so many conversions. For example, you're doing 3 data type conversions to compute v_from_date. You could get the same results with only 1 conversion, like this:
    v_to_date   := ADD_MONTHS ( TO_DATE ( '31/3/' || r_period
                                              , 'DD/MM/YYYY'
                     , -5 * 12
                        );Personally, I would do it this way:
    v_to_date   := ADD_MONTHS ( TRUNC ( TO_DATE (r_period, 'YYYY')
                          , 'YEAR'
                          ) - 1
                     , -57
                        );which also uses only 1 conversion, and that conversion is very simple. You can still get errors, including ORA-01841, if you pass a bad value for r_period, but the errors will be easier to find and fix.

  • Error ORA-01841: (full) year must be between -4713 and +9999, and not be 0

    Hi Experts,
    I seem to be getting the error "Error ORA-01841: (full) year must be between -4713 and +9999, and not be 0" when my dates are in the year 2000. Here's my SQL:
    DROP TABLE PER_ALL_ASSIGNMENTS_M_XTERN;
    create table PER_ALL_ASSIGNMENTS_M_XTERN(
    PERSON_NUMBER                    VARCHAR2(30 CHAR),
    ASSIGNMENT_NUMBER VARCHAR2(30 CHAR),
    EFFECTIVE_START_DATE                DATE,
    EFFECTIVE_END_DATE           DATE,
    EFFECTIVE_SEQUENCE           NUMBER(4),
    ASS_ATTRIBUTE_CATEGORY           VARCHAR2(30 CHAR),
    ASS_ATTRIBUTE1 VARCHAR2(150 CHAR),
    ASS_ATTRIBUTE_NUMBER20 NUMBER,
    ASS_ATTRIBUTE_DATE1 DATE,
    ASS_ATTRIBUTE_DATE2 DATE,
    ASS_ATTRIBUTE_DATE3 DATE,
    ASS_ATTRIBUTE_DATE4 DATE,
    ASS_ATTRIBUTE_DATE5 DATE,
    ASS_ATTRIBUTE_DATE6 DATE,
    ASS_ATTRIBUTE_DATE7 DATE,
    ASS_ATTRIBUTE_DATE8 DATE,
    ASS_ATTRIBUTE_DATE9 DATE,
    ASS_ATTRIBUTE_DATE10 DATE,
    ASS_ATTRIBUTE_DATE11 DATE,
    ASS_ATTRIBUTE_DATE12 DATE,
    ASS_ATTRIBUTE_DATE13 DATE,
    ASS_ATTRIBUTE_DATE14 DATE,
    ASS_ATTRIBUTE_DATE15 DATE,
    ASG_INFORMATION_CATEGORY           VARCHAR2(30 CHAR),
    ASG_INFORMATION1 VARCHAR2(150 CHAR),
    ASG_INFORMATION_NUMBER20 NUMBER,
    ASG_INFORMATION_DATE1 DATE,
    ASG_INFORMATION_DATE2 DATE,
    ASG_INFORMATION_DATE3 DATE,
    ASG_INFORMATION_DATE4 DATE,
    ASG_INFORMATION_DATE5 DATE,
    ASG_INFORMATION_DATE6 DATE,
    ASG_INFORMATION_DATE7 DATE,
    ASG_INFORMATION_DATE8 DATE,
    ASG_INFORMATION_DATE9 DATE,
    ASG_INFORMATION_DATE10 DATE,
    ASG_INFORMATION_DATE11 DATE,
    ASG_INFORMATION_DATE12 DATE,
    ASG_INFORMATION_DATE13 DATE,
    ASG_INFORMATION_DATE14 DATE,
    ASG_INFORMATION_DATE15 DATE
    organization external
    ( default directory APPLCP_FILE_DIR
    access parameters
    ( records delimited by newline skip 1
         badfile APPLCP_FILE_DIR:'PER_ALL_ASSIGNMENTS_M_XTERN.bad'
    logfile APPLCP_FILE_DIR:'PER_ALL_ASSIGNMENTS_M_XTERN.log'
    fields terminated by ',' OPTIONALLY ENCLOSED BY '"'
    (PERSON_NUMBER,     
    ASSIGNMENT_NUMBER,
    EFFECTIVE_START_DATE CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    EFFECTIVE_END_DATE CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    EFFECTIVE_SEQUENCE,
    ASS_ATTRIBUTE_CATEGORY,
    ASS_ATTRIBUTE1,
    ASS_ATTRIBUTE_NUMBER20,
    ASS_ATTRIBUTE_DATE1 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE2 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE3 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE4 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE5 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE6 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE7 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE8 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE9 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE10 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE11 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE12 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE13 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE14 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASS_ATTRIBUTE_DATE15 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_CATEGORY,
    ASG_INFORMATION1,
    ASG_INFORMATION_NUMBER20,
    ASG_INFORMATION_DATE1 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE2 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE3 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE4 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE5 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE6 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE7 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE8 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE9 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE10 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE11 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE12 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE13 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE14 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
    ASG_INFORMATION_DATE15 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY"
    location ('PER_ALL_ASSIGNMENTS_M.csv')
    REJECT LIMIT UNLIMITED;
    ...and getting errors when data looks like the following:
    E040101,EE040101,*1-Aug-2000*,31-Dec-4712,1,,NDVC,YES,DE,SFC,N,STIP Plan - Pressure,,,,,,,E040101,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,31113,31113,31113,31113,31113,31113,,,1-Jan-2012,31-Dec-2012,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ...error message:
    error processing column EFFECTIVE_START_DATE in row 19 for datafile /u05/dbadir/jmf/incident_logs/PER_ALL_ASSIGNMENTS_M.csv
    ORA-01841: (full) year must be between -4713 and +9999, and not be 0
    Thanks,
    Thai

    Here is a snippet of the bad file data:
    E040110,EE040110,01-Aug-00,31-Dec-12,1,,NDVC,YES,DE,SFC,N,STIP Plan - Pressure,,,,,,,E040110,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,27667.2,27667.2,27667.2,27667.2,27667.2,27667.2,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    E040100,EE040100,01-May-00,31-Dec-12,1,,NDVC,YES,DE,SFC,N,STIP Plan - Pressure,,,,,,,E040100,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,31113,31113,31113,31113,31113,31113,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    E040101,EE040101,01-Aug-00,31-Dec-12,1,,NDVC,YES,DE,SFC,N,STIP Plan - Pressure,,,,,,,E040101,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,31113,31113,31113,31113,31113,31113,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    E000916,EE000916,01-Oct-00,31-Dec-12,1,,NDVC,YES,NL,SFC-Commercial,E,SIP Plan - Control Technologies,,,,,,,E000916,21000000,555000,99000,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,,,,,,,,,,,,34905.65,34905.65,34905.65,34905.65,34905.65,34905.65,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    E000807,EE000807,03-Jan-00,31-Dec-12,1,,NDVC,YES,FR,SFC-Commercial,E,STIP Plan - Cross BU,,,,,,,E000807,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,35448.56,35448.56,35448.56,35448.56,35448.56,35448.56,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    E000851,EE000851,25-Apr-00,31-Dec-12,1,,NDVC,YES,FR,SFC-Commercial,E,SIP Plan - Control Technologies,,,,,,,E000851,21000000,555000,99000,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,43283.76,43283.76,43283.76,43283.76,43283.76,43283.76,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    So, the successfully loaded data is being loaded where year=2003 in the CSV as year=0003. Even though the data is loaded fine the data is not correct. For some reason the external table is set to have the year truncated.

  • Some photos are not sorted correctly by date

    I just imported some photos from my friends camera who were on the same trip. However, I noticed that a couple (not all) of his photos are not sorted correctly by date in the Event. A photo from day 3 somehow comes before the photos from day 2. I checked the extended information and the dates on the photo are correct. Has anyone had this problem and know of a solution? Thanks.

    It might be of some help to delete the photo cache. Please see this link - http://support.apple.com/kb/TS1314

  • How can I sort pictures by date and than by time stamp ?

    The approx. 2.000 pictures was taken by two cameras.
    Both cameras intern date and time where adjusted before the for session.
    It seems that Aperture 3.3.1 can´t manage it, can it?
    In the browser there is only one common field for date and time.
    I shoot the picture with two Canon 5D Mark II and Mark-III in JPG and RAW mode.
    The file name only is totally confusing for sorting.
    Like IMG_0008, _MG_0022 for Mark-II
    and
    _L2A8410 for Mark-III.

    Hi,
    I am not sure, which sort order you want to achieve? If you sort by the date field, the images will be sorted chronologically, ascending or descending, according to date and time - isn't what what you want?
    Can it be that you have a time zone problem? Compare the dates on the images that should be sorted side by side.
    Unless you specify "Camera Time" and "Actual Time" on import, Aperture will assume that the camera time has been your current system time.
    Canon 5D Mark II and Mark-III
    And unfortunately, both your cameras are exactly the two cameras that I know, where the time zone correction in Aperture is buggy and does not have much effect. I cannot find the discussion again right now, but look for a thread by Frank Caggiano on time zone correction.
    Regards
    Léonie

  • ORA-1839 date not validfor month

    I am getting ORA-1839 date not valid for month specified for fallowing query
    select      message_id,value_dt from tms_view_fx1
    where     TRUNC(to_date('20061124','YYYYMMDD') - TO_DATE(value_dt,'YYYYMMDD')) >=1
    what will be the solution please help

    Well the real solution is to stop using a string datatype to hold date values.
    Your problem is that you have values in that column which either do not hold dates or else hold dates in a different format to the one you sre using in that mask. As a work around you will need to build a user defined function to trap the exception and use that in your query instead.
    Cheers, APC
    P.S. Why are you using TRUNC()? If you don't include a time element in the string the date is TRUNC-ed already.

  • Weird Date Problem in SQL Query

    Dear Members,
    Iam using the following query:
    SQL>select api.attribute2 PO_NO,
    substr(api.attribute4, 10, 5) REL_NO,
    api.invoice_num,
    SUM(T.ACCOUNTED_DR) DR,
    SUM(T.ACCOUNTED_CR) CR
    from gl.gl_je_lines t, GL_CODE_COMBINATIONS GCC, ap_invoices_all api
    WHERE T.SET_OF_BOOKS_ID IN (7)
    AND TO_DATE(TO_DATE(t.PERIOD_NAME, 'MON-YY'), 'DD-MON-YY') =
    TO_DATE(TO_DATE('&P_PERIOD_FROM', 'MON-YY'), 'DD-MON-YY')
    AND TO_DATE(TO_DATE(t.PERIOD_NAME, 'MON-YY'), 'DD-MON-YY') <=
    TO_DATE(TO_DATE('&P_PERIOD_TO', 'MON-YY'), 'DD-MON-YY')
    AND T.CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
    AND GCC.SEGMENT5 = '&P_ACCOUNT'
    and t.reference_2 = api.invoice_id
    GROUP BY api.attribute2, substr(api.attribute4, 10, 5), api.invoice_num
    order by api.attribute2, substr(api.attribute4, 10, 5), api.invoice_num
    In the above query iam giving two types of parameters:
    Type1:
    Account:=17400650
    P_PERIOD_FROM:='JAN-07'
    P_PERIOD_to:='DEC-07'
    For the above type of parameters the query is running fine and giving desired results.
    Type2:
    Account:=36210040
    P_PERIOD_FROM:='JAN-07'
    P_PERIOD_to:='DEC-07'
    For the above type of parameters it is giving me the error: ora-01843 not a valid month_
    Can any one please tell me what is the reason for this weird problem.
    Your inputs will be of great help to me.
    Thanks in advance.
    Best Regards,
    Arun Reddy

    Please review Note:338832.1
    How to debug ORA-01843: not a valid month, ORA-01821: date format not recognized, ORA-1801

Maybe you are looking for

  • Error in webdynpro application

    Dear gurus. Im getting following error how to rectify it ? we don't have Basis guy so im also doing the basis stuff and im new in it . Error when processing your request What has happened? The URL http://sapr3dq:8000/sap/bc/webdynpro/sap/zsaptechnica

  • How do I get itunes to show me itunes library on the server

    Hello -- I rans itunes on a friends windows 7 computer and one of the selections on the left side of the screen was  "servers" --- I have the same server on my home system, but I don''t see that "server"  selection --  It there a setting in iTunes pr

  • Transporter No and Transporter Name

    Hi , I want to get field Transporter No and Transporter Name it was maintained in sale order (Partner Tab).If it is maintained in Text means i can use 'READ_TEXT' function but it was maintained in (Partner Tab).Can you help me which table contain tra

  • Burn an achieved File

    I am trying to burn a achieved file on  a cd iDVD or iMovie does not recognize the format.  Any ideas?  Thanks

  • Imac won't start. Help.

    Ok my late 2012 imac just won't start up,maws stuck at the grey apple logo and spinning thingy. Followed everything here, nothing worked: http://support.apple.com/kb/ts2570 My business is now held up / dead in it's tracks and I don't know what to do.