Material auf Auslauf mit Ersatz

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

Material auf Auslauf mit Ersatz

Beitrag von fnmuli (ForumUser / 1 / 0 / 0 ) »
Hallo Miteinander,
dies ist mein erster Forumsbeitrag, falls ich meine Frage nicht im richtigen Betreff eingestellt oder sonstige Fehler mache, möge man mir verzeihen.

Jetzt meine Frage:
Ich habe für ein Material1 mit Bestand bereits einen Nachfolger Material2 im SAP.
Material1 steht auf Auslauf mit Ersatz Material2.

Gibt es eine Möglichkeit SAP so einzustellen, dass sobald Material1 aufgebraucht ist, SAP Bedarfe automatisch auf Material2 umlenkt. Also eine Art bedingte Materialfindung.

Danke vorab

fnmuli

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


Re: Material auf Auslauf mit Ersatz

Beitrag von Thomas17 (Specialist / 157 / 17 / 14 ) »
Hi,

hast Du Dir schoneinmal die F1-Hilfe im Materialstamm angeschaut?
Auslaufkennzeichen
Kennzeichen, das das Material als Auslaufmaterial identifiziert und bei der Disposition die Auslaufsteuerung bewirkt.

Vorgehen
Wenn das Kennzeichen gesetzt ist, leitet das System bei der Disposition den Sekundärbedarf, der nicht mehr durch den Lagerbestand des Materials gedeckt ist, auf das Nachfolgematerial weiter. Hierfür bestehen jedoch folgende Voraussetzungen:

Auslauf- und Nachfolgematerial müssen plangesteuert geplant werden.
Die Basismengeneinheit des Nachfolgematerials muß mit der des Auslaufmaterials identisch sein.
Hinweis

Bei der Lohnbearbeitung werden ungedeckte Bedarfe nach dem Auslaufdatum nicht auf das Nachfolgematerial weitergeleitet. Darauf weist eine entsprechende Meldung (58) in der Dispositionsliste hin.
Sollte doch von "alleine" funktionieren - natürlich abhängig von Deinen Eingaben und Customizing Einstellungen.
Grüße

Re: Material auf Auslauf mit Ersatz

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
Dazu hab ich mal nen Programm geschrieben das die Ersatzmaterial Tabelle füllt.

Das Bringt wenn man das Material was keinen Bestand mehr hat ein Pop Up wo mann das alte oder den Ersatzartikel auswählen kann.
Man kann auch bis zu 3 Ersatzartikel eintragen.

Ich hab dafür das Feld NORMT in der MARA misshandelt.
Da kann mann jetzt 3 Materialnummern mit ";" getrennt eingeben.

Sobald dann dieser Artikel auf keinen frei verfügbaren bestand mehr läuft wird der Artikel in der Tabelle mit den Ersatzartikeln eingetragen.
Das Programm läuft bei uns alle 2 Stunden.

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZERSATZARTIKEL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZERSATZARTIKEL.

TABLES: MARA, KOTD001, KONDD, KONDDP, MAKT.

TYPES: BEGIN OF TABMAT,
       MATNR               LIKE MARA-MATNR,
       NORMT               LIKE MARA-NORMT,
       /CMD/MATKURZTEXT    LIKE MARA-/CMD/MATKURZTEXT,
       BESTAND(10)         TYPE N,
       END OF TABMAT.


DATA: GT_WMDVSX                       LIKE   BAPIWMDVS OCCURS 0 WITH HEADER LINE,
      GT_WMDVEX                       LIKE   BAPIWMDVE OCCURS 0 WITH HEADER LINE,
      TABLEMAT                        TYPE   TABLE OF TABMAT WITH HEADER LINE.


DATA: MATNR1                          LIKE   MARA-MATNR,
      NORMT1                          LIKE   MARA-NORMT,
      NORMT2                          LIKE   MARA-NORMT,
      NORMT3                          LIKE   MARA-NORMT,
      POSNR(3)                        TYPE   N,
      MATNRTAB                        LIKE   MARA-MATNR,
      NORMTTAB                        LIKE   MARA-NORMT,
      /CMD/MATKURZTEXTTAB             LIKE   MARA-/CMD/MATKURZTEXT,
      BESTANDTAB(10)                  TYPE   N,
      MATNR2                          LIKE   MARA-MATNR,
      MATNR3                          LIKE   MARA-MATNR.

* Erzeugt interne Tabelle mit Materialnummer, Ersatzartikel (alle 3), Materialkurztext und Bestand mit Funktionsbaustein.

SELECT MATNR NORMT /CMD/MATKURZTEXT FROM MARA INTO (MATNRTAB, NORMTTAB, /CMD/MATKURZTEXTTAB).

  CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
    EXPORTING
      PLANT      = '1000'
      MATERIAL   = MATNRTAB
      UNIT       = 'ST'
      CHECK_RULE = 'A'
    TABLES
      WMDVSX     = GT_WMDVSX
      WMDVEX     = GT_WMDVEX.

  READ TABLE GT_WMDVEX WITH KEY COM_DATE = SY-DATUM.
  MOVE GT_WMDVEX-COM_QTY TO BESTANDTAB.

  MOVE MATNRTAB            TO TABLEMAT-MATNR.
  MOVE NORMTTAB            TO TABLEMAT-NORMT.
  MOVE /CMD/MATKURZTEXTTAB TO TABLEMAT-/CMD/MATKURZTEXT.
  MOVE BESTANDTAB          TO TABLEMAT-BESTAND.

  APPEND TABLEMAT.

  CLEAR: MATNRTAB, NORMTTAB, /CMD/MATKURZTEXTTAB, BESTANDTAB.

ENDSELECT.

* Schleife über Tabelle

LOOP AT TABLEMAT.

* Erzeugt Materialnummer ohne 0 zur Erstellung der Konditionsnummer

  MOVE TABLEMAT-MATNR TO MATNR3.
  SHIFT  MATNR3 LEFT DELETING LEADING '0'.

* Löscht alle Datensätze des zurzeit bearbeitenden Materials

  DELETE FROM KOTD001 WHERE KNUMH = MATNR3.
  DELETE FROM KONDD   WHERE KNUMH = MATNR3.
  DELETE FROM KONDDP  WHERE KNUMH = MATNR3.

* Nur Eintragen in die Tabellen wenn Bestand = 0 weil sich sonst Restbestände aufbauen.

  IF TABLEMAT-BESTAND <= 0000000000 AND TABLEMAT-NORMT <> ''.

    MOVE TABLEMAT-MATNR TO MATNR2.

    POSNR = 2.

    SPLIT TABLEMAT-NORMT AT ',' INTO NORMT1 NORMT2 NORMT3.

* 1. Ersatzartikel eintragen

    CONCATENATE '0000000000000' NORMT1 INTO MATNR1.

* Prüfen ob der Ersatzartikel vorhanden ist

    READ TABLE TABLEMAT WITH KEY MATNR = MATNR1.
    IF SY-SUBRC = 0.

* Nur eintragen wenn der Bestand des Ersatzartikels nicht 0 ist

      IF TABLEMAT-BESTAND > 0.



        KONDDP-KNUMH = MATNR3.
        KONDDP-KPOSN = POSNR.
        KONDDP-SMATN = TABLEMAT-MATNR.
        KONDDP-/CMD/CT_MAKTX = TABLEMAT-/CMD/MATKURZTEXT.
        INSERT KONDDP.
        CLEAR MATNR1.
        POSNR = POSNR + 1.

      ENDIF.

* 2. Ersatzartikel eintragen

      CONCATENATE '0000000000000' NORMT2 INTO MATNR1.

* Prüfen ob der Ersatzartikel vorhanden ist

      READ TABLE TABLEMAT WITH KEY MATNR = MATNR1.
      IF SY-SUBRC = 0.

* Nur eintragen wenn der Bestand des Ersatzartikels nicht 0 ist

        IF TABLEMAT-BESTAND > 0.

          KONDDP-KNUMH = MATNR3.
          KONDDP-KPOSN = POSNR.
          KONDDP-SMATN = TABLEMAT-MATNR.
          KONDDP-/CMD/CT_MAKTX = TABLEMAT-/CMD/MATKURZTEXT.
          INSERT KONDDP.
          CLEAR MATNR1.
          POSNR = POSNR + 1.

        ENDIF.

* 3. Ersatzartikel eintragen

        CONCATENATE '0000000000000' NORMT3 INTO MATNR1.

* Prüfen ob der Ersatzartikel vorhanden ist

        READ TABLE TABLEMAT WITH KEY MATNR = MATNR1.
        IF SY-SUBRC = 0.

* Nur eintragen wenn der Bestand des Ersatzartikels nicht 0 ist

          IF TABLEMAT-BESTAND > 0.

            KONDDP-KNUMH = MATNR3.
            KONDDP-KPOSN = POSNR.
            KONDDP-SMATN = TABLEMAT-MATNR.
            KONDDP-/CMD/CT_MAKTX = TABLEMAT-/CMD/MATKURZTEXT.
            INSERT KONDDP.
            CLEAR MATNR1.
            POSNR = POSNR + 1.

          ENDIF.
        ENDIF.
      ENDIF.
    ENDIF.

* In die KONDD kommt immer der eigene Artikel um ihn immer noch bestellen zu können

    KONDD-SMATN = MATNR2.
    KONDD-SUGRD = 'Y1'.
    KONDD-KNUMH = MATNR3.
    INSERT KONDD.

* Eintragen in die Grundtabelle

    KOTD001-KAPPL = 'V'.
    KOTD001-KSCHL = 'A001'.
    KOTD001-MATWA = MATNR2.
    KOTD001-DATBI = SY-DATUM.
    KOTD001-DATAB = SY-DATUM.
    KOTD001-KNUMH = MATNR3.
    INSERT KOTD001.

    CLEAR: POSNR, MATNR3.

  ENDIF.
ENDLOOP.
PS: Bitte über schlechte Programmierung hinwegsehen. Das war eins meiner ersten Programme.

Grüße Adrian

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1537
Views
fetch material group,material account 3010 and Plant(WERKS)
von dragospirnut1 » 05.07.2017 12:27 • Verfasst in ABAP Objects®
1
Antw.
974
Views
Klassenbasierter Ersatz für Funktion EVAL_FORMULA?
von black_adept » 05.01.2020 18:25 • Verfasst in ABAP® Core
2
Antw.
2365
Views
Top-Of-Page-Ersatz beim ALV Grid-Control
von LB_FAN86 » 19.09.2007 15:33 • Verfasst in ABAP Objects®
1
Antw.
1283
Views
Suche FuBa OP Belege ausgleichen - Ersatz zu BI mit F-44 ?
von crush23 » 04.12.2006 15:32 • 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

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141