I was trying to use the below to handle the Japenese characters in my data set but it dosent seem to work.
UTL_FILE.PUT_LINE(output_file1,chr(9)||CHR(15711167));
Can anyone suggest any alternatives for the same.
Below id the PL-SQL code.
v_sql_stmt := 'select (dep.PEG_ITEM_NAME||''_''||substr(dep.DMD_ORG_CODE ,5)||''_''||to_char(Dep.SUP_SUGG_DUE_DATE,''ddmmyyyy'')|| ''_'' ||ind.Peg_Item_Name|| ''_'' ||substr(ind.DMD_ORG_CODE ,5)) ID,
dep.PEG_ITEM_NAME Part,
substr(dep.DMD_ORG_CODE ,5) Site,
ind.DMD_ORDER_TYPE Demand_Type,
Dep.SUP_SUGG_DUE_DATE Due_Date,
Dep.DMD_USING_REQ_QTY Demand_Qty,
ind.Peg_Item_Name Driver_Part,
substr(ind.DMD_ORG_CODE ,5) Driver_Site,
Ind.DMD_ORDER_NUMBER Sales_Order,
Ind.DMD_CUSTOMER_NAME Customer_Name
from ncr_pegging_Details dep, ncr_pegging_Details ind
where ind.batch_num=dep.batch_num
and ind.batch_num=1846
and UPPER(dep.dmd_order_type) in(''PLANNED ORDER DEMAND'',''WORK ORDER DEMAND'',''TRANSFER ORDER DEMAND'')
and UPPER(ind.dmd_order_type) in(''SALES ORDER'',''FORECAST'')
and dep.PEG_END_PEGGING_ID=ind.peg_pegging_id
and ind.peg_pegging_id=ind.PEG_END_PEGGING_ID
AND substr(dep.DMD_ORG_CODE,5) in (select LOOKUP_CODE from apps.NCR_SHR_LOOKUP_VALUES@'
|| v_db_link
|| ' where LOOKUP_TYPE = ''NCR OCP ANP ORG LOOKUP'')
Group by (dep.PEG_ITEM_NAME||''_''||substr(dep.DMD_ORG_CODE ,5)||''_''||to_char(Dep.SUP_SUGG_DUE_DATE,''ddmmyyyy'')|| ''_'' ||ind.Peg_Item_Name|| ''_'' ||substr(ind.DMD_ORG_CODE ,5)),
dep.PEG_ITEM_NAME,substr(dep.DMD_ORG_CODE ,5),ind.DMD_ORDER_TYPE,Dep.SUP_SUGG_DUE_DATE,Dep.DMD_USING_REQ_QTY,ind.Peg_Item_Name,substr(ind.DMD_ORG_CODE ,5),
Ind.DMD_ORDER_NUMBER,Ind.DMD_CUSTOMER_NAME
UNION
select (dep.PEG_ITEM_NAME||''_''||substr(dep.DMD_ORG_CODE ,5)||''_''||to_char(Dep.SUP_SUGG_DUE_DATE,''ddmmyyyy'')|| ''_'' ||ind.Peg_Item_Name|| ''_'' ||substr(ind.DMD_ORG_CODE ,5)) ID,
dep.PEG_ITEM_NAME Part,
substr(dep.DMD_ORG_CODE ,5) Site,
ind.DMD_ORDER_TYPE Demand_Type,
Dep.SUP_SUGG_DUE_DATE Due_Date,
Dep.DMD_USING_REQ_QTY Demand_Qty,
ind.Peg_Item_Name Driver_Part,
substr(ind.DMD_ORG_CODE ,5) Driver_Site,
Ind.DMD_ORDER_NUMBER Sales_Order,
Ind.DMD_CUSTOMER_NAME Customer_Name
from ncr_pegging_Details dep, ncr_pegging_Details ind
where ind.batch_num=dep.batch_num
and ind.batch_num=1846
and UPPER(dep.dmd_order_type) in(''PLANNED ORDER DEMAND'',''WORK ORDER DEMAND'',''TRANSFER ORDER DEMAND'')
and UPPER(ind.dmd_order_type) in(''TRANSFER ORDER DEMAND'')
AND dep.PEG_END_PEGGING_ID=ind.PEG_END_PEGGING_ID
and dep.PEG_PREV_PEGGING_ID=ind.PEG_PEGGING_ID
AND substr(dep.DMD_ORG_CODE,5) in (select LOOKUP_CODE from apps.NCR_SHR_LOOKUP_VALUES@'
|| v_db_link
|| ' where LOOKUP_TYPE = ''NCR OCP ANP ORG LOOKUP'')
Group by (dep.PEG_ITEM_NAME||''_''||substr(dep.DMD_ORG_CODE ,5)||''_''||to_char(Dep.SUP_SUGG_DUE_DATE,''ddmmyyyy'')|| ''_'' ||ind.Peg_Item_Name|| ''_'' ||substr(ind.DMD_ORG_CODE ,5)),
dep.PEG_ITEM_NAME,substr(dep.DMD_ORG_CODE ,5),ind.DMD_ORDER_TYPE,Dep.SUP_SUGG_DUE_DATE,Dep.DMD_USING_REQ_QTY,ind.Peg_Item_Name,substr(ind.DMD_ORG_CODE ,5),
Ind.DMD_ORDER_NUMBER,Ind.DMD_CUSTOMER_NAME ' ;
OPEN demand_ref_cur FOR v_sql_stmt;
FETCH demand_ref_cur BULK COLLECT INTO demand_tbl;
IF demand_tbl.count > 0 THEN
v_file_name := 'AnaplanDemand.tab';
output_file1 := utl_file.fopen('DEM_TOP_EXP_OCP', v_file_name, 'W',32700);
UTL_FILE.PUT_LINE(output_file1,chr(9)||CHR(15711167));
v_data := NULL;
dbms_output.put_line('------------------------------------------------------');
dbms_output.put_line(' File creation start.');
dbms_output.put_line('Anaplan Report Name - ' || v_file_name);
v_data := 'Key ID'
|| chr(9)
|| 'Part'
|| chr(9)
|| 'Site'
|| chr(9)
|| 'Demand Type'
|| chr(9)
|| 'Demand Date'
|| chr(9)
|| 'Qty'
|| chr(9)
|| 'Driver Part Name'
|| chr(9)
|| 'Driver Part Site'
|| chr(9)
|| 'Order Number'
|| chr(9)
|| 'Order Customer Name';
utl_file.put_line(output_file1, v_data);
FOR i IN demand_tbl.first..demand_tbl.last LOOP
v_count := v_count + 1;
v_data := demand_tbl(i).id
|| chr(9)
|| demand_tbl(i).part
|| chr(9)
|| demand_tbl(i).site
|| chr(9)
|| demand_tbl(i).demand_type
|| chr(9)
|| demand_tbl(i).due_date
|| chr(9)
|| demand_tbl(i).demand_qty
|| chr(9)
|| demand_tbl(i).driver_part
|| chr(9)
|| demand_tbl(i).driver_site
|| chr(9)
|| demand_tbl(i).sales_order
|| chr(9)
|| demand_tbl(i).customer_name;
utl_file.put_line(output_file1, v_data);
v_data := NULL;
END LOOP;
dbms_output.put_line('Total Records written in file is ' || v_count);
utl_file.fclose(output_file1);
END IF;
END ncr_ocp_anp_demand_extract_proc;
Attached is the output file. Please have a look and let me know if anything else is needed.