Tab dilimited file
Hi,
How can I conctaenate filelds into a new field dilimited by tab. When I am using ' ' (tab between colons) its taking it as space. I want it to take it as tab.
Thanks.
Hi,
check class cl_gui_Char_utilities you have tab delimiter there...
DATA: lv_tab(1) TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
you can concatenate separated by lv_tab.
Regards,
Karol
Similar Messages
-
Importing a tab dilimited file into cells
How do yo import a tab-delimited file so that when it opens each separated tab is within its own cell in a table? I have .txt files.
Opening in Excel it recognized it as tab-delimited and offered steps to present the file in separated cells as desired.
In Numbers it just opens with all the tabs together in one cell (row separated).
Am I missing something here? This seems pretty basic.
Thx.Have you tried dragging the icon of the tab-delimited file onto the Numbers icon? If that comes up with all data in one cell per row, I'd say the file is not tab-delimited. It probably has spaces & you have to "clean up" the text in a word processor.
-
C++ tab delimited file to array
Converting a large tcl project into c++ and i am struggling with the simplest tasks. For example, i used to create array of data from my file using the following method.
.debug.t insert end "Reading Well Data\n" ; update
set fileId [open data/$welldat r]
set wcntr 0
set welllist ""
gets $fileId line
while {[gets $fileId line] >=0} {
scan $line "%s %s %f %f %f %f %f %f" wellid well xsurf ysurf xbh ybh elev td
incr wcntr
set wida($well) $wellid
set wella($well) $well
lappend welllist $well
set xsurfa($well) $xsurf
set ysurfa($well) $ysurf
set xbha($well) $xbh
set ybha($well) $ybh
set eleva($well) $elev
set tda($well) $td
close $fileId
Here is what i have so far in c++. Dont laugh i am using what is being taught at a community college class. Pretty basic stuff.
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main()
//Initialize temp Variable to hold lines and entrys.
string fileLine = "";
string tempEntry = "";
//Initialize Arrays for wells.txt file
string wellName [] = {""};
long wellApi [] = {0}, tempAPI = 0;
double surfaceX [] = {0.0}, surfaceY [] = {0.0}, bottomX [] = {0.0}, bottomY [] = {0.0}, kellyBushing [] = {0.0}, totalDepth [] = {0.0} ;
//Create input file instance
ifstream inWells;
//open file
//File format is a tab dilimited file
//Well label, api, surface x coord, surface y coord, bottom x coord, bottom y coord, kelly bushing elevation, total depth of well
inWells.open("wells.txt");
//no else to check for failed open file.
if(inWells.is_open())
//intialize counter set to zero
int fieldCounter = 0;
//exits the loop when line is no longer good.
//loop starts
while (!inWells.eof())
//get the entire line and store it in a variable fileLine.
getline(inWells,tempEntry,'\t');
cout << fieldCounter << " " << tempEntry << endl;
fieldCounter ++;
//end if
system("pause");
right now i was just trying to print each of my parsed entry's. Then i was going to add the data to the array's but for some reason when i print the data i donot get a counter on the 1st entry of each line.
Example data
THOMPSN_J__TERRILL_ST_272-#1 42389100990001 1015951.28 583865.59 1015951.30 583865.60 2681.00 21368.00
PANTHER_EX_KIMBER_GAS_17-#1 42389303410000 962142.94 571723.08 962142.90 571723.10 2829.00 14640.00
INDREX_INC_CONOCO_STA_20-#1 42389312220000 961498.99 566401.78 961499.00 566401.80 2841.00 14386.00
NEWPORT_PE_ALAMO_GIN_14-#1 42389313420000 962094.09 575749.87 962094.10 575749.90 2814.00 15316.00
SHELL_WEST_HOEFS_52-2_23-#1 42389326050000 1008181.09 548865.88 1008181.10 548865.90 2802.00 10900.00
OXY_USA_WT_BUSH_13-25_253-#1 42389326170000 1003471.84 582962.26 1003471.80 582962.30 2708.00 12590.00
OXY_USA_WT_HENDRICK_S_254-#1 42389326180000 1004569.07 586773.12 1004569.10 586773.10 2701.00 12795.00
PRIMEXX_OP_PISTOLA_186-#1 42389326270000 986849.60 559777.62 986849.60 559777.60 2745.00 12600.00
PRIMEXX_OP_BELL_213_213-#1 42389326350000 992022.77 558517.55 992022.80 558517.60 2760.00 12674.00
PRIMEXX_OP_CAPPS_214__214-#1 42389326360000 990737.88 553380.84 990737.90 553380.80 2790.00 12084.00
OXY_USA_WT_POLO_GROUN_150-#1 42389326430000 983009.38 566162.59 983009.40 566162.60 2744.00 13500.00
OXY_USA_WT_EBBETS_14_149-#1 42389326560000 983502.05 568782.50 983502.10 568782.50 2727.00 12500.00On this or this or
other similar sites you can find helping hands for your project.
--pa -
Hi,
I am working on an interface in 4.0b system. I want to create a tab dilimited file. Can any one tell me what should be the seperator in the concatenate statement.
In 4.0b system CONSTANTS: con_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
this statement cant be used.
Thanks.
IrfanTry thsi way
data : v_tab type x value '09'.
Concatenate the fields separated by V_TAB and then transfer the data to the application server.
a® -
Hi,
I am tring to upload , dilimited file into internal table using GUIUPLOAD function module. its not reading only first field only. Please help me out.
Thanks.
file has
name,value
GUI Function
call function 'GUI_UPLOAD'
exporting
filename = l_name
has_field_separator = ','
tables
data_tab = it_itab
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.Check this FM documentation:
FU GUI_UPLOAD HAS_FIELD_SEPARATOR
Short Text
Columns Separated by Tabs in Case of ASCII Upload
Description
Specifies if the fields in the file are separated by a tab. This is necessary if the structure passed contains several components. CR/LF occurs instead of a tab after the last field of a row.
Value range
'X': Fields are separated by tabs.
SPACE: Fields are not separated by tabs. In this case, the table must
contain either only one single column or all columns must be contained
in the file in their full length.
Default
SPACE
Function Module
GUI_UPLOAD
This is the rich's reply in one of the posts:
Here is an example program.
code
report zrich_0001.
types: begin of ttab,
rec(1000) type c,
end of ttab.
types: begin of tdat,
fld1(10) type c,
fld2(10) type c,
fld3(10) type c,
end of tdat.
data: itab type table of ttab with header line.
data: idat type table of tdat with header line.
data: file_str type string.
parameters: p_file type localfile.
at selection-screen on value-request for p_file.
call function 'KD_GET_FILENAME_ON_F4'
exporting
static = 'X'
changing
file_name = p_file.
start-of-selection.
file_str = p_file.
call function 'GUI_UPLOAD'
exporting
filename = file_str
tables
data_tab = itab
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.
loop at itab.
clear idat.
split itab-rec at ',' into idat-fld1
idat-fld2
idat-fld3.
append idat.
endloop.
loop at idat.
write:/ idat-fld1, idat-fld2, idat-fld3.
endloop.
[/code]
Regards,
Rich Heilman
Edited by: Aparna Shekhar on Jun 2, 2008 2:33 PM -
Upload tab-delimited file from the application server to an internal table
Hello SAPients.
I'm using OPEN DATASET..., READ DATASET..., CLOSE DATASET to upload a file from the application server (SunOS). I'm working with SAP 4.6C. I'm trying to upload a tab-delimited file to an internal table but when I try load it the fields are not correctly separated, in fact, they are all misplaced and the table shows '#' where supposedly there was a tab.
I tried to SPLIT the line using as separator a variable with reference to CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB but for some reason that class doesn't exist in my system.
Do you know what I'm doing wrong? or Do you know a better method to upload a tab-delimited file into an internal table?
Thank you in advance for your help.Try:
REPORT ztest MESSAGE-ID 00.
PARAMETER: p_file LIKE rlgrap-filename OBLIGATORY.
DATA: BEGIN OF data_tab OCCURS 0,
data(4096),
END OF data_tab.
DATA: BEGIN OF vendor_file_x OCCURS 0.
* LFA1 Data
DATA: mandt LIKE bgr00-mandt,
lifnr LIKE blf00-lifnr,
anred LIKE blfa1-anred,
bahns LIKE blfa1-bahns,
bbbnr LIKE blfa1-bbbnr,
bbsnr LIKE blfa1-bbsnr,
begru LIKE blfa1-begru,
brsch LIKE blfa1-brsch,
bubkz LIKE blfa1-bubkz,
datlt LIKE blfa1-datlt,
dtams LIKE blfa1-dtams,
dtaws LIKE blfa1-dtaws,
erdat LIKE lfa1-erdat,
ernam LIKE lfa1-ernam,
esrnr LIKE blfa1-esrnr,
konzs LIKE blfa1-konzs,
ktokk LIKE lfa1-ktokk,
kunnr LIKE blfa1-kunnr,
land1 LIKE blfa1-land1,
lnrza LIKE blfa1-lnrza,
loevm LIKE blfa1-loevm,
name1 LIKE blfa1-name1,
name2 LIKE blfa1-name2,
name3 LIKE blfa1-name3,
name4 LIKE blfa1-name4,
ort01 LIKE blfa1-ort01,
ort02 LIKE blfa1-ort02,
pfach LIKE blfa1-pfach,
pstl2 LIKE blfa1-pstl2,
pstlz LIKE blfa1-pstlz,
regio LIKE blfa1-regio,
sortl LIKE blfa1-sortl,
sperr LIKE blfa1-sperr,
sperm LIKE blfa1-sperm,
spras LIKE blfa1-spras,
stcd1 LIKE blfa1-stcd1,
stcd2 LIKE blfa1-stcd2,
stkza LIKE blfa1-stkza,
stkzu LIKE blfa1-stkzu,
stras LIKE blfa1-stras,
telbx LIKE blfa1-telbx,
telf1 LIKE blfa1-telf1,
telf2 LIKE blfa1-telf2,
telfx LIKE blfa1-telfx,
teltx LIKE blfa1-teltx,
telx1 LIKE blfa1-telx1,
xcpdk LIKE lfa1-xcpdk,
xzemp LIKE blfa1-xzemp,
vbund LIKE blfa1-vbund,
fiskn LIKE blfa1-fiskn,
stceg LIKE blfa1-stceg,
stkzn LIKE blfa1-stkzn,
sperq LIKE blfa1-sperq,
adrnr LIKE lfa1-adrnr,
mcod1 LIKE lfa1-mcod1,
mcod2 LIKE lfa1-mcod2,
mcod3 LIKE lfa1-mcod3,
gbort LIKE blfa1-gbort,
gbdat LIKE blfa1-gbdat,
sexkz LIKE blfa1-sexkz,
kraus LIKE blfa1-kraus,
revdb LIKE blfa1-revdb,
qssys LIKE blfa1-qssys,
ktock LIKE blfa1-ktock,
pfort LIKE blfa1-pfort,
werks LIKE blfa1-werks,
ltsna LIKE blfa1-ltsna,
werkr LIKE blfa1-werkr,
plkal LIKE lfa1-plkal,
duefl LIKE lfa1-duefl,
txjcd LIKE blfa1-txjcd,
sperz LIKE lfa1-sperz,
scacd LIKE blfa1-scacd,
sfrgr LIKE blfa1-sfrgr,
lzone LIKE blfa1-lzone,
xlfza LIKE lfa1-xlfza,
dlgrp LIKE blfa1-dlgrp,
fityp LIKE blfa1-fityp,
stcdt LIKE blfa1-stcdt,
regss LIKE blfa1-regss,
actss LIKE blfa1-actss,
stcd3 LIKE blfa1-stcd3,
stcd4 LIKE blfa1-stcd4,
ipisp LIKE blfa1-ipisp,
taxbs LIKE blfa1-taxbs,
profs LIKE blfa1-profs,
stgdl LIKE blfa1-stgdl,
emnfr LIKE blfa1-emnfr,
lfurl LIKE blfa1-lfurl,
j_1kfrepre LIKE blfa1-j_1kfrepre,
j_1kftbus LIKE blfa1-j_1kftbus,
j_1kftind LIKE blfa1-j_1kftind,
confs LIKE lfa1-confs,
updat LIKE lfa1-updat,
uptim LIKE lfa1-uptim,
nodel LIKE blfa1-nodel.
DATA: END OF vendor_file_x.
FIELD-SYMBOLS: <field>,
<field_1>.
DATA: delim TYPE x VALUE '09'.
DATA: fld_chk(4096),
last_char,
quote_1 TYPE i,
quote_2 TYPE i,
fld_lth TYPE i,
columns TYPE i,
field_end TYPE i,
outp_rec TYPE i,
extras(3) TYPE c VALUE '.,"',
mixed_no(14) TYPE c VALUE '1234567890-.,"'.
OPEN DATASET p_file FOR INPUT.
DO.
READ DATASET p_file INTO data_tab-data.
IF sy-subrc = 0.
APPEND data_tab.
ELSE.
EXIT.
ENDIF.
ENDDO.
* count columns in output structure
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE vendor_file_x TO <field>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
columns = sy-index.
ENDDO.
* Assign elements of input file to internal table
CLEAR vendor_file_x.
IF columns > 0.
LOOP AT data_tab.
DO columns TIMES.
ASSIGN space TO <field>.
ASSIGN space TO <field_1>.
ASSIGN COMPONENT sy-index OF STRUCTURE vendor_file_x TO <field>.
SEARCH data_tab-data FOR delim.
IF sy-fdpos > 0.
field_end = sy-fdpos + 1.
ASSIGN data_tab-data(sy-fdpos) TO <field_1>.
* Check that numeric fields don't contain any embedded " or ,
IF <field_1> CO mixed_no AND
<field_1> CA extras.
TRANSLATE <field_1> USING '" , '.
CONDENSE <field_1> NO-GAPS.
ENDIF.
* If first and last characters are '"', remove both.
fld_chk = <field_1>.
IF NOT fld_chk IS INITIAL.
fld_lth = strlen( fld_chk ) - 1.
MOVE fld_chk+fld_lth(1) TO last_char.
IF fld_chk(1) = '"' AND
last_char = '"'.
MOVE space TO fld_chk+fld_lth(1).
SHIFT fld_chk.
MOVE fld_chk TO <field_1>.
ENDIF. " for if fld_chk(1)=" & last_char="
ENDIF. " for if not fld_chk is initial
* Replace "" with "
DO.
IF fld_chk CS '""'.
quote_1 = sy-fdpos.
quote_2 = sy-fdpos + 1.
MOVE fld_chk+quote_2 TO fld_chk+quote_1.
ELSE.
MOVE fld_chk TO <field_1>.
EXIT.
ENDIF.
ENDDO.
<field> = <field_1>.
ELSE.
field_end = 1.
ENDIF.
SHIFT data_tab-data LEFT BY field_end PLACES.
ENDDO.
APPEND vendor_file_x.
CLEAR vendor_file_x.
ENDLOOP.
ENDIF.
CLEAR data_tab.
REFRESH data_tab.
FREE data_tab.
Rob -
Read Tab delimited File from Application server
Hi Experts,
I am facing problem while reading file from Application server.
File in Application server is stored as follows, The below file is a tab delimited file.
##K#U#N#N#R###T#I#T#L#E###N#A#M#E#1###N#A#M#E#2###N#A#M#E#3###N#A#M#E#4###S#O#R#T#1###S#O#R#T#2###N#A#M#E#_#C#O###S#T#R#_#S#U#P#P#L#1###S#T#R#_#S#U#P#P#L#2###S#T#R#E#E#T###H#O#U#S#E#_#N#U#M#1
i have downloaded this file from Application server using Transaction CG3Y. the Downloaded file is a tab delimited file and i could not see "#' in the file,
The code is as Below.
c_split TYPE abap_char1 VALUE cl_abap_char_utilities=>horizontal_tab.
here i am using IGNORING CONVERSION ERRORS in order to avoid Conversion Error Short Dump.
OPEN DATASET wa_filename-file FOR INPUT IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORS.
IF sy-subrc = 0.
WRITE : /,'...Processing file - ', wa_filename-file.
DO.
Read the contents of file
READ DATASET wa_filename-file INTO wa_file-data.
IF sy-subrc = 0.
SPLIT wa_file-data AT c_split INTO wa_adrc_2-kunnr
wa_adrc_2-title
wa_adrc_2-name1
wa_adrc_2-name2
wa_adrc_2-name3
wa_adrc_2-name4
wa_adrc_2-name_co
wa_adrc_2-city1
wa_adrc_2-city2
wa_adrc_2-regiogroup
wa_adrc_2-post_code1
wa_adrc_2-post_code2
wa_adrc_2-po_box
wa_adrc_2-po_box_loc
wa_adrc_2-transpzone
wa_adrc_2-street
wa_adrc_2-house_num1
wa_adrc_2-house_num2
wa_adrc_2-str_suppl1
wa_adrc_2-str_suppl2
wa_adrc_2-country
wa_adrc_2-langu
wa_adrc_2-region
wa_adrc_2-sort1
wa_adrc_2-sort2
wa_adrc_2-deflt_comm
wa_adrc_2-tel_number
wa_adrc_2-tel_extens
wa_adrc_2-fax_number
wa_adrc_2-fax_extens
wa_adrc_2-taxjurcode.
WA_FILE-DATA is having below values
##K#U#N#N#R###T#I#T#L#E###N#A#M#E#1###N#A#M#E#2###N#A#M#E#3###N#A#M#E#4###S#O#R#T#1###S#O#R#T#2###N#A#M#E#_#C#O###S#T#R#_#S#U#P#P#L#1###S#T#R#_#S#U#P#P#L#2###S#T#R#E#E#T###H#O#U#S#E#_#N#U#M#1
And this is split by tab delimited and moved to other variables as shown above.
Please guide me how to read the contents without "#' from the file.
I have tried all possible ways and unable to get solution.
Thanks,
ShrikanthHi ,
In ECC 6 if all the unicode patches are applied then UTF 16 will defintly work..
More over i would suggest you to ist replace # with some other * or , and then try to see in debugging if any further # appears..
and no # appears then try to split now.
if even now the # appears after replace statement then try to find out what exactly is it... wheather it is a horizantal tab etc....
and then again try to replace it and then split..
Please follow the process untill all the # are replaced...
This should work for you..
Let me know if you further face any issue...
Regards
Satish Boguda -
To import addresses, need format of tab delimited file
I am trying to import addresses from my G3 PB Mozilla App. I exported addresses on G3 to both ldif and tab-delimited files and then attached to an email message which I sent to myself. I received email on Mac mini, but the 2 files showed up inline, not as attachments. I copied the ldif portion to a text file; ditto for tab-delimited. I tried importing into Address Book, but got message that format was not valid.
Can't I just edit the tab-delimited file in TextEdit, save as RTF, and get Address Book to recognize the data?
Thanks,
OwenHi, Did you get solution for this? Please let me know as I'm looking for the same solution. The Bank requirement is to generate a Tab delimited file but the RFFOGB_T with Format GB_BACS issues the output as below...
Required by Bank:
692532 73855963 RRS P R BACKLEY 169.91 GSLV
294518 99855581 CETS PRITECTIIN 799.72 GSLV
The output I get from SAP/DMEE:
........1........2........3........4........5........6....
VOL1000004 ....953312
1 <CR/LF>
HDR1A953312S 195331200000400010001 10040 100420000000
<CR/LF>
HDR2F0200000100 00
<CR/LF>
UHL1 10041999999 000000001 DAILY 000
<CR/LF>
6010392865540009960062063474662 00000115000ABC UK Ltd. 0
1465 <CR/LF>
6006206347466201760062063474662 00000115000SAPBACS0000003306 C
ONTRA ABC UK LTD. <CR/LF>
EOF1A953312S 195331200000400010001 10040 100420000000
<CR/LF>
EOF2F0200000100 00
<CR/LF>
UTL10000000115000000000011500000000010000001
<CR/LF>
END
<CR/LF>
<END>
Rgds,
Stan -
GUI_Download problem in tab delimited file
Hi,
I am trying to download tab delimited file using F.M GUI_DOWNLOAD.We have
4.6C version.I have declared internal table with 5 columns.The file created using F.M is very strange.Column 1 and 2 and 3 and 4 are seaprated by tab but column 2
and 3 and column 4 and 5 are not seaprated by tab but have fixed length.
I am not getting where I am doing mistake.Any help is appericiated.
Below is the structure of internal table.
DATA:BEGIN OF IT_FINAL OCCURS 0,
Company(3) type c,
County(30) type c,
FId(35) type c,
Wellno(15) type c,
Welldesc(35) type c,
END OF IT_FINAL.
Data populated in table it_final.
it_final-Company = '300'.
it_final-County = 'Greenwood'.
it_final-fid = 'testts'.
it_final-wellno = '10000000'.
it_final-welldesc = 'tebsbvd'.
append it_final.
F.M GUI_DOWNLOAD
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = l_path
FILETYPE = 'ASC'
APPEND = ' '
write_field_separator = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
IMPORTING
FILELENGTH =
TABLES
data_tab = it_final
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22
Thanks,
Rekha.Hi,
i think it is because tou need to uncomment:
FILETYPE = 'ASC'
try it.
Best regards. -
Hi All,
I am trying to create a tab delimited file using Sender File adapter using <b>File content Conversion in Adapter Module</b>. I want a constant space beteween the fields of length 8 spaces. When i use ' ' as field seperater , the file that is generated is <b>19' 'Stringtest14,Hiring' '09/03/2007' 'Managing Dir, Operations</b>. I want the file without colons i.e <b>19 Stringtest14,Hiring' 09/03/2007 Managing Dir, Operations</b>.
Please Advice...
Regards,
XIerHi Xler
<b>content conversion parameters ,, just like</b>
Recordset structure = DT_PRY,*
DT_PRY.fieldnames = ID,empname,empno,country
DT_PRY.fieldSeparator = '0x09' (tab delimited)
DT_PRY.endSeparator = 'nl'
<b>
The FCC...</b>
Document Name : MT_PRY
Document Namespace : http://product.com/prvsoup
Recordset Name : recordset
Recordset structure = DT_PRY,*
DT_PRY.fieldnames = ID,empname,empno,country
DT_PRY.fieldSeparator = '0x09'
DT_PRY.endSeparator = 'nl'
ignoreRecordsetName = true
http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
<b>can take the help of this blog</b>
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
<b>Conversion agent</b>
/people/william.li/blog/2006/03/17/how-to-get-started-using-conversion-agent-from-itemfield
/people/paul.medaille/blog/2005/11/18/conversion-agent-a-free-lunch
/people/alexander.bundschuh/blog/2006/03/14/integrate-sap-conversion-agent-by-itemfield-with-sap-xi
/people/paul.medaille/blog/2005/11/17/more-on-the-sap-conversion-agent-by-itemfield
Thanks!
Questions are welcome here!!
<b>Also mark helpful answers by rewarding points</b>
Regards
Abhishek Agrahari -
Import text into a form from a tab delimited file using an action
Good evening.
I am using Adobe Acrobat XI Pro
I have been working all weekend so far on this, and have tried many options.
What I am wanting is to import a line of data from an excel file into a form, save the file with a name drived from the form fields, close the new file, then go back to the original file, import a line of data, and so on and so on.
I had all of this working in livecyle with a tool, but now that we are going to Windows 8 and Microsoft Office 2013, the driver that I need to load the excel file into the form is not available--so now I have to redo the forms in Adobe and import using a tab delimited file.
I would like to do this with an action.
Thus far, I have the following.
**Credit goes to George Johnson who helped me with the script to save the file using field names a few months ago**
To start, I have a folder level script
mySaveAs = app.trustPropagatorFunction(function(doc,path)
app.beginPriv();
var myDoc = event.target;
myDoc.saveAs(path);
app.endPriv();
myTrustedSpecialTaskFunc = app.trustedFunction(function(doc,path)
//privileged and/or non-privileged code above
app.beginPriv();
mySaveAs(doc, path);
app.endPriv
//Privileged and/or non-privileged code below
For the Action, I start with the Form file loaded
Then I execute a javascript to import the text into the file.
this.importTextData("/c/data/clerical.txt");
The next step is to save the file using field names as part of the file name
--credit goes to George Johnson who assisted me with this on a similar project a few months ago.
//Get the Field Value
var fn=getField("Last").valueAsString + "-" + getField("First").valueAsString;
//Specify the folder
var fldr = "/c/data/";
//Determine the full path
var fp=fldr + fn + ".pdf";
//save the file
myTrustedSpecialTaskFunc(this, fp);
That is as far as I have gotten.
What I want to do now is load the original form file, import the next line into the form, save the file, repeat.
If anyone could assist me, I would greatly appreciate it.
**note I had to type this from my I-pad because I kept getting kicked off the internet from my computer. I hope my code is typed correctly.George
Thank you so much for your response.
Yes--there are multiple lines in the data file--it will vary from month to month. It looks like from what you are saying is that I need to do the global variable since it will constantly change, and then increment it as it goes through the text file. When it reaches the end, then it will stop.
I looked at the following links--but this is from Adobe 9 API--I don't know if things have changed with XI--especially since 9 used batch processing and XI has actions.
Count PDF Files
http://help.adobe.com/livedocs/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhelp/wwhimpl/js/html/ wwhelp.htm?href=JS_API_AcroJS.88.1.html
Global counter
http://help.adobe.com/livedocs/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhelp/wwhimpl/js/html/ wwhelp.htm?href=JS_API_AcroJS.88.1.html
I am not exactly sure how to include this in my code.
If you could point me in the right direction, I would appreciate it. -
Store table data in a tab separated file in oracle apex
How to store table data in a tab separated file in oracle apex ?
Suppose i have a table 'Table1' as shown below.
id name
1 x
2 y
I want to get the result 'select * from table1;' into a tab separated file in oracle apex.For client you could
- invoke call to Oracle Reports, where an .rdf is ready to generate one for you
- utilise download as csv option in interactive reports
- call page that generates csv using htp package (CSV Download without Header, possible?
- modify an interactive report to do a similar thing (http://www.talkapex.com/2009/04/custom-download-for-apex-interactive.html) -
How to convert Mail attachment file Tab Delimited file to XML.
Hi PI Experts
I have XI scenario: MAIL XI SAP (ABAP Proxy), the process is
1. XI will receive tab delimited file as attachment in mail.
2. XI will convert the tab delimited file into XML, then map to the target structure.
3. Target will be posted into ECC through ABAP Proxy.
Can anyone help me how can I convert the attachment file (i.e. Tab delimited file) to XML while configuring the sender side.
Thanks in AdvanceI just grabed what I answered from another thread. It should work.
Processing sequence as follows:
1. localejbs/AF_Modules/PayloadSwapBean Local Enterprise Bean swap1
2. localejbs/AF_Modules/MessageTransformBean Local Enterprise Bean tran1
3. sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
Module Configuration as follows: Fill the XXXX part with your info.
swap1 swap.keyName payload-name
swap1 swap.keyValue MailAttachment-1
tran1 Transform.Class com.sap.aii.messaging.adapter.Conversion
tran1 Transform.ContentType ext/xml;charset=utf-8
tran1 xml.conversionType SimplePlain2XML
tran1 xml.documentName XXXXXXX_Mail
tran1 xml.documentNamespace http://XXXXX.com.au/XXXX
tran1 xml.fieldSeparator \t
tran1 xml.processFieldNames fromConfiguration
tran1 xml.structureTitle rows
Once you set up the above configuration, you will get one record at a time.
Create a souce message interface like the followings:
XXXXXXXXX_Mail
rows
record
Target message interface:
XXXXXXXXX
rows
field 1
field 2
field 3
Write a UDF function to remove the TAB space
public removeTABSpace(String record,Container container){
//write your code here
StringTokenizer st = new StringTokenizer(record,"\t",false);
String t="";
while (st.hasMoreElements()) t += st.nextElement();
return t;
Write another UDF to get the field 1 for example:
public String getField1(String input,Container container){
int counter=0;
int beginIndex=0;
int endIndex=0;
int i;
for (i=0;i<input.length();i++){
if (input.charAt(i)==34){
counter=counter+1;
if (counter==1){
beginIndex=i+1;
counter=0;
break;
for (i=0;i<input.length();i++){
if (input.charAt(i)==34){
counter=counter+1;
if (counter==2){
endIndex=i;
counter=0;
break;
input=input.substring(beginIndex,endIndex);
return input;
Get the mapping like the followings:
record - removeTABSpace - getField1 - field 1
If you need to get field 2, you will need to write another UDF similar to the above one to handle it. -
Formatting a tab delimited file
Hello All,
I am populating a tab delimited text file with data from a resultset and I'm having problems lining up the columns properly. I tried using tabs, but the variable length of some of the entries are messing up the positioning of the data. Is there a way to create tab delimited fixed length fields with column headers? or is there some better way to do this in general?
Thanks,
JamesI got it working using StringBuffers. Where I missed it was that the formatting of the text of the report originally didn't work under the
code. It was being automatically formatted when it was passed as a message in an email under javamail. I had forgotten that Outlook will do that on it's own. When I tried to make the report an attachment, the defect in the formatting became apparent.
I also got it working (better solution) using POI. That way the attachment is an .xls file, rather than tab-delimited file.
FYI,
James -
Opening a tab delimited file and replacing a space
Hi,
I am trying to open a tab delimited file with 4 columns and corresponding values under it. If no value under the column, 0 should be replaced. I used the StringTokenizer and the split methods, but this doesnt seem to work. Any ideas?
E.g
Title1 Title2 Title3
4 7
5 2
SHould be like this:
Title1 Title2 Title3
4 0 7
0 5 2
Thanks..The answer, however, is no. Java is a strongly typed
language; there is no predefined manner in which a
String object can be casted to an Integer object
because a String is not an Integer.
However, if you'd like to create an Integer based on
the contents of a String, you can pass the String to
the Integer.parseInt(String) method. That method
will do one of two things: return the Integer object
representing the integer contained within the String
(if the String represents an Integer) or throw a
NumberFormatException (if the String is not an
Integer).Hi,
Thanks tvynr for your reply. Ok first things, sorry, I had written that post in a hurry. Yes i dont usually put capital letters for my fields. Also i did mean using the add method. Not the get..
And yes I have tried various different type castings. Just to see if one of them would work. And yes i did try Integer.parseInt() by passing in the string to get back its contents as an integer. *And yes the String content is an integer.
Heres a snippet of my code -
List ArrScore1 = new ArrayList(); //List to store Score in one Array
List ArrScore2 = new ArrayList(); //List to store same Scores in another Array. FOr comparisions
List SCORES = new ArrayList();
int dist1,dist2 = 0;
float distance,percent;
while ((record = br.readLine())!= null) //To read from a file line by line from first line
recCount++;
String rec = record;
String [] ScoreScop = rec.split("\t");
ArrScore1.add(ScoreScop[4]));
ArrScore2.add(ScoreScop[4]);
} //End of While loop
System.out.println("Total Records: " + recCount);
for (int i=0; i<ArrScore1.size(); i++)
for (int j = i + 1; j < ArrScore2.size(); j++)
dist1 = Integer.parseInt(ArrScore2.get(j)); //Error I get here is is Cannot resolve symbol. What does this mean exactly?
dist2 = Integer.parseInt(ArrScore1.get(i)); //Same error
distance = dist1/dist2;
percent = distance * 100;
SCORES.add(percent); //Again same error
} //End of j loop
} // End of i loop
I have included all the necessary packages as well. Including :
import java.io.*;
import java.util.*;
import java.lang.*;
import java.util.List;
import java.util.ArrayList;Any idea what I am doing wrong here?
Maybe you are looking for
-
Problem in using BI Presentation Beans(more specific to crosstab) in jsp
In the Web Application developed using Oracle JDeveloper 10.1.2.1, i am using BiBeans 10.1.2.0.2 crosstab for data representation in jsp. Jsp also contains other interface components like textbox, submit buttons etc. The problem is: on clicking submi
-
Macbook pro retina early 2013 vs macbook air 2013
I currently have a macbook air 2013 edition 13" with the 1.3ghz haswell chip and 4gb of ram and 128gb flash storage. Which would be better for me to keep this macbook air or swap for a early 2013 macbook pro retina with 8gb ram and 256gb ssd +200 do
-
How to impor the pdf file into crystal report
I try to import the whole pdf into the crystal report. But when I import it, I can only import the first page of the PDF. Can anyone give me some suggestions? Thank you.
-
Numbers on new retina macbook pro does not work correctly??
Hi. When I run Numbers on my new Macbook Pro Retina, the interface and all the text looked really blocky and low resolution. I read that there was an easy fix to this by un-ticked the box that says "open in low resolution" in get info. I did this and
-
Execute query run fine with numeric data not give result on string data
Hi master Sir I use under blow code for execute query sir when I use numeric data then run fine but when I use character data then not give any result with numeric run fine DECLARE DD VARCHAR2(15); BEGIN DD:=10; set_block_property('emp', de