CSV file reading using UTL_FILE at run time

Hi,
I have to read CSV file using UTL_FILE.
but Folder contains Many CSV files.
I dont know there name.So i have to read csv file at run time.
Please let me know how should we achieve this?
Thanks

place the following in a shell script, say "list_my_files.ksh"
ls -l > my_file_list.datthen run the shell script using dbms_scheduler;
begin
dbms_scheduler.create_program (program_name   => 'a_test_proc'
                              ,program_type   => 'EXECUTABLE'
                              ,program_action => '/home/bluefrog/list_my_files.ksh'
                              ,number_of_arguments => 0
                              ,enabled => true);
end;
/then open "my_file_list.dat" using UTL_FILE, read all file names and choose the one you require.
P;

Similar Messages

  • Crystal reports using xml at run time??

    Post Author: avnkkishore
    CA Forum: General
    Hi,
    I have very simple requirement.
    I would like to create a crystal
    report using XML. This
    XML file will be decided at run time
    (not at design time).
    Hence i have added a crystal report viewer control to my windows form and did
    not choose any data source (i left it blank currently). Now i am trying to load
    XML file with the following simple code.
                PropertyBag
    crLogOnDetails = new PropertyBag();
    crLogOnDetails["Local XML File"] = @"C:\Hosts.xml";
    crLogOnDetails["Local Schema File"] = @"C:\Hosts.xsd";
    ConnectionInfo conn = new ConnectionInfo();
    conn.Attributes = crLogOnDetails;
                // create
    "Host" table
    CrystalDecisions.ReportAppServer.DataDefModel.Table tbl;
                tbl = new
    CrystalDecisions.ReportAppServer.DataDefModel.Table();
                tbl.Name =
    "Host";
    tbl.ConnectionInfo = conn;
    rcDoc.DatabaseController.AddTable(tbl, null);
    I am getting exception exactly at the above line (i.e. when adding table to
    Database Controller) saying "COMException was unhandled" with error code
    0x80004005 Unspecified error.
    Can any one please help me regarding how to resolve this.
    Thanks in advance,
    Kishore

    I am using VB6 as the front end and Microsoft Access to hold the data and Crystal Reports 8.5. I have a staff name parameter that I want the user to select which staff name to print the report.  If there is
    a new staff the name is not in the list of parameters.  How do I add to the parameter list at run time from the staff table?
    Hi,
    I am afraid that these forums don't support VB6, you could refer to this thread:
    Where to post your VB 6 questions
    You could consider posting this issue in these forums below:
    These forums do not support Visual Basic 6, however there are many third-party support sites that do. If you have a VB6-related question please visit these popular forums:
    VB Forums
    VB City
    In addition, issues related to Crystal Reports are not supported either since it belongs to third-party.
    You could post issues related to Crystal Reports to its forum to get dedicated supports.
    SAP Crystal Reports for .NET forum:
    http://forums.sdn.sap.com/forum.jspa?forumID=313
    Thanks for your understanding.
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • The Apache axis2 jar files are not taking at run time

    While running the application I was getting the following errors. The error is getting at run time only. It has compiled successfully.
    It ran under eclipse without any issues. But with Apache axis we are getting following error trace while uploading to server. The Apache axis2 jar files are not taking at run time.But compiling successfully.
    The application is running under Oracle R12 server.I didn't find any option to set class path for run time in R12 server.
    Using Java version is 1.6 and Apache axis2.1.6.2
    Error trace:
    Exception :java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis2.description.AxisService
    Error : java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis2.description.AxisService
    com.rightnow.ws.wsdl.RightNowSyncServiceStub.populateAxisService(RightNowSyncServiceStub.java:41)
    com.rightnow.ws.wsdl.RightNowSyncServiceStub.(RightNowSyncServiceStub.java:636)
    com.rightnow.ws.wsdl.RightNowSyncServiceStub.(RightNowSyncServiceStub.java:625)
    com.rightnow.ws.wsdl.RightNowSyncServiceStub.(RightNowSyncServiceStub.java:673)
    com.rightnow.ws.wsdl.RightNowSyncServiceStub.(RightNowSyncServiceStub.java:665)
    com.rightnow.ws.util.ContactUtils.initializeService(ContactUtils.java:57)
    somejsp.jspService(_somejsp.java:189)
    com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:473)
    oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
    oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
    com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
    oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
    com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)
    com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
    com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
    com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
    com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
    com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
    oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    java.lang.Thread.run(Thread.java:619)

    Hello,
    I too am trying to use Axis2 application in R12. But getting the following error:
    java.lang.classCastException: com.sun.xml.messaging.saaj.soap.ver1_1.SoapMessageFactory1_1Impl cannot be cast to oracle.webservices.soap.VersionedMessageFactory
    If I run the application standalone from java command line it works fine. I think the error could be because of some oracle app jars getting picked up inatead of my application jars. How to make sure that my application jars get picked up instead of oracle jars
    I tried loading my jar file and then setting it as contextClassLoader using "Thread.currentThread().setContextClassLoader", but this did not help.
    Can you please let me know what can be tried to fix this
    Thanks
    Srikanth

  • CSV file read

    Is there a standard FM which handles csv file read? I am currently using a 'split at' to separate values but this fails when some strings ( within quotes) have commas.
    Eg:
    333,khdfs, "Company name", 87348, " Name1, Name2"
    In this scenerio, the last field in quotes gets split into 2. I cannot handle this in the progrm because the last field does not always have a comma split. Any suggestions?

    Hi Suker ,
    First you remove all the Quotes , then split into coma (,).
    I mean to say --
    REPLACE   ALL   OCCURRENCES OF '"'  IN <string_name> WITH SPACE.
    Now split the string at the coma - -
    SPLIT  AT  ....
    Regards
    Pinaki

  • How to get the content in embed swf file in Swf Loader on run time

    How to get the content in embed swf file in Swf Loader on run time
    [Bindable]
    [Embed(source="assets/index.swf")]
       private var SWFSRC:Class;
    <mx:SWFLoader id="_swfloader" source="{SWFSRC}" />

    Hi Flex harUI,
    Throw the error.
    Access of undefined property content

  • In ABAP How to locate an Input file  from a Directory during run time

    I'm loading data from a flat file(text file) into SAP thru BDC programs. All my input files are present in Application server.How to locate an Input file in a directory during run time to process BDC programs programmatically. Are there any in-built functions?Provided me some sample code or any method of doing the same.

    Hello Murali,
    you should ask this question in the ABAP forum.
    Regards
    Gregor

  • How can we a validate a CSV file in SSIS and log the error details in another CSV File by using Sript Task.

    How can we a  validate a CSV file in SSIS and log the error details in another CSV File by using Sript Task.

    Please see:
    http://www.bidn.com/blogs/DevinKnight/ssis/76/does-file-exist-check-in-ssis
    http://social.msdn.microsoft.com/Forums/en-US/01ce7e4b-5a33-454b-8056-d48341da5eb2/vb-script-to-write-variables-to-text-file

  • Data formatting and reading a CSV file without using Sqlloader

    I am reading a csv file to an Oracle table called sps_dataload. The table is structured based on the record type of the data at the beginning of
    each record in the csv file. But the first two lines of the file are not going to be loaded to the table due to the format.
    Question # 1:
    How can I skip reading the first two lines from my csv file?
    Question # 2:
    There are more fields in the csv file than there are number of columns in my table. I know I can add filler as an option, but then there are
    about 150 odd fields which are comma-separated in the file and my table has 8 columns to load from the file. So, do I really have to use filler
    for 140 times in my script or, there is a better way to do this?
    Question # 3:
    This is more of an extension of my question above. The csv file has fields with block quotes - I know this could be achieved in sql loader when we mention Occassionally enclosed by '"'.
    But can this be doable in the insert as created in the below code?
    I am trying to find the "wrap code" button in my post, but do not see it.
    Heres my file layout -
    PROSPACE SCHEMATIC FILE
    ; Version 2007.7.1
    Project,abc xyz Project,,1,,7,1.5,1.5,1,1,0,,0,1,0,0,0,0,3,1,1,0,1,0,0,0,0,2,3,1,0,1,0,0,0,0,3,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    Subproject,25580-1005303.pst,,102,192,42,12632256,1,1,102,192,42,1,12632256,0,6,1,0,32896,1,0,0,0,0,,,-1,-1,-1,-1,0,0,0,-1,-1,-1,-1,-1,-1,0,0,0,-1,-1,-1,-1,-1,-1,0,0,0,-1,-1,0,1,1,,,,,,1
    Segment, , , 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , , , , , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, , , 1
    Product,00093097000459,26007,2X4 MF SF SD SOLR,,28.25,9.5,52.3, 8421504,,0,,xyz INC.,SOLAR,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,1,000000.60,0,0,0,0,00,-1,0
    Product,00093097000329,75556,"22""X22"" BZ CM DD 1548",,27,7,27, 8421504,,0,,xyz INC.,SOLAR,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,1,000000.20,0,0,0,0,0,0,0,,345.32
    Product,00093097000336,75557,"22""X46"" BZ CM XD 48133",,27,7.5,51, 8421504,,0,,xyz INC.,SOLAR,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,1,000000.20,0,0,0,0,0,0,0,0
    Product,00093097134833,75621,"22""X22"" BZ CM/YT DD 12828",,27,9,27, 8421504,,0,,xyz INC.,SOLAR,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,1,000000.20,0,0,0,0,0,0,0,,1
    This is my table structure -
    desc sps_dataload;
    File_Name     Varchar2 (50) Not Null,
    Record_Layer Varchar2 (20) Not Null,     
    Level_Id     Varchar2 (20),
    Desc1          Varchar2 (50),
    Desc2          Varchar2 (50),
    Desc3          Varchar2 (50),
    Desc4          Varchar2 (50)
    Heres my code to do this -
    create or replace procedure insert_spsdataloader(p_filepath IN varchar2,
    p_filename IN varchar2,
    p_Totalinserted IN OUT number) as
    v_filename varchar2(30) := p_filename;
    v_filehandle UTL_FILE.FILE_TYPE;
    v_startPos number; --starting position of a field
    v_Pos number; --position of string
    v_lenstring number; --length of string
    v_record_layer varchar2(20);
    v_level_id varchar2(20) := 0;
    v_desc1 varchar2(50);
    v_desc2 varchar2(50);
    v_desc3 varchar2(50);
    v_desc4 varchar2(50);
    v_input_buffer varchar2(1200);
    v_delChar varchar2(1) := ','
    v_str varchar2(255);
    BEGIN
    v_Filehandle :=utl_file.fopen(p_filepath, p_filename, 'r');
    p_Totalinserted := 0;
    LOOP
    BEGIN
    UTL_FILE.GET_LINE(v_filehandle,v_input_buffer);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    EXIT;
    END;
    -- this will read the 1st field from the file --
    v_Pos := instr(v_input_buffer,v_delChar,1,1);
    v_lenString := v_Pos - 1;
    v_record_layer := substr(v_input_buffer,1,v_lenString);
    v_startPos := v_Pos + 1;
    -- this will read the 2nd field from the file --
    v_Pos := instr(v_input_buffer,v_delChar,1,2);
    v_lenString := v_Pos - v_startPos;
    v_desc1 := substr(v_input_buffer,v_startPos,v_lenString);
    v_startPos := v_Pos + 1;
    -- this will read the 3rd field from the file --
    v_Pos := instr(v_input_buffer,v_delChar,1,3);
    v_lenString := v_Pos - v_startPos;
    v_desc2 := substr(v_input_buffer,v_startPos,v_lenString);
    v_startPos := v_Pos + 1;
    -- this will read the 4th field from the file --
    v_Pos := instr(v_input_buffer,v_delChar,1,4);
    v_lenString := v_Pos - v_startPos;
    v_desc3 := substr(v_input_buffer,v_startPos,v_lenString);
    v_startPos := v_Pos + 1;
    -- this will read the 5th field from the file --
    v_Pos := instr(v_input_buffer,v_delChar,1,5);
    v_lenString := v_Pos - v_startPos;
    v_desc4 := substr(v_input_buffer,v_startPos,v_lenString);
    v_startPos := v_Pos + 1;
    v_str := 'insert into table sps_dataload values('||v_filename||','||v_record_layer||','||v_level_id||','||v_desc1||','||v_desc2||','||v_desc3||','||v_desc4||')';
    Execute immediate v_str;
    p_Totalinserted := p_Totalinserted + 1;
    commit;
    END LOOP;
    UTL_FILE.FCLOSE(v_filehandle);
    EXCEPTION
    WHEN UTL_FILE.INVALID_OPERATION THEN
    UTL_FILE.FCLOSE(v_FileHandle);
    RAISE_APPLICATION_ERROR(-20051, 'sps_dataload: Invalid Operation');
    WHEN UTL_FILE.INVALID_FILEHANDLE THEN
    UTL_FILE.FCLOSE(v_FileHandle);
    RAISE_APPLICATION_ERROR(-20052, 'sps_dataload: Invalid File Handle');
    WHEN UTL_FILE.READ_ERROR THEN
    UTL_FILE.FCLOSE(v_FileHandle);
    RAISE_APPLICATION_ERROR(-20053, 'sps_dataload: Read Error');
    WHEN UTL_FILE.INVALID_PATH THEN
    UTL_FILE.FCLOSE(v_FileHandle);
    RAISE_APPLICATION_ERROR(-20054, 'sps_dataload: Invalid Path');
    WHEN UTL_FILE.INVALID_MODE THEN
    UTL_FILE.FCLOSE(v_FileHandle);
    RAISE_APPLICATION_ERROR(-20055, 'sps_dataload: Invalid Mode');
    WHEN UTL_FILE.INTERNAL_ERROR THEN
    UTL_FILE.FCLOSE(v_FileHandle);
    RAISE_APPLICATION_ERROR(-20056, 'sps_dataload: Internal Error');
    WHEN VALUE_ERROR THEN
    UTL_FILE.FCLOSE(v_FileHandle);
    RAISE_APPLICATION_ERROR(-20057, 'sps_dataload: Value Error');
    WHEN OTHERS THEN
    UTL_FILE.FCLOSE(v_FileHandle);
    RAISE;
    END insert_spsdataloader;
    /

    Justin, thanks. I did happen to change my pl sql procedure using utl_file.get_file and modifying the instr function based on position of ',' in the file, but my procedure is getting really big and too complex to debug. So I got motivated to use external tables or sql loader as plan b.
    As I was reading more about creating an external table as an efficient way and thus believe I can perhaps build an extern table with my varying selection from the file. But I am still unclear if I can construct my external table by choosing different fields in a record based on a record identifier string value (which is the first field of any record). I guess I can, but I am looking for the construct as to how am I going to use the instr function for selecting the field from the file while creating the table.
    PROSPACE SCHEMATIC FILE
    ; Version 2007.7.1
    Project,abc xyz Project,,1,,7,1.5,1.5,1,1,0,,0,1,0,0,0,0,3,1,1,0,1,0,0,0,0,2,3,1,0,1,0,0,0,0,3,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    Subproject,25580-1005303.pst,,102,192,42,12632256,1,1,102,192,42,1,12632256,0,6,1,0,32896,1,0,0,0,0,,,-1,-1,-1,-1,0,0,0,-1,-1,-1,-1,-1,-1,0,0,0,-1,-1,-1,-1,-1,-1,0,0,0,-1,-1,0,1,1,,,,,,1
    Segment, , , 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , , , , , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, , , 1
    Product,00093097000459,26007,2X4 MF SF SD SOLR,,28.25,9.5,52.3, 8421504,,0,,xyz INC.,SOLAR,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,1,000000.60,0,0,0,0,00,-1,0
    Product,00093097000329,75556,"22""X22"" BZ CM DD 1548",,27,7,27, 8421504,,0,,xyz INC.,SOLAR,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,1,000000.20,0,0,0,0,0,0,0,,345.32
    Product,00093097000336,75557,"22""X46"" BZ CM XD 48133",,27,7.5,51, 8421504,,0,,xyz INC.,SOLAR,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,1,000000.20,0,0,0,0,0,0,0,0
    Product,00093097134833,75621,"22""X22"" BZ CM/YT DD 12828",,27,9,27, 8421504,,0,,xyz INC.,SOLAR,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,1,000000.20,0,0,0,0,0,0,0,,1For example, if I want to create an external table like this -
    CREATE TABLE extern_sps_dataload
    ( record_layer            VARCHAR2(20),
      attr1                   VARCHAR2(20),
      attr2                   VARCHAR2(20),
      attr3                   VARCHAR2(20),
      attr4                   VARCHAR2(20)
    ORGANIZATION EXTERNAL
    ( TYPE ORACLE_LOADER
      DEFAULT DIRECTORY dataload
      ACCESS PARAMETERS
      ( RECORDS DELIMITED BY NEWLINE
        BADFILE     dataload:'sps_dataload.bad'
        LOGFILE     dataload:'sps_dataload.log'
        DISCARDFILE dataload:'sps_dataload.dis'
        SKIP 2
        VARIABLE 2 FIELDS TERMINATED BY ',' 
        OPTIONALLY ENCLOSED BY '"' LRTRIM
        MISSING FIELD VALUES ARE NULL
        +LOAD WHEN RECORD_LAYER = 'PROJECT' (FIELD2, FIELD3,FIELD7,FIELD9)+
        +LOAD WHEN RECORD_LAYER= 'PRODUCT' (FIELD3,FIELD4,FIELD8,FIELD9)+
        +LOAD WHEN RECORD_LAYER= 'SEGMENT' (FIELD1,FIELD2,FIELD4,FIELD5)+    LOCATION ('sps_dataload.csv')
    REJECT LIMIT UNLIMITED;
    {code}
    While I was reading the external table documentation, I thought I could achieve similar things by using position_spec option, but I am not getting behind its parameters. I have highlighted italics in the code above(from LOAD WHEN....FIELDS....), the part I think I am going to use, but not sure of it's construct.
    Thank you for your help!! Appreciate your thoughts on this..
    Sanders.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Csv file reading and voltage and current plotting with respect to time samples XY plotting

    Hallo,
             I've been struggling with reading  a comma separated value (csv) file from another instrument (attached). I need to plot this data for analysis. I have 5 column of data with numbers of rows, the first three row is the information of the measurement. I want to read 4th row as string and rest of the row as numbers. I want to plot 2nd column (i1)  with respect to TIMESTAMP; 4th column(u2) wrt TIMESTAMP. And finally plotting i1 (x-axis) vs.. u2 (y-axis) in labview. Could anyone help me.
    In excel its so easy to plot  but I don't know how its done in labview.
    Attachments:
    labview forum test.csv ‏30 KB
    excel plot.jpg ‏88 KB

    Start by opening the file.  Then use the Read Text File function.  You can right-click on it and configure it to read lines.  First make it read 3 lines (this is your extra header data).  Then make it read a single line.  That will give you your channel names.  Then read the rest of the file (disable the read by line and wire a -1 into the number of bytes to read).  Then use the Spreadsheet String to Array function to give you your data.
    I would recommend going through the LabVIEW tutorials if you are really new at this.
    LabVIEW Basics
    LabVIEW 101
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Csv file processing using external table

    Dear All,
    Our database is oracle 10g r2 and OS is solaris
    We  would receive csv files to a particular directory on server each day.
    File Format look like:
    H00,SOURCE_NAME,FILE_CREATED_DATE
    RECORD_TYPE,EMP_ID,EMP_NAME,EMP_DOB(DDMMYYYY),EMP_HIRE_DATE(DDMMYYYY),EMP_LOCATION
    T00,RECORD_COUNT
    EMPLOYEE TABLE STRUCTURE
    EMP_ID                   NOT NULL    NUMBER ,
    EMP_NAME            NOT NULL    VARCHAR2(10) ,
    EMP_DOB                                  DATE,
    EMP_HIRE_DATE   NOT NULL     DATE,
    EMP_LOCATION                VARCHAR2(80)
    Sample File:
    H00,ABC,21092013
    "R01",1,"EMP1","14021986","06072010","LOC1"
    "R01",20000000000,"EMP2","14021-987","06072011",""
    ,***,"EMPPPPPPPPPPP3","14021988","060**012","LOC2"
    "R01",4,4,"14021989","06072013",
    T00,4
    we need to validate each record excluding header and trailer  for:
    DATATYPE, LENGTH,OPTIONALITY, and other date validations such as EMP_HIRE_DATE can not be less than EMP_DOB
    In case of any data errors we need to send a response file for corresponding source file.
    we have  predefined error codes to be sent in the response file.
    ERR001    EMP_ID can not be null
    ERR002    EMP_ID  exceeds 10 digits
    ERR003    EMP_ID is not a number    
    ERR004    EMP_NAME   has to be text
    ERR005    EMP_NAME  length can not exceed 10
    ERR006    EMP_NAME   can not be null
    ERR007    EMP_DOB is not a date
    ERR008    EMP_DOB is not in ddmmyyyy format
    ERR009    EMP_HIRE_DATE is not a date
    ERR010    EMP_HIRE_DATE is not in ddmmyyyy format
    ERR011    EMP_HIRE_DATE can not be null
    ERR012    EMP_LOCATION    has to be text
    ERR013    EMP_LOCATION   length can not exceed 80
    ERR014    EMP_HIRE_DATE can not be less than EMP_DOB
    ERR015    Field missing in the record
    ERR016    More number of fields than allowed
    1.Do I need to create external table before processing each file.(EMP1.txt,EMP2.txt)?
    2.How to generate these error codes in case of respective failure scenarios and to log into an exception table?
    3.response file needs to have entire record and a concatination of all the error codes in the next line.
    4.what would be a better approach among
    creating an external table with all char(2000) fields and writing a select statement
    such as select * from ext_table where (emp id is not null and length(emp_id)<=10 and....to select only proper data);
    or creating the external table to be same as employee table and creating a bad file? if this is the preferred how can I generate the custom error codes?
    Could you please help me in achieving this!
    Warm Regards,
    Shankar.

    You can do a one-time creation of an external table.  After that, you can either overwrite the existing text file or alter the location.  In the example below I have split your original sample file into two files, in order to demonstrate altering the location.  You can make the external table all varchar2 fields as large as they need to be to accommodate all possible data.  If you then create a staging table and rejects table of the same structure, you can create a trigger on the staging table such that, when you insert from the external table to the staging table, it inserts into either the employee table or rejects table with the concatenated error list.  If you want this in a file, then you can just spool a select from the rejects table or use some other method such as utl_file.  The following is a partial example.  Another alternative would be to use SQL*Loader to load directly into the staging table without an external table.
    SCOTT@orcl12c> HOST TYPE emp1.txt
    H00,ABC,21092013
    "R01",1,"EMP1","14021986","06072010","LOC1"
    "R01",20000000000,"EMP2","14021-987","06072011",""
    T00,4
    SCOTT@orcl12c> HOST TYPE emp2.txt
    H00,ABC,21092013
    ,***,"EMPPPPPPPPPPP3","14021988","060**012","LOC2"
    "R01",4,4,"14021989","06072013",
    T00,4
    SCOTT@orcl12c> CREATE OR REPLACE DIRECTORY my_dir AS 'c:\my_oracle_files'
      2  /
    Directory created.
    SCOTT@orcl12c> CREATE TABLE external_table
      2    (record_type       VARCHAR2(10),
      3     emp_id            VARCHAR2(11),
      4     emp_name          VARCHAR2(14),
      5     emp_dob           VARCHAR2(10),
      6     emp_hire_date     VARCHAR2(10),
      7     emp_location      VARCHAR2(80))
      8  ORGANIZATION external
      9    (TYPE oracle_loader
    10     DEFAULT DIRECTORY my_dir
    11     ACCESS PARAMETERS
    12       (RECORDS DELIMITED BY NEWLINE
    13        LOAD WHEN ((1: 3) != "H00" AND (1:3) != 'T00')
    14        LOGFILE 'test.log'
    15        FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LDRTRIM
    16        MISSING FIELD VALUES ARE NULL
    17        REJECT ROWS WITH ALL NULL FIELDS
    18          (record_type, emp_id, emp_name, emp_dob, emp_hire_date, emp_location))
    19     LOCATION ('emp1.txt'))
    20  /
    Table created.
    SCOTT@orcl12c> CREATE TABLE staging
      2    (record_type       VARCHAR2(10),
      3     emp_id            VARCHAR2(11),
      4     emp_name          VARCHAR2(14),
      5     emp_dob           VARCHAR2(10),
      6     emp_hire_date     VARCHAR2(10),
      7     emp_location      VARCHAR2(80))
      8  /
    Table created.
    SCOTT@orcl12c> CREATE TABLE employee
      2    (emp_id          NUMBER       NOT NULL,
      3     emp_name        VARCHAR2(10) NOT NULL,
      4     emp_dob         DATE,
      5     emp_hire_date   DATE,
      6     emp_location    VARCHAR2(80))
      7  /
    Table created.
    SCOTT@orcl12c> CREATE TABLE rejects
      2    (record_type       VARCHAR2(10),
      3     emp_id            VARCHAR2(11),
      4     emp_name          VARCHAR2(14),
      5     emp_dob           VARCHAR2(10),
      6     emp_hire_date     VARCHAR2(10),
      7     emp_location      VARCHAR2(80),
      8     error_codes       VARCHAR2(4000))
      9  /
    Table created.
    SCOTT@orcl12c> CREATE OR REPLACE TRIGGER staging_air
      2    AFTER INSERT ON staging
      3    FOR EACH ROW
      4  DECLARE
      5    v_rejects         NUMBER := 0;
      6    v_error_codes  VARCHAR2(4000);
      7    v_num          NUMBER;
      8    v_dob          DATE;
      9    v_hire         DATE;
    10  BEGIN
    11    IF :NEW.emp_id IS NULL THEN
    12      v_rejects := v_rejects + 1;
    13      v_error_codes := v_error_codes || ',' || 'ERR001';
    14    ELSIF LENGTH (:NEW.emp_id) > 10 THEN
    15      v_rejects := v_rejects + 1;
    16      v_error_codes := v_error_codes || ',' || 'ERR002';
    17    END IF;
    18    BEGIN
    19      v_num := TO_NUMBER (:NEW.emp_id);
    20    EXCEPTION
    21      WHEN value_error THEN
    22        v_rejects := v_rejects + 1;
    23        v_error_codes := v_error_codes || ',' || 'ERR003';
    24    END;
    25    IF :NEW.emp_name IS NULL THEN
    26      v_rejects := v_rejects + 1;
    27      v_error_codes := v_error_codes || ',' || 'ERR006';
    28    ELSIF LENGTH (:NEW.emp_name) > 10 THEN
    29      v_rejects := v_rejects + 1;
    30      v_error_codes := v_error_codes || ',' || 'ERR005';
    31    END IF;
    32    BEGIN
    33      v_dob := TO_DATE (:NEW.emp_dob, 'ddmmyyyy');
    34    EXCEPTION
    35      WHEN OTHERS THEN
    36        v_rejects := v_rejects + 1;
    37        v_error_codes := v_error_codes || ',' || 'ERR008';
    38    END;
    39    BEGIN
    40      IF :NEW.emp_hire_date IS NULL THEN
    41        v_rejects := v_rejects + 1;
    42        v_error_codes := v_error_codes || ',' || 'ERR011';
    43      ELSE
    44        v_hire := TO_DATE (:NEW.emp_hire_date, 'ddmmyyyy');
    45      END IF;
    46    EXCEPTION
    47      WHEN OTHERS THEN
    48        v_rejects := v_rejects + 1;
    49        v_error_codes := v_error_codes || ',' || 'ERR010';
    50    END;
    51    IF LENGTH (:NEW.emp_location) > 80 THEN
    52      v_rejects := v_rejects + 1;
    53      v_error_codes := v_error_codes || ',' || 'ERR013';
    54    END IF;
    55    IF v_hire IS NOT NULL AND v_dob IS NOT NULL AND v_hire < v_dob THEN
    56        v_rejects := v_rejects + 1;
    57        v_error_codes := v_error_codes || ',' || 'ERR014';
    58    END IF;
    59    IF :NEW.emp_id IS NULL OR :NEW.emp_name IS NULL OR :NEW.emp_dob IS NULL
    60       OR :NEW.emp_hire_date IS NULL OR :NEW.emp_location IS NULL THEN
    61        v_rejects := v_rejects + 1;
    62        v_error_codes := v_error_codes || ',' || 'ERR015';
    63    END IF;
    64    IF v_rejects = 0 THEN
    65      INSERT INTO employee (emp_id, emp_name, emp_dob, emp_hire_date, emp_location)
    66      VALUES (:NEW.emp_id, :NEW.emp_name,
    67              TO_DATE (:NEW.emp_dob, 'ddmmyyyy'), TO_DATE (:NEW.emp_hire_date, 'ddmmyyyy'),
    68              :NEW.emp_location);
    69    ELSE
    70      v_error_codes := LTRIM (v_error_codes, ',');
    71      INSERT INTO rejects
    72        (record_type,
    73         emp_id, emp_name, emp_dob, emp_hire_date, emp_location,
    74         error_codes)
    75      VALUES
    76        (:NEW.record_type,
    77         :NEW.emp_id, :NEW.emp_name, :NEW.emp_dob, :NEW.emp_hire_date, :NEW.emp_location,
    78         v_error_codes);
    79    END IF;
    80  END staging_air;
    81  /
    Trigger created.
    SCOTT@orcl12c> SHOW ERRORS
    No errors.
    SCOTT@orcl12c> INSERT INTO staging SELECT * FROM external_table
      2  /
    2 rows created.
    SCOTT@orcl12c> ALTER TABLE external_table LOCATION ('emp2.txt')
      2  /
    Table altered.
    SCOTT@orcl12c> INSERT INTO staging SELECT * FROM external_table
      2  /
    2 rows created.
    SCOTT@orcl12c> SELECT * FROM employee
      2  /
        EMP_ID EMP_NAME   EMP_DOB         EMP_HIRE_DATE   EMP_LOCATION
             1 EMP1       Fri 14-Feb-1986 Tue 06-Jul-2010 LOC1
    1 row selected.
    SCOTT@orcl12c> COLUMN error_codes NEWLINE
    SCOTT@orcl12c> SELECT * FROM rejects
      2  /
    RECORD_TYP EMP_ID      EMP_NAME       EMP_DOB    EMP_HIRE_D EMP_LOCATION
    ERROR_CODES
    R01        20000000000 EMP2           14021-987  06072011
    ERR002,ERR008,ERR015
               ***         EMPPPPPPPPPPP3 14021988   060**012   LOC2
    ERR003,ERR005,ERR010
    R01        4           4              14021989   06072013
    ERR015
    3 rows selected.

  • BULK INSERT from a text (.csv) file - read only specific columns.

    I am using Microsoft SQL 2005, I need to do a BULK INSERT from a .csv I just downloaded from paypal.  I can't edit some of the columns that are given in the report.  I am trying to load specific columns from the file.
    bulk insert Orders
    FROM 'C:\Users\*******\Desktop\DownloadURL123.csv'
       WITH
                  FIELDTERMINATOR = ',',
                    FIRSTROW = 2,
                    ROWTERMINATOR = '\n'
    So where would I state what column names (from row #1 on the .csv file) would be used into what specific column in the table.
    I saw this on one of the sites which seemed to guide me towards the answer, but I failed.. here you go, it might help you:
    FORMATFILE [ = 'format_file_path' ]
    Specifies the full path of a format file. A format file describes the data file that contains stored responses created using the bcp utility on the same table or view. The format file should be used in cases in which:
    The data file contains greater or fewer columns than the table or view.
    The columns are in a different order.
    The column delimiters vary.
    There are other changes in the data format. Format files are usually created by using the bcp utility and modified with a text editor as needed. For more information, see bcp Utility.

    Date, Time, Time Zone, Name, Type, Status, Currency, Gross, Fee, Net, From Email Address, To Email Address, Transaction ID, Item Title, Item ID, Buyer ID, Item URL, Closing Date, Reference Txn ID, Receipt ID,
    "04/22/07", "12:00:21", "PDT", "Test", "Payment Received", "Cleared", "USD", "321", "2.32", "3213', "[email protected]", "[email protected]", "", "testing", "392302", "jdal32", "http://ddd.com", "04/22/03", "", "",
    "04/22/07", "12:00:21", "PDT", "Test", "Payment Received", "Cleared", "USD", "321", "2.32", "3213', "[email protected]", "[email protected]", "", "testing", "392932930302", "jejsl32", "http://ddd.com", "04/22/03", "", "",
    Do you need more than 2 rows? I did not include all the columns from the actual csv file but most of it, I am planning on taking to the first table these specfic columns: date, to email address, transaction ID, item title, item ID, buyer ID, item URL.
    The other table, I don't have any values from here because I did not list them, but if you do this for me I could probably figure the other table out.
    Thank you very much.

  • Sort records in a csv file in the descending order of time created attribute

    I have an excel (.csv) file with the following column headers :-
    Client, 
    SourceNetworkAddress
    ,TimeCreated,
     LogonType
    ,User,
    Message
    Values like :- ABC, 10.5.22.27, 11/23/2014 9:02:21 PM, 10, testuser
    The file is a combination of a report generated everyday using multiple scripts. The data is appended each day therefore, I would like to sort the final output file in descending order of time created (a combination of date and time) fetched from events
    i.e. the latest record with the latest date and time should be at the top of the list.
    I tried using the following command however, I get a sorted list according to the date but not the time. The command does not consider the AM/PM mentioned in the time instead simply sorts them as per numbers 
    Import-Csv "C:\Users\a\Desktop\report.csv" | sort Timecreated -Descending | Export-csv "C:\Users\a\Desktop\report_sorted.csv" -force -NoTypeInformation
    So if I have a record with 9:02:21 PM(latest) and a record with time 10.44.10 AM on the same date, the command will sort the list with record 10:44:10 AM first and then record with 9:02:21 PM however it should be the opposite as per descending order.
    Kindly help !!

    Hi jrv,
    Thanks for your response. However, I get errors while I run this command in Powershell :-
    Import-Csv <file> | Select Client,SourceNetworkAddress,LogonType,User,Message,@{N='TimeCreated';E={[datetime]($_.TimeCreated)} | Sort TimeCreated -Descending | Export-csv <file> -force -NoTypeInformation
    Missing expression after ','.
    At line:1 char:150
    Unexpected token 'LogonType' in expression or statement.
    At line:1 char:151
    Unexpected token ',' in expression or statement.
    At line:1 char:160
    Unexpected token 'User' in expression or statement.
    At line:1 char:161
    Unexpected token ',' in expression or statement.
    At line:1 char:165
    Unexpected token 'Message' in expression or statement.
    At line:1 char:166
    The hash literal was incomplete.
    At line:1 char:174
    Please help!
    You are missing a second curly brace - 
    Import-Csv <file> | Select Client,SourceNetworkAddress,LogonType,User,Message,@{N='TimeCreated';E={[datetime]($_.TimeCreated)}} | Sort TimeCreated -Descending | Export-csv <file> -force -NoTypeInformation

  • CSV file for users who have one-time password email address

    Hi Guys,
    I am trying to extract the list of users who have one-time password email address in FIM or users who have registered with one-time password reset authentication workflow. I need to get their email addresses in CSV file.
    Regards
    Sarwar
    Sarwar

    Take a look at:
    http://social.technet.microsoft.com/wiki/contents/articles/3616.how-to-use-powershell-to-export-all-users-who-have-registered-for-self-service-password-reset-sspr.aspx
    The script queries a WorkFlow called "Password Reset AuthN Workflow" and returns its ObjectID, then uses it to do a new query searching for "Users" with these parameters:
    AuthN WorkFlow Registered = ObjectID of "Password Reset AuthN Workflow"
    The script exports these details to a CSV.
    Also, all OTP email addresses should be stored in the "msidmOneTimePasswordEmailAddress" attribute in the FIM Portal.

  • Read FORTE code at run time ?

    Hi,
    I'm afraid it is a strange question, but : is it
    possible to read FORTE(1) code text of a method at run time ?
    (1) in V 2.F.2
    Regards,
    Jean-Baptiste BRIAUD
    SEMA GROUP
    16 rue Barbes
    92126 Montrouge
    France

    Hi,
    see your other post http://forums.ni.com/ni/board/message?board.id=330&message.id=13914
    Also, you can, specify to display the front panel of your VI when you specify your VI in your sequence file.
    There are examples, for dialog panel using LabVIEW, in the examples folder of TestStand and on the NI Web Site.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • How can I have a csv file read from excel to labview.

    Hi,
    I would like to read multiple csv files from excel to labview, creating a duplicate of the tables in excel, which would allow me to then draw some graphs for data analysis and comparison between the two.
    Are there any examples that could be useful to what I am trying to do?
    Thanks

    Patel33 wrote:
    From one of the csv files, I only require 3 of the columns. Is there a way to only read that part of the csv file?
    No. The characters in a file are just one long string and delimiters and linefeeds are special characters that defined where fields and lines start and end. As such, columns are interlaced into the file and consists of many small sections, where the position depends on the number of characters in each field, which is typically variable. You really need to read the entire file, then only look at the interesting columns later.
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for