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

read_text as external subroutine

Former Member
0 Likes
752

the Header Text field u201COrder reason externalu201D contains the text u201C2004 Volume Incentive Rebateu201D .

how to get the above header text using external subroutine in sap-scripts.

pls explain with code what to write in Driver program and in se71(i.e.text editor).

below r the header text details:

textname 96804327

language en

text id X001

text object VBBK

thanks in advance

soham.p.

the Header Text field u201COrder reason externalu201D contains the text u201C2004 Volume Incentive Rebateu201D .

how to get the above header text using external subroutine in sap-scripts.

pls explain with code what to write in Driver program and in se71(i.e.text editor).

below r the header text details:

textname 96804327

language en

text id X001

text object VBBK

thanks in advance

soham.p.

4 REPLIES 4
Read only

Former Member
0 Likes
715

Hi Go through this

DATA:g_tdid TYPE thead-tdid VALUE 'X001', "Text ID

g_tdobject TYPE thead-tdobject VALUE 'VBBK'.

"Texts:Application Object

l_gs_thead-tdobject = g_tdobject . "Texts: Application Object

l_gs_thead-tdname = 96804327. "wa_marc-matnr "Name

l_gs_thead-tdid = g_tdid. "Text ID

l_gs_thead-tdspras = sy-langu. "Language Key

  • Function module to read purchasing order text

CALL FUNCTION 'TEXT_READ'

EXPORTING

i_header = l_gs_thead

i_readonly = 'X'

IMPORTING

e_header = l_gs_thead

TABLES

t_lines = it_linetab

EXCEPTIONS

notfound = 1.

Edited by: Ankur Sharma on Dec 8, 2008 1:31 PM

Edited by: Ankur Sharma on Dec 8, 2008 1:33 PM

Read only

Former Member
0 Likes
715

Use FM "READ_TEXT" filling in the details that you have provided with your question.

This should be preferably done in Driver program and a variable up should be used in the script to print the line.

Read only

Former Member
0 Likes
715

Syntax in a form window:


/: PERFORM sub_get_text IN PROGRAM zsub_pool1 
/: USING &INVAR1&
/: CHANGING &OUTVAR1& 
/: ENDPERFORM 

The subroutine:


FORM sub_get_text TABLES IN_TAB STRUCTURE ITCSY 
OUT_TAB STRUCTURE ITCSY. 

 CALL FUNCTION 'READ_TEXT'
   EXPORTING
     id                      = 'X001'
     language                = sy-langu
     name                    = '96804327'
     object                  = 'VBBK'
   TABLES
     lines                   = i_tline
   EXCEPTIONS
     id                      = 1
     language                = 2
     name                    = 3
     not_found               = 4
     object                  = 5
     reference_check         = 6
     wrong_access_to_archive = 7
     OTHERS                  = 8.

loop at i_tline into wa_tline index. 
 OUT_TAB-NAME = 'TEXT'.
 OUT_TAB-VALUE = wa_tline-TDLINE.
append OUT_TAB.
endloop.
ENDFORM. 

Read only

Former Member
0 Likes
715

Hi,

In script:

DEFINE &OBJECT& = &T166A-TDOBJEC&'

DEFINE &ID& := &T166A-TDID&

DEFINE &LANG& := &EKKO-SPRAS&

DEFINE &NAME& := &T166A-TXNAM&

DEFINE &lINE& := &TLINE-TDLINE&

PERFORM GET_TEXT IN PROGRAM <XYZ>

USING &OBJECT&

USING &ID&

USING &NAME&

USING &LANG&

CHANGING &LINE&.

iN PROGRAM:


  DATA: ls_input_table  TYPE itcsy,  "temp var for input table
        ls_output_table TYPE itcsy,  "temp var for output table
        ls_selections   TYPE thead,
        LS_LINE  type tline.

LOOP AT input_table INTO ls_input_table.

    CASE ls_input_table-name.
      WHEN 'ID'.
        ls_selections-tdid     = ls_input_table-value.
      WHEN 'LANG'.
        ls_selections-tdspras  = ls_input_table-value.
      WHEN 'NAME'.
        ls_selections-tdname   = ls_input_table-value.
      WHEN 'OBJECT'.
        ls_selections-tdobject = ls_input_table-value.
      WHEN OTHERS.
    ENDCASE.
  ENDLOOP.

  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      id                      = ls_selections-tdid
      language                = ls_selections-tdspras
      name                    = ls_selections-tdname
      object                  = ls_selections-tdobject
    TABLES
      lines                   = ls_line
    EXCEPTIONS
      id                      = 1
      language                = 2
      name                    = 3
      not_found               = 4
      object                  = 5
      reference_check         = 6
      wrong_access_to_archive = 7
      OTHERS                  = 8.


 ls_output_table-name = 'LINE'.
        ls_output_table-value = ls_line-tdline.
        APPEND ls_output_table TO output_table.

Edited by: Neha Shukla on Dec 8, 2008 7:05 PM