Sqlloader -350   illegal combination of non alphanumeric character

hi all,
i'm using owb 10.2.0.1
i have a file in my D:\2122008.txt and a table in oracle DB
created a map from file to table.....
generated a code and saved in D:\orahome_1\owb\codegen\ctl\Employee.ctl
deployed in target database...
when is start from OWB i get the following error
RPE-01013: SQL Loader reported error condition, number 1.
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Mar 6 17:50:01 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL*Loader-500: Unable to open file (d:\EMPLOYEE.ctl)
SQL*Loader-553: file not found
SQL*Loader-509: System error: The system cannot find the file specified.
so i planned to run by invoking sql*loader..
this is the generated code
OPTIONS (BINDSIZE=50000,ERRORS=50,ROWS=200,DIRECT=TRUE,READSIZE=65536,FILE='F_21022008_TXT')
CONTINUE_LOAD DATA
CHARACTERSET WE8MSWIN1252
INFILE '{{FILE_EMP_LOCATION1.RootPath}}{{}}21022008_TXT'
DISCARDMAX 0
CONCATENATE 1
INTO TABLE "DMT_ADMIN"."AZBJ_ONEEMPLOYEE_DATABASE"@"dwhtest"
APPEND
REENABLE DISABLED_CONSTRAINTS
FIELDS TERMINATED BY X'09' OPTIONALLY ENCLOSED BY 'X' SKIP 0
"REC_SRNO" POSITION(1) INTEGER EXTERNAL ,
"EMPLOYEENUMBER" INTEGER EXTERNAL ,
"EMPLOYEENAME" CHAR ,
"EMPDOB" CHAR ,
"GENDER" CHAR ,
"DEPARTMENT" CHAR ,
"DESIGNATION" CHAR ,
"OPUSCODE" CHAR ,
"BRANCHCODE" CHAR ,
"OFFICEMAIL" CHAR ,
when i execute in sqlldr it is openeing the ctl file but gives the following error
sql*loader-350: syntax error at line 21
illegal combination of non-alphanumeric characters
INTO TABLE "DMT_ADMIN"."AZBJ_ONEEMPLOYEE_DATABASE"@"dwhtest"
the error is comming at the symbal "@"
tried out several ways but could'nt resolve the prob
anyone out there to help me....

shld i need to keep the source files where OWB server is installed or can i run the process by keeping the files in my client systems local directory?

Similar Messages

  • SQL*Loader-350: Illegal combination of non-alphanumeric characters

    Hi all,
    how to skip a column in control file.
    i.e.
    I have a table with 10 columns and FAT file contains 11 columns.
    how to skip a last column ?
    and
    I added extra column to Table and I changed the control file too.
    but i am getting error.
    SQL*Loader-350: Syntax error at line 115.
    Illegal combination of non-alphanumeric characters
    thanks in Advance.

    Tom Kyte has an elaborate solution on his page:
    http://osi.oracle.com/~tkyte/SkipCols/index.html
    Or post the table description and the control file, so we can have a look at it.

  • Non-Alphanumeric Character in a String

    I understand if we have a non-alphanumeric character in a String, we have to put a backward slash in front of that character. For example, we have to put a backward slach in front of a "backward slash". Eg. we do \\ to put a backward slash in a String.
    What about a dot (.) or a dash (-)? Do we have to do the same thing?

    No, it's only for control characters like "newline", characters with special meaning in strings i.e. " and \ and any character that can't be represented in the character encoding of your java source file.

  • ALPHANUM datatype contains non-alphanumeric character like @#$&*

    Hi All,
    I use ALPHANUM datatype in one table with 127 size. As per definition in Developer guide
    "ALPHANUM(n) data type specifies a variable-length character string which contains alphanumeric characters"
    Example :
    insert into "SOMNATH"."aadata" values(to_ALPHANUM ('!@#$%')) ;
    insert into "SOMNATH"."aadata" values(')(*&!@#$%') ;
    Above statement executed successfully. So HANA cannot check alphanumeric char. at the time of insertion or any other reason?
    Message was edited by: Tom Flanagan

    Hmm... not sure about PASAL ... never heard of that one and it doesn't pop up in my search engine of choice.
    But as you describe it, it seems to be a standard/convention on how to name your variables.
    Limiting what type of characters can be entered into the system definitively limits the portability of your application. Something that might not be relevant today, but very likely tomorrow...
    Take the user name in SAP HANA for an example. With SPS8 our development finally made the move to allow NVARCHAR characters as user names - allowing chinese, indian, thai, israeli ... users to choose names for user accounts in the alphabet that is right for them.
    Concerning processing and memory consumption: I don't really see the point in bringing up a link to a MS SQL Server blog here.
    MS SQL Server encodes data very differently from SAP HANA. And Oracle stores data differently than IBM DB 2 and mySQL stores data differently than PostgreSQL ....
    What I can say is: as long as you don't put in "international" characters into a NVARCHAR column, memory and processing requirements are the same as for VARCHAR.
    It's easy to try out.
    So, using the VARCHAR instead of NVARCHAR only limits the application but won't save a lot of resources (as long as you don't actually use the extended character set)
    - Lars

  • Illegal combination when importing xml file into xmltype column

    I have the following control file.
    LOAD DATA
    CHARACTERSET UTF8
    INFILE *
    INTO TABLE IMPORTRAWXML TRUNCATE
    SITEID constant 0
    ,VENDORID constant 17
    ,SITEFORMATID constant 2
    ,"\\plutonium\outcomes\AHA GWTG-Outpatient\Programs\DataTransfer\LoadTest\V17_standard_test.xml" filler char(1000)
    ,RAWDATA LOBFILE ("\\plutonium\outcomes\AHA GWTG-Outpatient\Programs\DataTransfer\LoadTest\V17_standard_test.xml")
    TERMINATED BY EOF
    )When I run it using sqlldr command line I get the following error:
    SQL*Loader-350: Syntax error at line 1.
    Illegal combination of non-alphanumeric characters
    <?xml version="1.0" encoding="ISO-8859-1"?>Does anyone have any idea what I am doing wrong here? If I remove the fully resolved path (both the control file and xml file are in the same folder) it tells me it can't find the file to load.
    HELP!!!!
    Thanks,
    Eva

    evaleah wrote:
    I have made sure all my home settings are correct in my registry editor and they are. Another thing to note is the control file I am using works 100% perfectly, beautifully when called from Toad for Oracle. It is when called from the command line utility that it fails. Is there anyway to determine what the difference could be?
    So we know that I can work (toad works), but it doesn't yet work in a "cmd" environment.
    Just as any other program Toad is also a client and uses NLS and other environment settings. Maybe these are stored in the registry, maybe the are being set by Toad by reading a configuration file while it is started or while running.
    As said, on Windows its tricky...
    Setting properties in the registry will not mean that they are the same a "cmd" window or maybe not even been set.
    If you execute / run "cmd" then the "set" statement/command will output the environment settings that will be used during the livetime of that "cmd" session.
    C:/> setIn my laptop environment (windows 7 64 bit) it will show the following
    C:\>set
    ALLUSERSPROFILE=C:\ProgramData
    APPDATA=C:\Users\marco\AppData\Roaming
    CommonProgramFiles=C:\Program Files\Common Files
    CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
    CommonProgramW6432=C:\Program Files\Common Files
    COMPUTERNAME=00-00-000
    ComSpec=C:\Windows\system32\cmd.exe
    DEFLOGDIR=C:\ProgramData\McAfee\DesktopProtection
    FP_NO_HOST_CHECK=NO
    HOMEDRIVE=C:
    HOMEPATH=\Users\marco
    LOCALAPPDATA=C:\Users\marco\AppData\Local
    LOGONSERVER=\\AMISNT
    MpConfig_ProductAppDataPath=C:\ProgramData\Microsoft\Windows Defender
    MpConfig_ProductCodeName=AntiSpyware
    MpConfig_ProductPath=C:\Program Files\Windows Defender
    MpConfig_ProductUserAppDataPath=C:\Users\marco\AppData\Local\Microsoft\Windows
    Defender
    MpConfig_ReportingGUID=CA08B82B-EF0A-4107-89D8-ED5BB37E7515
    NUMBER_OF_PROCESSORS=2
    OS=Windows_NT
    Path=C:\oracle\product\11.2.0\dbhome_1\bin;C:\Windows\system32;C:\Windows;C:\Win
    dows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    PERL5LIB=c:\oracle\product\10.2.0\db_1\perl\5.8.3\lib\MSWin32-x64;c:\oracle\prod
    uct\10.2.0\db_1\perl\5.8.3\lib;c:\oracle\product\10.2.0\db_1\perl\site\5.8.3;c:\
    oracle\product\10.2.0\db_1\perl\site\5.8.3\lib;c:\oracle\product\10.2.0\db_1\sys
    man\admin\scripts;
    PROCESSOR_ARCHITECTURE=AMD64
    PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
    PROCESSOR_LEVEL=6
    PROCESSOR_REVISION=170a
    ProgramData=C:\ProgramData
    ProgramFiles=C:\Program Files
    ProgramFiles(x86)=C:\Program Files (x86)
    ProgramW6432=C:\Program Files
    PROMPT=$P$G
    PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
    PUBLIC=C:\Users\Public
    SESSIONNAME=Console
    SystemDrive=C:
    SystemRoot=C:\Windows
    TEMP=C:\Users\marco\AppData\Local\Temp
    TMP=C:\Users\marco\AppData\Local\Temp
    USERDNSDOMAIN=AMIS
    USERDOMAIN=AMIS
    USERNAME=marco
    USERPROFILE=C:\Users\marco
    VBOX_INSTALL_PATH=C:\Program Files\Sun\VirtualBox\
    VSEDEFLOGDIR=C:\ProgramData\McAfee\DesktopProtection
    windir=C:\Windows
    C:\>The only thing that identifies that I have Oracle installed is set in the %PATH% variable and %PERL5LIB%. From the path setting you can also deduct that I have Oracle 11 and Oracle 10 software installed. So when I execute "sqlldr" what NLS settings will it use and which tnsnames.ora alias for example to connect to the database...?
    You can you do it and see what happens...
    C:\>sqlldr
    SQL*Loader: Release 11.2.0.1.0 - Production on Wed May 12 20:36:25 2010
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Usage: SQLLDR keyword=value [,keyword=value,...]
    Valid Keywords:
    ...So it will pick the first "sqlldr" in the %PATH% environment setting. But what about NLS...? As said to be absolute sure you will have to set it in your environment.
    C:/> set ORACLE_HOME="C:\oracle\product\10.2.0\db_1"
    C:\> set
    Path=C:\oracle\product\11.2.0\dbhome_1\bin;C:\Windows\system32;C:\Windows;C:\Win
    dows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    PERL5LIB=c:\oracle\product\10.2.0\db_1\perl\5.8.3\lib\MSWin32-x64;c:\oracle\prod
    uct\10.2.0\db_1\perl\5.8.3\lib;c:\oracle\product\10.2.0\db_1\perl\site\5.8.3;c:\
    oracle\product\10.2.0\db_1\perl\site\5.8.3\lib;c:\oracle\product\10.2.0\db_1\sys
    man\admin\scripts;
    ORACLE_HOME="C:\oracle\product\10.2.0\db_1"
    C:\> echo %ORACLE_HOME%
    "C:\oracle\product\10.2.0\db_1"Because if I enter "sqlldr" it will pick the executable from the 11.2 install, but the ORACLE_HOME is set to the wrong environment
    Executing sqlldr now will give me an error
    C:\>sqlldr
    Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 21
    00 not found; No message file for product=RDBMS, facility=UL
    C:\>Another thing you can notice now is that from that output alone, you can't deduct the Oracle "sqlldr" version anymore. Setting the ORACLE_HOME environment to either 10.2 or 11.2 will cause "sqlldr" to execute normally (at least thats how it looks) BUT in the case of the oracle 10.2 setting it will use the wrong message files etc. At least not the correct software versions / files "sqlldr" is shipped with. So you can (and most of the time) will get strange errors.
    C:\> set ORACLE_HOME=C:\oracle\product\10.2.0\db_1
    C:\>sqlldr
    SQL*Loader: Release 11.2.0.1.0 - Production on Wed May 12 20:45:00 2010
    C:\>set ORACLE_HOME=C:\oracle\product\11.2.0\dbhome_1
    C:\>sqlldr
    SQL*Loader: Release 11.2.0.1.0 - Production on Wed May 12 20:49:50 2010
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Usage: SQLLDR keyword=value [,keyword=value,...]
    ...In the registry you can find a lot of those variables are set for ORACLE_HOME, ORACLE_BASE, SQLPATH, maybe TNS_ADMIN, ORACLE_SID, NLS_LANG. You can find the variables IN the registry on two places. The most common one is the SYSTEM wide environment settings under //HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE and in my case for 11.2 under //HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb11g_Home1.
    You could overrule this for to be active on "my user session", my login session as account "marco" under //HKEY_CURRENT_USER/Software/Oracle, but no one using Windows is doing this.
    Besides the "cmd" and registry environment, there is a different place as well were you can set these parameters. In windows go to "start", click "control panel", click "system", click tab "Advanced" and then click on the button on the bottum with "Environment Variables". Here you can see the distinction between user and system wide variables as well. Here you can also set NLS_LANG, ORACLE_HOME etc. If I am not mistaken than these will be the default values used in a fresh "cmd" window session. But they can and will interfere with programs you start via clicking them. For example something a Java program like SQL Developer (and/or Toad). If those values are not overrulled by the program by for example using his own variables from a config file or else, those sessings from the "system" / control panel item will be used. If it is the wrong mix, you will encounter strange issues.
    Setting ORACLE_HOME and ORACLE_BASE will be used by a lot of derived other settings for example the default place SQL*Net drivers and tnsnames aliases etc will be checked. For example setting the ORACLE_HOME to
    C:\> set ORACLE_HOME=C:\oracle\product\10.2.0\db_1will result in that the tnsnames aliases from
    C:\> set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\NETWORK\adminwill be used and NOT the ones maybe needed from
    C:\oracle\product\11.2.0\dbhome_1\NETWORK\adminYou can overrule this behavior by setting the TNS_ADMIN variable. By default, most explicit form for example on linux and Unix, the following rule will be used by Oracle
    1) .tnsnames.ora in the home directory of the user
    2) standard default: $ORACLE_HOME/network/admin
    3) behavior can be overruled via setting $TNS_ADMINThe fact that you are able via Toad to execute it correctly proves you that it can be done. But Toad uses in your session "SQL*Net" or JDBC or ODBC or ADO or ? via its own configuration environment settings that are being set on which values...?
    Both Oracle and Toad use the OSI model (http://en.wikipedia.org/wiki/OSI_model), both have to follow the same rules. There hasn't been changed that much over the years, character set conversions are done in the "two task common" layer of the data transport on either side (client/server) when data travels between a client and server. And don't forget a database can be also be a client when for instance database links are being used. One of the reasons to read old manuals because there the basics are still perfectly explained: http://download.oracle.com/docs/cd/A57673_01/DOC/net/doc/NWUS233/ch2.htm#twotask (Oracle 7.3.4 Networking Manual).
    This long long story is just to show you that you have more control if you set variables explicitly in a "cmd" window (and or in a linux/unix shell (as long as the session isn't "forked")) BUT you will have to be precise. Check the environment a set those environment variables that control / that are being used by "sqlldr" (and that are probably more then you realised, for example that SQL_PATH variable is the default directory where SQL*Plus is looking and saving its "SQL" and spool "LIS" files).
    HTH

  • How to discard non alphanumeric key in a string ?

    Dear all,
    To start an application  that i have developped, i would like that the user write its password in the first panel but i want that each time that user enter a character in the string control Hide_Password (see attached picture), this one is automatically convert in a "." to hide the password . The real password is saved in a second string control. It is actually what my vi is doing by using a Key Up event. But now i want to prevent any non alphanumerical character to be enter in the password, especially i do not want that the user can press the menu key as <Ctrl>, <Shift>, <Alt>, <Command>, and <Option> and also the <Left>, <Up>, <Right>, <Down>. I suppose that i have to use Key Down? event by discarding all the key that i do not want but i am sure that there is a more easy way to do it.
    Do you have any idea ?
    Morover, If you think that there is something wrong in my vi, please let me know.
    Thanks
    Philippe 
    Solved!
    Go to Solution.
    Attachments:
    FrontPanel.png ‏12 KB
    BlockDiagram.png ‏43 KB

    The real password is saved in a second string control.
    One thing you shouldn't do is use a (hidden?) String control for data storage.  Use the one control for data input (as a password as others have suggested) and pass the data throughout your program with a wire.
    Jim
    You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice

  • Hot to set the Non-alphanumeric characters attribute?

    Hello,
    I'm developing an asp.net application using the oracle membership provider. I have installed the databse objects in an Oracle 9i and when I try to create a new user, It always asks me to consider at least 1 Non-alphanumeric character in the password, even if I put in the web.config file the minRequiredNonalphanumericCharacters="0" attribute. Is there another way to set the Non-alphanumeric characters to "0".
    Thanks.

    Workaround: set 0 for minRequiredNonalphanumericCharacters attribute in your machine.config for OracleMembershipProvider. The defalt value is 1. The typical location of machine.config is in %windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG.

  • Error while pulling data from an Oracle database. ORA-01858: a non-numeric character was found where a numeric was expected

    I'm trying to pull data from an Oracle database using SSIS. When I try to select a few fields from the source table, it returns the following error message:
        [OLE DB Source [47]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E14.
        An OLE DB record is available.  Source: "OraOLEDB"  Hresult: 0x80040E14  Description: "ORA-01858: a non-numeric character was found where a numeric was expected".
        An OLE DB record is available.  Source: "OraOLEDB"  Hresult: 0x80004005  Description: "ORA-01858: a non-numeric character was found where a numeric was expected".
    The source columns are a combination of numeric and texts, and I've also tried selecting one of them, which didn't work. I'm using the Oracle client 11.2.0.1, and it works fine with any other data sources I have connected to so far. How can I resolve this
    error?

    Hi H.James,
    According to your description, the issue is a non-numeric character was found where a numeric was expected while pulling data from an Oracle database in SSIS.
    Based on the error message, the issue should be you are comparing a number column to a non-number column in a query. Such as the query below (ConfID is a number, Sdate is a date):
     where C.ConfID in (select C.Sdate
                       from Conference_C C
                       where C.Sdate < '1-July-12')
    Besides, a default behavior for the Oracle OleDb Provider that change the NLS Date Format of the session to 'YYYY-MM-DD HH24:MI:SS can also cause the issue. For more details about this issue, please refer to the following blog:
    http://blogs.msdn.com/b/dataaccesstechnologies/archive/2012/01/20/every-bug-is-a-microsoft-bug-until-proven-otherwise.aspx
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Problem w/ combination of non-Western and accented characters in file names

    *Description of problem*
    - iTunes U .m4v files preview and play perfectly from iTunes U server, but once downloaded locally on a Mac (via Get Tracks or Subscribe), they no longer play in iTunes software, or stand-alone in QuickTime player or Pro.
    - If you drag these files out of iTunes, they appear to not copy (actually, they do copy but the files are made invisible).
    *What we know:*
    - problem only on macs (same behavior on OS X 4.x and OS X.5.4)
    - files sync and play fine on iPod Classic 80gb
    - files will not sync to iPhone 1st gen.
    - same behavior on both iTunes 7 and 8
    - same behavior on QuickTime 7.5.0 and 7.5.5
    - not happening on any Windows machines
    - appears to be caused by the file name (particularly the combination of non-Western, 2-byte characters (Japanese, Chinese) plus accented roman letters (e.g. 大/dà/big; large).
    Either of these alone (not combined) in the title work fine.
    - if file is renamed with no character or accented letter or given a name at least 26 characters in length, the file suddenly will play (the files can be renamed and fixed this way either in the iTunes software or at the file level itself, within Music/iTunes/Movies/, and also at the Upload/Manage interface of iTunes U).

    Yep.
    "A Better Finder Rename" is great for batch file renaming.
    http://www.versiontracker.com/dyn/moreinfo/macosx/11366
    Renamer4mac may be all you need.
    Best check out VersionTracker. In fact everybody should have this site bookmarked and visited daily.
    http://www.versiontracker.com/macosx/

  • Reading a non-english character

    Hi, I have a trouble with reading a non-english character from a html page.
    I'm taking the word from the html page, and compare it with itself,
    like this
    string.equals("B&#304;TT&#304;")
    but it returns false.
    is it possible to correct this?

    specify an encoding for your inputstream reader:
    BufferedReader in = new BufferedReader(
                new InputStreamReader(new FileInputStream("infilename"), "8859_1")); for example

  • Non-numeric character error

    This is my error:
    javax.servlet.ServletException: ORA-01858: a non-numeric character was found where a numeric was expected
    This is my code:
    ResultSet myRs = myStmt.executeQuery("select count(*) dexCount from cs_dexia where userid = '" + vUserid + "'");
              int vCount = 0;     
                   while(myRs.next()){
                        vCount = myRs.getInt("dexCount");
              out.println(vCount);
                   if(vCount > 0)
                   response.sendRedirect("swapform.jsp");
    What have I done wrong?

    I have changed that and am now getting:
    javax.servlet.ServletException: ORA-00904: invalid column name
    the query runs in my sql tool no problem, could it be something to do with the alias?

  • ORA-01858: a non-numeric character was found where a numeric was expected

    hi ,
    This was the code which shows the sales rep invoice amount and collected amount but while running report thru concurrent program its showing the following error:
    ORA-01858: a non-numeric character was found where a numeric was expected
    WHERE TO_CHAR ( TO_DATE ( PS.GL_DATE , 'DD/MON/YY' ) , 'MON-YYYY' ) BETWEEN TO_CHAR ( TO_DATE ( : ==> P_todate , 'YYYY/MM/DD' ) , 'MON-YYYY' ) AND TO_CHAR ( TO_DATE ( : P_todate , 'YYYY/MM/DD' ) , 'MON-YYYY' ) AND ps.customer_id = cust.custome
    The Actual Code was this
    SELECT SUBSTR(SALES.name,1,50) salesrep_name_inv,
    --ps.CLASS,
    SUM(ABS(ps.acctd_amount_due_remaining)) acctd_amt,
    SUM(ABS(ps.amount_due_remaining)) amt_due_remaining_inv,
    SUM(ABS(ps.amount_adjusted)) amount_adjusted_inv,
    SUM(ABS(ps.amount_applied)) amount_applied_inv,
    SUM(ABS(ps.amount_credited)) amount_credited_inv,
              SALES.salesrep_id,
    NULL "REMARKS"
    -- ps.gl_date gl_date_inv,
    FROM ra_cust_trx_types ctt,
    ra_customers cust,
    ar_payment_schedules ps,
    ra_salesreps SALES,
    ra_site_uses site,
    ra_addresses addr,
    ra_cust_trx_line_gl_dist gld,
    gl_code_combinations c,
    ra_customer_trx ct
    WHERE TO_CHAR(TO_DATE(PS.GL_DATE,'DD/MON/YY'),'MON-YYYY')
    BETWEEN TO_CHAR(TO_DATE(:P_todate,'YYYY/MM/DD'),'MON-YYYY') AND TO_CHAR(TO_DATE(:P_todate,'YYYY/MM/DD'),'MON-YYYY')
    AND ps.customer_id = cust.customer_id
    AND ps.customer_trx_id = ct.customer_trx_id
    AND ps.cust_trx_type_id = ctt.cust_trx_type_id
    AND NVL(ct.primary_salesrep_id, -3) = SALES.salesrep_id
    AND ps.customer_site_use_id+0 = site.site_use_id(+)
    AND site.address_id = addr.address_id(+)
    AND TO_CHAR(TO_DATE(PS.GL_DATE_CLOSED,'DD/MON/YY'),'MON-YYYY')
    BETWEEN TO_CHAR(TO_DATE(:P_todate,'YYYY/MM/DD'),'MON-YYYY') AND TO_CHAR(TO_DATE(:P_todate,'YYYY/MM/DD'),'MON-YYYY')
    --AND    ps.gl_date_closed > TO_DATE(:P_todate,'MON-YYYY')
    AND ct.customer_trx_id = gld.customer_trx_id
    AND gld.account_class = 'REC'
    AND gld.latest_rec_flag = 'Y'
    AND gld.code_combination_id = c.code_combination_id
    AND sales.salesrep_id is not null and sales.name is not null
    -- and ps.payment_schedule_id+0 < 9999
    -- AND SALES.salesrep_id ='1001'
    GROUP BY SALES.name,
    --ps.CLASS,
    SALES.salesrep_id

    So to_date function accepts a string as input and returns a date. When a date is input instead, it is implicity converted to the required type of the function paremeter, which is a string, so that to_date can convert it back to a date again.
    If you are lucky with the implicit conversion, you get the same date back, if you are not you might get a different date or an error.
    From your query it appears that this conversion from a date, to a string, to a date, and then back to a string using to_char this time, is being done to remove the time or day part of the date. The actual range comparison is being done on strings rather than dates, which is dangerous as strings sort differently than dates.
    In this example if I sort by date, Jan 01 comes between Dec 00 and Feb 01 as you would expect.
    SQL> select * from t order by d;
    D
    12-01-2000
    01-01-2001
    02-01-2001When converted to strings, Feb 01 comes between Dec 00 and Jan 01, which is probably not the desired result
    SQL> select * from t order by to_char(d,'DD-MON-YY');
    D
    12-01-2000
    02-01-2001
    01-01-2001If you want to remove time and day parts of dates you should use the trunc function
    trunc(d) removes the time, trunc(d,'mm') will remove the days to start of month.
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/functions201.htm#i79761

  • Non-ASCII character in Email field

    Hi Guys,
    I am trying to enter non-english characters in Email field of user form, but OIM throws an error that "A non-Ascii character has been entered". I have also tried to turn off the AppFirewall Filter in xlConfig.xml file but no help. Is there any way thay I can enter non-Ascii characters in Email field?
    Regards,
    Rahul

    .oO(surfinIan)
    >I have a script that converts a ms word document to text
    then uploads that to a
    >blob field on a mysql db.
    > During the conversion some characters my not be
    recognised. When i then call
    >up the blob for display on the browser...those characters
    show up as unknown
    >characters with a ? or box. Is there a way to
    preg_replace those unknown
    >characters before displaying them.
    What about fixing the encoding problem instead? If chars get
    lost during
    such a transfer
    document->script->database->script->browser it's always
    an encoding problem somewhere down the road.
    The recommendation these days is to use UTF-8, which avoids
    most of
    these old problems. You just have to make sure that your
    documents are
    properly stored as UTF-8 in the database and delivered as
    such to the
    script and the browser, then you don't have to worry about
    special chars
    anymore.
    That's just the general idea. I can't be more specific, since
    I don't
    know your conversion script or the database structure.
    Micha

  • Getting a request in a non English character

    Hi ,
    In an attempt to solve a problem of getting a request in a non English character , i use the code , taken from O'Reilly's "Java Servlet programing" First edition:
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    public class MyServlet extends HttpServlet {
         public void doGet(HttpServletRequest req, HttpServletResponse res)
                                                                               throws ServletException, IOException {
              try {
                                                      //set encoding of request and responce
         req.setCharacterEncoding("Cp1255"); //for hebrew windows
         res.setCharacterEncoding("Cp1255");
         res.setContentType("Text/html; Cp1255");
         String value = req.getParameter("param");
                                                      // Now convert it from an array of bytes to an array of characters.
         // Here we bother to read only the first line.
                                                      BufferedReader reader = new BufferedReader(
         new InputStreamReader(new StringBufferInputStream(value), "Cp1255"));
                                                      String valueInUnicode = reader.readLine();
              }catch (Exception e) {
              e.printStackTrace();
    this works fine , the only problem is that StringBufferInputStream is deprecated .
    is there any other alternative for that ?
    Thanks in advance
    Yair

    Hi Again ..
    To get to the root of things , here is a servlet test and an http client test which demonstrates using the above patch and not using it :
    The servlet :
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.io.StringBufferInputStream;
    public class Hebrew2test extends HttpServlet {
         public void doGet(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException {
              request.setCharacterEncoding("Cp1255");
              response.setCharacterEncoding("Cp1255");
              response.setContentType("Text/html; Cp1255");
              PrintWriter out = response.getWriter();
              String name = request.getParameter("name");
              //print without any patch
              out.println(name);
              //a try with patch 1 DEPRECATED
              out.println("patch 1:");
              BufferedReader reader =
              new BufferedReader(new InputStreamReader(new StringBufferInputStream(name), "cp1255"));
              String patch_name = reader.readLine();
              out.println(patch_name);
              //a try with patch 2 which doesn't work          
              out.println("patch 2:");
              String valueInUnicode = new String(name.getBytes("Cp1255"), "UTF8");
              out.println(valueInUnicode);
    and now for a test client :
    import java.io.*;
    import java.net.*;
    public class HttpClient_cp1255 {
    private static void printUsage() {
    System.out.println("usage: java HttpClient host port");
    public static void main(String[] args) {
    if (args.length < 2) {
    printUsage();
    return;
    // Host is the first parameter, port is the second
    String host = args[0];
    int port;
    try {
    port = Integer.parseInt(args[1]);
    catch (NumberFormatException e) {
    printUsage();
    return;
    try {
    // Open a socket to the server
    Socket s = new Socket(host, port);
    // Start a thread to send reuest to the server
    new Request_(s).start();
    // Now print everything we receive from the socket
    BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream(),"cp1255"));
    String line;
    File f = new File("in.txt");
    FileWriter out = new FileWriter(f);
    while ((line = in.readLine()) != null) {
    System.out.println(line);
    out.write(line);
    out.close();
         catch (Exception e) {
    e.printStackTrace();
    class Request_ extends Thread {
    Socket s;
    public Request_( Socket s) {
    this.s = s;
    setPriority(MIN_PRIORITY); // socket reads should have a higher priority
    // Wish I could use a select() !
    setDaemon(true); // let the app die even when this thread is running
    public void run() {
    try {
                        OutputStreamWriter server = new OutputStreamWriter(s.getOutputStream(),"cp1255");
                        //String query= "GET /userprofiles/hebrew2test?name=yair"; //yair in Englisg ..
                        String query= "GET /userprofiles/hebrew2test?name=\u05d9\u05d0\u05d9\u05e8"; //yair in hebrew - in unicode
                   System.out.println("Connected... your HTTP request is sent");
                        System.out.println("------------------------------------------");
                        server.write(query);
                        server.write("\r\n"); // HTTP lines end with \r\n
                        server.flush();
                        System.out.println(server.getEncoding());
         server =      new OutputStreamWriter(new FileOutputStream("out.txt"),"cp1255");
                        server.write(query);
                        server.flush();
    catch (Exception e) {
    e.printStackTrace();

  • How to validate for non-english character on a single line text field

    In a "Single Line Text" field we would like to allow the users to enter alpha numeric values only. We should show error when the user enter non-English values like
    carácter
    Vijayaragavan, MCTS

    Hi,
    According to your post, my understanding is that you wanted to validate for non-english character on a single line text field.
    I recommend to use jQuery to attach regular expression validation. Please refer to:
    Using #jQuery to attach regular expression validation to a #SharePoint list form field
    In addition, for custom validations you can create your own Types. Refer to
    this[^] for creating custom field type
    More information:
    SharePoint Custom Field - Regex Validator
    Thanks,
    Linda Li                
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Linda Li
    TechNet Community Support

Maybe you are looking for

  • What does it take to work for apple

    I've always been very passionate and glued to the tv every WWDC given by apple. I believe apple is the most accomplishable consumer-electronics company in the world. Lol not Microsoft! I just want to know what it really takes to work for such a great

  • PI 7.1 JMS adapter - Inputs required.

    Hello Folks, There is a requirement to put the below message on the JMS queue. EDI_DC40  2000000000001046284700 0312  PEXR2002                                                    PAYEXT                                     PAYEXTSAPSD0    LS  SD0_200  

  • I own CS5 on my work laptop which was just stolen. Do I need to buy CS from scratch or can I transfer CS5 to a new computer even though I don't have the one that CS5 is on?

    I own CS5 on my work laptop which was just stolen. Do I need to buy a new CS from scratch or can I transfer CS5 to a new computer even though I don't have the computer that CS5 is on? Company purchased CS5 before the whole creative cloud leasing thin

  • Vendor partner selection

    Hi all, I have facing a strange issue for which i will need your help. We are getting purchase orders details from APO system, which is sending material, delivery schedule, receiving plant, purchase order type to SAP R3. Depending upon material and r

  • How to do picture in picture in multicam ?

    Hi there, I have done a multicam using 6 original clips/angles. I have done all the rough cut & I think I know how to refine the cut. But the problem is some where at the middle, I want to show some 4 clips/angles (out of the 6) simultaneously (somet