ein Z-Programm gibt eine ALV-Liste mit Aufträgen aus. Wenn man eine Zeile in der Liste markiert und auf Drucken geht, öffnet sich ein Popup-Fenster, wo ?Drucken? oder ?Druckansicht? ausgewählt werden kann. Nach dem ?Drucken? soll der gedruckte Auftrag den Status ?DRUC? bekommen. Nach der ?Druckansicht? darf im Auftragstatus kein ?DRUC? gesetzt werden.
Den Status setze ich über einen Funktionsbaustein.
Die Frage: wie kann man das Programm abfragen, ob der Benutzer ?Drucken? oder ?Druckansicht? selektiert hat? Gibt es im System dafür welche Parameter?
du kannst im Druckprogramm abfragen, ob gedruckt oder angezeigt wurde. Der Fuba CLOSE_FORM liefert den Parameter TDPREVIEW zurück. Oder TDSPOOLID (Ist leer, wenn nicht gedruckt wurde).
Das heisst, du müsstest im Druckprogramm per EXPORT TO MEMORY einen Merker setzen.
Eine andere Möglichkeit wäre, im ALV-Grid zwei Druckknöpfe zu machen: Einmal "Drucken" und einmal "Druckvorschau". Jeweils der gleiche Druckdialog, aber man kann in den Parametern mitgeben, ob gedruckt werden darf, oder nicht (ITCPO-TDNOPREV, TDNOPRINT).
es hat geklappt!
Ich benutze zwar Smartforms, aber dort habe ich auch einen Parameter in der Struktur JOB_OUTPUT_INFO gefunden.
Vielen Dank für Deinen schnellen Tip!