cancel
Showing results for 
Search instead for 
Did you mean: 

Long Texts Truncating in Open ODS Table

former_member541575
Participant
0 Kudos
259

Hi,

I have extracted Notification Long Texts from ECC to BW, the Long Texts for Notifications is storing in Different Rows i mean, For Example Notification 100 there are suppose 7 Rows extracting from ECC to BW which has 7 Lines of Long Texts in 7 Rows and i need to concatenate all these 7 Lines of Long Texts in single Row while storing data in Open ODS Table i have written the logic in End Routine to concatenate all these rows for a Notification into Single row but while storing Long text into Open ODS table it's Truncating after certain Length.

I have debug the routine and also it's truncating during filling Internal table after certain length approx. 130 Char.

I am using String Data type with No Restriction in length to Store Long Texts but still it's truncating after storing in Table.

is there a way to store Long Texts upto 45000 Chars Length in Table.

Regards

Atul Mohan Mishra

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member541575
Participant
0 Kudos

Sorry Frederic, Typo mistake

former_member541575
Participant
0 Kudos

Yes Fedric, i am using Advanced DSO.

Just to update i am using Info Object for Long Text which has Data Element RSSTRING , data Type String (CLOB) which don't have any length Restriction in SAP BW7.5

below is the End Routine Code

SORT RESULT_PACKAGE BY /bic/zkey /bic/zcount_n.

count = 0.

LOOP AT RESULT_PACKAGE ASSIGNING <result_fields> .

curr_noti = <result_fields>-/bic/zkey.

IF ( prev_noti EQ '' OR prev_noti EQ curr_noti ). "Curr_Noti means Current Notification in Loop

tline = <result_fields>-/bic/zbi_txtl1.

CONCATENATE long_text tline INTO long_text.

<result_fields>-/bic/zbi_txtl1 = long_text.

count = <result_fields>-/bic/zcount_n.

count1 = count - 1.

APPEND <result_fields> TO tb_output.

DELETE tb_output WHERE counter EQ count1. " Deleting Previous Record for Same Notification

prev_noti = <result_fields>-/bic/zkey.

CLEAR: tline.

ELSE.

count = 1.

tline = <result_fields>-/bic/zbi_txtl1.

CONCATENATE long_text tline INTO long_text.

<result_fields>-/bic/zbi_txtl1 = long_text.

APPEND <result_fields> TO tb_output.

prev_noti = <result_fields>-/bic/zkey.

CLEAR: tline.

ENDIF.

ENDLOOP.

REFRESH RESULT_PACKAGE.

RESULT_PACKAGE[] = tb_output[].

Regards

Atul

FCI
Active Contributor
0 Kudos

AT which instruction, the string got truncated ?

FCI
Active Contributor
0 Kudos

I guess you meant Advanced DSO (as open DSO do not store any data).

The max length for a characteristic is 250 chars. In a DSO you can't have a field of more than 250. Your 130 limit is curious, can you send us your end routine ?

You can store XXL attributes on infoObject but the problem is then to be able to use them at the report level (not all tools are able to manage them).

Regards,

Frederic