[ABAP] Einkaufsbestelltext zum Material auslesen

* https://www.berater-wiki.de/SAPscript-Textbaustein_lesen_mit_Funktionsbaustein_READ_TEXT_und_speichern_mit_SAVE_TEXT
* Texte: Anwendungsobjekt
* siehe SE75
CONSTANTS: co_obj_type TYPE thead-tdobject VALUE 'MATERIAL'. " Materialtexte Einkauf/Lagerung
* Text-ID
* siehe SE75 --> Doppelklick auf Objekt
CONSTANTS: co_obj_id TYPE thead-tdid VALUE 'BEST'. " Einkaufsbestelltext

DATA: it_thead TYPE STANDARD TABLE OF thead WITH DEFAULT KEY.
DATA: it_lines TYPE tline_t.
DATA: it_ascii TYPE tdtab_c132.

* Materialnummer mit führenden Nullen
DATA(lv_matnr) = CONV matnr( '000000001122334455' ).

* erst 'SELECT_TEXT' zur Prüfung aufrufen (ob Text vorhanden)
* 'READ_TEXT' wirft sonst bei Nichtvorhandensein des Textes eine Abbruchmessage
* Texterstellung Text auswählen
CALL FUNCTION 'SELECT_TEXT'
  EXPORTING
    object                  = co_obj_type
    name                    = CONV thead-tdname( lv_matnr )
    id                      = co_obj_id
    language                = sy-langu
  TABLES
    selections              = it_thead   " Textheader der gefundenen Texte
  EXCEPTIONS
    wrong_access_to_archive = 1
    OTHERS                  = 2.

IF sy-subrc = 0.
  IF lines( it_thead ) > 0.
* Texterstellung Text lesen
    CALL FUNCTION 'READ_TEXT'
      EXPORTING
        id                      = co_obj_id
        language                = sy-langu
        name                    = CONV thead-tdname( lv_matnr )
        object                  = co_obj_type
      TABLES
        lines                   = it_lines " Textzeilen des gelesenen Textes
      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.
      IF lines( it_lines ) > 0.
* Textkonvertierung ITF (SAPscript-Format) in ASCII
* Stile und Formatierungen aus SAP-Script-Text entfernen
        CALL FUNCTION 'CONVERT_ITF_TO_ASCII'
          EXPORTING
            formatwidth       = 132
          IMPORTING
            c_datatab         = it_ascii
          TABLES
            itf_lines         = it_lines
          EXCEPTIONS
            invalid_tabletype = 1
            OTHERS            = 2.
        IF sy-subrc = 0.
          cl_demo_output=>write_data( it_thead ).
          cl_demo_output=>write_data( it_lines ).
          cl_demo_output=>write_data( it_ascii ).
          cl_demo_output=>display( ).
        ENDIF.
      ENDIF.
    ENDIF.
  ENDIF.
ENDIF.

[SAP] SAPscript

Transaktionen

SO10 (SAPscript Standardtexte)
SE71 (SAPscript Formular)

  • Formularvergleich: Menü -> Hilfsmittel -> Formulare vergleichen
  • Kopieren: Menü -> Hilfsmittel -> Kopieren von Mandant
  • Druckansicht: Menü -> Hilfsmittel -> Testdruck
  • Formularsuche: Menü -> Formular -> Suchen -> Suche nach Merkmalen

SE72 (SAPscript Stile)
SE75 (SAPscript Einstellungen)

  • Anzeigen und Ändern von Textobjekten + TextIDs, Grafikobjekten, Standardsymbolen

SE78 (Verwaltung von Formulargrafiken)
TXBA (Verwendungsnachweis für Textbausteine)
RECATM (Manage Text Modules)

Tabellen

STXH (STXD SAPscript Text-Datei Header)

  • Formulare suchen: Objekt ‘FORM’, Textname ‘FORMULARNAME’, ID ‘DEF’

TTXID (Zulässige Text-Id’s)
TTXIT (Texte zu Text-Id’s)
TTXOT (Kurztexte zu Textobjekten)
TTXOB (Eigenschaften der Textobjekte)

Reports

RSTXTRAN (Transfer of SAPscript Texts to a Correction)
RSTXSCRP (SAPscript Export to Dataset / SAPscript Import from Dataset)
RSTXPDFT4 (Konvertiere SAPscript (OTF) oder ABAP List Spool Job nach PDF)
RSTXPDFT5 (GUI Download eines Spool-Auftrages)
ICL_TEXTMOD_MAINTAIN (Textbausteine verwalten)

  • beliebige Textobjeke pflegen

SF_MIGRATE (Report zum Migrieren von SAPscript-Formularen)

Links