Uploading the contents of file into custom table
Hi ,
I have a req where in i want to put the contents of the file into the Z table . I have taken a file upload UI element and in that i have taken 4 attributes as file name f, file type ,file size and file contents and binded this file contents to the data property of the UI element. Now with out explicitly defining the fields i want to put all this content of file into the Z table created for any file created or if i could put the whole text file into that table so that any one could see that file even though its not saved in the desktop for that user.
Can any one help me out?
Yes i am converting it inot the lstring using the same FM which you have given. I have to store the total file but the only doubt is like if its a input field how could i save a file form. Can you please check the code i want to save the total file into the table.
DATA lo_nd_upload TYPE REF TO if_wd_context_node.
DATA lo_el_upload TYPE REF TO if_wd_context_element.
data i_data TYPE STANDARD TABLE OF string.
DATA ls_upload TYPE wd_this->Element_upload.
data lv_field type string.
data lt_file type TABLE OF ZFILE_UPLOAD.
data ls_file LIKE LINE OF lt_file.
data l_xstring type xstring.
data fields TYPE string_table.
data l_String type string.
navigate from <CONTEXT> to <UPLOAD> via lead selection
lo_nd_upload = wd_context->get_child_node( name = wd_this->wdctx_upload ).
@TODO handle non existant child
IF lo_nd_upload IS INITIAL.
ENDIF.
get element via lead selection
lo_el_upload = lo_nd_upload->get_element( ).
@TODO handle not set lead selection
IF lo_el_upload IS INITIAL.
ENDIF.
get all declared attributes
lo_el_upload->get_static_attributes(
IMPORTING
static_attributes = ls_upload ).
DATA lv_file_contents TYPE wd_this->Element_upload-file_contents.
navigate from <CONTEXT> to <UPLOAD> via lead selection
@TODO handle non existant child
IF lo_nd_upload IS INITIAL.
ENDIF.
get element via lead selection
lo_el_upload = lo_nd_upload->get_element( ).
alternative access via index
lo_el_upload = lo_nd_upload->get_element( index = 1 ).
@TODO handle not set lead selection
IF lo_el_upload IS INITIAL.
ENDIF.
get single attribute
lo_el_upload->get_attribute(
EXPORTING
name = 'FILE_CONTENTS'
IMPORTING
value = l_xstring ).
for text file conversion we have to FM
CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'
EXPORTING
FROM_CODEPAGE = '8500'
IN_XSTRING = l_xstring
OUT_LEN =
IMPORTING
OUT_STRING = l_string.
SPLIT l_string AT cl_abap_char_utilities=>newline INTO TABLE i_data.
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.
endloop.
ls_upload will contain all the file details
ls_file-file_size = xstrlen( ls_upload-file_contents ) * lv_float .
ls_file-file_name = ls_upload-file_name.
ls_file-file_type = ls_upload-file_type.
ls_file-file_contents = ls_upload-file_contents.
insert ZFILE_UPLOAD FROM ls_file.
thanks
Similar Messages
-
Uploading the fixed length file into intenral table
hi folks,
I have a file in the fixed length format, need to upload that into the intenral table. How to do that? I have done with comma delimited file using 'SPLIT' command how to go about this?
I cannot change the fiel format have to use this..
Thanks in advance for your help.
VinuHi,
Create a structure exactly as the length of the file..
Example
Assuming your file has first 10 characters for customers and next 4 characters for company code..
CUST1234561000
DATA: BEGIN OF FILE_STRUC,
KUNNR(10),
BUKRS(4),
END OF FILE_STRUC.
if you assign the file value to the structure FILE_STRUC..automatically the first ten characters will be stored in the KUNNR field and next characters will be stored in the BUKRS field..
Move the file line to the internal table ITAB of the same structure FILE_STRUC.
THanks,
Naren
Message was edited by: Narendran Muthukumaran -
Upload data from flat file into internal table
Hi friends,
I want to upload the data from a flat file into internal table , but the problem is that all the columns in that flat file are seperated by "|" character instead of tabs.
Plz help me out.........HEllo,
DO like this.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = LV_FILENAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X' " Check here
* HEADER_LENGTH = '1'
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = IT_COJRNL
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.
VAsanth -
PROCESS TO INSERT FILE INTO CUSTOM TABLE
Hello - grateful if anyone can assist.
I have followed the official guide notes but am unable to insert a line with blob file into my custom table (APEX_AM_LEASES)
Error message is as follows:
ORA-06550: line 2, column 13: PL/SQL: ORA-00913: too many values ORA-06550: line 2, column 1: PL/SQL: SQL Statement ignored.
My Process code is as follows:
IF ( :P6_DOC_UPLOADED is not null ) THEN
INSERT INTO APEX_AM_LEASES(id, CLIENT_REF, CLIENT_NAME, PROPERTY_REF, PROPERTY_NAME, TENANT_REF, TENANT_NAME, DOC_TYPE_NO, DOC_TYPE, URL, BLOB_CONTENT, MIME_TYPE)
SELECT ID,:P6_DOC_UPLOADED,:P6_CLIENT_REF, :P6_CLIENT_NAME, :P6_PROPERTY_REF, :P6_PROPERTY_NAME, :P6_TENANT_REF, :P6_TENANT_NAME, :P6_DOC_TYPE_NO, :P6_DOC_TYPE, :P6_URL, blob_content,mime_type
FROM APEX_APPLICATION_FILES
WHERE name = :P6_DOC_UPLOADED;
DELETE from APEX_APPLICATION_FILES WHERE name = :P6_DOC_UPLOADED;
END IF;Hi srikavi - thank you for your quick response. I think I get it however I have amended and am getting a new error:
ORA-06550: line 2, column 163: PL/SQL: ORA-00904: "MIME_TYPE": invalid identifier ORA-06550: line 2, column 1: PL/SQL: SQL Statement ignored
IF ( :P6_DOC_UPLOADED is not null ) THEN
INSERT INTO APEX_AM_LEASES(DOC_UPLOADED, CLIENT_REF, CLIENT_NAME, PROPERTY_REF, PROPERTY_NAME, TENANT_REF, TENANT_NAME, DOC_TYPE_NO, DOC_TYPE, URL, BLOB_CONTENT, MIME_TYPE)
SELECT :P6_DOC_UPLOADED, :P6_CLIENT_REF, :P6_CLIENT_NAME, :P6_PROPERTY_REF, :P6_PROPERTY_NAME, :P6_TENANT_REF, :P6_TENANT_NAME, :P6_DOC_TYPE_NO, :P6_DOC_TYPE, :P6_URL, blob_content, mime_type
FROM APEX_APPLICATION_FILES
WHERE name = :P6_DOC_UPLOADED;
DELETE from APEX_APPLICATION_FILES WHERE name = :P6_DOC_UPLOADED;
END IF; -
How to upload above20000 records csv files into oracle table,Oracle APEX3.2
Can any one help me how to CSV upload more than 20,000 records using APEX 3.2 upload process.i am using regular upload process using BOLB file
SELECT blob_content,id,filename into v_blob_data,v_file_id,v_file_name
FROM apex_application_files
WHERE last_updated = (select max(last_updated)
from apex_application_files WHERE UPDATED_BY = :APP_USER)
AND id = (select max(id) from apex_application_files where updated_by = :APP_USER);
I tried to upload but my page getting time out. my application best working up to 1000 records. after that its getting timed out.Each record is storing 2 secornds in the oracle table.So 1000 records it taking 7 minuts after that APEX upload webpage getting timed out
please help me with source how to speed upload csv file process or help another best with with source example.
Thanks,
Sant.
Edited by: 994152 on Mar 15, 2013 5:38 AMSee this posting:
Internet Explorer Cannot Display
There, I provided a couple of links on this particular issue. You need to change the timeout on your application server.
Denes Kubicek
http://deneskubicek.blogspot.com/
http://www.apress.com/9781430235125
http://apex.oracle.com/pls/apex/f?p=31517:1
http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
------------------------------------------------------------------- -
FM to upload TAB DELIMITED TEXT file into Internal table.
Hello Friends,
The FM 'ALSM_EXCEL_TO_INTERNAL_TABLE' is used to upload EXCEL file into a Internal table.
Is there any FM which performs the simillar operation on TAB DELIMITED TEXT FILE.
Thanks in advance!
AshishHi,
To upload text file with tab delimated you can use FM
GUI_OPLOAD.
In this function you have put X in the field HAS_FIELD_SEPARATOR.
Regards,
Sujit -
Getting Issue while uploading CSV file into internal table
Hi,
CSV file Data format as below
a b c d e f
2.01E14 29-Sep-08 13:44:19 2.01E14 SELL T+1
actual values of column A is 201000000000000
and columen D is 201000000035690
I am uploading above said CSV file into internal table using
the below coding:
TYPES: BEGIN OF TY_INTERN.
INCLUDE STRUCTURE KCDE_CELLS.
TYPES: END OF TY_INTERN.
CALL FUNCTION 'KCD_CSV_FILE_TO_INTERN_CONVERT'
EXPORTING
I_FILENAME = P_FILE
I_SEPARATOR = ','
TABLES
E_INTERN = T_INTERN
EXCEPTIONS
UPLOAD_CSV = 1
UPLOAD_FILETYPE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
am getting all columns data into internal table,
getting problem is columan A & D. am getting values into internal table for both; 2.01E+14. How to get actual values without modifying the csv file format.
waiting for your reply...
thanks & regards,
abhiHi Saurabh,
Thanks for your reply.
even i can't double click on those columns.
b'se the program needs be executed in background there can lot of csv file in one folder. No manual interaction on those csv files.
regards,
abhi -
Loading XML file into DB Table
Hi
I m quite new to the loading XML file into database table.
It will be great if anyone could guide me to through.
Now,
i have an XML file which has to be loaded into the DB table.
what are the steps involved in doing this. How do i go from here ??
your help is greatly appriciated ???
Thank you so much!!
-ShashiOK - Although you really should read the XMLDB FAQ on this forum, here is some sample code of ONE of the ways of doing it
(there are multiple ways - and this is not the most simple one)
Based on Oracle 11gR1
-- sqlplus /nolog
clear screen
set termout on
set feed on
set lines 40
set long 10000000
set serveroutput on
set lines 100
set echo on
connect / as sysdba
col filename for a80
col xml for a80
-- Create schema “OTN”
drop user OTN cascade;
purge dba_recyclebin;
create user OTN identified by OTN;
grant dba, xdbadmin to OTN;
EXECUTE dbms_java.grant_permission( 'OTN', 'java.io.FilePermission','G:\OTN\xmlstore','read' );
prompt pause
pause
clear screen
-- Create directory
connect OTN/OTN;
show user
drop directory OTN_USE_CASE;
CREATE directory OTN_USE_CASE AS 'G:\OTN\xmlstore';
SELECT extract((XMLTYPE(bfilename('OTN_USE_CASE','ABANDA-20030407215829881GMT.xml'),NLS_CHARSET_ID('AL32UTF8'))),'*') AS "XML"
from dual;
prompt pause
pause
clear screen
-- Directory Listing - Tom Kyte
create global temporary table DIR_LIST
( filename varchar2(255) )
on commit delete rows
create or replace
and compile java source named "DirList"
as
import java.io.*;
import java.sql.*;
public class DirList
{public static void getList(String directory)
throws SQLException
{ File path = new File( directory );
String[] list = path.list();
String element;
for(int i = 0; i < list.length; i++)
{ element = list;
#sql { INSERT INTO DIR_LIST (FILENAME)
VALUES (:element) };
create or replace procedure get_dir_list( p_directory in varchar2 )
as language java
name 'DirList.getList( java.lang.String )';
prompt pause
pause
clear screen
-- The content of the global temporary table
exec get_dir_list( 'G:\OTN\xmlstore' );
select * from dir_list;
-- "COMMIT" will clear / truncate the global temporary table...
prompt pause
pause
clear screen
-- Combined: Reading XML content from multiple XML files
commit;
exec get_dir_list( 'G:\OTN\xmlstore' );
select * from dir_list where filename like '%.xml'
and rownum <= 10;
prompt pause
pause
clear screen
select extract((XMLTYPE(bfilename('OTN_USE_CASE',dl.filename),NLS_CHARSET_ID('AL32UTF8'))),'*') AS "XML"
from dir_list dl
where dl.filename like '%.xml' and rownum <= 2;
prompt pause
pause
clear screen
-- If you can select it you can insert it...
-- drop table OTN_xml_store purge;
create table OTN_xml_store of xmltype
xmltype store as binary xml
commit;
exec get_dir_list( 'G:\OTN\xmlstore' );
set time on timing on
insert into OTN_xml_store
select XMLTYPE(bfilename('OTN_USE_CASE',dl.filename),NLS_CHARSET_ID('AL32UTF8')) AS "XML"
from dir_list dl
where dl.filename like '%.xml';
set time off timing off
commit;
select count(*) from OTN_xml_store;
prompt pause
pause
clear screen
-- If you can select it you can create resources and files
set time on timing on
commit;
exec get_dir_list( 'G:\OTN\xmlstore' );
select count(*) from dir_list where filename like '%.xml';
set serveroutput on size 10000
DECLARE
XMLdoc XMLType;
res BOOLEAN;
v_foldername varchar2(4000) := '/public/OTN/';
cursor c1
is
select dl.filename FNAME
, XMLTYPE(bfilename('OTN_USE_CASE',dl.filename),NLS_CHARSET_ID('AL32UTF8')) XMLCONTENT
from dir_list dl
where dl.filename like '%.xml'
and rownum <= 100;
BEGIN
-- Create XDB repository Folder
if (dbms_xdb.existsResource(v_foldername))
then
dbms_xdb.deleteResource(v_foldername,dbms_xdb.DELETE_RECURSIVE_FORCE);
end if;
res:=DBMS_XDB.createFolder(v_foldername);
-- Create XML files in the XDB Repository
for r1 in c1
loop
if (DBMS_XDB.CREATERESOURCE(v_foldername||r1.fname, r1.xmlcontent))
then
dbms_output.put_line(v_foldername||r1.fname);
null;
else
dbms_output.put_line('Loop Exception :'||sqlerrm);
end if;
end loop;
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('Others Exception: '||sqlerrm);
END;
set time off timing off
commit;
prompt pause
pause
clear screen
-- FTP and HTTP
clear screen
prompt
prompt *** FTP - Demo ***
prompt
prompt pause
pause
host ftp
-- open localhost 2100
-- user OTN OTN
-- cd public
-- cd OTN
-- ls
-- bye
clear screen
prompt
prompt *** Microsoft Internet Explorer - Demo ***
prompt
prompt pause
pause
host "C:\Program Files\Internet Explorer\IEXPLORE.EXE" http://OTN:OTN@localhost:8080/public/OTN/
prompt pause
pause
-- Accessing the XDB Repository content via Resource View
-- Selecting content from a resource via XBDUriType
clear screen
prompt set long 300
set long 300
prompt Relative Path - (path)
SELECT path(1) as filename
FROM RESOURCE_VIEW
WHERE under_path(RES, '/public/OTN', 1) = 1
and rownum <= 10
prompt pause
pause
clear screen
prompt Absolute Path - (any_path)
select xdburitype(any_path).getClob() as xml
FROM RESOURCE_VIEW
WHERE under_path(RES, '/public/OTN', 1) = 1
and rownum <= 1;
prompt pause
pause
-- CLEANUP ENVIRONMENT
clear screen
prompt
prompt >>>>> Clean UP !!! <<<<<<
prompt
prompt Cleanup environment and drop user...!!!
prompt
pause
clear screen
conn / as sysdba
alter session set current_schema=OTN;
begin
dbms_xdb.deleteResource('/public/OTN',dbms_xdb.DELETE_RECURSIVE_FORCE);
commit;
end;
alter session set current_schema=sys;
drop user OTN cascade;
Based on http://www.liberidu.com/blog/?p=1053 -
How to store the flat file data into custom table?
Hi,
Iam working on inbound interface.Can any one tell me how to store the flat file data into custom table?what is the procedure?
Regards,
SujanHie
u can use function
F4_FILENAME
to pick the file from front-end or location.
then use function
WS_UPLOAD
to upload into
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME' "Function to pick file
EXPORTING
field_name = 'p_file' "file
IMPORTING
file_name = p_file. "file
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file1
TABLES
data_tab = it_line
*then loop at it_line splitting it into the fields of your custom table.
loop at it_line.
split itline at ',' into
itab-name
itab-surname.
endloop.
then u can insert the values into yo table from the itab work area.
regards
Isaac Prince -
Upload .txt file into Database Table
Hi,
I was wondering if someone could please point me in the right direction. I've been looking around the forum but can't find anything to help me achieve the following.
I would like to be able to upload a .txt file using a webpage. Then store the information inside this file into database tables.
eg. contents of mytextfile.txt:
richard
10 anywhere street, anytown, somewhere
111 222 333 444
joe
9 somestreet, elsewhere
999 888 777 666
peter
214 nearby lane, overhere
555 555 555 555
I would like to insert this data into a table.
eg. table name = CONTACTS
userid = primary key (using sequence)
username = (line 1 - richard, joe, peter)
address = (line 2)
phone_no = (line 3)
As you can see the records will appear 1 at a time and will have a blank line between records. Is there anyway for me to upload a file like this and have it placed into tables?
I have seen http://otn.oracle.com/products/database/htmldb/howtos/howto_file_upload.html but this seems to be for uploading a whole file and downloading the same file, rather than extracting data from the file.
I hope I have managed to explain my problem.
Many thanks,
Richard.Richard,
HTML DB allows you to upload CSV files via the Data Workshop. That data would then be parsed and inserted into a specific table. Alternatively, if you have your data in an Excel spreadsheet, and it is less than 32k, you can copy & paste the data directly into HTML DB's Data Workshop, which will then parse and import it into the Oracle database.
The one obstacle you may have to overcome is converting your data from the format you outlined to CSV format. Specifically, you would have to make this:
richard
10 anywhere street, anytown, somewhere
111 222 333 444
Look something like this:
"richard","10 anywhere street, anytown, somewhere","111 222 333 444"
Hope this helps,
- Scott - -
Upload an excel file into a table
Good Morning:
I have to upload the contents of an excel file into a table. Someone knows how to do it?
Thanks a lot.Hi,
See this sample code.
At selection-screen on value-request for p_file.
call function 'F4_FILENAME'
exporting
field_name = 'p_file'
importing
file_name = p_file.
clear itab.
call function 'WS_UPLOAD'
exporting
codepage = ' '
filename = p_file
filetype = 'DAT'
tables
data_tab = itab
exceptions
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
others = 10.
Here you need to save your Excel file as a 'DAT' file.
I hope this will help you.
CHEERS
Message was edited by: Deepak333 k -
Error while uploading an edited excel file into an internal table
Hi Experts,
I am getting error while uploading an excel file that has been edited.
I am using GUI_UPLOAD for uploading the file into internal table.
In my program I first have to download a file, if I use the same file without editing I am able to read the file.
When I try to edit it and then use it to upload it fails, but this is part of the my requirement.
PLease suggest.
Regards
KishoreTYPE-POOLS: truxs.
parameter : lv_full_path TYPE rlgrap-filename,
data : lt_conv_data TYPE truxs_t_text_data,
lt_roles_excel type table of ( your structure).
start-of-selection.
CALL FUNCTION 'SAP_CONVERT_TO_XLS_FORMAT'
EXPORTING
i_line_header = 'X'
i_filename = lv_full_path
TABLES
i_tab_sap_data = lt_roles_excel
CHANGING
i_tab_converted_data = lt_conv_data
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
In the FM Line_header = 'X' means it will negelect the first line. So u can give the heading in the excel file.
Hope this might help u .
With Regards,
Sumodh.P -
Error while uploading files into FND_LOBS table
Hi All,
Hope you are all well!!
I am new to OAF.Developing a standard upload page.
Getting the below error when i am trying to uploading the file in to FND_LOBS table.
*"Error - Attribute FileId in xxsymuploadAM.xxsymuploadVO is required"*
The page was opening successfully but when trying to submit the file into fnd_lobs table getting the error.
For this i have created AM, EO and EO based VO.
Her is my code--------------------
/*===========================================================================+
| Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
| All rights reserved. |
+===========================================================================+
| HISTORY |
+===========================================================================*/
package xxsymupload.oracle.apps.fnd.upload.webui;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.fnd.framework.OAException;
import oracle.jbo.Row;
import oracle.apps.fnd.framework.webui.beans.message.OAMessageFileUploadBean;
import oracle.apps.fnd.framework.webui.OADataBoundValueViewObject;
* Controller for ...
public class xxsymupload1CO extends OAControllerImpl
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
super.processRequest(pageContext, webBean);
OAApplicationModule am=pageContext.getApplicationModule(webBean);
OAViewObject vo = (OAViewObject)am.findViewObject("xxsymuploadVO");
if (!vo.isPreparedForExecution())
vo.executeQuery();
Row row = vo.createRow();
vo.insertRow(row);
row.setNewRowState(Row.STATUS_INITIALIZED);
row.setAttribute("FileFormat","IGNORE");
row.setAttribute("UploadDate", am.getOADBTransaction().getCurrentDBDate());
row.setAttribute("ProgramName", "xxsymUpload");
OAMessageFileUploadBean uploadBean = (OAMessageFileUploadBean)webBean.findChildRecursive("fileUpload");
OADataBoundValueViewObject displayNameBoundValue = new OADataBoundValueViewObject(uploadBean, "FileData");
uploadBean.setAttributeValue(DOWNLOAD_FILE_NAME,displayNameBoundValue);
OADataBoundValueViewObject contentBoundValue = new OADataBoundValueViewObject(uploadBean, "FileContentType");
uploadBean.setAttributeValue(FILE_CONTENT_TYPE, contentBoundValue);
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
super.processFormRequest(pageContext, webBean);
if (pageContext.getParameter("cancelButton") != null)
OAApplicationModule am = pageContext.getApplicationModule(webBean);
am.getTransaction().rollback();
pageContext.forwardImmediately("OA.jsp?OAFunc=OAHOMEPAGE",null,OAWebBeanConstants.KEEP_MENU_CONTEXT,null,null,false,OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
else if (pageContext.getParameter("submitButton") != null)
OAApplicationModule am = pageContext.getApplicationModule(webBean);
am.getTransaction().commit();
OAViewObject vo = (OAViewObject)am.findViewObject("xxsymuploadVO");
oracle.jbo.domain.Number fileId = (oracle.jbo.domain.Number)vo.getCurrentRow().getAttribute("FileId");
String fileUpload = (String)vo.getCurrentRow().getAttribute("FileName");
OAException confirmMessage = new OAException("File "+fileUpload+" uploaded succesfully with ID "+fileId+".",OAException.CONFIRMATION);
pageContext.putDialogMessage(confirmMessage);
pageContext.forwardImmediately("OA.jsp?page=/xxsymupload/oracle/apps/fnd/upload/webui/xxsymuploadPG",null,OAWebBeanConstants.KEEP_MENU_CONTEXT,null,null,true,OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
Appreciate quick response!!
Thanks,
SateeshIn EO Impl java, set the file id and other mandatory fields, something like below. You can also search OAF forum for more details.
public void create(AttributeList attributelist)
super.create(attributelist);
try
OADBTransactionImpl oadbtransactionimpl = (OADBTransactionImpl)getOADBTransaction();
String s = "select fnd_lobs_s.nextval from dual";
ViewObject viewobject = oadbtransactionimpl.createViewObjectFromQueryStmt(s);
Number number;
Row row;
for(number = null; viewobject.hasNext(); number = (Number)row.getAttribute(0))
row = viewobject.next();
if(number != null)
setFileId(number);
setFileFormat("text");
setUploadDate(oadbtransactionimpl.getCurrentDBDate());
} else
throw new OAException("AK", "AK_CANNOT_GET_FILEID");
viewobject.remove();
catch(Exception exception)
throw new OAException("AK", "AK_FND_LOBS_NOT_CREATED", exception);
Thanks
Shree -
Help Required:How Upload Excel file Into Oracle Table Using PLSQL Procedure
Please Help , Urgent Help Needed.
Requirement is to Upload Excel file Into Oracle Table Using PLSQL Procedure/Package.
Case's are :
1. Excel File is On Users/ Client PC.
2. Application is on Remote Server(Oracle Forms D2k).
3. User Is Using Application Using Terminal Server LogIn.
4. So If User Will Use to GET_FILE_NAME() function of D2K to Get Excel File , D2k Will Try to pick File from That Remote Server(Bcs User Logind from Terminal Server Option).
5. Cannot Use Util_File Package Or Oracle Directory to Place That File on Server.
6. we are Using Oracle 8.7
So Need Some PL/SQL Package or Fuction/ Procedure to Upload Excel file on User's Pc to Oracle Table.
Please Guide me wd some Code. or with Some Pl/SQL Package, or With SOme Hint. Or any Link ....
Jus help to Sort This Issue ........
you can also write me on :
[email protected], [email protected]TEXT_IO is a PL/SQL package available only in Forms (you'll want to post in the Forms forum for more information). It is not available in a stored procedure in the database (where the equivalent package is UTL_FILE).
If the Terminal Server machine and the database machine do not have access to the file system on the client machine, no application running on either machine will have access to the file. Barring exceptional setups (like the FTP server on the client machine), your applications are not going to have more access to the client machine than the operating system does.
If you map the client drives from the Terminal Server box, there is the potential for your Forms application to access those files. If you want the files to be accessible to a stored procedure in the database, you'll need to move the files somewhere the database can access them.
Justin -
Uploading CSV file into internal table
Hi,
I want to upload a CSV file into internal table.The flat file is having values as below:
'AAAAA','2003-10-11 07:52:37','167','Argentina',NULL,NULL,NULL,NULL,NULL,'MX1',NULL,NULL,'AAAA BBBB',NULL,NULL,NULL,'1',NULL,NULL,'AR ',NULL,NULL,NULL,'ARGENT','M1V','MX1',NULL,NULL,'F','F','F','F','F',NULL,'1',NULL,'MX','MMI ',NULL
'jklhg','2004-06-25 08:01:57','456','hjllajsdk','MANAGUA ',NULL,NULL,'265-5139','266-5136 al 38','MX1',NULL,NULL,'hjgkid GRÖBER','sdfsdf dfs asdfsdf 380 ad ased,','200 as ads, sfd sfd abajao y 50 m al sdf',NULL,'1',NULL,NULL,'NI ',NULL,NULL,NULL,'sdfdfg','M1V','dds',NULL,NULL,
Here I can not even split at ',' because some of the values are having value like NULL and some have values with comma too,
The delimiter is a quote and the separator is a comma here.
Can anyone help on this?
Thanks.
Edited by: Ginger on Jun 29, 2009 9:08 AMAs long as there can be a comma in a text literal you are right that the spilt command doesn't help. However there is one possibility how to attack this under one assumption:
- A comma outside a text delimiter is always considered a separator
- A comma inside a text delimiter is always considered a comma as part of the text
You have to read you file line by line and then travel along the line string character by character and setting a flag or counter for the text delimiters:
e.g.
"Text","Text1, Text2",NULL,NULL,"Text"
String Index 1: EQ " => lv_delimiter = 'X'
String Index 2: EQ T => text literal (because lv_delimiter = 'X')
String Index 3: EQ e => text literal (because lv_delimiter = 'X')
String Index 4: EQ x => text literal (because lv_delimiter = 'X')
String Index 5: EQ t => text literal (because lv_delimiter = 'X')
String Index 6: EQ " => lv_delimiter = ' ' (because it was 'X' before)
String Index 7: EQ , => This is a separator because lv_delimiter = ' '
String Index 8: EQ " => lv_delimiter = 'X' (because it was ' ' before)
String Index 9: EQ T => text literal (because lv_delimiter = 'X')
String Index 10: EQ e => text literal (because lv_delimiter = 'X')
String Index 11: EQ x => text literal (because lv_delimiter = 'X')
String Index 12: EQ t => text literal (because lv_delimiter = 'X')
String Index 13: EQ 1 => text literal (because lv_delimiter = 'X')
String Index 14: EQ , => text literal (because lv_delimiter = 'X')
String Index 15: EQ T => text literal (because lv_delimiter = 'X')
Whenever you hit a 'real' separator (lv_delimiter = ' ') you pass the value of the string before that up to the previous separator into the next structure field.
This is not an easy way to do it, but if you might have commas in your text literal and NULL values I gues it is probably the only way to go.
Hope that helps,
Michael
Maybe you are looking for
-
Windows XP installation on new machines
Hey, anybody knows if the latest Toshiba machines support Windows XP installation, or it is commonly accepted to support only Windows 7 and later OS? I tried to install Windows XP Pro SP3, 2008 release on Satellite C660 machine released in 2011, and
-
RAID 0 volume failed - Intel RST, W530 (wonder if it is hardware issue now)
Hi, My laptop is about two years old. I got one of two intel RAID 0 volumes failed several months after I got this laptop. This problem has been on my laptop for a long time. The functionality of my laptop started to become poor after this volume fai
-
So many bugs (Iphone 6. IOS 8.0.2)
I'd like to list the bugs I've faced, when used my iPhone 6: 1) Bluetooth isn't working 2) Wi Fi isn't working properly (wi fi button isn't working/cannot find any network/freezes after connecting/speed changes from fast to low) 3) Battery drain (tim
-
Infotype 9 ( Bank Details ) - Payment method
Hi, Can someone tell me how the payment method in infotype 9 is driven ? I mean is it driven by payment date or by the begin of the pay period ? Can we specify in SAP, how to consider or is it a default in SAP. Thanks, Sesha.
-
What is bulk binding....?
Hi any can pls explain what is bulk binding...? thanks in adv. KK