Kopftext im Auftrag füllen

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Kopftext im Auftrag füllen

Beitrag von Cuba (ForumUser / 3 / 0 / 0 ) »
Hallo liebe Experten,

ich verzweifle gerade bei einem Problem, ich hoffe ihr könnt mir dabei weiter helfen.

Beim Anlegen eines SD-Belegs über unseren Webshop wird eine entsprechende Klasse aufgerufen, die verschiedenen Eigenschaften überprüft und entsprechend darauf reagiert.
Innerhalb dieser Klasse habe ich eine Methode implementiert, die anhand der Kriterien einen SO10 Text ausliest (Funktionsbaustein READ_TEXT).
Im Nachgang belege ich dann die Variablen dieses Textes entsprechend und lege die Zeilen in einer internen Tabelle ab.

Im nächsten Schritt müsste ich nun den angepassten Text im SD-Beleg in die Kopftexte schreiben, das bekomme ich allerdings nicht hin.
Ich hab mir schon den BABI_SALESORDER_CHANGE überlegt, aber der braucht ja eine Belegnummer, die ich zu diesem Zeitpunkt noch nicht habe.

Könnt ihr mir weiterhelfen?

Vielen Dank im Voraus!

Code: Alles auswählen.

                     IF sy-subrc = 0.
                       CALL FUNCTION 'READ_TEXT'
                         EXPORTING
                           client    = sy-mandt
                           id        = 'ST'
                           language  = ls_spras
                           name      = ls_name
                           object    = 'TEXT'
*                       IMPORTING
*                          header    = header
                         TABLES
                           lines     = t_lines
                         EXCEPTIONS
                           not_found = 4
                           OTHERS    = 8.

                       IF sy-subrc <> 0.

                       ELSE.

                         LOOP AT t_lines INTO ls_line.
                           IF ls_line CS '&VBAK-VDATU&' .
                             REPLACE '&VBAK-VDATU&' IN ls_line WITH lv_datum.
                           ENDIF.

                          IF ls_line CS '&KNA1-NAME1&' .
                             REPLACE '&KNA1-NAME1&' IN ls_line WITH lv_kna1_ze-name1.
                           ENDIF.

                          IF ls_line CS '&KNA1-STRAS&' .
                             REPLACE '&KNA1-STRAS&' IN ls_line WITH lv_kna1_ze-stras.
                          ENDIF.

                          IF ls_line CS '&KNA1-PSTLZ&' .
                             REPLACE '&KNA1-PSTLZ&' IN ls_line WITH lv_kna1_ze-PSTLZ.
                          ENDIF.

                          IF ls_line CS '&KNA1-ORT01&' .
                             REPLACE '&KNA1-ORT01&' IN ls_line WITH lv_kna1_ze-ort01.
                          ENDIF.

                          IF ls_line CS '&KNA1-TELF1&' .
                             REPLACE '&KNA1-TELF1&' IN ls_line WITH lv_kna1_ze-telf1.
                          ENDIF.

                          append ls_line to lt_lines.

                           ls_order_text-text_id    = 'ZKEI'.
                           ls_order_text-langu      = ls_spras.
                           ls_order_text-text_line  = ls_line-tdline.
                           ls_order_text-format_col = '*'.
                           ls_order_text-function   = '005'.

                           APPEND ls_order_text TO lt_order_text.
                         ENDLOOP.
                       ENDIF.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten



Re: Kopftext im Auftrag füllen

Beitrag von Cuba (ForumUser / 3 / 0 / 0 ) »
Hallo exw,

vielen Dank für den Hinweis.
Entweder bin ich zu doof dafür oder ich seh den Wald vor lauter Bäumen nicht, aber ich kapier's nicht.

Ich hab es mittlerweile auch schon mit dem SAVE_TEXT Baustein versucht, ich komme jedoch trotzdem nicht klar.

Gibt es vllt eine einfache Lösung wie ich den Text in meine Kopftexte bekomme?

Danke!

Code: Alles auswählen.

                             ls_header-TDOBJECT = 'VBBK'.
                             ls_header-TDID = 'ZKEI'.
                             ls_header-TDSPRAS = ls_spras.


                            CALL FUNCTION 'SAVE_TEXT'
                              EXPORTING
*                               CLIENT                = SY-MANDT
                                HEADER                = ls_header
                                INSERT                = 'X'
*                               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.

Re: Kopftext im Auftrag füllen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Den SAVE_TEXT darfst du gar nicht machen.
Du weißt ja die Belegnummer auch nicht, die Bestandteil des Textnamens ist.
du musst dir im Debugger mal den Textkatalog ansehen.
Der Textname ist bei Anlage XXXXXXXXXX für Kopftexte und XXXXXXXXXX000010 für z.B. Positionstext für Pos #10 (glaube ich).
Das heißt, du musst deinen neuen Text mittels INSERT_TEXT einfügen und evtl. in den Textkatalog eintragen (analog zum Löschen aus dem Link).

Re: Kopftext im Auftrag füllen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
ewx hat geschrieben:Den SAVE_TEXT darfst du gar nicht machen.
Der wird beim Verbuchen des Beleges eh ausgeführt.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
1032
Views
Auftrag mit Objekten füllen via Programm
von ichse18577 » 05.11.2019 12:01 • Verfasst in ABAP® für Anfänger
0
Antw.
2399
Views
2
Antw.
21466
Views
Unterschied Workbench Auftrag <> Customizing Auftrag
von strobbel » 31.07.2008 08:49 • Verfasst in SAP - Allgemeines
1
Antw.
2484
Views
In VA01/VA02 Kopftext anpassen
von bapimueller » 27.01.2020 14:42 • Verfasst in Sales and Distribution
9
Antw.
13204
Views

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor 3 Stunden von black_adept 2 / 55
Programm anlegen mit Vorlage
vor 10 Stunden von DeathAndPain 2 / 110
IT0024 Qualifikationen CP-ID
vor 10 Stunden von DeathAndPain 2 / 351
BUSOBJEKT zu CMIS PHIO ermitteln
vor 12 Stunden von snooga87 1 / 84

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 3 Stunden von black_adept 2 / 55
Programm anlegen mit Vorlage
vor 10 Stunden von DeathAndPain 2 / 110
IT0024 Qualifikationen CP-ID
vor 10 Stunden von DeathAndPain 2 / 351
BUSOBJEKT zu CMIS PHIO ermitteln
vor 12 Stunden von snooga87 1 / 84

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 12 Stunden von snooga87 1 / 84
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3260
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821