SAPscript-Textbaustein lesen mit Funktionsbaustein READ TEXT und speichern mit SAVE TEXT

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Mit dem Funktionsbaustein READ_TEXT kann man den Inhalt von Standardtexten bzw. SAPscript-Textbausteinen lesen, die in der Transaktion SO10 oder im Beleg, z. B. in der Lieferung, angelegt worden sind.

Der Funktionsbaustein READ_TEXT kann auch das Coding und Metadaten von einem SAPscript-Formular lesen.

SAP verwendet ebenfalls diesen Baustein, um SAPscript-Textbausteine zu lesen oder wenn Textbaustein über Dialogmasken in Smart Forms oder Adobe Interactive Forms angesprochen werden.

Smart Forms Textbausteine werden mit dem Funktionsbaustein SSFRT_READ_TEXTMODULE gelesen.

Muster

CALL FUNCTION 'SAVE_TEXT'
  EXPORTING
"   CLIENT                = SY-MANDT
    HEADER                =
"   INSERT                = ' '
"   SAVEMODE_DIRECT       = ' '
"   OWNER_SPECIFIED       = ' '
"   LOCAL_CAT             = ' '
" IMPORTING
"   FUNCTION              =
"   NEWHEADER             =
  TABLES
    LINES                 =
" EXCEPTIONS
"   ID                    = 1
"   LANGUAGE              = 2
"   NAME                  = 3
"   OBJECT                = 4
"   OTHERS                = 5
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

Coding CALL FUNCTION 'READ_TEXT'

 DATA: ls_vbdkl       TYPE vbdkl,
       lv_tdname      TYPE tdobname,
       lt_tline       TYPE tline_tab,
       ls_tline       TYPE tline. 
... 
 
 lv_tdname = ls_vbdkl-VBELN.

 CALL FUNCTION 'READ_TEXT'
   EXPORTING
     id                      = 'Z015'
     language                = p_iv_spras
     name                    = lv_tdname
     object                  = 'VBBK'   "Lieferungkopf
   TABLES
     lines                   = lt_tline
   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.
   "In itab lt_tline ist der Inhalt des Textbausteins
 ENDIF.

Textbaustein debuggen mit 'READ_TEXT'

  • Setzt man einen Breakpoint an das Ende des Funktionsbausteins READ_TEXT, so lässt sich schön verfolgen welche Standardtexte in einem Formular aufgerufen werden und welchen Key-Schlüssel diese Standardtexte haben
  • mit einem Watchpoint kann man einen bestimmten Textbaustein auch schnell finden und debuggen.

READ TEXT1.jpg


READ TEXT2.jpg


READ TEXT3.jpg


READ TEXT4.jpg


READ TEXT5.jpg


READ TEXT6.jpg

Funktionsbaustein 'SAVE_TEXT'

  • Mit dem Funktionsbaustein SAVE_TEXT lässt sich ein Standard-Textbaustein sowohl ändern als auch neu erstellen.
Data: ls_header type THEAD.
data: lt_lines  type standard table of tline,
      ls_lines  type tline.

 ls_header-tdobject = 'TEXT'. 
 ls_header-tdname   = 'ZTESTTEXTBAUSTEIN'.
 ls_header-tdid     = 'ST'.
 ls_header-tdspras  = 'D'.
 ls_header-tdstyle  = 'Z_STIL'.
 ls_header-tdtitle  = 'Titel des Bausteins'.

 ls_lines-tdformat = '*'.
 ls_lines-tdline   = space.
 append ls_lines to lt_lines.

CALL FUNCTION 'SAVE_TEXT'
  EXPORTING
*   CLIENT                = SY-MANDT
    header                = ls_header
*   INSERT                = ' '
*   SAVEMODE_DIRECT       = ' '
*   OWNER_SPECIFIED       = ' '
*   LOCAL_CAT             = ' '
* IMPORTING
*   FUNCTION              =
*   NEWHEADER             =
  tables
    lines                 = lt_lines
  EXCEPTIONS
    ID                    = 1
    LANGUAGE              = 2
    NAME                  = 3
    OBJECT                = 4
    OTHERS                = 5.
          
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

Web-Links

Literatur