‎2009 Sep 30 2:36 PM
Hi All,
What is the problem in following code? i am not able to open file
Data Declaration
DATA: L_FILENAME TYPE STRING value '/data/testdt.txt'.
DATA L_TEXT(50).
Opening the File
OPEN DATASET L_FILENAME FOR OUTPUT IN text mode
MESSAGE L_TEXT ENCODING DEFAULT.
Transferring Data
LOOP AT I_OUT INTO WA_OUT.
TRANSFER WA_OUT-KUNNR TO L_FILENAME.
ENDLOOP.
Closing the File
CLOSE DATASET L_FILENAME.
Thanks in Advance
‎2009 Sep 30 2:53 PM
Hello,
Do you have authorisation to write to the folder?
Before OPEN DATASET check the auth. using the auth. object S_DATASET.
DATA: L_FILENAME TYPE STRING value '/data/testdt.txt',
L_REPID TYPE SY-REPID.
L_REPID = SY-REPID.
DATA L_TEXT(50).
AUTHORITY-CHECK OBJECT 'S_DATASET'
ID 'PROGRAM' FIELD L_REPID
ID 'ACTVT' FIELD '34' "-->Write Access
ID 'FILENAME' FIELD L_FILENAME. "#EC *
IF SY-SUBRC NE 0.
* You have no authorization for file &
ENDIF.
* Opening the File
OPEN DATASET L_FILENAME FOR OUTPUT IN text mode
MESSAGE L_TEXT ENCODING DEFAULT.
IF SY-SUBRC EQ 0. "-->Check SY-SUBRC = 0 after OPEN DATASET
* Transferring Data
LOOP AT I_OUT INTO WA_OUT.
TRANSFER WA_OUT-KUNNR TO L_FILENAME.
ENDLOOP.
* Closing the File
CLOSE DATASET L_FILENAME.
ELSE.
ENDIF.
Please check & revert.
BR,
Suhas
‎2009 Sep 30 3:11 PM
‎2009 Sep 30 3:14 PM
Hi,
After the OPEN DATATSET statement, what is the value of L_TEXT?
Regards,
Nick
‎2009 Sep 30 3:15 PM
And what exactly do you mean by "i am not able to open file"?
After OPEN DATASET stmt, please check for SY-SUBRC & revert back.
BR,
Suhas
‎2009 Sep 30 3:16 PM
‎2009 Sep 30 3:18 PM
I just wrote this (resembles your program)
* Data Declaration
DATA: L_FILENAME TYPE STRING value '/tmp/testdt.txt'.
data: l_text(100).
DATA: begin of wa_out,
kunnr like kna1-kunnr,
end of wa_out.
* Opening the File
OPEN DATASET L_FILENAME FOR OUTPUT IN text mode
MESSAGE L_TEXT ENCODING DEFAULT.
* Transferring Data
wa_out-kunnr = '123456'.
TRANSFER WA_OUT-KUNNR TO L_FILENAME.
* Closing the File
CLOSE DATASET L_FILENAME.
and it works.
How do you check whether the file is being created? Do you read it back in? Or look at AL11?
Edited by: jon davies on Sep 30, 2009 4:19 PM
‎2009 Sep 30 3:25 PM
‎2009 Sep 30 3:26 PM
‎2009 Sep 30 3:36 PM
‎2009 Sep 30 2:55 PM
‎2009 Sep 30 2:57 PM
‎2009 Sep 30 2:58 PM
Hi,
i do it like this:
DATA: DATEI_OUT(30) TYPE C VALUE '/data/testdt.txt'.
*
OPEN DATASET DATEI_OUT
FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
Try here to check the SY-SUBRC, perhaps you get an OPEN-Error
LOOP AT IT_BEDNR_X INTO WA_BEDNR_X.
TRANSFER WA_BEDNR_X TO DATEI_OUT.
ENDLOOP.
CLOSE DATASET DATEI_BEDNR.
and it workd OK
Regards, Dieter