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

Problem to concatenate when using function READ_TEXT

Former Member
0 Likes
1,583

Dear All,

I'm newbie in ABAP. I'm developing a report that display long text by using function READ_TEXT.

I managed to get those long text by using that function but i am having trouble to display whole text as 1 single line when they have continuated text in next line.

My gathered text have structure like below:

-


tdformat tdline

-


* MONTHLY SERVICE AND INSPECTION OF AHU.

-


/ "1. SENSORS, CLEAN AND RETIGHTEN LOOSE

-


= ONNECTION."

-


/ "2. ELECTRICAL DB, CLEAN PANEL TIGHTEN C

-


= ONNECTION."

-


/ "3. V-BELT, INSPECT TENSION AND WEAR."

-


/ "4. ELECTRICAL MOTOR, INSPECT AND LOG AM

-


= PS READINGS."

-


/ "5.VARIABLE SPEED DRIVE, SIMULATE AND TE

-


= ST RUN. "

-


/ "6. CHILL WATER PUMP AND ACTUATOR, SIMUL

-


= ATE AND TEST RUN."

-


/ "7. COOLING COIL, INSPECT AND LOG AIR FL

-


= OW READINGS."

-


/ "8. DRAIN LINE AND PAN, VACUUM THE DRAIN

-


= LINE REMOVE BLOCKAGES."

-


/ 9. INSPECT AHU BODY OVERALL CONDITION.

-


/ "10. AHU FILTER, CLEAN OR REPLACE DIRTY FILTERS."

-


/ "11. BLOWER, INSPECT OPR AND REPORT ANY ABNORMAL CONDITION."

-


My coding as below:

REFRESH: ta_ltext.

call function 'READ_TEXT'

EXPORTING

id = 'AVOT' "Transaction Text

language = 'E' "Language

name = tp_pmname

object = 'AUFK' "Order Text

TABLES

lines = ta_ltext

EXCEPTIONS

id = 1

language = 2

name = 3

not_found = 4

object = 5

reference_check = 6

wrong_access_to_archive = 7

others = 8.

if sy-subrc = 0.

loop at ta_ltext where tdline NE space.

check ta_ltext-tdformat NE '*'.

ta_ltext2-tdline = ta_ltext-tdline.

append ta_ltext2.

endloop.

My current display output as below. It display exactly like what inside the table. I tried to concatenate next line but only a few lines was working, others I still failed to merge their continuated texts.

MONTHLY SERVICE AND INSPECTION OF AHU.

"1. SENSORS, CLEAN AND RETIGHTEN LOOSE CONNECTION."

"2. ELECTRICAL DB, CLEAN PANEL TIGHTEN CONNECTION."

"3. V-BELT, INSPECT TENSION AND WEAR."

"4. ELECTRICAL MOTOR, INSPECT AND LOG AM

PS READINGS."

"5.VARIABLE SPEED DRIVE, SIMULATE AND TE

ST RUN. "

"6. CHILL WATER PUMP AND ACTUATOR, SIMUL

ATE AND TEST RUN."

"7. COOLING COIL, INSPECT AND LOG AIR FL

OW READINGS."

"8. DRAIN LINE AND PAN, VACUUM THE DRAIN

LINE REMOVE BLOCKAGES."

9. INSPECT AHU BODY OVERALL CONDITION.

"10. AHU FILTER, CLEAN OR REPLACE DIRTY

FILTERS."

"11. BLOWER, INSPECT OPR AND REPORT ANY

ABNORMAL CONDITION."

I suppose to display output as below:

MONTHLY SERVICE AND INSPECTION OF AHU.

"1. SENSORS, CLEAN AND RETIGHTEN LOOSE CONNECTION."

"2. ELECTRICAL DB, CLEAN PANEL TIGHTEN CONNECTION."

"3. V-BELT, INSPECT TENSION AND WEAR."

"4. ELECTRICAL MOTOR, INSPECT AND LOG AMPS READINGS."

"5.VARIABLE SPEED DRIVE, SIMULATE AND TEST RUN. "

"6. CHILL WATER PUMP AND ACTUATOR, SIMULATE AND TEST RUN."

"7. COOLING COIL, INSPECT AND LOG AIR FLOW READINGS."

"8. DRAIN LINE AND PAN, VACUUM THE DRAIN

LINE REMOVE BLOCKAGES."

9. INSPECT AHU BODY OVERALL CONDITION.

"10. AHU FILTER, CLEAN OR REPLACE DIRTY FILTERS."

"11. BLOWER, INSPECT OPR AND REPORT ANY ABNORMAL CONDITION."

Anyone, appreciate if you could give me a help, please..

Thank u in advance.

2 REPLIES 2
Read only

Former Member
0 Likes
941

Hi,

Here is one way you can try:


DATA: wa_ltext     TYPE tline,
      current_line TYPE i,
      prev_line    TYPE i.

LOOP AT ta_ltext WHERE tdline NE space.
  CASE ta_ltext-tdformat.
    WHEN '='.
      prev_line = sy-tabix - 1.
      READ TABLE ta_ltext INTO wa_ltext INDEX prev_line.
      IF sy-subrc = 0.
        CONCATENATE wa_ltext-tdline ta_ltext-tdline
               INTO ta_ltext2-tdline.
        MODIFY ta_ltext2 INDEX current_line.
      ENDIF.
    WHEN OTHERS.
      ta_ltext2-tdline = ta_ltext-tdline.
      APPEND ta_ltext2.
      current_line = sy-tabix.
  ENDCASE.
ENDLOOP.

Best Regards,

Jamie

Read only

Former Member
0 Likes
941

thank u for your reply.

Problem solved already. Thanks