Fertigungsauftrag drucken - Nachdruck

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

Fertigungsauftrag drucken - Nachdruck

Beitrag von Andreas G (Specialist / 175 / 0 / 0 ) »
Hi @ all.

Ich hab folgende Aufgabe:
Sobald ein Fertigungsauftrag mehr als einmal gedruckt wird, soll das Wort "NACHDRUCK" am ausgedruckten Auftrag erscheinen.
Hab schon versucht mit dem Memories zu arbeiten, um herauszufinden ob ein Fertigungspapier schon mal gedruckt wurde oder nicht, doch bisher ohne erfolg.

Code: Alles auswählen.

* aktuellen Druckauftrag PP-Daten aus memory
IMPORT i_first_print
       i_print_message   FROM MEMORY ID 'PPDRU'.
Meine frage: Kann meine Lösung überhaupt funktionieren, und wenn ja, wie finde ich heraus welche MEMORY ID ich abfragen muss, da ich beim Debuggen 15 bis 20 MEMORYBereiche sehe, und auch schon ein paar ausprobiert habe, abzufragen.

Zusätzliche Infos: Gedruckt wird ein Fertigungschein der Auftragsart P004, Entwicklungsklasse ZPP.

Danke für eure Hilfe!

mfg Andi

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Andreas,

mit IMPORT verwendest Du zwar schon einen Befehl, der in die richtige Richtung geht, aber statt dessen wirst Du eher mit IMPORT FROM DATABASE arbeiten müssen.
Wichtiger ist aber, dass Du in einem Kundenexit (User-Exit oder BAdI) zum Zeitpunkt des Drucks für den jeweiligen Fertigungsauftrag vermerken musst, dass er gedruckt wird/wurde.
An einer anderen, geeigneten Stelle bei der Vorbereitung des Druckes musst Du dann oben erwähnten IMPORT bemühen, um Deine Prüfung erfolgen zu lassen.

Bei der Wahl des Schlüssels sollte es reichen, wenn Du die Auftragsnummer des Fertigungsauftrags benutzt (Vielleicht noch mit einer Kennung: FAuf00...012345). Als Datenbank bietet sich die INDX an, da Du keine besonderen Anforderungen benötigen dürftest.
Wenn jedoch sichergestellt werden soll, dass ausschließlich nur Deine Druckanwendung in die Clustertabelle schreibt, ist eine Kopie der INDX zu empfehlen.

PS:
schau Dir dazu die Hilfe zum IMPORT/EXPORT sehr intensiv an, denn das Thema ist nicht trivial.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
--> Post verschoben in MM/PP-Bereich <--

Hallo Andreas,

hier eine völlig von ereglam abweichende Vorgehensweise.

1.) Da es nicht sooooo viele BADI/Userexits im FA-Druck gibt würde ich die Entscheidung in das Druckprogramm verlegen.

2.) Ob ein FA schon mal gedruckt wurde würde ich anhand des Status ausmachen. Normalerweise bekommt ein gedruckter FA den Status "DRUC" sobald der Druck einmal angestoßen wurde.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Nachdruck

Beitrag von Andreas G (Specialist / 175 / 0 / 0 ) »
An eine Lösung wie black_adept gemeint hat, habe ich auch schon gedacht und auch ausprobiert. Das problem ist aber folgendes: Bis das Druckprogramm aufgerufen wird, ist der Status DRUC schon lange gesetzt, auch wenn der FA das erste mal ausgedruckt wird. Um diesem Problem zu entgehen habe ich auch das schon versucht:

Code: Alles auswählen.

CALL FUNCTION 'STATUS_CHECK_OLD'
  EXPORTING
*   BYPASS_BUFFER           = ' '
*   CLIENT                  = SY-MANDT
    objnr                   = gt_list-objnr
    status                  = c_status_druc
  EXCEPTIONS
   object_not_found        = 1
   status_not_active       = 2
   OTHERS                  = 3.
Um dann die Systemvariable sy-subrc auszuwerten. Dabei bekomme ich aber IMMER die Ausnahme 'STATUS_NOT_ACTIVE' zurück! Habe auch schon in der Tabelle JEST nachgeschaut => dort ist der Status aktiv.
Da der FuBa 'STATUS_CHECK_OLD' auch in einem Standard - SAP - Programm so ähnlich verwendet wird, verstehe ich nicht, warum das bei mir nicht funktioniert. (Programmstelle findet ihr im Include LQPL1F1V). Bin für jede Idee und Vorschlag dankbar.

mfg Andi

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Hi Andreas,

evtl. könntest du dir einen Userstatus anlegen (lassen), der nur von deinem Druckprogramm gefüllt wird ( z.B. ZDRU ).
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Abschlussstatement

Beitrag von Andreas G (Specialist / 175 / 0 / 0 ) »
Hallo.

Danke nochmal für eure vorschläge.
Meine entgültige Realisierung:
Für interessierte: Um die "Nachdruckfunktion" zu realiseren habe ich mir als erstes mal den Standard in ein Z* - Programm bzw. Formular kopiert (z.B. Druckprogramm PSFCPICK und Formular PSFC_STD_LAYOUT).
Denn diese Standardprogramme haben schon die "Nachdruckfunktion", bei einem zweiten Druck des Formulars wird "Duplikat" angedruckt. Nun muss man nur noch das Druckprogramm und das Formular seinen Wünschen und Vorstellungen anpassen. :wink:
D.h. man braucht weder mit dem Memory arbeiten, noch irgendwelche Stati erfinden oder setzten/abfragen.

mfg Andi
Hauptsoch: HAUPTSOCH!

Seite 1 von 1

Vergleichbare Themen

6
Antw.
1481
Views
2
Antw.
1706
Views
Stücklistenauflösung Fertigungsauftrag
von Aba » 03.12.2019 11:16 • Verfasst in Material Management & Produktionsplanung
2
Antw.
1441
Views
Druckvorschau Fertigungsauftrag
von Bright4.5 » 16.04.2021 12:51 • Verfasst in ABAP® für Anfänger
1
Antw.
1241
Views

Ü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 / 72
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141