Änderungen Vertriebstext Materialstamm

SAP R/3 Materialwirtschaft: Einkauf, Bestandsführung, Rechnungsprüfung, Inventur, Bewertung, Leistungsabwicklung, Materialstamm...
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Änderungen Vertriebstext Materialstamm

Beitrag von unwissende (ForumUser / 10 / 0 / 0 ) »
Hallo,

ich will über Abap mit dem Funktionsbaustein SAVE_TEXT einen Vertriebstext im Materialstamm ändern. Der Text wird schon geändert aber leider wird kein Änderungsbeleg erzeugt (Umfeld / Änderungen anzeigen).

Hat jemand schon mal das selbe Problem oder kann mir weiterhelfen wie ich die Änderungen für Textfelder dokumentieren kann!

Danke schon mal im Voraus!

Gruß die unwissende

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


Re: Änderungen Vertriebstext Materialstamm

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
unwissende hat geschrieben:Hat jemand schon mal das selbe Problem oder kann mir weiterhelfen wie ich die Änderungen für Textfelder dokumentieren kann!
Du mußt einen Änderungsbeleg schreiben, dies geschiet nicht automatisch.

Ä'nderungsbelege für den Materialstamm werden mit FuBa MATERIAL_WRITE_DOCUMENT erzeugt.
Gruß Hendrik

Beitrag von ewx (Top Expert / 4846 / 311 / 641 ) »
Ich wüsste nicht, dass es da eine Art Änderungshistorie gibt. Es gibt zwar im Text-Header das Feld TDVERSION, aber keine entsprechende Historie.
Beim Vertriebstext im Materialstamm hat man vielleicht noch die Möglichkeit im Userexit selbst Versionen zu erzeugen, in dem man den alten Text von der DB nachliest und dann als TEXTNAMT_V1234 speichert.

Gruß,
Enno

Änderungen Vertriebstext Materialstamm

Beitrag von unwissende (ForumUser / 10 / 0 / 0 ) »
Danke Hendrik ich glaub das ist genau das was ich brauche.
Werde morgen gleich mal den Funktionsbaustein probieren.
In SAP gibt es so viele Funktionsbausteine den richtigen zu finden finde ich da manchmal echt schwer aber MATERIAL_WRITE_DOCUMENT hört sich gut an.

Beitrag von unwissende (ForumUser / 10 / 0 / 0 ) »
Das sind mir die liebsten Funktionsbausteine die keine Doku haben...

Wie muss ich den Funktionsbaustein MATERIAL_WRITE_DOCUMENT befüllen wenn ich nur den Vertriebstext ändern will?
Kann mir hierzu noch mal jemand weiterhelfen!
danke schon mal

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
unwissende hat geschrieben:Wie muss ich den Funktionsbaustein MATERIAL_WRITE_DOCUMENT befüllen wenn ich nur den Vertriebstext ändern will?
Nur um Missverständnissen vorzubeugen: Der FuBa MATERIAL_WRITE_DOCUMENT ändert nicht den Vertriebstext (dies wie programmiert mit SAVE_TEXT realisieren), sondern er schreibt einen Änderungsbeleges vom Typ MATERIAL. Der Funktionsbaustein ist zu diesem Änderungsbeleg generiert, deshalb gibt es auch keine Doku.

Wie er gefüllt werden muss sieht man im debugging. Einfach den Vertriebstext mit der MM02 ändern vor dem speichern das debugging mittels /h einschalten, dann speichern. Im Debugger unter Einstellung das Verbuchungsdebugging einschalten, mit F8 ausführen und warten bis das Verbuchungs debugging gestartet wird. Im Verbuchungsdebugger einen Breakpoint auf den FuBa setzten und wieder F8. Der Debbugger hält im FuBa an, mittels F7 kann man bis an die Aufrufsstelle springen und sich die übergebenen Parameter anschauen.

Als Ergebnis bekommt man in etwa so einen Aufruf mit:

Code: Alles auswählen.

* Testprogramm: Änderungsbelegerstellung für MATERIAL, nur Vertriebstext

REPORT  z_test_material_write_document.

*um die Materialnr an den Änderbelge zu übergeben
DATA: objectid TYPE cdhdr-objectid. 
* um die Textänderungen an den Änderungsbele zu übergeben
DATA: icdtxt_material LIKE cdtxt OCCURS 0,
      icdtxt_material_line LIKE cdtxt.

* Dummytabellen für FuBa-Aufruf, werden alle leer übergeben!
DATA: n_mara LIKE mara,   o_mara LIKE mara,
      n_marc LIKE marc,   o_marc LIKE marc,
      n_mare LIKE mare,   o_mare LIKE mare,
      n_mard LIKE mard,   o_mard LIKE mard,
      n_mbew LIKE mbew,   o_mbew LIKE mbew,
      n_mfhm LIKE mfhm,   o_mfhm LIKE mfhm,
      n_mlgn LIKE mlgn,   o_mlgn LIKE mlgn,
      n_mlgt LIKE mlgt,   o_mlgt LIKE mlgt,
      n_mpgd LIKE mpgd,   o_mpgd LIKE mpgd,
      n_mpop LIKE mpop,   o_mpop LIKE mpop,
      n_mvke LIKE mvke,   o_mvke LIKE mvke,

xdgesv TYPE TABLE OF xdgesv,
ydgesv TYPE TABLE OF xdgesv,
xdmaex TYPE TABLE OF xdmaex,
ydmaex TYPE TABLE OF xdmaex,
xdmakt TYPE TABLE OF xdmakt,
ydmakt TYPE TABLE OF xdmakt,
xdmape TYPE TABLE OF xdmape,
ydmape TYPE TABLE OF xdmape,
xdmarm TYPE TABLE OF xdmarm,
ydmarm TYPE TABLE OF xdmarm,
xdmean TYPE TABLE OF xdmean,
ydmean TYPE TABLE OF xdmean,
xdmkal TYPE TABLE OF xdmkal,
ydmkal TYPE TABLE OF xdmkal,
xdmlan TYPE TABLE OF xdmlan,
ydmlan TYPE TABLE OF xdmlan,
xdprow TYPE TABLE OF xdprow,
ydprow TYPE TABLE OF xdprow,
xdqmat TYPE TABLE OF xdqmat,
ydqmat TYPE TABLE OF xdqmat,
xdungv TYPE TABLE OF xdungv,
ydungv TYPE TABLE OF xdungv.

* Zum testen für verschiedene Materialien
PARAMETERS: p_matnr TYPE matnr,
            p_vkorg TYPE vkorg DEFAULT '0001',
            p_vtweg TYPE vtweg DEFAULT '02'.

START-OF-SELECTION.
* Änderungsstruktur für Text aufbauen:
** TEXT-ID erzeugen
  CONCATENATE sy-mandt "Mandant
              p_matnr  "Material
              p_vkorg  "Verkaufsorganisation
              p_vtweg  "Vertriebsweg
              INTO icdtxt_material_line-teilobjid.
  icdtxt_material_line-textart = '0001'. "Vertriebstext
  icdtxt_material_line-textspr = 'D'.    "Sprache
  icdtxt_material_line-updkz   = 'U'.    " I = Insert, U = Update, D = Delete
  APPEND icdtxt_material_line TO icdtxt_material.

* Matnr umformatieren
  objectid = p_matnr.

* FuBa aufruf
      CALL FUNCTION 'MATERIAL_WRITE_DOCUMENT'
        EXPORTING
          objectid                = objectid   "Material welches geändert wird
          tcode                   = 'MM02'     "Aus welcher Transaktion wird geändert
          utime                   = sy-uzeit   "Änderungszeit
          udate                   = sy-datum   "Änderungsdatum
          username                = sy-uname   "Änderer
          planned_change_number   = ' '
          object_change_indicator = 'U'        "Es findet ein Update des Materials statt
          planned_or_real_changes = 'R'        "direkte Änderung
          no_change_pointers      = ' '
          upd_icdtxt_material     = 'X'        "Nur der Text wird geändert
          upd_dgesv               = ' '
          upd_dmaex               = ' '
          upd_dmakt               = ' '
          upd_dmape               = ' '
          upd_dmarm               = ' '
          upd_dmean               = ' '
          upd_dmkal               = ' '
          upd_dmlan               = ' '
          upd_dprow               = ' '
          upd_dqmat               = ' '
          upd_dungv               = ' '
          n_mara                  = n_mara
          o_mara                  = o_mara
          upd_mara                = ' '
          n_marc                  = n_marc
          o_marc                  = o_marc
          n_mare                  = n_mare
          o_mare                  = o_mare
          upd_marc                = ' '
          n_mard                  = n_mard
          o_mard                  = o_mard
          upd_mard                = ' '
          n_mbew                  = n_mbew
          o_mbew                  = o_mbew
          upd_mbew                = ' '
          n_mfhm                  = n_mfhm
          o_mfhm                  = o_mfhm
          upd_mfhm                = ' '
          n_mlgn                  = n_mlgn
          o_mlgn                  = o_mlgn
          upd_mlgn                = ' '
          n_mlgt                  = n_mlgt
          o_mlgt                  = o_mlgt
          upd_mlgt                = ' '
          n_mpgd                  = n_mpgd
          o_mpgd                  = o_mpgd
          upd_mpgd                = ' '
          n_mpop                  = n_mpop
          o_mpop                  = o_mpop
          upd_mpop                = ' '
          n_mvke                  = n_mvke
          o_mvke                  = o_mvke
          upd_mvke                = ' '
        TABLES
          icdtxt_material         = icdtxt_material
          xdgesv                  = xdgesv
          ydgesv                  = ydgesv
          xdmaex                  = xdmaex
          ydmaex                  = ydmaex
          xdmakt                  = xdmakt
          ydmakt                  = ydmakt
          xdmape                  = xdmape
          ydmape                  = ydmape
          xdmarm                  = xdmarm
          ydmarm                  = ydmarm
          xdmean                  = xdmean
          ydmean                  = ydmean
          xdmkal                  = xdmkal
          ydmkal                  = ydmkal
          xdmlan                  = xdmlan
          ydmlan                  = ydmlan
          xdprow                  = xdprow
          ydprow                  = ydprow
          xdqmat                  = xdqmat
          ydqmat                  = ydqmat
          xdungv                  = xdungv
          ydungv                  = ydungv.

Gruß Hendrik

Änderungen Vertriebstext Materialstamm

Beitrag von unwissende (ForumUser / 10 / 0 / 0 ) »
Super danke für die ausführliche Antwort!
Ich hab?s hinbekommen.
Ich hab mit WS_FILENAME_GET eine Exceltabelle eingelesen, mit READ_TEXT den alten Text gelesen, mit dem neuen Text aus der Exceltabelle verglichen, dann mit SAVE_TEXT den Text geändert wenn er sich verändert hat und dann mit MATERIAL_WRITE_DOCUMENT einen Änderungsbeleg erzeugt.
Bin auf mein Programm jetzt richtig stolz!

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1483
Views
Änderungen Vertriebstext Materialstamm
von unwissende » 06.11.2006 15:47 • Verfasst in ABAP® Core
8
Antw.
5871
Views
5
Antw.
13191
Views
Material - Vertriebstext pflegen
von Matthias_L. » 17.08.2005 16:21 • Verfasst in ABAP® Core
2
Antw.
2620
Views
Vertriebstext -> Text via ABAP ersetzen
von Alexandra » 12.09.2007 11:02 • Verfasst in ABAP® Core

Über diesen Beitrag


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

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 717
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2343
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8926