Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How to convert internal table data to text

Former Member
0 Likes
3,180

data : RES_CONTEN type string.

            • My problem is in inernal table IT_COMM there will be 7 to 8 rows of data is there

when iam sending into Res_content it is showing only last row of IT_COMM

there after iam converting into Ftext, after that iam creating document.

what i have to do get complete data of IT_COMM

is there any standard RFC is ther to convert table to text ?

right now iam getting only last line (total 8 rows )

LOOP AT IT_COMM.

CONCATENATE IT_COMM ' ' INTO RES_CONTENT SEPARATED BY SPACE.

ENDLOOP.

CONLENGTH = STRLEN( RES_CONTENT ) .

CONLENGTHS = CONLENGTH .

CALL FUNCTION 'SCMS_STRING_TO_FTEXT'

EXPORTING

TEXT = RES_CONTENT

TABLES

FTEXT_TAB = TEXT.

TRY.

CLEAR SEND_REQUEST .

SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).

CLEAR DOCUMENT .

DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(

I_TYPE = 'RAW'

I_TEXT = TEXT

I_LENGTH = CONLENGTHS

I_SUBJECT = SUBJECT ).

Thanks in advance

data : RES_CONTEN type string.

            • My problem is in inernal table IT_COMM there will be 7 to 8 rows of data is there

when iam sending into Res_content it is showing only last row of IT_COMM

there after iam converting into Ftext, after that iam creating document.

what i have to do get complete data of IT_COMM

is there any standard RFC is ther to convert table to text ?

right now iam getting only last line (total 8 rows )

LOOP AT IT_COMM.

CONCATENATE IT_COMM ' ' INTO RES_CONTENT SEPARATED BY SPACE.

ENDLOOP.

CONLENGTH = STRLEN( RES_CONTENT ) .

CONLENGTHS = CONLENGTH .

CALL FUNCTION 'SCMS_STRING_TO_FTEXT'

EXPORTING

TEXT = RES_CONTENT

TABLES

FTEXT_TAB = TEXT.

TRY.

CLEAR SEND_REQUEST .

SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).

CLEAR DOCUMENT .

DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(

I_TYPE = 'RAW'

I_TEXT = TEXT

I_LENGTH = CONLENGTHS

I_SUBJECT = SUBJECT ).

Thanks in advance

4 REPLIES 4
Read only

Former Member
0 Likes
1,517

Hi,


LOOP AT IT_COMM.  <<<<
CONCATENATE IT_COMM ' ' INTO RES_CONTENT SEPARATED BY SPACE.


CONLENGTH = STRLEN( RES_CONTENT ) .
CONLENGTHS = CONLENGTH .
CALL FUNCTION 'SCMS_STRING_TO_FTEXT'
EXPORTING
TEXT = RES_CONTENT
TABLES
FTEXT_TAB = TEXT.

TRY.
CLEAR SEND_REQUEST .
SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
CLEAR DOCUMENT .
DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = 'RAW'
I_TEXT = TEXT
I_LENGTH = CONLENGTHS
I_SUBJECT = SUBJECT ).
ENDlOOP.

You should be doing every thing in loop as the lines are getting over written.

Regards,

Himanshu

Read only

Former Member
0 Likes
1,517

Hi China Reddy,

Following is the solution to ur query...already tested.

u can directly download ur internal table to a text file as follows.

Use FM "WS_DOWNLOAD"

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

filename = FILE_NAME " PATH ON THE APPLICATION SERVER ALONG WITH FILE NAME WHERE U WANT TO DOWNLOAD

filetype = 'DAT'

mode = 'A'

TABLES

data_tab = T_FINAL

EXCEPTIONS

file_open_error = 1

file_write_error = 2

invalid_filesize = 3

invalid_type = 4

no_batch = 5

unknown_error = 6

invalid_table_width = 7

gui_refuse_filetransfer = 8

customer_error = 9

no_authority = 10

OTHERS = 11.

USE "C:\TEST.TXT" IN FILE_NAME FOR EXAMPLE .

Hope this resolves ur issue.

Regards,

Akash Rana

Read only

Former Member
0 Likes
1,517

Hi,

Refer to the following code:

    • CALL FUNCTION 'GUI_DOWNLOAD'

    • EXPORTING

    • BIN_FILESIZE = binfile

    • filename = 'D:\MYFILE.txt'

    • FILETYPE = 'BIN'

**

    • tables

    • data_tab = pdftab

    • 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

    • .

    • IF sy-subrc <> 0.

      • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

      • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    • ENDIF.

Read only

Former Member
0 Likes
1,517

Hi,

change the concatenate as below:

LOOP AT IT_COMM.

CONCATENATE RES_CONTENT IT_COMM ' ' INTO RES_CONTENT SEPARATED BY SPACE.

ENDLOOP.

Add RES_CONTENT into the statement.

Cheers,

Srini.