FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von Margolwes (ForumUser / 83 / 2 / 0 ) »
Hallo,

über die u.a. Routine möchte ich Änderungen am Materialstamm vornehmen:

Code: Alles auswählen.

form schreibe_aenderung .
  data: lt_maraueb  type table of mara_ueb
      , lt_marcueb  type table of marc_ueb
      , lt_amerrdat type table of merrdat
      , ls_maraueb  type mara_ueb
      , ls_marcueb  type marc_ueb
      , ls_amerrdat type merrdat
      , lt_fieldres type table of mfieldres
      , ls_fieldres type mfieldres
      .

  select single * from  mara
                  into  corresponding fields of ls_maraueb
                  where matnr eq p_matnr.

  move: 'JP28'           to ls_maraueb-tcode
      , 1                to ls_maraueb-tranc
      , 1                to ls_maraueb-d_ind
      .

* VLB-Warengruppe
  if gs_handel-zvlbw is initial.
    move: 'MARA-ZVLBW' to ls_fieldres-fname
        , 1            to ls_fieldres-d_ind
        , 1            to ls_fieldres-tranc
        .
    append ls_fieldres to lt_fieldres.
    clear ls_maraueb-zvlbw.
  else.
    move gs_handel-zvlbw to ls_maraueb-zvlbw.
  endif.
* Erlösgruppe
  if gs_handel-zzerlgrp is initial.
    move: 'MARA-ZZERLGRP' to ls_fieldres-fname
        , 1               to ls_fieldres-tranc
        , 1               to ls_fieldres-d_ind
        .
    append ls_fieldres to lt_fieldres.
    clear ls_maraueb-zzerlgrp.
  else.
    move gs_handel-zzerlgrp to ls_maraueb-zzerlgrp.
  endif.
* Rabattgruppe
  if gs_handel-zzerlgrp is initial.
    move: 'MARA-ZZRABGRP' to ls_fieldres-fname
        , 1               to ls_fieldres-tranc
        , 1               to ls_fieldres-d_ind
        .
    append ls_fieldres to lt_fieldres.
    clear ls_maraueb-zzrabgrp.
  else.
    move gs_handel-zzrabgrp to ls_maraueb-zzrabgrp.
  endif.

  append ls_maraueb to lt_maraueb.

  select single * from  marc
                  into  corresponding fields of ls_marcueb
                  where matnr eq p_matnr.
* Ursprungsland
  move: 1                to ls_marcueb-tranc
      , 1                to ls_marcueb-d_ind
      , gs_handel-herkl  to ls_marcueb-herkl
      .

  if gs_handel-herkl is initial.
    move: 'MARC-HERKL' to ls_fieldres-fname
        , 1            to ls_fieldres-d_ind
        , 1            to ls_fieldres-tranc
        .
    append ls_fieldres to lt_fieldres.
    clear ls_marcueb-herkl.
  else.
    move gs_handel-herkl to ls_marcueb-herkl.
  endif.

  append ls_marcueb to lt_marcueb.

  call function 'MATERIAL_MAINTAIN_DARK'
    exporting
      p_kz_no_warn           = 'N'
      kz_prf                 = ''
    tables
      amara_ueb              = lt_maraueb
      amarc_ueb              = lt_marcueb
      amfieldres             = lt_fieldres
      amerrdat               = lt_amerrdat
    exceptions
      kstatus_empty          = 1
      tkstatus_empty         = 2
      t130m_error            = 3
      internal_error         = 4
      too_many_errors        = 5
      update_error           = 6
      error_propagate_header = 7
      others                 = 8.

  if sy-subrc ne 0.
    message e000(38) with text-f03 sy-subrc.
  endif.

  read table lt_amerrdat into ls_amerrdat with key msgty = 'E'.
  if sy-subrc eq 0.
    message id     ls_amerrdat-msgid
            type   ls_amerrdat-msgty
            number ls_amerrdat-msgno
            with   ls_amerrdat-msgv1 ls_amerrdat-msgv2
                   ls_amerrdat-msgv3 ls_amerrdat-msgv4.
  endif.
endform.                    " SCHREIBE_AENDERUNG
Der FuBa MATERIAL_MAINTAIN_DARK gibt sy-subrc zurück und die Änderung des Materials wird auch über die Struktur amerrdat bestätigt (Nachricht M3/801). Geändert werden aber nur die Daten in MARC, die in MARA jedoch nicht.

Hat jemand einen Tip?

Vielen Dank im voraus
Margowles

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


Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
SAP-Doku hat geschrieben:Der Commit-Work muß vom Aufrufer durchgeführt werden.

Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von ralf.wenzel (Top Expert / 3921 / 200 / 280 ) »
So langsam brauchen wir hier einen Menüpunkte und Hilfetext-Vorlesedienst. Wenn wir das über eine 0900er Nummer machen, ist auch das Thema Bezahlung vom Tisch ;)
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von Margolwes (ForumUser / 83 / 2 / 0 ) »
ewx hat geschrieben:
SAP-Doku hat geschrieben:Der Commit-Work muß vom Aufrufer durchgeführt werden.
Der Commit work wird ausgeführt, die Zeile fiel aber beim Zurechtstutzen des Codings für das Originalposting leider raus. Die letzten Zeilen in der Routine lauten bei mir

Code: Alles auswählen.

  read table lt_amerrdat into ls_amerrdat with key msgty = 'E'.
  if sy-subrc eq 0.
    message id     ls_amerrdat-msgid
            type   ls_amerrdat-msgty
            number ls_amerrdat-msgno
            with   ls_amerrdat-msgv1 ls_amerrdat-msgv2
                   ls_amerrdat-msgv3 ls_amerrdat-msgv4.
  else.
    commit work.
    message s000(38) with text-001.
  endif.
Außerdem wäre ja sonst die Änderung in MARC auch nicht gespeichert worden.

Also, das Problem ist: Commit ist gesetzt, MARC wird geändert, MARA nicht.

Ist im übrigen auch nicht das erste Mal, dass ich den FuBa verwende.

Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Margolwes hat geschrieben:Also, das Problem ist: Commit ist gesetzt, MARC wird geändert, MARA nicht.
Steht denn in lt_amerrdat etwas anderes drinn? Es wird ja nur auf E geprüft.
Gruß Hendrik

Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von Margolwes (ForumUser / 83 / 2 / 0 ) »
JHM hat geschrieben:
Margolwes hat geschrieben:Also, das Problem ist: Commit ist gesetzt, MARC wird geändert, MARA nicht.
Steht denn in lt_amerrdat etwas anderes drinn? Es wird ja nur auf E geprüft.
Hatte ich eingangs geschrieben. Es wird die Nachricht M3/801 ausgegeben: "Das Material & wird geändert". Also auch von daher eigentlich alles in Ordnung.

Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Margolwes hat geschrieben:Hatte ich eingangs geschrieben. Es wird die Nachricht M3/801 ausgegeben: "Das Material & wird geändert". Also auch von daher eigentlich alles in Ordnung.
Naja der MATERIAL_MAINTAIN_DARK speichert auch, wenn er nicht alle Daten ändern konnte, dann gibt es S/W Messages die einen evtl. auf den Fehler hinweisen, warum er nicht speichert.

Dann versuchst du in der MARA ZZ-Felder zu ändern, damit das funktioniert, müssen diese ZZ-Felder aber im Materialstammcusomizing richtig in die Feldgruppen aufgenommen sein (keine Ahnung was genau da wie angepasst sein muss, ich bin um die Pflege bisher herum gekommen).
Gruß Hendrik

Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von ralf.wenzel (Top Expert / 3921 / 200 / 280 ) »
JHM hat recht, du musst kundeneigene Felder in der Transaktion OMSR pflegen, sonst werden die nicht übernommen. Aber auch das steht deutlich in der Hilfe, wenn ich mich nicht irre.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von Margolwes (ForumUser / 83 / 2 / 0 ) »
ralf.wenzel hat geschrieben:JHM hat recht, du musst kundeneigene Felder in der Transaktion OMSR pflegen, sonst werden die nicht übernommen.
Das war's, vielen Dank.
ralf.wenzel hat geschrieben:Aber auch das steht deutlich in der Hilfe, wenn ich mich nicht irre.
Also, wenn Du mit "Hilfe" die FuBa-Doku meinst, dann irrst Du Dich.

Re: FuBa MATERIAL_MAINTAIN_DARK ändert Material nicht

Beitrag von ralf.wenzel (Top Expert / 3921 / 200 / 280 ) »
Gut, dann wähle ich mich mal beim Kunden ein (extra für dich), melde mich an einem x-beliebigen System ein, schaue in die Online-Doku des FuBaus und finde unter dem Punkt "Anhang":
Der Materialstamm "denkt" in den Kombinationen Materialstammtabelle und Pflegestatus. Die zu pflegenden Kombinationen werden dabei je Pflegevorgang (d.h. je Transaktion) aus den übergebenen Daten ermittelt. Dabei gibt es mehrere Pflegestatusermittlungsarten (aktuell je Transaktionstyp vorgebbar im Customizing). Weitere Informationen finden Sie in der Dokumentation zu der Pflegestatusermittlungsart.
Hexen kann ich nicht, ich muss das auch irgendwo her haben - und genau aus dieser Online-Hilfe habe ich das. Das ist genau das, was man per OMSR pflegt (nämlich die Tabelle T130F). Ich hatte nicht erwartet, dass du in der Onlinehilfe nach "OMSR" suchst, sondern die Hilfe komplett liest und den Links folgst.

Bei einem Raucher, dem man erst ne Zigarette gibt und der dann auch noch Feuer verlangt, fragt man "aber rauchen kannst du alleine, ja?", wenn ich mich nicht irre.

Sorry, aber ich reagiere ziemlich empfindlich darauf, wenn ich wem was sage, von dem ich weiß dass es richtig ist und der das einfach abstreitet.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

4
Antw.
5207
Views
Material Maintain Dark
von queen » 09.06.2008 16:10 • Verfasst in ABAP® für Anfänger
1
Antw.
2223
Views
fetch material group,material account 3010 and Plant(WERKS)
von dragospirnut1 » 05.07.2017 12:27 • Verfasst in ABAP Objects®
1
Antw.
987
Views
FUBA /BAPI für Staffelpreisen von Material auflessen
von autohandel7 » 02.09.2020 15:03 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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 18 Stunden von Bright4.5 1 / 406
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2053
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8650