PO Inbound(UTL_FILE):
create or replace procedure cb9_po_pur_ord_in
(errbuf out varchar2,
retcode out varchar2
)
is
v_file utl_file.file_type;
v_data varchar2(1000);
v_first number;
v_second number;
v_third number;
v_fourth number;
v_vendor_number varchar2(100);
v_vendor_name varchar2(100);
v_PO_number varchar2(100);
v_PO_type varchar2(100);
v_amount number;
v_count number:=0;
begin
v_file := utl_file.fopen('XX_CUS1','CB9_PO_PUR_DET.sql','r');
loop
begin
v_count := v_count+1;
utl_file.get_line(v_file,v_data);
if v_count > 1
then
-- fnd_file.put_line(fnd_file.output,v_data);
v_first := instr(v_data,'~',1);
v_second := instr(v_data,'~',1,2);
v_third := instr(v_data,'~',1,3);
v_fourth := instr(v_data,'~',1,4);
v_vendor_number := substr(v_data,1,v_first-1);
v_vendor_name := substr(v_data,v_first+1,v_second-v_first-1);
v_PO_number := substr(v_data,v_second+1,v_third-v_second-1);
v_PO_type := substr(v_data,v_third+1,v_fourth-v_third-1);
v_amount := substr(v_data,v_fourth+1);
insert into cb9_po_data
values(v_vendor_number,v_vendor_name,v_PO_number,v_PO_type,v_amount);
end if;
exception
when no_data_found then
exit;
end;
end loop;
v_file := utl_file.fopen('XX_CUS1','CB9_PO_PUR_DET2.sql','r');
v_count := 0;
loop
begin
v_count := v_count+1;
utl_file.get_line(v_file,v_data);
if v_count > 1
then
-- fnd_file.put_line(fnd_file.output,v_data);
v_first := instr(v_data,'~',1);
v_second := instr(v_data,'~',1,2);
v_third := instr(v_data,'~',1,3);
v_fourth := instr(v_data,'~',1,4);
v_vendor_number := substr(v_data,1,v_first-1);
v_vendor_name := substr(v_data,v_first+1,v_second-v_first-1);
v_PO_number := substr(v_data,v_second+1,v_third-v_second-1);
v_PO_type := substr(v_data,v_third+1,v_fourth-v_third-1);
v_amount := substr(v_data,v_fourth+1);
insert into cb9_po_data
values(v_vendor_number,v_vendor_name,v_PO_number,v_PO_type,v_amount);
end if;
exception
when no_data_found then
exit;
end;
end loop;
utl_file.fclose_all;
end;
create or replace procedure cb9_po_pur_ord_in
(errbuf out varchar2,
retcode out varchar2
)
is
v_file utl_file.file_type;
v_data varchar2(1000);
v_first number;
v_second number;
v_third number;
v_fourth number;
v_vendor_number varchar2(100);
v_vendor_name varchar2(100);
v_PO_number varchar2(100);
v_PO_type varchar2(100);
v_amount number;
v_count number:=0;
begin
v_file := utl_file.fopen('XX_CUS1','CB9_PO_PUR_DET.sql','r');
loop
begin
v_count := v_count+1;
utl_file.get_line(v_file,v_data);
if v_count > 1
then
-- fnd_file.put_line(fnd_file.output,v_data);
v_first := instr(v_data,'~',1);
v_second := instr(v_data,'~',1,2);
v_third := instr(v_data,'~',1,3);
v_fourth := instr(v_data,'~',1,4);
v_vendor_number := substr(v_data,1,v_first-1);
v_vendor_name := substr(v_data,v_first+1,v_second-v_first-1);
v_PO_number := substr(v_data,v_second+1,v_third-v_second-1);
v_PO_type := substr(v_data,v_third+1,v_fourth-v_third-1);
v_amount := substr(v_data,v_fourth+1);
insert into cb9_po_data
values(v_vendor_number,v_vendor_name,v_PO_number,v_PO_type,v_amount);
end if;
exception
when no_data_found then
exit;
end;
end loop;
v_file := utl_file.fopen('XX_CUS1','CB9_PO_PUR_DET2.sql','r');
v_count := 0;
loop
begin
v_count := v_count+1;
utl_file.get_line(v_file,v_data);
if v_count > 1
then
-- fnd_file.put_line(fnd_file.output,v_data);
v_first := instr(v_data,'~',1);
v_second := instr(v_data,'~',1,2);
v_third := instr(v_data,'~',1,3);
v_fourth := instr(v_data,'~',1,4);
v_vendor_number := substr(v_data,1,v_first-1);
v_vendor_name := substr(v_data,v_first+1,v_second-v_first-1);
v_PO_number := substr(v_data,v_second+1,v_third-v_second-1);
v_PO_type := substr(v_data,v_third+1,v_fourth-v_third-1);
v_amount := substr(v_data,v_fourth+1);
insert into cb9_po_data
values(v_vendor_number,v_vendor_name,v_PO_number,v_PO_type,v_amount);
end if;
exception
when no_data_found then
exit;
end;
end loop;
utl_file.fclose_all;
end;
No comments:
Post a Comment