Application Development 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: 

regarding read_text

Former Member
0 Kudos

hi

iam using read_text FM to pass text to script

iam facing problem regarding tdname

tdname is the combination of RFQ no and ITEM NO

but in my sap script only one text is repeating i.e of first line item 60000006950010 i.e JET TYPE to other line item also where text is different for other line item i.e for 60000006950020 and 60000006950030

so my question how to pass this different combination of RFQ no and ITEM NO

to tdname

here is my coding pls chechk whether it is correct

REPORT ZLALI.

tables : ekko,ekpo.

data: begin of itab occurs 0,

ebeln like ekko-ebeln,

aedat like ekko-aedat,

angdt like ekko-angdt,

lifnr like ekko-lifnr,

bsart like ekko-bsart,

matnr like ekpo-matnr,

ebelp like ekpo-ebelp,

maktx like makt-maktx,

ktmng like ekpo-ktmng,

lmein like ekpo-lmein,

TXZ01 like ekpo-TXZ01,

name1 like lfa1-name1,

adrnr like lfa1-adrnr,

telf1 like lfa1-telf1,

telfx like lfa1-telfx,

WERKS LIKE EKPO-WERKS,

EINDT LIKE EKET-EINDT,

LINESX LIKE TLINE-TDLINE,

  • TDNAME like stxh-tdname,

*

end of itab.

data : begin of itab1 occurs 0,

TDOBJECT like STXH-TDOBJECT,

tdname like stxh-tdname,

tdid like stxh-tdid,

end of itab1.

data: testfld like thead,

li like tline-tdline,

tdname like thead-tdname.

data: begin of linesx occurs 0.

include structure tline.

DATA: end of linesx.

******************************************************************************************

selection-screen : begin of block b1 with frame title text-001.

select-options: ebeln for ekko-ebeln,

lifnr for ekko-lifnr,

werks for ekpo-werks.

selection-screen:end of block b1.

******************************************************************************************

select ebeln lifnr aedat angdt

into (itab-ebeln,itab-lifnr,itab-aedat,itab-angdt)

from ekko

where ebeln in ebeln

and lifnr in lifnr

and bsart = 'AN'

and ekorg in ('9600','9500')

and ekgrp in ('951','952','953','954','955','956','957','961','962','964','965','966').

select ebeln matnr ebelp ktmng lmein aedat werks TXZ01 into (ITAB-ebeln ,ITAB-matnr,ITAB-ebelp,ITAB-ktmng,ITAB-lmein,ITAB-aedat,itab-werks,itab-TXZ01)

from ekpo

where ebeln in ebeln

and werks in werks.

select single maktx into ITAB-maktx

from makt

where matnr = ITAB-matnr.

select LIFNR name1 adrnr telf1 telfx into (itab-lifnr,itab-name1,itab-adrnr,itab-telf1,ITAB-telfx)

from lfa1

where lifnr in lifnr.

SELECT SINGLE EINDT INTO ITAB-EINDT

FROM EKET

WHERE EBELN in EBELN.

append ITAB.

clear : ITAB.

endselect.

endselect.

endselect.

LOOP AT ITAB.

concatenate ITAB-ebeln ITAB-ebelp into TDNAME.

CALL FUNCTION 'READ_TEXT'

EXPORTING

CLIENT = SY-MANDT

id = 'A01'

language = 'E'

name = TDNAME

object = 'EKPO'

IMPORTING

HEADER = TESTFLD

tables

lines = linesx

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.

ENDIF.

ENDLOOP.

LOOP AT LINESX.

ITAB-linesx = LINESX-TDLINE.

ENDLOOP.

*

CALL FUNCTION 'OPEN_FORM'

EXPORTING

FORM = 'ZLALIT'

LANGUAGE = SY-LANGU.

LOOP AT ITAB.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'IT2'

WINDOW = 'MAIN'

.

IF sy-subrc <> 0.

ENDIF.

ENDLOOP.

CALL FUNCTION 'CLOSE_FORM' .

IF sy-subrc <> 0.

ENDIF.

1 REPLY 1

Former Member
0 Kudos

Hi Lalith,

Use the following code.

loop at itab.

PERFORM read_txt USING 'A01'.

endloop.

&----


*& Form read_txt

&----


  • text

----


  • -->P_0980 text

----


FORM read_txt USING p_l_tid.

data: t_name type tdname.

REFRESH tlines1.

clear t_name.

concatenate ITAB-ebeln ITAB-ebelp into T_NAME

CALL FUNCTION 'READ_TEXT'

EXPORTING

client = sy-mandt

id = p_l_tid

language = 'E'

name = t_name

object = 'EKPO'

TABLES

lines = tlines1

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.

flag = 1.

ELSEIF sy-subrc = 0.

flag = 0.

LOOP AT tlines1 INTO wa_line1.

t_long_text-tdobname = p_l_tid.

t_long_text-tdline = wa_line1-tdline.

APPEND t_long_text.

ENDLOOP.

ENDIF.

pass t_long_text in script.

It will be helpfull to u.

If helpfull do reward.

Regards

Srimanta