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: 

How to get Long text in CJ20n

csyadlapalli
Explorer
0 Kudos
3,763

Hi,

I need to get the long text that we maintained in CJ20n tcode under long text at project level. I need to display the same in Script layout or report. I didnot find any table or functional module to get it. please help me out.

regards,

Chandra

1 ACCEPTED SOLUTION

former_member223537
Active Contributor
0 Kudos
818

use FM READ_TEXT.

3 REPLIES 3

former_member223537
Active Contributor
0 Kudos
819

use FM READ_TEXT.

Former Member
0 Kudos
818

Hi

Double click on the Long text, it will take you to Text editor

from the Menu GOTO-> HEADER

you will find the OBJECT,ID,OBJECTNAME and LANGUAGE parameters for that lang text which are to be passed to the READ_TEXT fun module

for displaying it on report use the above fun module and fetch the text in IT_LINES internal table and write it on report output

You can also see the doc of the read_text

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

IN SCRIPTS you can use the INCLUDE statement to print the Long texts

/: INCLUDE TEXT<name> ID <id> Lang <en> paragraph <za>

Regards

Anji

Former Member
0 Kudos
818

This is how u can derive the text name -

1. If the obvject is a project , then go to table PROJ , pass the Project definition ( PROJ-PSPNR) and get the Object Number of the same. Now from the Object number remove the First Twio characters. Example - if your PROJ-OBJNR is like

PR00000180 then take 00000180. then concatenate 'D' with it. So your TDNAME will be D00000180. the reason for making it D is here Project object types = Project definition. ( refer to Domain PS_OBTYP).

2. If it is a WBS element, then start from table PRPS. Derive the Object number ( PRPS-OBJNR). Remove the First Two characters in the same way. But in this case you will have to concatenate 'E'. E is for WBS element. ( refer to Domain PS_OBTYP).

You can verify this by puttiing a Break-point on READ_TEXT. When you try to view the Long text via CJ20N, it will stop here and u ll be able to validate the name.

Call Function module READ_TEXT and use -

TDID = 'LTXT'

OBJECT = 'PMS'

NAME - as described above,

You will get theText lines.