Converting the comma seperator value format
i am getting the content of a table in a internal table with comma separator value format, dynamically by using dfies table i am getting the header of the table, and displaying it in the output, now my query is that the content of the data which i am getting in a itab having only one field of type string
data : begin of itab occurs 0,
data1 type string,
end of itab.
some where they were concatenating the content of the data and storing it inthe itab, now i want the content of the itab should be displayed corresponding to there header in the output
Hi Santosh,
You can remove the commas from the record by using the REPLACE command as below -
LOOP AT itab.
DO.
REPLACE ',' WITH '' INTO itab-data1.
IF sy-subrc NE 0.
EXIT.
ENDIF.
ENDDO.
ENDLOOP.
Reward points if found useful...!
Cheers
Abhishek
Similar Messages
-
How to query the comma seperated values stored in Database
Hi,
I have a strange scenario, I am storing the specific data as a comma seperated value in the database. I want to query the DB with the comma seperated value as a Bind variable against the comma seperated value stored in DB.
For eg : The data stored in DB has
Row1 - > 1,2,3,4,5,6,7,8
Row2 - > 4,5,6,7,8,9,10
When I pas the Bind variable as '4,8' I should get Row1 and Row2 .
Quick help his highly appreciated.. Thanks in AdvanceOh, and if you actually wanted the data returned rather than just the row primary keys....
SQL> ed
Wrote file afiedt.buf
1 with t as (select 1 as rw, '1,2,3,4,5,6,7,8' as txt from dual union all
2 select 2, '4,5,6,7,8,9,10' from dual union all
3 select 3, '1,6,7,9' from dual)
4 -- end of test data
5 ,r as (select '4,8' as req from dual)
6 -- end of required data
7 ,split_t as (select rw, regexp_substr(txt, '[^,]+', 1, rn) as val
8 from t, (select rownum rn from dual connect by rownum <= (select max(length(regexp_replace(t.txt, '[^,]'))+1) from t))
9 where regexp_substr(txt, '[^,]+', 1, rn) is not null
10 )
11 ,split_r as (select regexp_substr(req, '[^,]+', 1, rownum) as val
12 from r
13 connect by rownum <= length(regexp_replace(req, '[^,]'))+1
14 )
15 --
16 select distinct t.rw, t.txt
17 from split_t st join split_r sr on (st.val = sr.val)
18 join t on (t.rw = st.rw)
19* order by 1
SQL> /
RW TXT
1 1,2,3,4,5,6,7,8
2 4,5,6,7,8,9,10
SQL> -
How to convert string containing comma seperated values to an array
my requirement is i have to first convert an comma seperated string to an array
after that i have to pass the array values to a for loop
eg:i have a string str=(456,457,487,465,478)
These values i have to put in an array.
i then i have to pass the array values to a for loopWe understand your ¿homeworks? We are helping you, but it seems like you want us to do it.
Try it yourself with some of the instructions.
Anyway if there aren´t homeworks, use dinamyc sql:
declare
varray := '(45,65,12,4)';
begin
execute immediate 'update table set ss=''uu'' where id in ' || varray;
end; -
How to store Comma Seperated Value in a File with Jsp
Hai friends,
I need to get all the filed values like Empname,salary ,location..........
and at the end of jsp page i have to put a browse button when i choose a file using theis browse button the total content in the form shoud store in that file as comma seperated values.1. Create JSP
2. When you click the button call the event that saves the data in CSV format
Your question is so broad, I don't have exact answer for you.
What have you done so far?
The man with blues. -
Inserting comma seperated values
I created a stored procedure that creates an order_id. Using this id, the products and their pricetag are inserted. Hereafter the garnishes are inserted for each product.
Creating an order id and inserting the products and their pricetag are working. The problem is at the inserting of garnishes.
The data is received by parameters, and I have also created a user defined type: where garnishId holds the comma seperated ids.
CREATE TYPE [dbo].[ppg] AS TABLE(
[ProductId] [int] NULL,
[PriceId] [int] NULL,
[garnishId] [VARCHAR](MAX) NULL
this is the stored procedure:
ALTER PROCEDURE [dbo].[sp_create_order]
(@userId uniqueidentifier, @productPriceGarnishes dbo.ppg READONLY, @comment varchar(250))
AS
BEGIN
DECLARE @orderId int
DECLARE @orderDetailId int
INSERT INTO orders (user_id, confirmed,comment) values(@userId,0,@comment);
--Select last inserted PK
SELECT @orderId=SCOPE_IDENTITY()
-- insert products and price tag using @orderId
INSERT INTO order_detail (order_id, product_id,price_id)
SELECT @orderId, p.ProductId,
p.PriceId
FROM @productPriceGarnishes p
SELECT @orderDetailId=SCOPE_IDENTITY()
-- insert garnishes using the orderDetailId
INSERT INTO order_detail_garnish (order_detail_id,garnish_id)
SELECT @orderDetailId, (SELECT * FROM SplitDelimiterString(p.garnishId))
FROM @productPriceGarnishes p
END
RETURN @orderId
I found a function that splits the string by a delimiter in this website:
http://www.codeproject.com/Tips/586395/Split-comma-separated-IDs-to-ge
Where you can retrieve the ids by this query:
(SELECT * FROM SplitDelimiterString(p.garnishId)
The problem is that I don't know how to add these ids with their corresponding orderDetailId, after each product is added.Unfortunately it appears you assume too much. Presumably the reason you chose to define @productPriceGarnishes as a table is to support the creation of multiple rows. And you use these rows to insert into the order_detail table which has an identity
column as the primary key (again, presumably). So the question then becomes how do you get the identity values for ALL of the inserted rows? You can't do that with SCOPE_IDENTITY - your code currently is designed with the assumption that there
is only one row to be inserted. To work around that limitation you need to use the output clause (examples can be found by searching).
Next comes another problem. How do you know which identity value is assigned to which row of your table variable during the insert? You need some sort of natural key to associate the inserted rows with the rows in the table variable. Do
you have one? Before you think you do, you need to think about what restrictions are placed on the content of the table variable (if any). Is it possible to have multiple rows with the same values for ProductId and PriceId? Do not assume
- you need to be certain that this is or is not a possibility.
Assuming that the rows are unique (which simplifies things greatly), you associate the inserted order_detail rows to the table variable via something like:
select ... from @ins_detail as ins inner join @productPriceGarnishes as ppg
on ins.ProductId = ppg.ProductId and ins.PriceId = ppg.PriceId
Note that @ins_detail is a table variable that you would declare and populate via the output clause. It will contain the identity values for each row that you inserted. With that, you can then generate the rows that you need to insert into the garnish
table by applying the results of your splitter function. Which is a step that I'll skip for now since you have much reading and work to do.
Now some last comments. I am suspicious of a column named PriceId. That is not a good sign - price is an attribute of something and not the basis of a relationship between tables. The use of identity columns (especially as primary keys)
can be a problem - and this is one good example. Based on what I've just written and its assumptions, the natural key for order_detail is (order_id, product_id, price_id) - why do you need an identity column? Again, searching will find past
discussions about identity columns and their usage. -
Have a column which is having comma seperated values.. and i am trying to s
Have a column which is having comma seperated values.. and i am trying to seperate it.
I am trying to create a stored procedure ..Version 11g xe. .and apex version 4..
Here is the part of code..I cant make a procedure. .cause my statement consist with clause..
create or replace procedure ins_adv_invoice
(mmagazine_no number,madvtno number,missueno number,msection varchar2,mpagenumber varchar2,msalesman_code varchar2)
is
cursor cx is with testa as
(select pagenumber name from advertiser)
select regexp_substr(pagenumber, '[^,]+', 1, rownum) result
from advertiser
connect by level <= length(regexp_replace(pagenumber, '[^,]+')) + 1
where advt_no = madvtno;
begin
for xxx in cx
loop
insert into adv_invoice (magazine_no,advtno,adissue,section,page_number,salesman_code)
values (mmagazine_no,madvtno,missueno,msection,xxx.result,msalesman_code);
end loop;
end;
But when i run this .. it doesnt create procedure. .I get he following error..
LINE/COL ERROR
5/14 PL/SQL: SQL Statement ignored
9/69 PL/SQL: ORA-00933: SQL command not properly ended
SQL>
Still not able to figure it out..Can any one help..
ThanksChange the query to swap the last two lines:
cursor cx is with testa as
(select pagenumber name from advertiser)
select regexp_substr(pagenumber, '[^,]+', 1, rownum) result
from advertiser
where advt_no = madvtno
connect by level <= length(regexp_replace(pagenumber, '[^,]+')) + 1;
... -
Can you pls help me on this
table: emp_master
Ename Bonus(%)
abc 15,5,20,10,40,10
xyz 10,10,20,60
table emp_sal
Ename Var
abc 1000
xyz 2000
output result :
Ename Var
abc 150(15 % X 1000)(15 is the first value from the comma seperated list in emp_master table)
abc 50 ( 5 % X 1000) (5 is the second value from the comma seperated list in emp_master table)
abc 200 (20 % X 1000)
abc 100
abc 400
abc 100
xyz 200
xyz 200
xyz 400
xyz 1200Thanks in advance
Edited by: user12093849 on Feb 3, 2010 12:34 AMAssuming you're on at least database version 10G:
SQL> -- generating sample data:
SQL> with emp_master as ( select 'abc' ename, '15,5,20,10,40,10' bonus from dual union all
2 select 'xyz', '10,10,20,60' from dual
3 )
4 , emp_sal as ( select 'abc' ename, 1000 var from dual union all
5 select 'xyz', 2000 from dual
6 )
7 --
8 -- actual query:
9 --
10 select m.ename
11 , m.bonus
12 , s.var*m.bonus
13 from ( select a.ename
14 , level lvl
15 , regexp_substr (bonus, '[^,]+', 1, level)/100 bonus
16 from emp_master a
17 connect by level <= length(regexp_replace(bonus,'[^,]*'))+1
18 group by ename, bonus, level
19 ) m
20 , emp_sal s
21 where s.ename=m.ename
22 order by m.ename, m.lvl
23 /
ENA BONUS S.VAR*M.BONUS
abc ,15 150
abc ,05 50
abc ,2 200
abc ,1 100
abc ,4 400
abc ,1 100
xyz ,1 200
xyz ,1 200
xyz ,2 400
xyz ,6 1200
10 rows selected. -
Convert the spool to xls format and email through attachment to the user
Hi all,
When I execute a report in background, I get spool. I need to convert the spool to xls format and email through attachment to the user.The xls file should not be saved on local system.
If I use the Spool Recepient tab in SM37 it mails the spool list as .txt file to the mail receipient. But I need to send it as an .xls file.
Can any one help me on thisDid you get the solution? i have the same problem.
-
Converting the layout from OTF format into PDF
Hi Experts,
I am new to SMART FORMS,I don't have a clue about how to convert the layout from OTF format into PDF format and how to store it in Presentation server.
Please send me a Model program or step by step approach of the same.
Useful inputs will be rewarded higher points.
Thanks in Advance,
DharaniHi,
The steps are given below:-
1) First get the name of your generated function module for the smartforms.
2) Then call the generated function module.
3) Then use the FM:CONVERT_OTF' to convert into PDF as shown below:-
call function 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = w_pdf_len
bin_file = w_pdf_xstring
TABLES
OTF = OUTPUT_DATA-OTFDATA
LINES = LT_LINES
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
others = 5.
Hope this is clear.
Pravat.
<i>*Reward points if helpful.</i> -
Pass group values as a Comma seperated values with the grouping scope.
Dear all,
I am creating a report which is matrix and drill through
here a look..
where i have a JIT Division group and its total 86 when i click on 86 i must pass the child group values
Stage_group ie. MMS,RMMS,RRMMS which are 7,8,9 respectively.
How to pass a values of Stage_group i.e
mms=7,RMMS=8,RRMMS=9 as 7,8,9 to get total of all
Dilip Patil..Ideally this is done as below
You will have two parameters defined in the drillthrough report one Division Group and other Child Group both of which would be optional. So cases where you navigate from subtotal rows you will be passing only the Division Group parameter value which will
bring all the child group details (ie 86 records for JIT). When you click on the detail rows you pass only the relevant child group) ie like 7 for MMS,8 for RRMMS etc) as value for child group parameter in which case it will do filtering based on child group
and return you only relevant child group records. So best option would be to make drilldown report as this if possible ie having two level parameters which are optional - Division Group & Child Group
If that not possible then another way is to make a single parameter called child group which would be
multi valued. While navigating from detail rows pass relevant child group ID alone and while navigating from Total rows pass all related child ids as delimited list ie like 7,8,9
for this you can use an expression as below
=Join(LookupSet(Fields!DivisionGroupField.Value,Fields!DivisionGroupField.Value,Fields!ChildGroupField.Value,"DatasetName"),",")
I've given some generic field names as I dont have any info on your dataset so make sure you replace it with the correct names.
Also make sure the query behind/filter expression in the drilldown report is implemented to accept multiple values
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page -
Mapping a column with comma seperated values
Hi,
I have two tables
1. Tasks (task_id, task_description)
2. Task_assignment (username, task_assignment_value)
the task_assignment_value has a comma seperated list of task_ids.
What is the best ways to map the tables ?
Thanks in advance.
Moinuddin MohammedI have a couple of attributes where I do this. From TopLink's perspective, I just map it as a String. Then, in my accessors for the attribute, I transform the primitive between the String and an Array or however the rest of the app wants to see the attribute.
Here's an example that's actually more complicated than absolutely necessary. The mapped attributed is indicatorValueListString. It is lazily converted to an Array of Enums when it is first accessed. And it is converted back to a String in the preWriteEventCallback that is mapped in the TopLink descriptor.
This implementation attempts to minimize the number of times the String<->Array conversion takes place, but if that's not a concern, it could be made much more simple. Also, at my company we privately manage collections with the Collection classes for dynamic allocation, but publicly exchange Arrays for type-safety. This could also be factored out. ValuedEnumUtils basically manages asking the enum for its delimiter and performing the actual conversion between a String and an Array or back.
private String indicatorValueListString;
private List indicatorValueSelections;
private List indicatorValueSelections() {
if (indicatorValueSelections == null) {
indicatorValueSelections = new ArrayList();
if (indicatorValueListString != null) {
indicatorValueSelections =
java.util.Arrays.asList(ValuedEnumUtils.decodeEnumString(
IndicatorValueEnum.class,indicatorValueListString));
return indicatorValueSelections;
private void indicatorValueSelections(List newIndicatorValueSelections) {
indicatorValueSelections = newIndicatorValueSelections;
public IndicatorValueEnum[] getIndicatorValueSelections() {
return (IndicatorValueEnum[])indicatorValueSelections().toArray(new IndicatorValueEnum[0]);
public void setIndicatorValueSelections(IndicatorValueEnum[] newIvSelections) {
indicatorValueSelections(java.util.Arrays.asList(newIvSelections));
public boolean addIndicatorValueSelection(IndicatorValueEnum anIvEnum) {
return indicatorValueSelections().add(anIvEnum);
public boolean removeIndicatorValueSelection(IndicatorValueEnum anIvEnum) {
return indicatorValueSelections().remove(anIvEnum);
public void preWriteEventCallback(DescriptorEvent aDescriptorEvent) {
// Note: Not using accessor to avoid lazy initialization if no changes
// are necessary.
if (indicatorValueSelections != null) {
indicatorValueListString =
ValuedEnumUtils.encodeEnumString((ValuedEnum[])indicatorValueSelections.toArray());
} -
Converting the rulesets from .txt format to Excel?
Dear all,
Is there a conversion utility available to convert GRC rulesets which have been exported from the tool in .txt format to excel? I am looking for something which can break up the rulesets into various tabs with in the main worksheet. Currently when I do a "open with excel" function, all the data gets dumped onto a single excel sheet.
Thanks,
Edited by: Kenguru on Aug 14, 2010 11:41 PMHi,
Open the .txt file with word pad. copy and paste the data in excel sheet. you can get the data of each column in different tab.
Hope this is useful
all the best -
How do I change the mouse-over value format on the secondary axis?
Can anyone tell me how I can change the number format for the mouse-over values on the secondary axis of a combination chart? Right now they take on the format of the primary axis values. In my case, I need the primary to reflect a general number with three decimals, and the secondary to reflect currency.
Many thanks,
DevinAgreed. The option I've used before is to name the axes "Revenue ($)" and "Gross Margin (%)" (or whatever) and that makes the numbers a little more readable.
-
Comma seperated values..
I have a string values like this an input to the stored procedure, LED32,134AB, 65FR,3422, ANZ82.
i need to convert this as ('LED32','134AB', '65FR','3422', 'ANZ82') to make use in the IN clause.
Can someone help me to convert the string?And to hit the indexes;
CREATE OR REPLACE FUNCTION fn(pv_list VARCHAR2) RETURN SYS_REFCURSOR IS
rc SYS_REFCURSOR;
BEGIN
OPEN rc FOR
WITH subq AS (
SELECT regexp_substr(pv_list,
'[[:alnum:]]+',
regexp_instr(pv_list, '(^|,)', 1, rownum)) val
FROM dual
CONNECT BY rownum <= length(regexp_replace(pv_list, '[^,]')) + 1)
SELECT c
FROM t, subq
WHERE t.c = subq.val;
RETURN rc;
END;
/ -
Column should display comma seperated value.
Hi All,
Iam working on Reports6i.
In my data model i have a query which gives some product names(only one column), i need to display those product names with a comma seperator.
Just like Product1,Product2,....
Can anybody guide me as this is very urgent.
Thanks in Advance
Chinni.something like this ?
WITH DATA AS (SELECT 'X' product,1 order_id FROM DUAL
UNION ALL
SELECT 'Y' product,1 order_id FROM DUAL
UNION ALL
SELECT 'Z' product,1 order_id FROM DUAL
UNION ALL
SELECT 'XX' product,2 order_id FROM DUAL
UNION ALL
SELECT 'YY' product,2 order_id FROM DUAL
UNION ALL
SELECT 'ZZ' product,2 order_id FROM DUAL
SELECT LTRIM(sys_connect_by_path(product,','), ',') PRODUCTS
FROM (SELECT product,
order_id,
row_number() OVER (partition by order_id order by product) RN,
count(product) OVER (partition by order_id) MAXROW
FROM data)
WHERE RN=MAXROW CONNECT BY PRIOR RN+1=RN
AND PRIOR ORDER_ID=ORDER_ID START WITH RN=1
Maybe you are looking for
-
Inserting chart in a run report
In my run_report screen, when I go to chart, I find it is disabled or dim. How should I be able to inssert chart of my choice based on the instant data on the run_report. Any one, please help me.
-
Hi While making the customer payment f-28 customer will deduct some amount for TDS For Ex: invoice amount is 100000 While making the customer payment customer will pay 98,500 and customer will deduct 1500 rs for TDS How can we enter this? And sometim
-
Reversal of foreign currencey valuation run with bal sheet prep val option
We have created foreign currency valuation run for the month ended 30th April 2008 on 30th April 2008 with reversal postings. Subsequently another run was created on the same date for the same month erroneously with u201Cbalance sheet preparation val
-
ORA-12545:connect failed because target host or object not exist
Dear DBA's I am getting this error message when i want to connect oracle by using internet explorer browser. ORA-12545:connect failed because target host or object not exist I already started services: oracleservicesSID,OracleOraDb10g_home1TSNListene
-
Issue with EVCOM / BPC 7.0 MS
Hello, In the input cell (Next to EVCOM formula), I input a comment and I send data. But when I refresh, I haven't my comments in my cell. It stay empty. My comment appears and disappears... I checked this comment in the comment table in database and