View Full Version : Spoolfile Status ändern
Wir haben eine selbst programmierte Spoolverarbeitung, die folgenderweise arbeitet: Die Spoolfile wird vom Anwendungsprogramm erstellt und von unserem Programm verarbeitet (also dann evtl gedruckt, per email versendet etc). Funktioniert wunderbar, nur 1 Problem konnte ich nicht lösen.
Wenn eine Spoolfile erstellt wird hat sie erstmal den Status RDY. Hat sie das Attribut SAVE(*YES) wird diese auch nicht gelöscht. Da diese Spooldatei aber nie gedruckt wird, sondern höchstens ein Duplikat, bekommt sie nie den Status SAV, sondern bleibt bei RDY. Das verwirrt natürlich unsere Anwender.
Kennt jemand von euch eine Möglichkeit einer Spoolfile beizubringen, sie sei gedruckt, oder den Status(SAV) selber setzen zu können?
Hilft zwar nicht direkt.. aber mit anhalten wären sie ja auch vom Status RDY weg ;)
Schönen Gruss
Rince
Man kann den Status ggf. auf HLD (HLDSPLF) setzen oder in eine andere OUTQ verschieben. Leider kann ich in den Spool-API's ansonsten auch nichts finden.
kuempi von stein
27-09-05, 15:12
Wir haben eine selbst programmierte Spoolverarbeitung, die folgenderweise arbeitet: Die Spoolfile wird vom Anwendungsprogramm erstellt und von unserem Programm verarbeitet (also dann evtl gedruckt, per email versendet etc). Funktioniert wunderbar, nur 1 Problem konnte ich nicht lösen.
Wenn eine Spoolfile erstellt wird hat sie erstmal den Status RDY. Hat sie das Attribut SAVE(*YES) wird diese auch nicht gelöscht. Da diese Spooldatei aber nie gedruckt wird, sondern höchstens ein Duplikat, bekommt sie nie den Status SAV, sondern bleibt bei RDY. Das verwirrt natürlich unsere Anwender.
Kennt jemand von euch eine Möglichkeit einer Spoolfile beizubringen, sie sei gedruckt, oder den Status(SAV) selber setzen zu können?
hello,
wie wäre es VOR dem erstellen der SPLF einen OVRPRTF abzusetzen (per CL) und das Teil dadurch im *HLD zu erstellen?
k.
"Normalerweise" werden Spools, die ich per Programm verarbeitet habe, auch von mir entfernt. Allenfalls gibt es noch eine Sicherung in einer anderen OUTQ.
Was ich in solchen Fällen mache (um auch doppelte Verarbeitungen auszuschliessen), per SNDNETSPLF den Spool lokal an einen "verarbeitenden" Benutzer zu senden und anschliessend den Benutzer mit seinem Spool machen lassen, was er will.
Der Batch-Arbeiter lauert auf einer DTAQ, verarbeitet den empfangenen Spool und setzt ihn auf HLD.
Dadurch bin ich nicht auf lange Spoolabfragen angewiesen, welche Spool denn nun noch zu verarbeiten ist.
Für eine Wiederholung einer Spool brauche ich nur den Status wieder auf RDY zu setzen und "schwups" gibt's wieder einen DTAQ-Eintrag und die Verarbeitung läuft.
Danke für die Antworten.
Setzen auf HLD scheint mir im Moment auch die einzige Möglichkeit zu sein, jedoch sehe ich dann das Problem, dass meine Anwender denken das Ding sei mit Hold erstellt, und gebens dann abermals frei zum Drucken :/
In den Spoolapis hab ich leider auch nichts gefunden.
@Fuerchau: Meine Verarbeitung läuft ja per DTAQ, mein Problem sind eher die Anwender, die der Meinung sind, RDY Spools sind noch nicht gedruckt.
RobertMack
28-09-05, 08:23
jedoch sehe ich dann das Problem, dass meine Anwender denken das Ding sei mit Hold erstellt, und gebens dann abermals frei zum Drucken
... nach Verarbeitung CHGSPLFA USRDTA('erledigt')
Gruß,
Robert
Dan verstecke die Spools doch in einer OUTQ (CHGSPLF ... OUTQ(NEU)), für die niemand sonst, ausser dem Programm (User) berechtigt ist. Dann sieht sie doch auch niemand.