Create tab seperated file on application server
Hi all
I need to create a file with Tab separation. I have a solution on a 4.7 system as shown below. But this does not work on a 4.6 system as the class does not exist.
How can I do this on a 4.6 system?
Thank you four your reply.
Herbert
CONSTANTS c_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
LOOP AT t_material.
CONCATENATE
t_material-id
t_material-brand
t_material-desc
t_material-level
t_material-flag
INTO w_line
SEPARATED BY c_tab.
TRANSFER w_line TO w_file2.
ENDLOOP.
do this way...
Table to store final data
CONSTANTS: cns_09(2) TYPE n VALUE 09,
c_val1 TYPE c VALUE 'X'.
DATA: g_deli(1) TYPE c.
table to place delimiter
DATA: BEGIN OF it_hex,
tab TYPE x,
END OF it_hex.
ASSIGN g_deli TO <fs> TYPE c_val1.
it_hex-tab = cns_09.
<fs> = it_hex-tab.
LOOP AT t_material.
CONCATENATE
t_material-id
t_material-brand
t_material-desc
t_material-level
t_material-flag
INTO w_line
SEPARATED BY g_deli.
TRANSFER w_line TO w_file2.
ENDLOOP.
Similar Messages
-
To create a new file in application server and transfer data to ti
i am doing the following where i have to create a new file in application server and transfer data to tht file from an internal table.but its saying file cant be opened.the path i am giving to parameter p_prefil is /tmp/prachi.txt.
wats the prob..can anyone help.
DATA:L_WA_FINAL TYPE TY_FINAL,
l_wa_string type string.
OPEN DATASET P_PREFIL FOR OUTPUT IN text mode encoding default.
if sy-subrc <> 0.
write: ' file cannot be opened'.
stop.
endif.
LOOP AT P_I_FINAL INTO L_WA_FINAL.
move l_wa_final to l_wa_string.
TRANSFER l_wa_string TO P_PREFIL.
if sy-subrc <> 0.
write: 'file can not be written'.
stop.
endif.
clear l_wa_final.
ENDLOOP.
CLOSE DATASET P_PREFIL.
if sy-subrc <> 0.
write: ' file cannot be closed'.
stop.
endif.DATA:L_WA_FINAL TYPE TY_FINAL,
l_wa_string type string.
OPEN DATASET P_PREFIL FOR OUTPUT IN text mode encoding default.
if sy-subrc ne 0.
write: ' file cannot be opened'.
stop.
endif.
LOOP AT P_I_FINAL INTO L_WA_FINAL.
move l_wa_final to l_wa_string.
TRANSFER l_wa_string TO P_PREFIL.
write: 'file can not be written'.
clear l_wa_final.
ENDLOOP.
CLOSE DATASET P_PREFIL.
if sy-subrc ne 0.
write: ' file cannot be closed'.
stop.
endif. -
Reading tab delimited file from application server
Hi All,
I do know that we need to use Open data set to read a file from application server, but my question is when you use read DATASET v_file into wa_final - this wa_final is an work area and also i have mentione an internal table. so do we need to Split the record at tab into the corresponding fields. Append the records into an internal table i_input.????
Please let me know on this....
thanks in advance....
Poonam....Hi,
first see the file contents in application server, how the contents whether the contents seperated by any symbol or not, if the contents seperated by any symbol then you have to split the data before appending to internal table.
check this code.
DATA: l_data_string TYPE string.
filename = p_file.
OPEN DATASET p_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc EQ 0.
DO.
READ DATASET filename INTO l_data_string.
IF sy-subrc NE 0.
EXIT.
ENDIF.
CLEAR k_input.
SPLIT l_data_string AT '#' INTO k_input-agreement k_input-suffix k_input-status
k_input-first_name k_input-last_name k_input-job_title k_input-tel k_input-fax k_input-email_address k_input-mob_number.
APPEND k_input TO i_input.
ENDDO.
ENDIF.
Regards,
Venu -
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 -
Creating a new file in application server
hai,
please rectify this, how to create a file in application server ?
can any one forward a sample code for creating a file in application server.
hazamHi Hazam,
Please check the below code.
Data : P_UFILE(60) " Unix File name
TYPE C
value '/emn_R3/hr/ben_age25_dep'.
CLEAR GD_SUBRC.
<b>OPEN DATASET</b> GD_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF SY-SUBRC <> 0.
GD_SUBRC = SY-SUBRC.
gs_error-pernr = gs_0021-pernr.
gs_error-ename = gd_ename.
gs_error-mess
= 'Can not open File:'(017) + gd_file.
append gs_error to gt_error.
clear gs_error.
* CLEAR GD_MSG1.
* CONCATENATE 'Can not open File:'(017)
* GD_FILE
* INTO GD_MSG1.
* WRITE : / GD_MSG1.
ELSE.
LOOP AT GT_BODY INTO GS_BODY.
<b>TRANSFER</b> GS_BODY TO GD_FILE.
ENDLOOP.
<b>CLOSE DATASET</b> GD_FILE.
ENDIF.
Hope this will help you.
Thanks&Regards,
Siri.
Message was edited by: Srilatha T -
Create an XML File in Application server
Hello,
I have a requirement to create an XML File as Local File and as server File. For the local File it works fine and i got a Local XML File.
My problem is for the Server File.I found a solution in internet to convert in binary.But i don't get in the server File created the XML structure.
Here is My code for the unix server File
DATA ex_tab TYPE TABLE OF x255.
data: wa_tab type x255.
data: lv_line(255) type c.
**-- carica tabella gt_file
PERFORM CARICA_TAB_FILE.
LOOP AT GT_FILE.
MOVE-CORRESPONDING GT_FILE TO WA_SOURCE.
APPEND WA_SOURCE TO GT_SOURCE.
CLEAR WA_SOURCE.
ENDLOOP.
* Perform the XSLT stylesheet
TRY.
CALL TRANSFORMATION ZMESMO052_XML
SOURCE MATERIAL_DATA = GT_SOURCE[]
RESULT XML XML_RESULT .
CATCH CX_ROOT INTO GS_RIF_EX.
GS_VAR_TEXT = GS_RIF_EX->GET_TEXT( ).
MESSAGE GS_VAR_TEXT TYPE 'E'.
ENDTRY.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = XML_RESULT
TABLES
binary_tab = ex_tab.
CONCATENATE P_FILE '.xml' INTO P_FILE.
CONDENSE P_FILE.
TRANSLATE P_FILE TO LOWER CASE.
OPEN DATASET P_FILE FOR OUTPUT IN BINARY MODE.
IF SY-SUBRC NE 0.
MESSAGE E000(ZF) WITH ' Error opening File' P_FILE.
ENDIF.
loop at ex_tab into wa_tab.
move wa_tab to lv_line.
transfer lv_line to p_file.
endloop.
close dataset p_file.
And i Got a file like this
Any solution pleaseI Found the solution,
DATA EX_TAB TYPE TABLE OF X255.
DATA: WA_TAB TYPE X255.
DATA: LV_LINE(255) TYPE C.
DATA: L_CONVIN TYPE REF TO CL_ABAP_CONV_IN_CE.
DATA: L_HTML TYPE STRING.
DATA: L_VALUE TYPE STRING.
DATA: L_MSGSTR TYPE STRING.
DATA: FILENAME TYPE STRING.
**-- carica tabella gt_file
PERFORM CARICA_TAB_FILE.
LOOP AT GT_FILE.
MOVE-CORRESPONDING GT_FILE TO WA_SOURCE.
APPEND WA_SOURCE TO GT_SOURCE.
CLEAR WA_SOURCE.
ENDLOOP.
* Perform the XSLT stylesheet
TRY.
CALL TRANSFORMATION ZMESMO052_XML
SOURCE MATERIAL_DATA = GT_SOURCE[]
RESULT XML XML_RESULT .
CATCH CX_ROOT INTO GS_RIF_EX.
GS_VAR_TEXT = GS_RIF_EX->GET_TEXT( ).
MESSAGE GS_VAR_TEXT TYPE 'E'.
ENDTRY.
TRY.
CALL METHOD CL_ABAP_CONV_IN_CE=>CREATE
EXPORTING
ENCODING = 'UTF-8'
INPUT = XML_RESULT
RECEIVING
CONV = L_CONVIN.
CALL METHOD L_CONVIN->READ
IMPORTING
DATA = L_HTML.
CATCH CX_ROOT.
L_MSGSTR = 'Conversion error'.
ENDTRY.
SEARCH L_HTML FOR '><'.
CLEAR L_VALUE.
L_VALUE = CL_ABAP_CHAR_UTILITIES=>NEWLINE.
CONCATENATE '>' L_VALUE '<' INTO L_VALUE.
IF SY-SUBRC = 0.
REPLACE ALL OCCURRENCES OF '><' IN L_HTML WITH L_VALUE IN
CHARACTER MODE.
ENDIF.
CONCATENATE P_FILE '.xml' INTO P_FILE.
CONDENSE P_FILE.
TRANSLATE P_FILE TO LOWER CASE.
FILENAME = P_FILE.
OPEN DATASET FILENAME FOR OUTPUT IN TEXT MODE ENCODING NON-UNICODE
WITH UNIX LINEFEED.
TRANSFER L_HTML TO FILENAME.
CLOSE DATASET FILENAME. -
Creation of Flat file in Application Server
Hi,
Can you please clarify what is Logical file path and Physical file pathe.
Also how to create a flat file in Application Server with Logical and Physical file paths.
ThanksHi Yasaswini,
Physical file is what you see from the OS level.
Logical file is what ABAP code can call certain functions to read/write.
Transaction FILE would link them together. Typically the logical path ends with "<FILENAME>", and the logical file refers to the logical path. You can check the help for more info.
http://help.sap.com//saphelp_erp2004/helpdata/EN/8d/3e4edc462a11d189000000e8323d3a/frameset.htm
Good luck,
Victor -
Pipe delimited file on application server.
Hi , i m creating a text file on application server, i have written below code and file is getting created correctly. however, i want to create pipe delimited file. is there any method for this?
DATA : lv_line(173).
DATA : l_wa_itab_length(4) TYPE c VALUE '173'.
IF NOT p_tab[] IS INITIAL.
SORT p_tab.
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING NON-UNICODE.
IF sy-subrc NE 0.
MESSAGE 'Error on output file read' TYPE 'E'.
ELSE.
LOOP AT p_tab.
lv_line = p_tab.
TRANSFER lv_line TO p_file LENGTH l_wa_itab_length.
CLEAR p_tab.
CLEAR lv_line.
ENDLOOP.
CLOSE DATASET p_file.
ENDIF.
ENDIF.
REFRESH p_tab.i m pasting below my entire code.
REPORT zmigration_data_download.
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE.
DATA: d_table_ref TYPE REF TO data.
DATA: d_rfc_db_opt TYPE rfc_db_opt.
DATA: it_opt LIKE rfc_db_opt OCCURS 0 WITH HEADER LINE.
DATA: d_file TYPE string.
PARAMETERS: p_tab TYPE dd02l-tabname OBLIGATORY.
PARAMETERS: p_file LIKE rlgrap-filename OBLIGATORY DEFAULT '/usr/sap/tmp/test.txt'.
SELECT-OPTIONS: s_opt FOR d_rfc_db_opt NO INTERVALS.
START-OF-SELECTION.
REFRESH it_opt.
LOOP AT s_opt WHERE sign = 'I' OR option = 'EQ'.
it_opt-text = s_opt-low.
APPEND it_opt.
ENDLOOP.
CREATE DATA d_table_ref TYPE TABLE OF (p_tab).
UNASSIGN <fs_table>.
ASSIGN d_table_ref->* TO <fs_table>.
IF <fs_table> IS ASSIGNED.
CLEAR <fs_table>.
SELECT * FROM (p_tab) INTO TABLE <fs_table>
WHERE (it_opt).
IF sy-subrc EQ 0.
PERFORM download_file TABLES <fs_table> USING p_file.
MESSAGE i398(00) WITH 'Upload from SAP Successfull'.
ENDIF.
ENDIF.
*& Form download_file
text
-->P_<FS_TABLE> text
-->P_P_FILE text
FORM download_file TABLES p_tab USING p_file.
DATA : lv_line(173).
DATA : l_wa_itab_length(4) TYPE c VALUE '173'.
IF NOT p_tab[] IS INITIAL.
SORT p_tab.
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING NON-UNICODE.
IF sy-subrc NE 0.
MESSAGE 'Error on output file read' TYPE 'E'.
ELSE.
LOOP AT p_tab.
lv_line = p_tab.
TRANSFER lv_line TO p_file LENGTH l_wa_itab_length.
CLEAR p_tab.
CLEAR lv_line.
ENDLOOP.
CLOSE DATASET p_file.
ENDIF.
ENDIF.
REFRESH p_tab.
ENDFORM. " download_file -
Append data into the file in application server
Hi Friends,
I have an issue where i have a job which has three different stepst for same program. If i run the job the program will create a file in the application server and append the other two steps in the same file without overwriting the file or creating a new file.
My problem is like its creating three different files in application server for that particular job since it has three steps . Its not appending into one particular file .
I am using the FM 'Z_INTERFACE_FILE_WRITE' where i have used the pi_append in the exportng parameter . ITs working when i specify the file in local system. It is appending correctly when i run the report normally to apppend into local system.
But when i schedule a job to append the file in application server its creating three different files.
Kindly help me if anyone is aware of this issue
Thanks in advance
KishoreHi,
Please use open dataset to write and append files.Please check the logic of Z FM which you are using .
To open and write into a file use
OPEN DATASET FNAME FOR OUTPUT.
To append data into existing file use
OPEN DATASET FNAME FOR APPENDING.
To write into file:
v_file = file path on application server
OPEN DATASET v_file FOR output.
IF sy-subrc NE 0.
write:/ 'error opening file'.
ELSE.
TRANSFER data TO v_file.
ENDIF.
CLOSE DATASET v_file.
For appending :
OPEN DATASET v_file fOR APPENDING.(file is opened for appending data position is set to the end of the file).
Thanks and Regards,
P.Bharadwaj -
Move pdf file into application server
Hi ABAP Gurus,
i want your valuable help in solving my problem.
i tried to create PDF file in application server and its creating as
PDF file in Application server..but i am unable to see the content in text ,
instead it is displaying in binary content...but when i tried to create
in presentation server i am able to see it as text in PDF file....
Can u please let me know whats wrong in my work and how to create a PDF file
in Application server with text content
with regards,
Gowri.Hi Gowri,
Check this example....
report ztest.
data: begin of itab occurs 0,
field(256),
end of itab.
data: dsn(100) value '/usr/sap/xfr/FIS/testpdf',
length like sy-tabix,
lengthn like sy-tabix.
call function 'GUI_UPLOAD'
exporting
filename = 'c:\temp\test.pdf'
filetype = 'BIN'
importing
filelength = length
tables
data_tab = itab.
open dataset dsn for output in binary mode.
loop at itab.
transfer itab-field to dsn.
endloop.
close dataset dsn.
clear itab.
refresh itab.
*- To crosscheck if it went well
open dataset dsn for input in binary mode.
do.
read dataset dsn into itab-field.
if sy-subrc = 0.
append itab.
else.
exit.
endif.
enddo.
call function 'GUI_DOWNLOAD'
exporting
filename = 'c:\temp\testn.pdf'
filetype = 'BIN'
bin_filesize = length
importing
filelength = lengthn
tables
data_tab = itab.
Or
Use the TCode
CG3Z or CG3Y
for downloading to Application Server.
Thanks,
Reward If helpful. -
Create Excel file in application server but the field value is incorrect
Hi Experts,
i am facing a problem when create excel file in application server using OPEN DATASET command.
the internal table have 4 field and one of those field contains 19 digit number --> ICCID.
the code running well, successfully create EXCELfile in application server but the problem is SAP only copy exactly first 15 digit numeric only and the rest became zero 0
Example :
the field value in internal table is 8962118800000447654 but when i opened in the excel file the value became 8962118800000440000.
and if i add alphabet like a8962118800000447654 then it is correct.
is there is anything wrong with my code?
here is my code
CONSTANTS: c_tab TYPE abap_char1 VALUE cl_abap_char_utilities=>horizontal_tab. "Tab Char
Data : begin of lt_zdsdmmdt00005 occurs 0,
SERNR (18) type c,
MSISDNl(20) type c,
BOX1 (20) type c,
ICCID(30) type c,
end of lt_zdsdmmdt00005.
data : ld_temp(100) type c.
i_file = '/usr/sap/DM/test_excel.xls'.
open dataset i_file for output in legacy text mode.
loop at lt_zdsdmmdt00005.
move lt_zdsdmmdt00005-ICCID to ld_iccid .
concatenate lt_zdsdmmdt00005-sernr lt_zdsdmmdt00005-MSISDN lt_zdsdmmdt00005-BOX1 ld_iccid
into ld_temp separated by c_tab.
transfer ld_temp to i_file.
endloop.
close dataset i_file.
Best Regard,
Akbar.Hi Naveen,
thanks for your reply,
i already tried and the result still the same. any idea?
Best Regard,
Akbar. -
How to create file on application server?
how to create file on application server?
Hi,
The following program illustrates the creation of ifle in app server and reading the file from appli server:
DATA: ITAB LIKE vbakOCCURS 0 WITH HEADER LINE.
PARAMETERS: P_VBELN LIKE VBAP-VBELN.
START-OF-SELECTION.
SELECT *
FROM VBAP
INTO TABLE ITAB
WHERE VBELN = P_VBELN
PERFORM WRITE_DATA.
PERFORM READ_DATA.
*& Form WRITE_DATA
text
--> p1 text
<-- p2 text
FORM WRITE_DATA.
OPEN DATASET 'VBAP_DATA' FOR OUTPUT IN TEXT MODE.
LOOP AT ITAB.
TRANSFER ITAB TO 'VBAP_DATA'.
ENDLOOP.
CLOSE DATASET 'VBAP_DATA'.
CLEAR: ITAB, ITAB[].
ENDFORM. " WRITE_DATA
*& Form READ_DATA
text
--> p1 text
<-- p2 text
FORM READ_DATA.
OPEN DATASET 'VBAP_DATA' FOR INPUT IN TEXT MODE.
DO.
READ DATASET 'VBAP_DATA' INTO ITAB.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
APPEND ITAB.
ENDDO.
CLOSE DATASET 'VBAP_DATA'.
LOOP AT ITAB.
WRITE:/ ITAB-VBELN,
ITAB-POSNR.
ENDLOOP.
ENDFORM. " READ_DATA
If it is helpful rewards points
Regards
Pratap.M -
Problem while uploading file from application server to internal tab in BG
Hi all,
When i see the file in application server.data is like this
#################00\);_(#####}#-#}###############################00\);_(#####}#-#}###############################00\);_(*#####}#-#}#########
###################}###}#############A#############???#00\);_(*#################;_(@_) ########???# ########???# ########???###
#######???#########}###}#############)##############}##00\);_(*#################;_(@_) ############ ############ ##############
###################}#A#}#############:##############}##00\);_(#################;_(@_) }###}##############################00\);_(*##########
#######???#########}#-#}#############F#################00\);_(#####}###}#############@#################00\);_(#################;_(@_) #####
###################}#-#}#############3#################00\);_(#####}#U#}#############E#################00\);_(#################;_(@_) #####
Because the csv which is uploaded has dropdowns and some formattings.
when download from tcode cg3y i am getting correct file
When try to use open(binary mode) and read dataset i getting data as it is (junk).
i need to process in background.
Any help.
Rhea.upload file to string format
begin of ty_tab,
string type char200,
end of ty_tab.
loop at ty_tab into string
use statement replace string into tab deliminated fromat(particular occurance in string)
now call class to break string at tab into fields
endloop.
DATA : BEGIN OF i_data OCCURS 0,
data(200) TYPE c, "To hold Upload file data
END OF i_data.
OPEN DATASET v_str FOR INPUT
IN TEXT MODE
ENCODING DEFAULT IGNORING CONVERSION ERRORS.
IF sy-subrc EQ 0.
DO.
*Read a line from input file
READ DATASET v_str INTO i_data-data.
IF sy-subrc NE 0.
EXIT.
ENDIF.
*Append record to an internal table
APPEND i_data.
CLEAR: i_data.
ENDDO.
*Close the file
CLOSE DATASET v_str.
*---Start of inserti
LOOP AT i_data.
REPLACE ALL OCCURRENCES OF '"' IN i_data WITH '#'.
SPLIT i_data AT cl_abap_char_utilities=>horizontal_tab
INTO i_doc-pvaudt
i_doc-pvpate
i_doc-vecatc
i_doc-vhvend
i_doc-vhidt8
i_doc-vhinvn
i_doc-vhhexp
i_doc-vhiref. -
Unable to create a file in Application Server using OPEN DATASET stattement.
I am unable to create a file in Application Server using the following statement.
OPEN DATASET filename FOR OUTPUT
IN TEXT MODE ENCODING DEFAULT
MESSAGE msg.
The message I'm getting is "Permission Denied". I have checked authorisation using SU53 which says "The last authorization check was successful". Please help.You can use following code to capture the error.
TRY.
OPEN DATASET filename FOR OUTPUT IN BINARY MODE MESSAGE V_MSG.
CATCH CX_ROOT
INTO EXCEPTION.
CALL METHOD O_EXCEPTION ->IF_MESSAGE~GET_TEXT
RECEIVING
RESULT = V_MSG.
MESSAGE v_msg
TYPE 'E'.
ENDTRY.
You can capture error in v_msg.
Following are the exceptions for the same:
Exceptions
Catchable Exceptions
CX_SY_FILE_OPEN
Cause: The file is already open.
Runtime Error: DATASET_REOPEN
CX_SY_CODEPAGE_CONVERTER_INIT
Cause: The desired conversion is not supported. (Due to specification of invalid code page or of language not supported in the conversion, with SET LOCALE LANGUAGE.)
Runtime Error: CONVT_CODEPAGE_INIT
CX_SY_CONVERSION_CODEPAGE
Cause: Internal error in the conversion.
Runtime Error: CONVT_CODEPAGE
CX_SY_FILE_AUTHORITY
Cause: No authorization for access to file
Runtime Error: OPEN_DATASET_NO_AUTHORITY
Cause: Authorization for access to this file is missing in OPEN DATASET with addition FILTER.
Runtime Error: OPEN_PIPE_NO_AUTHORITY
CX_SY_PIPES_NOT_SUPPORTED
Cause: The operating system does not support pipes.
Runtime Error: DATASET_NO_PIPE
CX_SY_TOO_MANY_FILES
Cause: Maximum number of open files exceeded.
Runtime Error: DATASET_TOO_MANY_FILES Non-Catchable Exceptions
Cause: An attempt was made to open a pipe that is already open.
Runtime Error: DATASET_PIPE_POSITION
Hope that will help you.
Please reward if useful. -
Creating a file on application server that exceeds 10 Million charecters
Hello All,
We have custom IDocs which carry Strings of 1062 characters in each of their segments.
Now the requirement is to create a single string file out of these idocs data.
It is expected that each of these IDocs can go up to having more than 70,000 segments.
So, now when this is concatenated into one single string it can go upto 7 Million charecters.
My questions are:
1. Can we create a text file with so many charecters in a single line or is there any limitation for this ?
2. I have found a datatype CHAR30000, using which i'm currently concatnating around 30 segment data and then writing onto the file. Now once I wrote a single line, how can I set the pointer to End of line ?
3. Is there any limitation in ABAP to create such a long string text file using method mentioned above ?
Thanks for responding back!!
-SriNo, It should be something like below.. for writing the file onto application server , which aint working though...
*Writing output data into the file.
lw_endofline = 30000.
OPEN DATASET p_fileop FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT int_output INTO wa_output.
TRANSFER wa_output-sdata TO p_fileop.
"SET DATASET p_fileop POSITION lw_endofline.
SET DATASET p_fileop POSITION lw_endofline.
lw_endofline = lw_endofline + 30000.
ENDLOOP.
CLOSE DATASET p_fileop.
Maybe you are looking for
-
Adding new elements to a Master Page and sharing them to existing pages
I need to include new navigation elements on the master page and I want it to show up on pages I've already created. I've added the new elements on a layer of their own which is part of the master page, but the Share Layer to Pages... option is dimme
-
How do I get itunes music track back into album it originated from
i have found several albums in my itunes having tracks that belong there now separated and i am unable to get them back to the album where they belong by draging them back in itunes 11 thanks fro any help I am trying to clean up my itunes library
-
Hello All, My Satellite a205-0608 0sap3u(hard to see figures) Crashed during a defrag now XP cannot find the HD to reinstall Xp, Tried system restore disk all but same thing. Tried a new HD and the same. Toshiba set can see it. Please help. Thank Y
-
How to switch off my main screen (Imac 24") to use an external proyector?
Please Help! How to switch off my main screen (Imac 24") to use an external proyector? It's not comfortable when you want to see a nice movie! Thanks Jack
-
I got a new computer (Windows 7) at work this April and as of today, when I work on any of my JPEG images in PS CS5, suddenly it has defaulted its "Save As" to JPEG2000. How did this default change and how do I get it to default save as. JPEG again?