Funktionsbaustein EDIT TEXT

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Mit dem Funktionsbaustein EDIT_TEXT lässt sich ein SAP-Standardtextbaustein vom User ändern.

Man kann so dem Fachbereich eine komfortable Möglichkeit zur Verfügung stellen, auch im Produktivsystem Texte zu ändern, und gleichzeitig auch flexible Berechtigungssterung dafür bereitstellen. Oft wird hier unterschieden werden, dass man Anwender Texte ändern/erstellen können, während andere sich nur Texte anzeigen lassen dürfen.

Muster

CALL FUNCTION 'EDIT_TEXT'
  EXPORTING
"   DISPLAY             = ' '
"   EDITOR_TITLE        = ' '
    HEADER              =
"   PAGE                = ' '
"   WINDOW              = ' '
"   SAVE                = 'X'
"   LINE_EDITOR         = ' '
"   CONTROL             = ' '
"   PROGRAM             = ' '
"   LOCAL_CAT           = ' '
" IMPORTING
"   FUNCTION            =
"   NEWHEADER           =
"   RESULT              =
  TABLES
    LINES               =
" EXCEPTIONS
"   ID                  = 1
"   LANGUAGE            = 2
"   LINESIZE            = 3
"   NAME                = 4
"   OBJECT              = 5
"   TEXTFORMAT          = 6
"   COMMUNICATION       = 7
"   OTHERS              = 8
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

Coding

form fuba_edit_text
  using    piv_name         type tdobname
           piv_tdtitle      type tdtitle
           piv_berechtigt   type xfeld.

  data: lv_display  type xfeld,
        ls_header   type thead,
        ls_header2  type thead,
        ls_result   type itcer,
        ls_itced    type itced.

  ls_header-tdname     = piv_name.     "Name Textbaustein
  ls_header-tdtitle    = piv_tdtitle.  "Kurzbezeichnung des Textbausteins
  ls_header-tdid       = gc_id.        "'ST'
  ls_header-tdspras    = gc_language.  "'D'
  ls_header-tdobject   = gc_object.    "'TEXT'
  ls_header-tdstyle    = gc_style.     "'Z_SERIEN'.
  ls_header-tdlinesize = 132.

* Abhängig von einer Berechtigung wird der Textbaustein nur zur Anzeige oder Editierbarkeit aufgerufen
  if piv_berechtigt = abap_true.
    lv_display = space.  "Editierbarkeit
  else.
    lv_display = 'X'.    "Anzeige
  endif.

  ls_itced-exit_symb = 'Z_FB_IP_EDIT_CALLBACK'.  "Wenn Variablen hinzugefügt werden soll per Button 'Programmsymbole'

* Der Funktionsbaustein EDIT_TEXT wird aufgerufen
  call function 'EDIT_TEXT'
    exporting
      display   = lv_display
     "editor_title = texttitle
      header    = ls_header
      save      = 'X'
      control   = ls_itced
    importing
      function  = lv_function
      newheader = ls_header2
      result    = ls_result
    tables
      lines     = lt_lines.

* Es muss der COMMIT_TEXT gemacht werden, damit der Textbaustein wieder entsperrt wird
  call function 'COMMIT_TEXT'
    exporting
      object          = ls_header-tdobject
      name            = ls_header-tdname
      id              = ls_header-tdid
      language        = ls_header-tdspras
      savemode_direct = 'X'
      keep            = 'X'
      local_cat       = ' '.


Screens vom Standardtextbausteineditor

Ob die alte Layout-Ansicht im SAP-Layout-Ansicht eingestellt ist oder die modernere Word-Layout-Ansicht ist abhängig von einem globalen SAP-Parameter. Der Anwender hat nur die Wahl zwischen der technischen Editorsicht (Inline-Editor), die ausschließlich für Berater und Entwickler interessant ist und der grafischen Layoutoberfläche.

Layout-Editor

CALLBACK1.jpg

Word-Layout-Editor

EDIT TEXT1.jpg


Variablen hinzufügen per Button Programmsymbole

Im Textbaustein will man Variablen hinzufügen und dem Anwender eine Werteliste zur Verfügung stellen, aus der die zulässigen Variablen ausgewählt werden können mittels des Buttons CALLBACK2.jpg.

Dies ist für den Anwender komfortabel und vermindert Fehleingaben. Die Liste aller zulässigen Variablen wird sich oft anbieten über eine Customizingtabelle zu pflegen.


Anlage Funktionsbaustein für Variablenauswahl

Hierzu muss ein Funktionsbaustein angelegt werden, der exakt die folgenden Parameter als Schnittstelle zum Funktionsbaustein EDIT_TEXT hat.

CALLBACK3.jpg

CALLBACK4.jpg

In die Tabelle SYMBOLS wird genau eine Variable ohne führende/schließende & hinzugefügt.

Beispiel Auswahl Variable

Im Funktionsbaustein Z_ Hier wird nun z. B. auf EXCEL-F05 geklickt.

CALLBACK5.jpg


Die Variable wurde übernommen in den Standard-Textbaustein.

CALLBACK6.jpg


Bug Variablenauswahl und OSS-Hinweis 2095290

In der Word-Ansicht des Textbausteins-Editors kann bei der Übernahme der Variable ein Bug sein, der die Übernahme der Variable verhindert. Hier hat im Projekt das Einspielen vom Hinweis 2095290 das Problem behoben.

CALLBACK7.jpg

Report SDTEXTE

  • Der Report SDTEXTE ruft intern auch den Funktionsbaustein EDIT_TEXT auf und bietet die Möglichkeit einen SO10-Standardtextbaustein zu ändern, bzw. neu anzulegen.

OSS-Hinweise

  • 2095290 MS Word in SAPscript: Einfügen von Programmsymbolen

Web-Links

Literatur