Introduction
This Post illustrates steps required to using the below code In load file “button” using “when-button-pressed” trigger.
DECLARE
l_userhome VARCHAR2 (200)
:= webutil_clientinfo.get_system_property (‘user.home’)
|| ‘\Desktop’;
l_filename VARCHAR2 (200) := NULL;
l_bare_filename VARCHAR2 (200) := NULL;
l_fileprefix VARCHAR2 (200) := NULL;
l_serverfilename VARCHAR2 (200) := NULL;
l_upload_path VARCHAR2 (200) := NULL;
l_version_path VARCHAR2 (200) := NULL;
l_option_grade_path VARCHAR2 (200) := NULL;
l_size_curve_path VARCHAR2 (200) := NULL;
l_filesize NUMBER;
al_con alert;
l_status BOOLEAN;
os_name VARCHAR2 (100)
:= UPPER (webutil_clientinfo.get_operating_system);
l_mainbrand VARCHAR2 (100);
l_country VARCHAR2 (100);
l_jobid NUMBER;
CURSOR c_upload_dir
IS
SELECT t.VALUE AS directory_path
FROM sys_directories t
WHERE t.NAME = ‘OE_TRACKING_FILE’;
BEGIN
OPEN c_upload_dir;
FETCH c_upload_dir
INTO l_upload_path;
CLOSE c_upload_dir;
l_filename: =
webutil_file.file_open_dialog
(directory_name => l_userhome,
file_name => NULL,
file_filter => ‘CSV files (*.csv) |*.csv’,
title => ‘Dir Upload’
);
IF l_filename IS NOT NULL
THEN
— to get the file size —
l_filesize := webutil_file.file_size (file_name => l_filename);
— to get the filename without the path —
IF os_name LIKE ‘WINDOWS%.’
THEN
l_bare_filename :=
SUBSTR (l_filename, INSTR (l_filename, ‘\’, -1)
+ 1);
ELSE
l_bare_filename :=
SUBSTR (l_filename, INSTR (l_filename, ‘/’, -1)
+ 1);
END IF;
IF webutil_file.file_exists (file_name => l_filename)
THEN
IF webutil_file.file_is_readable (file_name => l_filename)
THEN
IF l_filesize > 0
THEN
l_serverfilename: =
l_bare_filename
|| ‘_’
|| TO_CHAR (SYSDATE, ‘DDMMYYYYHH24MISS’);
IF l_upload_path IS NOT NULL
THEN
l_status: =
webutil_file_transfer.client_to_as_with_progress
(clientfile => l_filename,
serverfile => l_upload_path
|| ‘/’
|| REPLACE
(l_serverfilename,
‘.csv’,
”
)
|| ‘.csv’,
progresstitle => ‘File Upload in progress’,
progresssubtitle => ‘Please wait’,
asynchronous => FALSE,
callbacktrigger => ”
);
SYNCHRONIZE;
IF l_status = TRUE
THEN
MESSAGE (‘done transfer’);
MESSAGE (‘done transfer’);
l_status := FALSE;
ELSE
MESSAGE (‘Not transfer’);
MESSAGE (‘Not transfer’);
END IF;
END IF;
END IF;
ELSE
MESSAGE (‘File ‘ || l_bare_filename || ‘ is blank’);
END IF;
ELSE
MESSAGE ( ‘Unable to read the file’
|| CHR (10)
|| ‘File Name=’
|| l_bare_filename
|| ‘, ‘
|| CHR (10)
|| ‘File Size=’
|| l_filesize
|| ‘ Byte’
);
END IF;
ELSE
MESSAGE (‘File ‘ || l_bare_filename || ‘ is not found’);
END IF;
EXCEPTION
WHEN OTHERS
THEN
MESSAGE (SQLERRM);
END;
Summary
This Post described the script using the below code In load file “button” using “when-button-pressed” trigger. In Oracle EBS R12.
Got any queries?
Do drop a note by writing us at doyen.ebiz@gmail.com or use the comment section below to ask your questions.