Replace comma (delimiter) by tab.
HI..
IN MY PROGRAM I HAVE COCATENATED ALL THE WERKS(PLANTS) FOR A GIVEN MATNR INTO A SINGLE STRING VARIABLE. I WANT TO REPLACE ALL MY COMMAS BY TAB, SO THAT WHEN I DOWNLOAD IT USING GUI DOWNLOAD I WOULD GET DIFFERENT COLOUMNS IN THE EXCEL SHEET.
IS THERE ANY FUNCTION MODULE FOR IT????
IS IT POSSIBLE TO DECIDE THE NUMBER OF COLOUMNS AND THIER TYPE DYNAMICALLY FOR AN INTERNAL TABLE???
REGARDS.
SIDDHESH.
Hi,
You have an option in the program itself, there is no need to call a Function module, Presds the Find button(Binacular) and there you have an option to replace, so give the replace option there.
For internal table, you need to create a Dynamic internal table, to know this, please search the forum, you will find lot of answers
Regards
Sudheer
Similar Messages
-
My Firefox v6.02 browser always open *.csv (comma delimited) file in another tab rather than downloading a file? I do not have right click option to save this file. My OP is windows XP sp2.
Hi mha007,
Go to this site "http://www.nseindia.com/content/indices/ind_histvalues.htm"
Select any Index type and from dates select just one day or any number of days. Click "Get Details" button. This will open tabular data on loaded page (with link CSV file link at bottom).
When I click this link, it opens CSV file in new tab (in Firefox browser) and does not open download window (just as in case of other file formats like *.zip, *.rar or *.xls).
Right-click of link does not give "save as" or "save file" option.
Firefox is my preferred and default browser.
========
surprisingly, When I do same thing in IE6 browser, data-table page shows 2 options below table, i.e. (1) download file (2) open file. -
I've created an SSIS package to import a comma delimited file (csv) with double quotes for a text qualifier ("). Some of the fields contain the delimiter inside the qualified text. An example row is:
15,"Doe, John",IS2,Alabama
In SSIS I've specified the text qualifier as ". The sample output in the connection manager looks great. The package runs perfectly from VS and when manually executed on the SSIS server itself. The problem comes when I schedule the package to run via SQL
job. At this point the package ignores the text qualifier, and in doing so pushes half of a field into the next available column. But instead of having too many columns, it concatenates the last 2 columns ignoring the delimiter. For example (pipes are fields):
15|"Doe| John"|IS2,Alabama
So the failure happens when the last half of a field is too large to fit into the next available field. In the case above _John" is 6 characters where the IS2 field is char(3). This would cause a truncation failure, which is the error I receive from the
job history.
To further test this I created a failure flow in my data flow to capture the records failing to be pulled from the source csv. Out of ~5000 records, ~1200 are failing, and every one of the failures has a comma delimiter inside the quoted text with a 'split'
length greater than the next ordinal field. The ones without the comma were inserted as normal and records where the split fit into the next ordinal column where also imported, with the last field being concatenated w/delimiter. Example records when selected
from table:
25|"Allan Percone Trucking"|GI6|California --Imported as intended
36|"Renolds| J."|UI6,Colorado --Field position offset by 1 to right - Last field overloaded
To further ensure this is the problem, I changed the csv file and flat file connection manager to pipe delimited, and sure enough every record makes it in perfectly from the SQL job execution.
I've tried comma delimited on the following set ups. Each set up failed.
SSIS Server 2008 R2 RTM
DB Server 2008 RTM
DB Compat 80
SSIS Server 2008 R2 RTM
DB Server 2008 R2 RTM
DB Compat 80
SSIS Server 2008 R2 RTM
DB Server 2008 RTM
DB Compat 100
SSIS Server 2008 R2 RTM
DB Server 2008 R2 RTM
DB Compat 100
Since a lot of our data comes in via comma delimited flat files, I really need a fix for this. If not I'll have to rebuild all my files when I import them to use pipe delimiters instaed of commas. I'd like to avoid the extra processing overhead if possible.
Also, is this a known bug? If so can someone point me to the posting of said bug?
Edit: I can't ask the vendor to change the format to pipe delimited because it comes from a federal government site.Just wanted to share my experience of this for anyone else since I wasted a morning on it today.
I encountered the same problem where I could run the package fine on my machine but when I deployed to a server and ran the package via dtexec, the " delimeter was being replaced with _x0022_ and columns all slurped up together and overflowing columns/truncating
data etc.
Since I didn't want to manually hack the DTS XML and can't install updates, the solution I used was to set an expression on the textdelimiter field of the flat file connection with the value "\"" (a double quote). That way, even if the one stored in XML
gets bodged somewhere along the way, it is overridden with the correct value at run time. The package works fine everywhere now. -
Using a comma-delimited string in Dynamic SQL
Hi --
If I receive a comma-delimited string as an in parameter, can I simply use that (in string format) when building my dynamic sql?
Thanks,
ChristineThe problem is, that you can not use bind variables
here, only literals. This causes
eventual performance problems.And to avoid the inevitable database performance problems Dmytro mentions you can use a function to convert the string to a varray and select from that. This also avoids having to use dynamic sql.
First you create a varray and conversion function.
SQL> create or replace type tabstr_t as table of varchar2(255)
2 /
Type created.
SQL> create or replace function tabstr (
2 p_str in varchar2,
3 p_sep in varchar2 default ','
4 )
5 return tabstr_t
6 as
7 l_str long default p_str || p_sep;
8 l_tabstr tabstr_t := tabstr_t();
9 begin
10 while l_str is not null loop
11 l_tabstr.extend(1);
12 l_tabstr(l_tabstr.count) := rtrim(substr(
13 l_str,1,instr(l_str,p_sep)),p_sep);
14 l_str := substr(l_str,instr(l_str,p_sep)+1);
15 end loop;
16 return l_tabstr;
17 end;
18 /
Function created.Then you can use these in either regular sql.
SQL> var s varchar2(100)
SQL> exec :s := 'Smith,Scott,Miller'
PL/SQL procedure successfully completed.
SQL>
SQL> select * from emp where ename in
2 (select upper(column_value) from table(tabstr(:s)));
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7369 SMITH CLERK 7902 17-DEC-80 800 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10Or in pl/sql.
SQL> var c refcursor
SQL> begin
2 open :c for
3 select * from emp where ename in
4 (select upper(column_value) from table(tabstr(:s)));
5 end;
6 /
PL/SQL procedure successfully completed.
SQL> print c
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7369 SMITH CLERK 7902 17-DEC-80 800 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10 -
Gui_download Comma delimited
Is there a way to create a comma delimited file using the GUI_Download. Its keeps coming out tab delimited.
ThanksSure, just declare a flat structure in your program.
data: itab type table of string.
data: xtab type string.
Then fill this internal table with data from another internal concatenating the fields .
loop at ianother.
concatenate ianother-fld1
ianother-fld2
ianother-fld3
ianother-fld4
into xtab separated by ','
append xtab to itab.
endloop.
Now just pass ITAB to the GUI_DOWNLOAD function module.
Welcome to SDN.
Regards,
Rich Heilman -
Uploading comma delimited text file
Dear Experts,
I want to upload comma delimited text file in sap and get that values into internal table
Can any 1 provide a sample code ??
thanx in advance.Hi Suchitra ,
There is FM GUI_UPLOAD which will help you in this.
Its has got one parameter calles has_field_separator . Here you can pass comma. So that this will take care while uploading the data in Internal table.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = wf_file
filetype = 'ASC'
has_field_separator = ','
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
data_tab = it_data
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
Hope this will help you.
Regards,
Nikhil -
Adding spaces in comma-delimited lists
I'm pulling from a database comma-delimited db that appears
like so:
Carpet,Hardwood,Tile
How can I add spaces after the comma (if there's commas at
all)?#Replace(yourstringorvar, ",", ", ", "ALL")#
Azadi Saryev
Sabai-dee.com
http://www.sabai-dee.com -
Too many commas in my comma delimited list
I'm trying to merge several pdf files into one by using the cfpdf tag (action="merge"). In the source attribute, you can enter a comma delimited list of file paths to merge the pdf files together. I'm thinking that Adobe could have picked a better delimiter though because it breaks if there is a comma any one of the file names. I've tried using replace() to replace the commas in my filenames with chr(44) before passing it to the cfpdf tag, but it still breaks. Any ideas on how to accommodate this? I'm trying to prevent having to copy hundreds of files to a temp directory, then use the directory attribute instead, then delete the temp directory. That just seems like such a waste of resources...
Thanks!cfpdfparam is a WIN! Thanks for the heads up, i had no idea that you could use the tag like that.
<cfpdf
action = "merge"
destination = "C:\Inetpub\mydir\secure\test\output_merge.pdf"
overwrite = "yes">
<cfpdfparam source = "C:\Inetpub\mydir\secure\test\0003. A-001 - Restaurant, Floor Plan.pdf">
<cfpdfparam source = "#expandPath('/secure/test/0001. G-001 - General.pdf')#">
<cfpdfparam source = "#expandPath('/secure/test/0002. G-101 - General Information.pdf')#"></cfpdf>
Works Great, Thanks! -
Split Comma Delimited String Oracle
I want to Split Comma Delimited string in oracle9i into rowwise data.i do not want to use Functions or connect by level...
is there any other way from which we can split strings.???
if we use Connect by level method the problem im facing is we cannot use suqueries in Connect by clause...
Edited by: user11908943 on Sep 16, 2009 8:37 AMmichaels2 wrote:
I prefer using XMLTABLE which has superceded XMLSEQUENCE and I personally find it easier to read...Agree, but that would be hard in 9i since it is not implemented ;)Ah! missed that bit (gawd I wish people would upgrade to supported versions)
In still later versions (11g) I prefer
SQL> with t as
select 'a,b,c,d,e' str from dual
select trim(column_value) str
from t, xmltable(('"' || replace(str, ',', '","') || '"'))
STR
a
b
c
d
e
5 rows selected.
Natty! But completely illogical (I mean creating an XMLTABLE from a non-XML string). I'm guessing that's a development of XQuery? -
Reading a comma delimited data stream
I need a clean, preferably simple way, to parse a comma delimited string that enters a local variable once a minute. The variable buffer needs to be cleared before the new string comes in. If you can help and have more questions about this I can send a detailed explanation. thanks in advance.
[email protected]I placed my code inside a loop and have attached it. The data in the array is replaced every time that the function is called. You can see where I also added a step to reset the string. I am not clear what you mean by "clear what is not overwritten". Do you mean that the string length changes and you want to only display that amount of data? This example should do that. I added a random string length to show that behavior.
I feel like I am missing something about what you want. Do you have an example that shows what you are doing and you can point to where you wnat something different.
Attachments:
comma_delimetd.vi 37 KB -
I have a comma delimited flat file. For example - "This,is,a,test" I want to read each word and perform something with the word in Business Logic Services. What is the best way to accomplish this?
In Business Logic, expand the XML Functions tab.
At the bottom you will see an action called: String List To Xml Parse
Use that action to parse the comma seperated items and then perform any logic required on the individual items.
What this action does is it places all the items in a Rowset/Row, Row, Row type format common to xMII.
Enjoy!
Note: If this was helpful please award points -
IPTC Keywords are not comma delimited?
I like the fact that I can now export my photos and get the keywords added to the IPTC keywords field in the JPG.
But! Why are the keywords not comma delimited? When I have used other programs (like Photoshop Elements 3) to add keywords, they are stored as comma delimited. But iPhoto just puts spaces between the keywords, and when I upload them to Flickr, they get treated as one multi-word tag instead of individual tags.
The IPTC specification I found says:
+2:25 Keywords+
+Repeatable, maximum 64 octets, consisting of graphic characters plus spaces.+
+Used to indicate specific information retrieval words.+
+Each keyword uses a single Keywords DataSet. Multiple keywords use multiple Keywords DataSets.+
Can this be fixed?Brenda:
You'll have to request that at http://www.apple.com/feedback/iphoto.html
Do you Twango?
TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
I've written an Automator workflow application (requires Tiger), iPhoto dB File Backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. It's compatible with iPhoto 08 libraries. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file. -
Hi All,
Is there an "unofficial" way to export a report script with comma as the delimiter?
We are trying to load data from Analytic Services 9.2 into Enterprise and need to automate the process. However this is proving difficult since the only delimiter seems to be a tab and we need a comma delimited file.
Thanks for your help.
SebHave a read of Re: CSV format file through Report scripts.
Cheers
John
http://john-goodwin.blogspot.com/ -
Validating comma-delimited list for numeric entries
Hi!
I need to validate a comma-delimited list to make sure all the list items are numeric. I could do a cfloop to loop through the list, then an IsValid() to check each entry, but that seems cumbersome, so I was wondering if there was a better way.
Thanks!BreakawayPaul wrote:
I had the idea to just do a replace() to get rid of all the commas and treat the value as one big number. It seems to work.
True. That is a creative test. But what if the list begins with 0 or contains negative or decimal numbers?
If you must include those such eventualities, then you could extend the test to something like
<cftry>
<cfset myList="0,1,2,x">
<cfset maxNo=arrayMax(listToArray(myList))>
<!--- The rest of the business code goes here --->
<cfcatch type="expression">
<cfoutput>#cfcatch.Detail#</cfoutput>
</cfcatch>
</cftry> -
Comma delimited in Sql query decode function errors out
Hi All,
DB: 11.2.0.3.0
I am using the below query to generate the comma delimited output in a spool file but it errors out with the message below:
SQL> set lines 100 pages 50
SQL> col "USER_CONCURRENT_QUEUE_NAME" format a40;
SQL> set head off
SQL> spool /home/xyz/cmrequests.csv
SQL> SELECT
2 a.USER_CONCURRENT_QUEUE_NAME || ','
3 || a.MAX_PROCESSES || ','
4 || sum(decode(b.PHASE_CODE,'P',decode(b.STATUS_CODE,'Q',1,0),0)) Pending_Standby ||','
5 ||sum(decode(b.PHASE_CODE,'P',decode(b.STATUS_CODE,'I',1,0),0)) Pending_Normal ||','
6 ||sum(decode(b.PHASE_CODE,'R',decode(b.STATUS_CODE,'R',1,0),0)) Running_Normal
7 from FND_CONCURRENT_QUEUES_VL a, FND_CONCURRENT_WORKER_REQUESTS b
where a.concurrent_queue_id = b.concurrent_queue_id AND b.Requested_Start_Date <= SYSDATE
8 9 GROUP BY a.USER_CONCURRENT_QUEUE_NAME,a.MAX_PROCESSES;
|| sum(decode(b.PHASE_CODE,'P',decode(b.STATUS_CODE,'Q',1,0),0)) Pending_Standby ||','
ERROR at line 4:
ORA-00923: FROM keyword not found where expected
SQL> spool off;
SQL>
Expected output in the spool /home/xyz/cmrequests.csv
Standard Manager,10,0,1,0
Thanks for your time!
Regards,Get to work immediately on marking your previous questions ANSWERED if they have been!
>
I am using the below query to generate the comma delimited output in a spool file but it errors out with the message below:
SQL> set lines 100 pages 50
SQL> col "USER_CONCURRENT_QUEUE_NAME" format a40;
SQL> set head off
SQL> spool /home/xyz/cmrequests.csv
SQL> SELECT
2 a.USER_CONCURRENT_QUEUE_NAME || ','
3 || a.MAX_PROCESSES || ','
4 || sum(decode(b.PHASE_CODE,'P',decode(b.STATUS_CODE,'Q',1,0),0)) Pending_Standby ||','
5 ||sum(decode(b.PHASE_CODE,'P',decode(b.STATUS_CODE,'I',1,0),0)) Pending_Normal ||','
6 ||sum(decode(b.PHASE_CODE,'R',decode(b.STATUS_CODE,'R',1,0),0)) Running_Normal
7 from FND_CONCURRENT_QUEUES_VL a, FND_CONCURRENT_WORKER_REQUESTS b
where a.concurrent_queue_id = b.concurrent_queue_id AND b.Requested_Start_Date <= SYSDATE
8 9 GROUP BY a.USER_CONCURRENT_QUEUE_NAME,a.MAX_PROCESSES;
|| sum(decode(b.PHASE_CODE,'P',decode(b.STATUS_CODE,'Q',1,0),0)) Pending_Standby ||','
>
Well if you want to spool query results to a file the first thing you need to do is write a query that actually works.
Why do you think a query like this is valid?
SELECT 'this, is, my, giant, string, of, columns, with, commas, in, between, each, word'
GROUP BY this, is, my, giant, stringYou only have one column in the result set but you are trying to group by three columns and none of them are even in the result set.
What's up with that?
You can only group by columns that are actually IN the result set.
Maybe you are looking for
-
OIM 9.1.0.2 - Note field issues
Hi Gurus, IHAC who has got a strange behavior in OIM for a custom connector ( there are a lot of resource using it). After request is concluded, if customer goes to User Detail --> Resource Profile and select the resource that was requested, he find
-
Restriction of creating p.o with refe. to service P.R
Dear cons There is no restriction of creating service P.O with reference to service P.R in our company. That means we can create as many number of ser. P.O under one P.R. In case of material P.R restiction has been activated.how can we solve the
-
Hi All, We have requirement from our Business. Vendor payment must be processed up to the quantity received in GR. Eg: Po raised for 100 quantity for u20AC 10000/-, on a specified date, let say 1st Feb ,GR is done for 35 quantities amount is u20AC 35
-
Cairngorm 3 Module and Parsley Context initialization problem.
Hi, I am using parsley 2.2, cairngorm 3 module library. When the module is loaded the parsley context is not getting initialized at that time and returing null for the objects managed by the parsley container. <fx:Script> <![CDATA[ import mx.event
-
Ipad not appearing in itunes on Windows 8
Since I upgraded my laptop to Windows 8 and installed the latest iTunes, I can no longer see my ipad2 in iTunes.