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

regarding READ_TEXT for long text

Former Member
0 Likes
2,681

dear all.

i m working on ALV report for QM03 defect details.

i want to read long description text from the screen. i have used function READ_TEXT..as below..but i m not getting any text in the output..how to read tht specific text into an output field ?

i m using table QMEL for rest of the details in the report..

pls help me..

CALL FUNCTION 'READ_TEXT'

EXPORTING

CLIENT = SY-MANDT

ID = LTQM

LANGUAGE = 'E'

NAME =

OBJECT = QMEL

ARCHIVE_HANDLE = 0

LOCAL_CAT = ' '

IMPORTING

HEADER =

TABLES

LINES =

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.

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

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

jigar

dear all.

i m working on ALV report for QM03 defect details.

i want to read long description text from the screen. i have used function READ_TEXT..as below..but i m not getting any text in the output..how to read tht specific text into an output field ?

i m using table QMEL for rest of the details in the report..

pls help me..

CALL FUNCTION 'READ_TEXT'

EXPORTING

CLIENT = SY-MANDT

ID = LTQM

LANGUAGE = 'E'

NAME =

OBJECT = QMEL

ARCHIVE_HANDLE = 0

LOCAL_CAT = ' '

IMPORTING

HEADER =

TABLES

LINES =

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.

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

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

jigar

6 REPLIES 6
Read only

arpit_shah
Contributor
0 Likes
1,715

try like this,

i m giving one exmplal for PO text in material master.

FORM GET_POTEXT CHANGING SA like ISTR.

DATA : V_TDNAME LIKE STXL-TDNAME,

V_TDOBJECT LIKE STXL-TDOBJECT,

V_TDID LIKE STXL-TDID,

V_TDSPRAS LIKE STXL-TDSPRAS,

VAR_TDNAME LIKE STXL-TDNAME.

DATA : WLINE LIKE TLINE.

DATA : TTAB LIKE STANDARD TABLE OF WLINE.

VAR_TDNAME = SA-matnr.

SELECT SINGLE TDNAME TDOBJECT TDID TDSPRAS

INTO (V_TDNAME,V_TDOBJECT,V_TDID,V_TDSPRAS)

FROM STXH

WHERE TDNAME = VAR_TDNAME

and TDOBJECT = 'MATERIAL'

  • and TDID = 'BEST'

and TDSPRAS = SY-LANGU.

  • ENDSELECT.

  • headdata-purchase_view = 'X'.

*WRITE: / V_TDNAME , V_TDOBJECT, V_TDID,V_TDSPRAS.

IF SY-SUBRC EQ 0.

CALL FUNCTION 'READ_TEXT'

EXPORTING

*CLIENT = SY-MANDT

ID = V_TDID

LANGUAGE = V_TDSPRAS

NAME = V_TDNAME

OBJECT = V_TDOBJECT

  • ARCHIVE_HANDLE = 0

  • LOCAL_CAT = ' '

  • IMPORTING

  • HEADER =

TABLES

LINES = TTAB

  • 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.

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

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

ENDIF.

LOOP AT TTAB INTO WLINE.

CONCATENATE SA-TDLINE WLINE-TDLINE INTO SA-TDLINE.

ENDLOOP.

ENDIF.

ENDFORM.

Read only

0 Likes
1,715

thx...

but still my data is not poppulating....

pls chk my code if u can get something pl reply...

&----


&

*TITLE : *

*AUTHOR : JIGAR PATEL- EIL *

*DATE : 03/10/2007 *

*TYPE : ONLINE *

*PURPOSE : *

*USER :

*Modified :

----


REPORT ZPP_TEST01 .

TYPE-POOLS: SLIS.

DATA: G_REPID LIKE SY-REPID,

GS_PRINT TYPE SLIS_PRINT_ALV,

GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,

GT_EVENTS TYPE SLIS_T_EVENT,

GT_SORT TYPE SLIS_T_SORTINFO_ALV,

GS_LAYOUT TYPE SLIS_LAYOUT_ALV,

GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

FIELDCAT_LN LIKE LINE OF GT_FIELDCAT,

COL_POS TYPE I.

gs_layout-zebra = 'X'.

DATA: gs_variant LIKE disvariant,

  • g_repid LIKE sy-repid,

g_save.

TABLES :QMEL , LFA1.

DATA : BEGIN OF ITAB OCCURS 0,

TRANSPORTER like TLINE-TDLINE,

QMNUM LIKE QMEL-QMNUM,

QMART LIKE QMEL-QMART,

QMTXT LIKE QMEL-QMTXT,

QMDAT LIKE QMEL-QMDAT,

MATNR LIKE QMEL-MATNR,

LIFNUM LIKE QMEL-LIFNUM,

MAWERK LIKE QMEL-MAWERK,

QMGRP LIKE QMEL-QMGRP,

QMCOD LIKE QMEL-QMCOD,

name1 like lfa1-name1,

END OF ITAB.

DATA:

wa_bkpf TYPE itab.

*DATA : ITAB LIKE ITAB OCCURS 0 WITH HEADER LINE.

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

*select-options : Notificn like qmel-qmnum.

select-options : notificn for qmel-qmnum .

select-options : not_type for qmel-qmart .

select-options : Date for qmel-qmdat .

*parameters : not_type like qmel-qmart.

*parameters : Date like qmel-qmdat.

SELECTION-SCREEN : END OF BLOCK B1 .

--


Authorization Check--

*call function 'Z_AUTHORIZATION_CHECK'

  • EXPORTING

  • p_bukrs = company.

*if sy-subrc = 0.

*endif.

----


select qmnum qmart qmtxt qmdat matnr lifnum mawerk qmgrp qmcod from QMEL

into (itab-qmnum, itab-qmart, itab-qmtxt, itab-qmdat, itab-matnr, itab-lifnum, itab-mawerk, itab-qmgrp, itab-qmcod)

where qmnum in Notificn AND

QMART in not_type AND

QMDAT in DATE.

select name1 from lfa1 into itab-name1

where lifNR = itab-lifnum.

*endselect.

append itab.

endselect.

endselect.

*______________________________________________________________

DATA : V_TDNAME LIKE STXL-TDNAME,

V_TDOBJECT LIKE STXL-TDOBJECT,

V_TDID LIKE STXL-TDID,

V_TDSPRAS LIKE STXL-TDSPRAS,

VAR_TDNAME LIKE STXL-TDNAME.

*DATA : WLINE LIKE TLINE.

data : WLINE LIKE TLINE OCCURS 0 WITH HEADER LINE.

*DATA : TTAB LIKE STANDARD TABLE OF WLINE.

SELECT SINGLE TDNAME TDOBJECT TDID TDSPRAS

INTO (V_TDNAME,V_TDOBJECT,V_TDID,V_TDSPRAS)

FROM STXH

WHERE TDNAME = ITAB-QMNUM AND

TDNAME = VAR_TDNAME

and TDOBJECT = 'QMEL'

and TDSPRAS = SY-LANGU .

*andTDID = 'LTQM'.

WRITE: / V_TDNAME , V_TDOBJECT, V_TDID,V_TDSPRAS.

*IF SY-SUBRC EQ 0.

CALL FUNCTION 'READ_TEXT'

EXPORTING

*CLIENT = SY-MANDT

ID = V_TDID

LANGUAGE = V_TDSPRAS

NAME = V_TDNAME

OBJECT = V_TDOBJECT

*ARCHIVE_HANDLE = 0

*LOCAL_CAT = ' '

*IMPORTING

*HEADER =

*TABLES

*LINES = TTAB

TABLES

LINES = WLINE

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.

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

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

ENDIF.

*LOOP AT TTAB INTO WLINE.

*CONCATENATE SA-TDLINE WLINE-TDLINE INTO SA-TDLINE.

*ENDLOOP.

loop at WLINE.

*clear BOXES1-TDFORMAT.

*append boxes1 to boxes.

move WLINE-TDLINE to ITab-TRANSPORTER.

MODIFY ITab.

if not ITab-TRANSPORTER is initial.

exit.

endif.

endloop.

*ENDIF.

*ENDFORM.

*CALL FUNCTION 'READ_TEXT'

  • EXPORTING

  • CLIENT = SY-MANDT

  • ID = LTQM

  • LANGUAGE = 'E'

  • NAME =

  • OBJECT = QMEL

  • ARCHIVE_HANDLE = 0

  • LOCAL_CAT = ' '

  • IMPORTING

  • HEADER =

  • TABLES

  • LINES =

  • 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.

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

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

**ENDIF.

*

*______________________________________________________________

PERFORM BUILD.

PERFORM EVENTTAB_BUILD CHANGING GT_EVENTS.

PERFORM COMMENT_BUILD CHANGING GT_LIST_TOP_OF_PAGE.

PERFORM CALL_ALV.

*& Form BUILD

&----


  • text

----


FORM BUILD.

DATA: FIELDCAT_IN TYPE SLIS_FIELDCAT_ALV.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'QMNUM'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Notification'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'QMDAT'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Notification Date'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'QMART'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Notification type'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'MATNR'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Material code'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'QMTXT'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Material Desc.'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'QMGRP'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Code grp'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'QMCOD'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Codding'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'TRANSPORTER'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Defect Desc.'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'MAWERK'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Plant for material'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'LIFNUM'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Vendor Code'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-FIELDNAME = 'NAME1'.

FIELDCAT_LN-TABNAME = 'ITAB'.

*FIELDCAT_LN-NO_OUT = 'X'.

FIELDCAT_LN-SELTEXT_L = 'Vendor Name'.

APPEND FIELDCAT_LN TO GT_FIELDCAT.

g_repid = sy-repid.

gs_variant-report = g_repid.

g_save = 'A'.

ENDFORM. "BUILD

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

FORM EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.

CONSTANTS:

GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.

*GC_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.

DATA: LS_EVENT TYPE SLIS_ALV_EVENT.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = LT_EVENTS.

READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE

INTO LS_EVENT.

IF SY-SUBRC = 0.

MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.

APPEND LS_EVENT TO LT_EVENTS.

ENDIF.

ENDFORM. "EVENTTAB_BUILD

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

FORM COMMENT_BUILD CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.

DATA: GS_LINE TYPE SLIS_LISTHEADER.

CLEAR GS_LINE.

GS_LINE-TYP = 'S'.

  • GS_LINE-KEY = 'DATE :'.

  • GS_LINE-INFO = SY-DATUM.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

ENDFORM. "COMMENT_BUILD

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

FORM TOP_OF_PAGE.

  • CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

  • EXPORTING

  • IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.

  • WRITE: SY-DATUM, 'Page No', SY-PAGNO LEFT-JUSTIFIED.

*ALV Header declarations

data: t_header type slis_t_listheader,

wa_header type slis_listheader,

t_line like wa_header-info,

ld_lines type i,

ld_linesc(10) type c.

  • Title

wa_header-typ = 'H'.

wa_header-info = 'ENERCON INDIA LTD.'.

append wa_header to t_header.

clear wa_header.

  • Title

  • wa_header-typ = 'H'.

  • wa_header-info = 'Service Entry Sheet Details Report'.

  • append wa_header to t_header.

  • clear wa_header.

    • Date

  • wa_header-typ = 'S'.

  • wa_header-key = 'Date: '.

  • CONCATENATE sy-datum+6(2) '.'

  • sy-datum+4(2) '.'

  • sy-datum(4) INTO wa_header-info. "todays date

  • append wa_header to t_header.

  • clear: wa_header.

*CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

  • EXPORTING

  • I_LOGO = 'EIL' "'ENJOYSAP_LOGO'

  • IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.

call function 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = t_header.

  • i_logo = 'Z_LOGO'.

  • CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

  • EXPORTING

  • IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.

  • WRITE: SY-DATUM, 'Page No', SY-PAGNO LEFT-JUSTIFIED.

ENDFORM. "TOP_OF_PAGE

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

FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

  • Check function code

CASE r_ucomm.

WHEN '&IC1'.

  • Check field clicked on within ALVgrid report

IF rs_selfield-fieldname = 'qmnum'.

  • Read data table, using index of row user clicked on

READ TABLE itab INDEX rs_selfield-tabindex.

  • Set parameter ID for transaction screen field

  • SET PARAMETER ID 'BES' FIELD wa_ekko-VBELN.

  • Sxecute transaction ME23N, and skip initial data entry screen

CALL TRANSACTION 'qm03' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM.

FORM CALL_ALV.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = G_REPID

I_STRUCTURE_NAME = 'ITAB'

IS_LAYOUT = GS_LAYOUT

i_save = g_save

is_variant = gs_variant

IT_FIELDCAT = GT_FIELDCAT[]

IT_SORT = GT_SORT[]

IT_EVENTS = GT_EVENTS[]

IS_PRINT = GS_PRINT

TABLES

T_OUTTAB = ITAB

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

ENDFORM. "CALL_ALV

Read only

0 Likes
1,715

Hi,

It works fine for me.

You need to pass the rite data into the FM read_text.

Here is the sample code:

data: itab type table of tline,

wa type tline.

CALL FUNCTION 'READ_TEXT'

EXPORTING

  • CLIENT = SY-MANDT

id = 'LTQM'

language = 'D'

name = '000000000274'

object = 'QMEL'

  • ARCHIVE_HANDLE = 0

  • LOCAL_CAT = ' '

  • IMPORTING

  • HEADER =

tables

lines = itab

  • 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.

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

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

ENDIF.

loop at itab into wa.

write:/1 wa-tdline.

endloop.

try and execute this. it works fine.

Read only

0 Likes
1,715

And also I guess you are passing the parameters OBJECT and TDNAME incorrect.

Check it out.

go to the long text editor and say, goto---> header.

It will give you the details of the TEXTID,TEXT OBJECT, TEXT NAME, AND LANGUAGE

That is what you need to pass in the READ_TEXT FM

Reward points if helpful.

Thanks,

Arul

Read only

Former Member
0 Likes
1,715

i have used following code and its working fine....

CALL FUNCTION 'READ_TEXT'

EXPORTING

id = '0001'

language = sy-langu

name = '0000002400'

object = 'KNA1'

TABLES

lines = lit_lines

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.

MESSAGE ID SY-MSGID TYPE SY-MSGTY number SY-MSGNO

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

ENDIF.

reward points if useful..........

Read only

Peter_Lintner
Participant
0 Likes
1,715

Hi Jigar!

You've to fill the name parameter with the name of the text.

The name normally is the key of the object (I'm not a QM-specialist). You may find the name/key in the table STXH searching with transation SE16 for TDOBJECT 'QMEL' and TDID 'LTQM'.

I think there is a syntax failure in your statement

ID = LTQM --> ID = 'LTQM'

Hope this helps!

Thanks for rewarding points, if the answer was helpful!

Peter