批量导入po接口生成po的代码:
create or replace package body XXOM_PO_IMPORT is
/* create by yong.li 20110610 */
FUNCTION XXGEM_split(pi_str Varchar2, pi_separator Varchar2)
RETURN t_Array IS
idx Number; --分隔符在字符串中的位置
currentindex Number := 1; --数组的索引
strs t_Array; --返回值
v_str varchar2(4000) := pi_str; --临时变量
BEGIN
IF pi_str IS NOT NULL AND pi_separator IS NOT NULL THEN
--存在分隔符
IF INSTR(v_str, pi_separator) <> 0 THEN
LOOP
EXIT WHEN v_str IS NULL;
EXIT WHEN INSTR(v_str, pi_separator) = 0;
idx := INSTR(v_str, pi_separator);
--截取字符串赋值给对应的数组
strs(currentindex) := SUBSTR(v_str, 0, idx - 1);
currentindex := currentindex + 1;
--更新字符串
v_str := SUBSTR(v_str, idx + 1);
END LOOP;
END IF;
END IF;
--如果分隔符为空,则直接返回字符串
IF v_str IS NOT NULL THEN
strs(currentindex) := v_str;
END IF;
Return strs;
END XXGEM_split;
procedure import_file(l_gfm_id number,
v_table varchar2,
v_fields varchar2,
v_col_separate varchar2,
v_row_separate varchar2,
p_organization_id number) is
v_row_sep varchar2(1);
v_col_sep varchar2(1);
my_field dbms_utility.uncl_array;
my_field_cnt binary_integer;
file_len NUMBER;
file_loc NUMBER; -- file location
temp_data varchar2(2000);
enter_loc NUMBER; -- enter_key location on temp buffer