Saturday, 21 September 2024

Data Uploading from Excel to Oracle Form

Button1
declare
      p_valuen number;
filename VARCHAR2(256);
      p_valuec varchar2(30);      
begin
  filename := GET_FILE_NAME(File_Filter=> 'XLS Files (*.xls)|*.xls|XLSX Files (*.xlsx)|*.xlsx|All Files (*.*)|*.*|');
:global.filename := filename;
:RESULT :=FILENAME;
end;

Button2

 IF :RESULT IS NULL THEN 
MESSAGE('PLEASE SELECT VALID EXCEL FILE...');
MESSAGE('PLEASE SELECT VALID EXCEL FILE...');
  clear_message();
Raise Form_Trigger_Failure; 
END IF;
declare
      p_valuen number;
      p_valuec1 varchar2(200);
      p_valuec2 varchar2(200);
      p_valuec3 NUMBER;
      p_valuec5 varchar2(200);
      p_valuec6 number;
      DTCONVERT DATE ;  
begin
      EXCEL.open_excel;
      EXCEL.open_workbook;
      EXCEL.open_excel_doc(:global.filename);
      EXCEL.activate_sheet(1);  
       
go_block('XX_UPLOAD');
break;
    EXCEL.READ_chr_CELL(4, 9, p_valuec1);--Party Name    
    EXCEL.READ_chr_CELL(3, 1, p_valuec2);--Invoice NO
    EXCEL.READ_num_CELL(8, 3, p_valuec6);--Invoice Date
   
      message('Process Starts.... Press << OK >> Button');
      message('Process Starts.... Press << OK >> Button');
      clear_message();
      
      for i in 14..10000
      Loop
            go_block('XX_UPLOAD');
             
      EXCEL.READ_NUM_CELL(i, 2, p_valuec3);
      EXCEL.READ_CHR_CELL(i, 1, p_valuec5);
     
      IF NVL(p_valuec5,'0')<>'0' THEN
   
      go_block('XX_UPLOAD');
      next_record;       
      
        select (to_date('01011900','DDMMYYYY')-2) + p_valuec6 INTO DTCONVERT from SYS.dual;
       
:CUSTOMER_NAME := MAKE_account_NAME_upload(p_valuec1);
      :QTY := p_valuec3;
      :ITEM_NAME := MAKE_ITEM_NAME_upload(p_valuec5);
      :OGP_DATE := TO_CHAR(TO_DATE(DTCONVERT),'DD-MON-YYYY');
     
      
       ELSE
      exit;
       END IF;
      end loop;
      
      EXCEL.close_excel_doc;
      EXCEL.close_workbook;
      EXCEL.close_excel;
go_block('XX_UPLOAD');
first_Record;
-- COMMIT_FORM;
  go_item('check')    ;
end;

message('Process Completed');
message('Process Completed');
clear_message();


Check Internet Connectivity on Local System

if (!navigator.onLine) {     showOfflineAlert(); } else {     // Set a strict 3-second network timeout threshold     const controller = new ...