Read a csv file and read the fiscal yr in the 4th pos?

Hello ABAP Experts,
how to write a code for read a csv file and read the fiscal year in the 4th position.
any suggestions or code highly appreciated.
Thanks,
BWer

Hi Bwer,
Declare table itab with the required fields...
Use GUI UPLOAD to get the contents of the file (say abc.csv) in case if the file is on the presentation server...
CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    filename                        = 'c:\abc.csv'
   FILETYPE                        = 'ASC'
    WRITE_FIELD_SEPARATOR           = 'X'
  tables
    data_tab                        = itab
EXCEPTIONS
   FILE_WRITE_ERROR                = 1
   NO_BATCH                        = 2
   OTHERS                          = 22
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Use OPEN DATASET in case if the file is on the application server..
After that USE SPLIT command at comma to get the contents of the 4th field...
Regards,
Tanveer.
<b>Please mark helpful answers</b>

Similar Messages

  • Read a CSV file and dynamically generate the insert

    I have a requirement where there are multiple csv's which needs to be exported to a sql table. So far, I am able to read the csv file and generate the insert statement dynamically for selected columns however, the insert statement when passed as a parameter
    to the $cmd.CommandText
    does not evaluate the values
    How to evaluate the string in powershell
    Import-Csv -Path $FileName.FullName | % {
    # Insert statement.
    $insert = "INSERT INTO $Tablename ($ReqColumns) Values ('"
    $valCols='';
    $DataCols='';
    $lists = $ReqColumns.split(",");
    foreach($l in $lists)
    $valCols= $valCols + '$($_.'+$l+')'','''
    #Generate the values statement
    $DataCols=($DataCols+$valCols+')').replace(",')","");
    $insertStr =@("INSERT INTO $Tablename ($ReqColumns) Values ('$($DataCols))")
    #The above statement generate the following insert statement
    #INSERT INTO TMP_APPLE_EXPORT (PRODUCT_ID,QTY_SOLD,QTY_AVAILABLE) Values (' $($_.PRODUCT_ID)','$($_.QTY_SOLD)','$($_.QTY_AVAILABLE)' )
    $cmd.CommandText = $insertStr #does not evaluate the values
    #If the same statement is passed as below then it execute successfully
    #$cmd.CommandText = "INSERT INTO TMP_APL_EXPORT (PRODUCT_ID,QTY_SOLD,QTY_AVAILABLE) Values (' $($_.PRODUCT_ID)','$($_.QTY_SOLD)','$($_.QTY_AVAILABLE)' )"
    #Execute Query
    $cmd.ExecuteNonQuery() | Out-Null
    jyeragi

    Hi Jyeragi,
    To convert the data to the SQL table format, please try this function out-sql:
    out-sql Powershell function - export pipeline contents to a new SQL Server table
    If I have any misunderstanding, please let me know.
    If you have any feedback on our support, please click here.
    Best Regards,
    Anna
    TechNet Community Support

  • Read two CSV files and remove the duplicate values within them.

    Hi,
    I want to read two CSV files(which contains more than 100 rows and 100 columns) and remove the duplicate values within that two files and merge all the unique values and display it as a single file.
    Can anyone help me out.
    Thanks in advance.

    kirthi wrote:
    Can you help me....Yeah, I've just finished... Here's a skeleton of my solution.
    The first thing I think you should do is write a line-parser which splits your input data up into fields, and test it.
    Then fill out the below parse method, and test it with that debugPrint method.
    Then go to work on the print method.
    I can help a bit along the way, but if you want to do this then you have to do it yourself. I'm not going to do it for you.
    Cheers. Keith.
    package forums.kirthi;
    import java.util.*;
    import java.io.PrintStream;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import krc.utilz.io.ParseException;
    import krc.utilz.io.Filez.LineParser;
    import krc.utilz.io.Filez.CsvLineParser;
    public class DistinctColumnValuesFromCsvFiles
      public static void main(String[] args) {
        if (args.length==0) args = new String[] {"input1.csv", "input2.csv"};
        try {
          // data is a Map of ColumnNames to Sets-Of-Values
          Map<String,Set<String>> data = new HashMap<String,Set<String>>();
          // add the contents of each file to the data
          for ( String filename : args ) {
            data.putAll(parse(filename));
          // print the data to output.csv
          print(data);
        } catch (Exception e) {
          e.printStackTrace();
      private static Map<String,Set<String>> parse(String filename) throws IOException, ParseException {
        BufferedReader reader = null;
        try {
          reader = new BufferedReader(new FileReader(filename));
          CsvLineParser.squeeze = true; // field.trim().replaceAll("\\s+"," ")
          LineParser<String[]> parser = new CsvLineParser();
          int lineNumber = 1;
          // 1. read the column names (first line of file) into a List
          // 2. read the column values (subsequent lines of file) into a List of Set's of String's
          // 3. build a Map of columnName --> columnValues and return it
        } finally {
          if(reader!=null)reader.close();
      private static void debugPrint(Map<String,Set<String>> data) {
        for ( Map.Entry<String,Set<String>> entry : data.entrySet() ) {
          System.out.println("DEBUG: "+entry.getKey()+" "+Arrays.toString(entry.getValue().toArray(new String[0])));
      private static void print(Map<String,Set<String>> data) {
        // 1. get the column names from the table.
        // 2. create a List of List's of String's called matrix; logically [COL][ROW]
        // 3. print the column names and add the List<String> for this col to the matrix
        // 4. print the matrix by inerating columns and then rows
    }

  • Is there a way to select a certain box of elements from a csv file and read that into LabVIEW?

    Hello all, I was wondering if there was a way to select only a certain "box" of elements from a .csv file in LabVIEW? I have LabVIEW 2011 and my main goal is to take two arrays and graph them against each other. I can import the .csv file just fine and separate each row and each column to be its own, but say I have an 8X8 but want to graph the middle 4X5 or something like that. Is there any way to extract an array without starting at the beginning and without ending at the end? Thank you in advance.
    Solved!
    Go to Solution.

    Hi Szklanam,
    as a CSV file is just a TXT file with a different suffix you can read a certain number of lines of that file. So you can limit the number of rows in your resultung array. To limit the number of columns you still have to use ArraySubset, so maybe it's a lot easier to read the full CSV file and pick the interesting spots with ArraySubset...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How to import a csv file and read  in sap ui5?

    Hi,
    I want to import a file and read it contents to bind it to table.How to do it?
    Thanks in advance.

    I tried to do this all from within the application but found it easier to just start with a JSON file. But, you can use a JS library to convert your CSV into JSON from within the application like this one:
    archan937/csonv.js · GitHub
    I just converted my CSV to JSON. Once you have that, all you need to do is instantiate a model for it and bind to table.
      onInit: function () {
        var oModel = new sap.ui.model.json.JSONModel("PATH TO YOUR JSON FILE");
        this.getView().setModel(oModel);
      <Table id="idProductsTable"
        inset="false"
        items="{
          path: '/ProductCollection',
          sorter: {
            path: 'Name'
        }">
    The UI5 demo kit is a good resource. I believe it'll be same/similar for SAPUI5:
    OpenUI5 SDK - Demo Kit
    See here for example of defining your model and binding to a table:
    sap.m Explored

  • Read from csv file and plot particular columns

    Hello,
    I`m a new user of Labview and here it comes...my first major problem.
    Maybe this has been discussed before. I’ve made a search to solve my problem first but I couldn`t find anything helpful so I `ve decided to post a new message.
    So here is my problem:
    I`m working in a small semiconductor lab where different types of nitrides are grown using proprietary reactor. The goal is to read the collected csv files from each growth in Labview and plot the acquired data in appropriate graphs.
    I have a bunch of csv files and I have to make a Labview program to read them.
    The first part of my project I`ve decided to be displaying the csv file (growth log file) under labview (which I think works fine).
    The second one is to be able to plot particular columns from the recipe in graphs in Labview (that one actually gives me a lot of trouble):
    1. Timestamp vs Temperature /columns B and D/
    2. Timestamp vs Gas flow /columns L to S/
    3. Timestamp vs Pressure /columns E,K,T,U,V/
    I`ve got one more problem. How can I convert the Timestamp shown in csv file to human readable date in labview? This actually is a big problem, because the timestamp is my x axis and I want to know at what time a particular process took place and I also want to be able to see the converted timestamp when displaying csv file at first. I`ve read a lot about time stamping in excel and timestamp in labview but I`m still confused how to convert it in my case.
    I don`t have problems displaying csv file under Labview. My problems are with the timestamp and the graphs.
    Sorry for my awful English.  I hope you can understand my problems since English is not my mother language. 
    Please find the attached files.
    If you have any ideas or suggestions I`ll be more than happy to discuss them.
    Thank you in advance.
    Have a nice day! 
    Attachments:
    growth log.csv ‏298 KB
    Read from growth log.vi ‏33 KB

    Hello again,
    I`m having problems with converting the first column in the attached above file Growth Log.csv.
    I have a code converting xl timestamp to time and using Index Array traying to grab a particular column out of it but the attached file is written in strings so I guess I have to redo it in array but I don`t know how.Would you help me with this one?
    Attachments:
    Xl Timestamp to Time.vi ‏21 KB

  • Read a csv file in a PL/SQL routine with the path as a parameter

    hello oracle community,
    System Windows 2008, Oracle 11.1 Database
    I have created a directory in the database and there is no problem to read a csv file from there. Since the files can be at different places, my java developer is asking me, if he can give me the path of the file as a parameter. So far I know I will need a directory to open the file with the UTL_FILE package, but I cannot create diretories for folders, that will be created in the future. Is there any way to solve that problem, so I can use the path as a parameter in my routine ?
    Ikrischer

    BluShadow wrote:
    Ikrischer wrote:
    as I said before, they are dynamic. As usal to most other companies, you get new partners and you will lose partners, so new folders will be added, old ones will be deleted. if you use different directories for different folders, you have more work to handle them.I wouldn't call that dynamic, I would call that business maintenance. Dynamic would mean that the same company is putting their files into different folders each time or on a regular basis. If it's one folder per company then that's not dynamic.the folder structure is changing, I call that dynamic, does not look static to me. but thats just a point of view, it is not important how we call it. lets just agree, the folder structure will change in the future, no matter how many folders one partner will have.
    BluShadow wrote:
    So you're receiving files and you don't even know the format of them? Some of them are not "correct"? Specify that the company must provide the files in the correct format or they will be rejected.
    Computers work on known logic in most cases, not some random guessing game.we know the correct format, but we also know, that the partner wont always send the correct format, period. Cause of that we want to deliver an error log, record 11,15 and 20 is wrong cause of....that is a very usefull service.
    BluShadow wrote:
    The folders should be known.impossible, we do not know the future.
    BluShadow wrote:
    The file format should be known.see above, it has a fixed format, but thats not a gurantee you get the correct format. for me thats a normal situation, it happens every day, you have fixed rules and they will be broken.
    BluShadow wrote:
    The moment you allow external forces to start specifying things how they want it then you're shooting yourself in the foot. That's not good design and not good business practice.maybe we are talking about different things, we do not allow to load data into our system with a wrong format. but we do allow to to send us a wrong format, and even more, we do allow them to send wrong content, but still we dont load it into our system. format and content must be correct to be loaded in the real system, but both we are checking. and with external tables you cannot check a wrong format we a detailed error log.
    Ikrischer

  • Reading a csv file and bind to a data grid

    hi. doing a school project and been searching. the application reads a csv file from c:\stocklist.csv, and then this in a button called btnLoadData, and now need to read in a data control called DmgDisplayData. do i put the code in the button, or in the
    data grid. been searching, but cannot seem to find any thing. so, where do i put the code, in the data control, and does any one have an example code how to read into the data fields. also need to have one field, able to edit, the other three or four fields,
    read only. can any one help me out. never covered this in the subject, but did do file streams a few years ago in vb, but usin g c#,a dn the help in visual studio, not that helpful, with a blind person using a screen reader, jaws for windows from http://www.freedomscientific.com,
    and using visual studio 2013 community edition. can any one help me out, been searching and trawling about 15 to 20 pages so far, and did try a couple of sites, but could not find, any help. thanks. the application is to read a csv file from a button, and
    load into a data grid, then have a message box, saying file load successful, then have one field, order on as edit, but the other fields, read only, so do i need the navigator buttons, for next, back, previous, etc, and how do i code that as well. not to do
    it for me, want to learn, but maybe some sample code, did do navgiator controls, years ago for a vb project, but need the c # example for that, thanks. then you have a button, Save data, that saves the csv file in the data grid. so can google for that. then
    have a toolbar, with a button saying, Sort Items, a tool strip, and when you click on that button, you have a drop down list, of three items, then a sort button, which will then sort the array in the data grid. so, do i need another form, or just do the combo
    box as an invisible control, then just refrence, that in the toolbar. so need to use th file class and an array, learnt about single and multi arrays. any ideas. thanks.
    http://startrekcafe.stevesdomain.net http://groups.yahoo.com/groups/JawsOz

    Hi Marvin,
    -->where do i put this, in the data grid click event. or in the form load event. thanks.
    You could use this code after you initialize the DataGridView. you could put it in the form load event.
    -->what about how get the tool bar and the combo box and another button, then sort from the combo box on the array for the collumns, for to set focus to the first read collumn for the data grid. how do i do that, close the parent form, and have another
    form on the toolbar.
    Since this is another issue of this thread, I would recommend you posting it with
    another thread. We will focus on that thread to help you. Thanks for your
    understanding.
    BTW, Before you asking questions, I suggest you could learn to make it by yourself. You could begin to learn winforms in MSDN articles:
    https://msdn.microsoft.com/en-us/library/dd30h2yb%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396. Or Google it, you will get many answers. In that way, you will learn more from the questions.
    Best regards,
    Youjun Tang
    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.

  • Uploading csv files and reading them from server

    I want to read a csv file.From Flex i am able to select the
    file but when i pass it to the server using struts
    FileUploadInterceptor , am not able to pass the file to the
    server.FileUploadInterceptor in struts2 processes the request only
    if its instance of MultiPartRequestWrapper.Is there any way in Flex
    where i can pass the request as a instance of this.Is there any
    other way in which i can read the file from the server after
    uploading it through flex.Code is as follows :
    1)MXML File :
    ?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:Script>
    <![CDATA[
    import ImportData;
    import flash.net.FileReference;
    import flash.net.FileFilter;
    import flash.events.IOErrorEvent;
    [Bindable] var fileRef:FileReference = new FileReference();
    private function openFileDialog():void{
    fileRef.addEventListener(Event.SELECT, selectHandler);
    fileRef.addEventListener(Event.COMPLETE, completeHandler);
    fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA
    ,uploadCompleteHandler);
    fileRef.addEventListener(IOErrorEvent.IO_ERROR,onIOError);
    try{
    var textTypes:FileFilter = new FileFilter("Text Files
    (*.txt,*.csv)","*.txt;*.csv");
    var allTypes:Array = new Array(textTypes);
    //var success:Boolean = fileRef.browse();
    var success:Boolean = fileRef.browse(allTypes);
    catch(error:Error){
    trace("Unable to browse for files.");
    private function onIOError(event:IOErrorEvent):void {
    trace("In here"+event.text);
    trace("In here"+event.toString());
    // when a file is selected you upload the file to the upload
    script on the server
    private function selectHandler(event:Event):void{
    //var request:URLRequest = new URLRequest("/importAction");
    var request:URLRequest = new URLRequest("
    http://localhost:8080/pack1/importAction.action");
    try
    fileRef.upload(request);
    catch (error:Error)
    trace("Unable to upload file.");
    private function completeHandler(event:Event):void{
    trace("uploaded");
    // dispatched when file has been uploaded to the server
    script and a response is returned from the server
    // event.data contains the response returned by your server
    script
    public function uploadCompleteHandler(event:DataEvent):void
    trace("uploaded... response from server: \n" +
    String(event.data));
    ]]>
    </mx:Script>
    <mx:Button label="Import" id="importBtn"
    click="openFileDialog()" height="20" width="90"
    styleName="buttonsOnSearchBar"/>
    <mx:ComboBox x="23" y="44" borderColor="#ff0000"
    themeColor="#ff0000"></mx:ComboBox>
    </mx:Application>
    2)struts.xml file
    <struts>
    <package name="pack1"
    extends="struts-default,json-default">
    <global-results>
    <result name="error" type="json"></result>
    </global-results>
    <global-exception-mappings>
    <exception-mapping result="error"
    exception="java.lang.Throwable"/>
    </global-exception-mappings>
    <action name="importAction"
    class="routing.ImportAction">
    <interceptor-ref name="fileUpload"/>
    <interceptor-ref name="basicStack"/>
    <result name="success" type="json"></result>
    </action>
    </package>
    </struts>
    3)Action Class
    package com.om.dh.orderrouting.action;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.util.ArrayList;
    import java.util.StringTokenizer;
    import org.apache.log4j.Logger;
    import com.opensymphony.xwork2.ActionSupport;
    public class ImportAction extends ActionSupport{
    private String contentType;
    private File upload;
    private String fileName;
    private String caption;
    private static final Logger logger =
    Logger.getLogger(ImportAction.class);
    @Override
    public String execute() throws Exception {
    * Read File Line by Line.. If the file has more than one
    word separated by comma
    * return error.
    ArrayList<String> symbolList = new
    ArrayList<String>();
    try{
    BufferedReader reader = new BufferedReader(new
    FileReader(upload));
    String line =null;
    String symbol=null;
    while((line=reader.readLine())!=null){
    StringTokenizer tokenizer = new StringTokenizer(line,"\t");
    symbol = tokenizer.nextToken();
    if(symbol!=null) symbol = symbol.trim();
    if(symbol.length()>0)
    symbolList.add(symbol);
    }catch(FileNotFoundException fne){
    if(logger.isDebugEnabled())
    logger.debug("File NotFount ", fne);
    for(String symbol1:symbolList)
    System.out.print(symbol1+" ");
    return SUCCESS;
    public String getUploadFileName() {
    return fileName;
    public void setUploadFileName(String fileName) {
    this.fileName = fileName;
    public String getUploadContentType() {
    return contentType;
    public void setUploadContentType(String contentType) {
    this.contentType = contentType;
    public File getUpload() {
    return upload;
    public void setUpload(File upload) {
    this.upload = upload;
    public String getCaption() {
    return caption;
    public void setCaption(String caption) {
    this.caption = caption;
    public String input() throws Exception {
    return SUCCESS;
    public String upload() throws Exception {
    return SUCCESS;

    quote:
    Originally posted by:
    ived
    tried this but does not work...
    var request:URLRequest = new URLRequest("
    http://localhost:8080/pack1/importAction.action");
    request.contentType="multipart/form-data";
    in the interceptor it expects the request to be instanceof
    MultiPartRequestWrapper...
    Further the document says that FileReference.upload() and
    FileReference.download() methods do not support the
    URLRequest.contentType and URLRequest.requestHeaders parameters.
    Any help ??

  • Reading a CSV file and producing an array of objects

    Hi everybody,
    I am writing an application which will read a cvs file and produce an array of objects.
    Can any body help me to solve this problem?
    Thanks
    Finny

    Hello,
    Have you tried this link?
    http://ostermiller.org/utils/CSV.html

  • Read from csv file and graph at certain interval

    Hi,
    I've been trying all day to modify a labView program so it reads in data from my csv file to graph temperatures from 4 ovens. The temperatures are logged in the csv file at 3s intervals and i wish to display them on 4 graphs. I've written a vi (or modified one i should say) to take in a temperature value from a numeric control. Im just having extreme difficulty with the reading part.
     If someone can help me it would be greatly appreciated.
    Best regards,
    Dawn
    Attachments:
    Oven temps.csv ‏2 KB
    Oven_level_meas.vi ‏58 KB

    Hi there,
    I have a similar problem here.  I see your point that you should read the file at once but I don't seem to be able to manage it.  Shouldn't you use some kind of
    a buffer to achieve this?  Let me tell you what I am trying to do:  I have a csv file with several columns that I want to display in several waveform charts.  Each column is a wavechart.  I should be able to change the speed at which the data is displayed.  I am able to do this because I change the wait until (ms) in the for loop.  However the application is too slow.  I think because I open the csv file in the for loop and display it while I am reading it.  I have tried to put it outside the for loop but this doesn't work.  I think I need some kind of a buffer in which the data is stored after reading it.  And then this buffer should be used in the for loop.  I have looked at the producer-consumer structure but I dont fully understand it as I am not that experienced with labview.  Any help or changes to my VI would be appreciated.  I have attached the VI and the file with meaningless data I am using for testing.
    Thanks
    Attachments:
    read_data_file_dynamically.vi ‏39 KB
    test.CSV ‏332 KB

  • How to read a CSV file and Insert data into an Oracle Table

    Hi All,
    I have a Clob file as a in parameter in my PROC. . File is comma separated.need procedure that would parse this CLOB variable and populate in oracle table .
    Please let me some suggestions on this.
    Thanks,
    Chandra R

    jeneesh wrote:
    And, please don't "hijack" 5 year old thread..Better start a new one..I've just split it off to a thread of it's own. ;)
    @OP,
    I have a Clob file as a in parameter in my PROC. . File is comma separated.need procedure that would parse this CLOB variable and populate in oracle table .You don't have a "clob file" as there's no such thing. CLOB is a datatype for storing large character based objects. A file is something on the operating system's filesystem.
    So, why have you stored comma seperated data in a CLOB?
    Where did this data come from? If it came from a file, why didn't you use SQL*Loader or, even better, External Tables to read and parse the data into structured format when populating the database with it?
    If you really do have to parse a CLOB of data to pull out the comma seperated values, then you're going to have to write something yourself to do that, reading "lines" by looking for the newline character(s), and then breaking up the "lines" into the component data by looking for commas within it, using normal string functions such as INSTR and SUBSTR or, if necessary, REGEXP_INSTR and REGEXP_SUBSTR. If you have string data that contains commas but uses double quotes around the string, then you'll also have the added complexity of ignoring commas within such string data.
    Like I say... it's much easier with SQL*Loader of External Tables as these are designed to parse such CSV type data.

  • Read a csv file and update sql db

    I'm a newbie to C#. I've put together the code below - see two commented lines where the for loop starts. need advise as to the correct approach. you may insert pseudo
    code in appropriate places. Thanks in advance.
    Below is my code:
    public class MailingConfirmationService
            private SqlConnection _con = new SqlConnection(ConfigurationManager.AppSettings.Get("ConnectionString"));
            public void ProcessFilesForMailingConfirmation()
                //Process file(s)
                IResource resourceFile = ResourceFactory.GetResourceFile(ResourceList.FileLocation);
                DirectoryInfo dataFiles = new DirectoryInfo(resourceFile.GetString("filesourcelocation"));
                if (dataFiles.GetFiles().Length > 0)
                    log.Info("File Processing started");
                    foreach (FileInfo dataFile in dataFiles.GetFiles("*.csv"))
                        log.Info("Processing Data File: " + dataFile.Name);
                        if (dataFile != null && dataFile.Name.Contains("IN"))
                            foreach (string sLine in File.ReadLines(dataFile))                     
                                      _con.Open();
                                    cmd.ExecuteNonQuery();
                                    _con.Close();

    The   foreach (string sLine in File.ReadLines(dataFile))
      should be  foreach (string sLine in File.ReadLines(dataFile.FullName))
    its expecting path as param.
    Check also for this example to enumerate files and their lines:
    https://msdn.microsoft.com/en-us/library/dd383503%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
    Fouad Roumieh

  • Read a csv file, fill a dynamic table and insert into a standard table

    Hi everybody,
    I have a problem here and I need your help:
    I have to read a csv file and insert the data of it into a standard table.
    1 - On the parameter scrreen I have to indicate the standard table and the csv file.
    2 - I need to create a dynamic table. The same type of the one I choose at parameter screen.
    3 - Then I need to read the csv and put the data into this dynamic table.
    4 - Later I need to insert the data from the dynamic table into the standard table (the one on the parameter screen).
    How do I do this job? Do you have an example? Thanks.

    Here is an example table which shows how to upload a csv file from the frontend to a dynamic internal table.  You can of course modify this to update your database table.
    report zrich_0002.
    type-pools: slis.
    field-symbols: <dyn_table> type standard table,
                   <dyn_wa>,
                   <dyn_field>.
    data: it_fldcat type lvc_t_fcat,
          wa_it_fldcat type lvc_s_fcat.
    type-pools : abap.
    data: new_table type ref to data,
          new_line  type ref to data.
    data: xcel type table of alsmex_tabline with header line.
    selection-screen begin of block b1 with frame title text .
    parameters: p_file type  rlgrap-filename default 'c:Test.csv'.
    parameters: p_flds type i.
    selection-screen end of block b1.
    start-of-selection.
    * Add X number of fields to the dynamic itab cataelog
      do p_flds times.
        clear wa_it_fldcat.
        wa_it_fldcat-fieldname = sy-index.
        wa_it_fldcat-datatype = 'C'.
        wa_it_fldcat-inttype = 'C'.
        wa_it_fldcat-intlen = 10.
        append wa_it_fldcat to it_fldcat .
      enddo.
    * Create dynamic internal table and assign to FS
      call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = it_fldcat
                   importing
                      ep_table        = new_table.
      assign new_table->* to <dyn_table>.
    * Create dynamic work area and assign to FS
      create data new_line like line of <dyn_table>.
      assign new_line->* to <dyn_wa>.
    * Upload the excel
      call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
           exporting
                filename                = p_file
                i_begin_col             = '1'
                i_begin_row             = '1'
                i_end_col               = '200'
                i_end_row               = '5000'
           tables
                intern                  = xcel
           exceptions
                inconsistent_parameters = 1
                upload_ole              = 2
                others                  = 3.
    * Reformt to dynamic internal table
      loop at xcel.
        assign component xcel-col of structure <dyn_wa> to <dyn_field>.
        if sy-subrc = 0.
         <dyn_field> = xcel-value.
        endif.
        at end of row.
          append <dyn_wa> to <dyn_table>.
          clear <dyn_wa>.
        endat.
      endloop.
    * Write out data from table.
      loop at <dyn_table> into <dyn_wa>.
        do.
          assign component  sy-index  of structure <dyn_wa> to <dyn_field>.
          if sy-subrc <> 0.
            exit.
          endif.
          if sy-index = 1.
            write:/ <dyn_field>.
          else.
            write: <dyn_field>.
          endif.
        enddo.
      endloop.
    REgards,
    RIch Heilman

  • Read .csv File and Update DB

    I have a .csv file with about 11 columns and multiple rows.
    I need to read this file and from each row extract the first
    4 columns and update my local database.
    If the value if 1st column (unique#) is already in DB do an
    Update else do an Insert.
    How do I read this .csv file and accomplish this goal?

    You read the file with <cffile>
    It then becomes nested lists. For the outer list, your
    delimiter is chr(10). Each list item is a row from your file. For
    your inner list, the delimiter is a comma.
    That should get you started. Details list functions and
    <cffile> are in the cfml reference manual. If you don't have
    one, the internet does.

Maybe you are looking for

  • How to do backflush of alternate material in a bom?

    Hi,    My user wants to do choose alternate material at the time of backflushing  according to material availability.. currently we are maintaining as following priority - 1                                                            strategy - 2     

  • How do I close a website and go back to my firefox home page?

    When I click the red x box to close a web site. I am returned to my desk top instead of my home page. Fir fox appears to be closed. I have no tool bar. But if I click on the fir fox logo on my desktop, I get a message that says fir fox is already run

  • JDBC adapter taking too much time for inserting

    we` have given a "update insert" query to be used in the JDBC adapter to insert these records into the database. Consists of 3 tables with 29fields in first, 4 fields in the other two. While message in XI gets processed in just 1-3 secs, the database

  • Can't drag image onto stage in new layer, from the library?

    For a text book assignment we have to make a new layer and then drag a image from the library panel onto the stage but it won't let me? The new layer doesn't look the same as the rest in the timeline panel too.

  • Not sure which to download to my laptop

    Hello. I am a student in college and we are learning about databases and sql. I would like to continue learning about databases. At the moment we are using Oracle Academy to run SQL queries and make tables etc. I know in the downloads section of the