06-21-2007 11:05 AM
hi all,
can anyone plz tell me how to use read_text in sap script. i have used as follows in my print program.how can i define my field in sap script. can anyone help me out when i am using this code i get run time error where is the correct location i have to use in my code i am using it with my select statement.
DATA: BEGIN OF CLITEXT OCCURS 0.
INCLUDE STRUCTURE TLINE.
DATA: END OF CLITEXT.
DATA : W_CLITEXT LIKE TLINE-TDLINE.
LOOP AT IT_HEADER.
CLEAR W_CLITEXT .
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = '0004'
LANGUAGE = SY-LANGU
NAME = SY-UNAME
OBJECT = 'VBBP'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
LINES = CLITEXT
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.
MOVE CLITEXT-TDLINE TO W_CLITEXT .
06-21-2007 11:06 AM
Hi
You are passing Name = SY-UNAME which is wrong
If it is Header text pass the Sales order number if it is Item text concatenate Order number and Item number and pass it to OBJECTNAME field instead of SY-UNAME
READ_TEXT
READ_TEXT provides a text for the application program in the specified work areas.
The function module reads the desired text from the text file, the text memory, or the archive. You must fully specify the text using OBJECT, NAME, ID, and LANGUAGE. An internal work area can hold only one text; therefore, generic specifications are not allowed with these options.
After successful reading, the system places header information and text lines into the work areas specified with HEADER and LINES.
If a reference text is used, SAPscript automatically processes the reference chain and provides the text lines found in the text at the end of the chain. If an error occurs, the system leaves the function module and triggers the exception REFERENCE_CHECK.
Function call:
CALL FUNCTION 'READ_TEXT'
EXPORTING CLIENT = SY-MANDT
OBJECT = ?...
NAME = ?...
ID = ?...
LANGUAGE = ?...
ARCHIVE_HANDLE = 0
IMPORTING HEADER =
TABLES LINES = ?...
EXCEPTIONS ID =
LANGUAGE =
NAME =
NOT_FOUND =
OBJECT =
REFERENCE_CHECK =
WRONG_ACCESS_TO_ARCHIVE =
Export parameters:
CLIENT
Specify the client under which the text is stored. If you omit this parameter, the system uses the current client as default.
Reference field: SY-MANDT
Default value: SY-MANDT
OBJECT
Enter the name of the text object to which the text is allocated. Table TTXOB contains the valid objects.
Reference field: THEAD-TDOBJECT
NAME
Enter the name of the text module. The name may be up to 70 characters long. Its internal structure depends on the text object used.
Reference field: THEAD-TDNAME
ID
Enter the text ID of the text module. Table TTXID contains the valid text IDs, depending on the text object.
Reference field: THEAD-TDID
LANGUAGE
Enter the language key of the text module. The system accepts only languages that are defined in table T002.
Reference field: THEAD-TDSPRAS
ARCHIVE_HANDLE
If you want to read the text from the archive, you must enter a handle here. The system uses it to access the archive. You can create the handle using the function module ACHIVE_OPEN_FOR_READ.
The value '0' indicates that you do not want to read the text from the archive.
Reference field: SY-TABIX
Default value: 0
Import parameters:
HEADER
If the system finds the desired text, it returns the text header in this parameter.
Structure: THEAD
Table parameters:
LINES
The table contains all text lines that belong to the text read.
Structure: TLINE
Exceptions:
ID
The text ID specified in the parameter ID does not exist in table TTXID. It must be defined there together with the object of the text module.
LANGUAGE
The parameter LANGUAGE contains a language key that does not exist in table T002.
NAME
The parameter NAME contains the name of a text module that does not correspond to the SAPscript conventions.
Possible errors:
The field contains only blanks.
The field contains the invalid characters * or ,.
OBJECT
The parameter OBJECT contains the name of a text object that does not exist in table TTXOB.
NOT_FOUND
The system did not find the specified text module.
REFERENCE_CHECK
The text module to be read has no text lines of its own but refers to the lines of another text module. This reference chain can include several levels. For the current text, the chain is interrupted, that is, one of the text modules referred to in the chain no longer exists.
WRONG_ACCESS_ TO_ARCHIVE
The exception WRONG_ACCESS_TO_ARCHIVE is triggered if an archive is accessed using an incorrect or non-existing archive handle or an incorrect mode (that is, read if the archive is open for writing or vice versa).
Reward points for useful Answers
Regards
Anji
Message was edited by:
Anji Reddy Vangala
06-22-2007 9:16 AM
hi,
i have defined my read_text in this manner but still i m not getting the value, now i am not getting the error but value is not displayed.please find the code below
DATA: BEGIN OF IT_HEADER OCCURS 0,
LRTEXT LIKE TLINE-TDLINE,
END OF IT_HEADER.
DATA : TEXTNAME LIKE STXH-TDNAME.
DATA: ITEXT LIKE TLINE OCCURS 0 WITH HEADER LINE.
TEXTNAME = IT_HEADER-VBELN.
LOOP AT IT_HEADER.
PERFORM READ_TEXT TABLES ITEXT USING '0004' 'VBBK' TEXTNAME.
READ TABLE ITEXT INDEX 1.
IF SY-SUBRC EQ 0.
IT_HEADER-LRTEXT = ITEXT-TDLINE.
ENDIF.
FORM READ_TEXT TABLES ITEXT STRUCTURE TLINE
USING P_ID P_OBJ P_NAME.
REFRESH ITEXT.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = P_ID
LANGUAGE = SY-LANGU
NAME = P_NAME
OBJECT = P_OBJ
TABLES
LINES = ITEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
ENDFORM. " READ_TEXT
06-30-2007 6:02 AM