File upload (CSV)
Hi all, is APEX capable of uploading a file. EG a csv file for bulk loading of data, through the application interface. Would I need to write my own CSV parser as well?
Regards
Martin.
Hello Martin,
APEX has an import utility, which allows you to import CSV files directly into an Oracle table (and even create a table based on the CSV columns). The following explore all the options you can use in the APEX environment - http://download-uk.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/sql_utl.htm#sthref3170 .
If you want to upload the file as part of an application you should search this forum, under the user “Vikas” for the keyword “CSV && upload”. He wrote a demo application doing just that, and I’m sure you’ll find it helpful.
Regards,
Arie.
Similar Messages
-
How to upload .CSV file from Application Server
Hi Experts,
How to upload .CSV file separated by ',' from Application server to an internal table.
Invoice No,Cust No,Item Type,Invoice Date,days,Discount Amount,Gross Amount,Sales Amount,Customer Order No.,Group,Pay Terms
546162,3233,1,9/4/2007,11,26.79,5358.75,5358.75,11264,HRS,11
546163,2645,1,9/4/2007,11,3.07,305.25,305.25,10781,C,11
Actually I read some already answered posts. But still I have some doubts.
Can anybody please send me the code.
Thanks in Advance.Hi Priya,
Check this code
Yhe logic used here is as follows,
Get all the data into an internal table in the simple format ie: a row with one field contains an entire line
After getting the data, we split each line of the table on every occurrence of the delimiter (comma in your case)
Here, I have named the fields as field01, field02 etc, you could use your own names according to your requirement
parameters: p_file(512).
DATA : BEGIN OF ITAB OCCURS 0,
COL1(1024) TYPE C,
END OF ITAB,
WA_ITAB LIKE LINE OF ITAB.
DATA: BEGIN OF ITAB_2 OCCURS 0,
FIELD01(256),
FIELD02(256),
FIELD03(256),
FIELD04(256),
FIELD05(256),
FIELD06(256),
FIELD07(256),
FIELD08(256),
FIELD09(256),
FIELD10(256),
FIELD11(256),
FIELD12(256),
FIELD13(256),
FIELD14(256),
FIELD15(256),
FIELD16(256),
END OF ITAB_2.
DATA: WA_2 LIKE LINE OF ITAB_2.
OPEN DATASET p_FILE FOR INPUT IN TEXT MODE ENCODING NON-UNICODE.
IF SY-SUBRC = 8.
WRITE:/ 'File' , p_FILE , 'cannot be opened'.
LV_LEAVEPGM = 'X'.
EXIT.
ENDIF.
WHILE SY-SUBRC <> 4.
READ DATASET p_FILE INTO WA_ITAB.
APPEND WA_ITAB TO ITAB.
ENDWHILE.
CLOSE DATASET p_FILE.
LOOP AT ITAB INTO WA_ITAB.
SPLIT WA_ITAB-COL1 AT ',' " where comma is ur demiliter
INTO WA_2-FIELD01 WA_2-FIELD02 WA_2-FIELD03 WA_2-FIELD04
WA_2-FIELD05 WA_2-FIELD06 WA_2-FIELD07 WA_2-FIELD08 WA_2-FIELD09
WA_2-FIELD10 WA_2-FIELD11 WA_2-FIELD12 WA_2-FIELD13 WA_2-FIELD14
WA_2-FIELD15 WA_2-FIELD16.
APPEND WA_2 TO ITAB_2.
CLEAR WA_2.
ENDLOOP.
Message was edited by:
Kris Donald -
FF.5 Tcode to upload CSV file?
HI all,
Currently we are uploading BAI.txt fromatted files using FF.5(Using the Electronic Account Ststement) Tcode,Now user wants to upload .CSV formatted file instead of BAI.TXT files.
One more issue is the structure in BAI.TXT and CSV having different formats.
Can any one suggest how can we achieve this?
Sachin.Hi Prabhu,
Thanks for your valuble suggestion.
Can you please help me how can we go ahead with this problem with SAP?
How can we get any PATCH or any SNOTE for this ?
Sachin. -
Hello everyone.
I have a minor problem in uploading CSV file to HTMLDB.
I don't know the exact reason, but HTMLDB threw
"ORA-20001: Unable to create collection: ORA-06502: PL/SQL: numeric or value error" whenever I tried to upload my csv file. after a few repetition of deleting potential problem-causing columns and trying again, I found out the following:
when numeric value and character value are stored together in single column, the upload fails. For example, we have a column which stores the employee number. The employee number is just a sequential numeric value, however temporary employees have 'T' in front of their employee number, so it begins something like T0032 and so on.
So, then, I tried to enclose all the employee numbers which start with numeric value with " character, but that would just simply take too long to do it manually, and excel does not seem to support enclosing the values with " when it's saving the spreadsheet with CSV format.
So, I'm kind of stuck right now.
Can anyone give me a good way to deal it?
THANK YOU!Thanks for updating my forum setting, my name is now clearly visible :-)
anyway.. I went back and tested couple of things...
It now appears that the problem is not caused from values inside the column... instead..
I believe the size of csv file with certain character set is the issue here...
This is a rough estimate, but file size larger than about 31.7 ~ 9kb caused errors IF THEY CONTAINED OTHER CHARACTER SET THAN ENGLISH.
here are informations about my setting:
1. Oracle database: initially 9.2.0.1 -> patched upgrade to 9.2.0.4
2. HTMLDB: 1.4.0.00.21c (downloaded from otn)
3. db character set : UTF-8
4. OS: windows 2000 (with up-todate service pack and
security patches and etc..)
5. system: toshiba tecra 2100 with 1GB ram and 40GB hdd
6. operation system locale: korean, south korea
I tried uploading many other files in both english and korean, which is my national language. The english csv file worked beautifully, without any file size limitations. However, when I tried to upload a file with
KOREAN characters in it, it failed.
Intrigued by this behavior I started to test the file upload with various excel files, and found out that..
1. english csv files caused absolutely no errors.
2. engilsh file with single korean character immediately
threw the error, if the size exceeded 31.8kb (or I
think the size is 32kb)
3. I tested korean file mixed english file, caused
the same error if the size exceeded 32kb.
the distribution of korean characters inside the
csv file did not matter, just don't go beyond 32kb!
Please reproduce this behavior (but I presume that some efforts will be required in order to reproduce this error perfectly, since it is not easy to obtain foreign OS in US regions.. is it?)
anyway, thanks for your quick reply, and
I hope this problem gets fixed, because in this manner,
I have to split my file into 32kb chunks!
- Howard -
Error: java.lang.OutOfMemoryError when uploading CSV files to web server
Hi experts,
I have made a JSP page from which clients load csv files to web server. I am using Tomca 4.1 as my web server and JDK 1.3.1_09.
The system works fine when uploadiing small csv files, but it crashes when uploading large CSV files.
It gives me the following error:
java.lang.OutOfMemoryError
<<no stack trace available>>
This is the code that I used to load files....
<%
String saveFile = "";
String contentType = request.getContentType();
if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0))
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
while (totalBytesRead < formDataLength)
byteRead = in.read(dataBytes, totalBytesRead, formDataLength);
totalBytesRead += byteRead;
String file = new String(dataBytes);
saveFile = file.substring(file.indexOf("filename=\"") + 10);
saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
int lastIndex = contentType.lastIndexOf("=");
String boundary = contentType.substring(lastIndex + 1,contentType.length());
int pos;
pos = file.indexOf("filename=\"");
pos = file.indexOf("\n", pos) + 1;
pos = file.indexOf("\n", pos) + 1;
pos = file.indexOf("\n", pos) + 1;
int boundaryLocation = file.indexOf(boundary, pos) - 4;
int startPos = ((file.substring(0, pos)).getBytes()).length;
int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
String folder = "f:/Program Files/Apache Group/Tomcat 4.1/webapps/broadcast/file/";
//String folder = "10.28.12.58/bulksms/";
FileOutputStream fileOut = new FileOutputStream(folder + saveFile);
//out.print("Saved here: " + saveFile);
//fileOut.write(dataBytes);
fileOut.write(dataBytes, startPos, (endPos - startPos));
fileOut.flush();
fileOut.close();
out.println("File loaded successfully");
//f:/Program Files/Apache Group/Tomcat 4.1/webapps/sms/file/
%>
Please can anyone help me solve this problem for me...
Thanx...
DeepakI know it may be hard to throw away all this code, but consider using the jakarta fileupload component.
I think it would simplify your code down to
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
processFormField(item);
} else {
// item is a file. write it
File saveFolder = application.getRealPath("/file");
File uploadedFile = new File(saveFolder, item.getName());
item.write(uploadedFile);
}Most of this code was hijacked from http://jakarta.apache.org/commons/fileupload/using.html
Check it out. It will solve your memory problem by writing the file to disk temporarily if necessary.
Cheers,
evnafets -
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 ?? -
Upload Csv files with infopackages - Error 1
Hello again,
i'm trying to upload csv file into a infopackage with master data text but the sistem sends a error message "Error 1 uploading external data".
Infopackage settings:
source system: PC
file type: data file
csv file
data separator ;
ESC signal "
a created a txt file with data separated with ; and later converted txt file into a csv file.
can anybody help me pls?
Thanks
Silvia MarquesHi Silvia,
If the fields are correct in the transfer structure (only 2 fields). Then check whether the field length and type has been defined correctly for both the fields.
If thats not a problem then try to load only upto PSA.
If you are using IDOC as your transfer method then go to the "details" tab of the monitor of the error request and see the details. It will give you the correct picture of the error.
Bye
Dinesh. -
DEAR ALL,
I am facing one problem while uploading csv file.
I have 2 csv files.
i use the function module
CALL FUNCTION 'KCD_CSV_FILE_TO_INTERN_CONVERT'
EXPORTING
i_filename = L_FILENAME "'C:\Temp\Book1.csv'
i_separator = ','
TABLES
e_intern = l_intern
EXCEPTIONS
upload_csv = 1
upload_filetype = 2.
LOOP AT l_intern.
MOVE : l_intern-col TO v_index.
ASSIGN COMPONENT v_index OF STRUCTURE W_ERQ TO <fs>.
MOVE : l_intern-value TO <fs>.
AT END OF row.
APPEND W_ERQ TO GT_ERQ.
CLEAR W_ERQ.
ENDAT.
ENDLOOP.
It is working working for one file. while uploading another file it is showing simble (") " with mail ids"
In the sence i have my csv files one column mail id of approver. But it is fetching from csv file mail-ids but starting mail with " and end of mail it showing the simble ".
HOw should i over come this problem
Thanks
marganiIf your CSV has tabulator as separetor, this code will fill your internal table without any other code.
DATA: l_filename TYPE string.
l_filename = p_file.
REFRESH wt_input.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_filename
filetype = 'ASC'
has_field_separator = 'X'
dat_mode = 'X'
TABLES
data_tab = wt_input[]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. -
Uploading csv file into database using apex
Dear all
I am using apex 4 and oracle express 10g, i need to upload .csv file into the database for one of my appls, i have referred discussion forum for solutions, i found also, but some how its not working for me.
below mentioned is error and the code
ERROR:
ORA-06550: line 38, column 8: PLS-00221: 'V_DATA_ARRAY' is not a procedure or is undefined ORA-06550: line 38, column 8: PL/SQL: Statement ignored ORA-06550: line 39, column 8: PLS-00221: 'V_DATA_ARRAY' is not a procedure or is undefined ORA-06550: line 39, column 8: PL/SQL: Statement ignored ORA-06550: line 40, column 8: PLS-00221: 'V_DATA_ARRAY' is not a procedure or is undefined ORA-06550: line 40, column 8: PL/SQL: Statement ignored ORA-06550: line 41, column 8: PLS-00221: 'V_DATA_ARRAY' is not a proc
Error
OK
CODE:
DECLARE
v_blob_data BLOB;
v_blob_len NUMBER;
v_position NUMBER;
v_raw_chunk RAW(10000);
v_char CHAR(1);
c_chunk_len number := 1;
v_line VARCHAR2 (32767) := NULL;
v_data_array wwv_flow_global.vc_arr2;
BEGIN
-- Read data from wwv_flow_files
select blob_content into v_blob_data
from wwv_flow_files where filename = 'DDNEW.csv';
v_blob_len := dbms_lob.getlength(v_blob_data);
v_position := 1;
-- Read and convert binary to char
WHILE ( v_position <= v_blob_len ) LOOP
v_raw_chunk := dbms_lob.substr(v_blob_data,c_chunk_len,v_position);
v_char := chr(hex_to_decimal(rawtohex(v_raw_chunk)));
v_line := v_line || v_char;
v_position := v_position + c_chunk_len;
-- When a whole line is retrieved
IF v_char = CHR(10) THEN
-- Convert comma to : to use wwv_flow_utilities
v_line := REPLACE (v_line, ',', ':');
-- Convert each column separated by : into array of data
v_data_array := wwv_flow_utilities.string_to_table (v_line);
-- Insert data into target table
EXECUTE IMMEDIATE 'insert into TABLE_X (v1, v2, v3, v4 ,v5, v6, v7,v8 ,v9, v10, v11)
values (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11)'
USING
v_data_array(1),
v_data_array(2),
v_data_array(3),
v_data_array(4);
v_data_array(5);
v_data_array(6);
v_data_array(7);
v_data_array(8);
v_data_array(9);
v_data_array(10);
v_data_array(11);
-- Clear out
v_line := NULL;
END IF;
END LOOP;
END;
what i understand from this is system does not identify v_data_array as array for some reasons, please help me.
initially system was giving error for hex_to_decimal, but i managed to get this function on discussion forum and now it seems to be ok. but v_data_array problem is still there.
thanks in advance
regards
UdayHi,
Mistakes in your sample I did correct
Problem 1
select blob_content into v_blob_data
from wwv_flow_files where filename = 'DDNEW.csv'; to
select blob_content into v_blob_data
from wwv_flow_files where name = :P1_FILE;Problem 2
EXECUTE IMMEDIATE 'insert into TABLE_X (v1, v2, v3, v4 ,v5, v6, v7,v8 ,v9, v10, v11)
values (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11)'
USING
v_data_array(1),
v_data_array(2),
v_data_array(3),
v_data_array(4);
v_data_array(5);
v_data_array(6);
v_data_array(7);
v_data_array(8);
v_data_array(9);
v_data_array(10);
v_data_array(11); to
EXECUTE IMMEDIATE 'insert into TABLE_X (v1, v2, v3, v4 ,v5, v6, v7,v8 ,v9, v10, v11)
values (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11)'
USING
v_data_array(1),
v_data_array(2),
v_data_array(3),
v_data_array(4),
v_data_array(5),
v_data_array(6),
v_data_array(7),
v_data_array(8),
v_data_array(9),
v_data_array(10),
v_data_array(11); And I did create missing table
CREATE TABLE TABLE_X
v1 VARCHAR2(255),
v2 VARCHAR2(255),
v3 VARCHAR2(255),
v4 VARCHAR2(255),
v5 VARCHAR2(255),
v6 VARCHAR2(255),
v7 VARCHAR2(255),
v8 VARCHAR2(255),
v9 VARCHAR2(255),
v10 VARCHAR2(255),
v11 VARCHAR2(255)
);Regards,
Jari
Edited by: jarola on Nov 19, 2010 3:03 PM -
Uploading CSV file into Webdynpro abap application
Hi all,
Please let me know the process of uploading .csv file in Webdynpro(ABAP) using FILE_UPLOAD UI element.
Thanks
SubathraHi,
you can use the following code ..........
assumiing the file cointain tow colums name and age
TYPES :
BEGIN OF str_itab,
name(10) TYPE c,
age(10) TYPE c,
END OF str_itab. DATA : t_table1 TYPE STANDARD TABLE OF str_itab,
i_data TYPE STANDARD TABLE OF string,
lo_nd_sflight TYPE REF TO if_wd_context_node,
lo_el_sflight TYPE REF TO if_wd_context_element,
l_string TYPE string,
fs_table TYPE str_itab,
l_xstring TYPE xstring,
fields TYPE string_table,
lv_field TYPE string. DATA : t_table TYPE if_main=>elements_data_tab,
data_table TYPE if_main=>elements_data_tab.
get single attribute
wd_context->get_attribute( EXPORTING name = `DATASOURCE` IMPORTING value = l_xstring ).
CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'
EXPORTING
in_xstring = l_xstring
IMPORTING
out_string = l_string.
SPLIT l_string AT cl_abap_char_utilities=>newline INTO TABLE i_data.
Bind With table Element. LOOP AT i_data INTO l_string.
SPLIT l_string AT cl_abap_char_utilities=>horizontal_tab INTO TABLE fields.
READ TABLE fields INTO lv_field INDEX 1.
fs_table-name = lv_field.
READ TABLE fields INTO lv_field INDEX 2.
fs_table-age = lv_field. APPEND fs_table TO t_table1.
ENDLOOP.
lo_nd_sflight = wd_context->get_child_node( 'DATA_TAB' ).
lo_nd_sflight->bind_table( t_table1 ).
Thanks,
Shaik Shadulla.
Edited by: shaik shadulla on Jul 16, 2009 3:27 PM -
CSV file upload into interal table with unicode system.
Hi everyone.
I have a problem. I made a sample program to upload CSV file to server memory;iternal table i mean. if csv file has numeric and english data, it works well. but it's not work when i made a csv file with Korean. my code is below. how can i do??
DATA: FILEUPLOAD TYPE REF TO CL_HTMLB_FILEUPLOAD.
DATA: CONTENT_LENGTH TYPE STRING,
FILE_CONTENT TYPE XSTRING ,
FILE_LENGTH TYPE STRING ,
FILE_MIME_TYPE TYPE STRING ,
FILE_NAME TYPE STRING .
DATA: CONTENT TYPE STRING.
FILEUPLOAD ?= CL_HTMLB_MANAGER=>GET_DATA(
REQUEST = REQUEST
ID = 'file1'
NAME = 'fileUpload' ).
FILE_NAME = FILEUPLOAD->FILE_NAME.
FILE_MIME_TYPE = FILEUPLOAD->FILE_CONTENT_TYPE.
FILE_LENGTH = FILEUPLOAD->FILE_LENGTH.
FILE_CONTENT = FILEUPLOAD->FILE_CONTENT.
data: conv type ref to CL_ABAP_CONV_IN_CE .
data: tmp type string.
data: cnt type i.
CONV = CL_ABAP_CONV_IN_CE=>CREATE( INPUT = FILE_CONTENT
ENCODING = 'UTF-8' ).
CONV->READ( EXPORTING N = cnt
IMPORTING DATA = CONTENT ).
tmp = content.Hi,
Pls check threads like
File Download / Upload Question
Eddy
PS. Reward the useful answers and you will get <a href="http:///people/baris.buyuktanir2/blog/2007/04/04/point-for-points-reward-yourself">one point</a> yourself! -
CSV File upload in SharePoint 2013
Hi,
We need to upload the CSV file in document library and need to call the java service in the event receiver and read the uploaded CSV file content and parse it as JSON and pass to the java service.
Is there anyway we can compare the already uploaded file content with same file name user trying to upload again with the same content . In case if user changed the some content and trying to upload again, we nee to identify whether the file is really updated
the content or not. This will avoid the unnecessary java service call. Please let me know the suggestion.
Thank you,
Mylamythere is no method or properties to compare files.We have do row by row
using power shell we can do it
http://blogs.technet.com/b/stefan_stranger/archive/2011/02/08/compare-two-different-csv-files-using-powershell.aspx
http://social.technet.microsoft.com/Forums/scriptcenter/en-US/00ef8b0d-00d9-42fd-9b6a-c6de58b9bd00/using-powershell-to-compare-2-csv-files?forum=winserverpowershell
other solutions
http://stackoverflow.com/questions/5154370/compare-two-csv-file-using-in-c-sharp
http://stackoverflow.com/questions/3458355/c-sharp-comparing-two-csv-files-and-giving-an-output -
Flat File Upload as CSV File in BPS.
Hi Friends,
We have to upload CSV file to BPS and as of now we are able to upload tab spaced file as per the How to Document.
Kindly can some body post the COMPLETE CODE changes for Uploading the CSV File in both LOAD and WEB Function Modules.
For complete code points are guaranteed.Hi BI,
please check the following thread.
Load flat file to BPS - GUI issue
I've implemented the file upload for CSV file. please note the changes i've made -
Code for INIT function module :-
FUNCTION Z_BPS_FILE_UPLOAD_INIT_CSV.
""Local Interface:
*" IMPORTING
*" VALUE(I_AREA) TYPE UPC_Y_AREA
*" VALUE(I_PLEVEL) TYPE UPC_Y_PLEVEL OPTIONAL
*" VALUE(I_PACKAGE) TYPE UPC_Y_PACKAGE OPTIONAL
*" VALUE(I_METHOD) TYPE UPC_Y_METHOD OPTIONAL
*" VALUE(I_PARAM) TYPE UPC_Y_PARAM OPTIONAL
*" REFERENCE(IT_EXITP) TYPE UPF_YT_EXITP OPTIONAL
*" REFERENCE(ITO_CHASEL) TYPE UPC_YTO_CHASEL OPTIONAL
*" REFERENCE(ITO_CHA) TYPE UPC_YTO_CHA OPTIONAL
*" REFERENCE(ITO_KYF) TYPE UPC_YTO_KYF OPTIONAL
*" EXPORTING
*" REFERENCE(ETO_CHAS) TYPE ANY TABLE
*" REFERENCE(ET_MESG) TYPE UPC_YT_MESG
DATA: lto_chas TYPE yto_chas,
ls_chas TYPE ys_chas,
ls_exitp TYPE upf_ys_exitp,
ls_mesg TYPE upc_ys_mesg,
ls_chasel TYPE upc_ys_chasel, "<<<INSERT
ls_charng TYPE upc_ys_charng. "<<<INSERT
DATA: lt_filetab TYPE filetable,
ls_filetab TYPE file_table,
l_file TYPE string,
l_separator TYPE char01,
l_action TYPE i,
l_count TYPE i.
FIELD-SYMBOLS: <f> TYPE ANY. "<<<INSERT
Try to get file name from parameter
READ TABLE it_exitp INTO ls_exitp WITH KEY parnm = 'FILENAME'.
IF sy-subrc = 0.
l_file = ls_exitp-chavl.
ENDIF.
If no file name is given, prompt user for it
IF l_file IS INITIAL.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select Upload File'
default_extension = 'csv'
file_filter = 'Text Files (*.csv)'
CHANGING
file_table = lt_filetab
rc = l_count
user_action = l_action
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
OTHERS = 3. "#EC NOTEXT
IF sy-subrc <> 0.
CLEAR ls_mesg.
MOVE-CORRESPONDING syst TO ls_mesg.
APPEND ls_mesg TO et_mesg.
EXIT.
ENDIF.
CALL METHOD cl_gui_cfw=>flush.
LOOP AT lt_filetab INTO ls_filetab.
l_file = ls_filetab.
ENDLOOP.
CHECK l_action = 0.
ENDIF.
l_separator = 'X'.
Upload file from front-end (PC)
File format is tab-delimited ASCII
l_separator = ';' .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_file
filetype = 'DAT'
has_field_separator = l_separator
TABLES
data_tab = gt_file_csv
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
CLEAR ls_mesg.
MOVE-CORRESPONDING syst TO ls_mesg.
APPEND ls_mesg TO et_mesg.
EXIT.
ENDIF.
Create one dummy combination
If we don't do this, the upload won't work since the second function
will not be executed at all in case no transaction data exists so far.
The combination must be a subset of the planning level!
" >>> BEGIN INSERT
CLEAR ls_chas.
LOOP AT ito_chasel INTO ls_chasel.
READ TABLE ls_chasel-t_charng INTO ls_charng INDEX 1.
IF sy-subrc = 0.
ASSIGN COMPONENT ls_chasel-chanm OF STRUCTURE ls_chas TO <f>.
IF sy-subrc = 0.
<f> = ls_charng-low.
ENDIF.
ENDIF.
ENDLOOP.
" <<< END INSERT
COLLECT ls_chas INTO lto_chas.
eto_chas = lto_chas.
ENDFUNCTION.
Include should contains following declarations-
TYPES: begin of itab_CSV,
text(255) type c,
end of itab_CSV.
Global table to temporarily store loaded data.
DATA: gt_file_CSV TYPE STANDARD TABLE OF itab_csv WITH DEFAULT
KEY.
Hope it will help you.
Regards
Tarun -
Issue when I upload CSV file for insert contact list on Cisco Attendant Console Advanced
Hi Friends,
I have error "Provided file is not valid CSV File" when I upload CSV file to Cisco Attendant Console Advanced system. I'm not sure what happen about my CSV. My purpose is insert contact list to system and create CSV base on documentation.
Anyone have idea to solve this issue please kindly help me.
ThanksYou are right, whenever Cisco device boots, the IOS files gets loaded on the DRAM.
But in this process, some temporary files are also generated which gets saved in the flash/Disk, that’s the only reason you got these error messages. It’s not recommended at all to have less space in the Flash than what is recommended on Cisco.com. I would say please remove some files from Disk and have minimum 256 MB flash otherwise your router may drop into rommon mode at the time of next reload.
Well, it’s good to upgrade the bootstarp image too. Currently you are running 15.X IOS code, I would say run 15.X bootstarp image on the box.
You may download bootstarp image for 7206VRX NPEG2 from the link below:-
http://software.cisco.com/download/release.html?mdfid=282188585&flowid=1380&softwareid=280805685&release=15.2.4S4&relind=AVAILABLE&rellifecycle=ED&reltype=latest
If you want to know the procedure of the upgrade, click the link mentioned below:-
http://www.cisco.com/en/US/docs/ios/12_2/configfun/command/reference/frf010.html#wp1017654
-Amant -
Upload csv files with infopackages
Hello,
I want to upload csv files for an infopackage in BW System and when i execute the infopackage, the system sends the error message "Role for scan virus /SCET/GUI_UPLOAD is not active".
Can anybody help me?
Thanks
Silvia MarquesHi Silvia,
You can check OSS note: 841387. Other relevant notes are :803637, 797108 and 807989.
Hope this helps...
Maybe you are looking for
-
Unable to answer calls in windows 8.1
Ive been having issues answering and making skype calls since upgrading to windows 8.1 some time ago. Basically I have been unable to connect to incoming calls sporadically. It can take up to as many as 10 attempts before I am succesfully able to joi
-
How do I delete large number of email messages?
I get a large number of emails. Is there a way to select them on my iPod Touch 32g in groups rather than one at a time when I delete many messages?
-
Trying to purchase Touch firmware 3.1.1 - getting error 5002
I am running Snow Leopard, iTunes 9, using a first-gen iPod Touch running 2.2.1. I am trying to upgrade to 3.1.1 but after every time I log in to purchase the firmware I get "error 5002: There was an error in the iTunes store." IS THERE ANY FIX TO TH
-
No signal from airport extreme after switching to optimum online
I am pretty new to macs and this is my first message posted. A few days ago I switched from Verizon FIOS to Optimum Online and they changed the modem to a Motoroal Surfboard model. As far as I can tell the wiring was done correctly, but now my airpor
-
Hi there, as a photographer my photo book printing company has given me instructions to view a photo file in Adobe Reader and compare it with the same file that they will post to me - so that i can make sure that my monitor is properly callibated to