2008 Jan 04 6:52 AM
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
2008 Jan 04 7:03 AM
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.
2008 Jan 04 10:13 AM
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 .
--
*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
2008 Jan 04 11:26 AM
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.
2008 Jan 04 11:31 AM
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
2008 Jan 04 7:03 AM
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..........
2008 Jan 04 7:04 AM
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