View Full Version : Fehlermeldung CPFA0A8 bei CPYTOSTMF
Günter Majewski
05-07-04, 14:06
Hallo,
von einer auf die andere Minute habe ich ein Problem mit diesem Befehl. Der Befehl lautet:
CPYTOSTMF FROMMBR('/qsys.lib/qtemp.lib/tempcsv.FILE/tempcsv.MBR ') TOSTMF('/QDLS/EMAIL/AEWO') STMFOPT(*REPLACE) STMFCODPAG(*PCASCII) ENDLINFMT(*LF)
Funktionierte bisher einwandfrei. Ich habe ein Programm, das vor diesem Befehl läuft umgewandelt. Jetzt bekomme ich die Fehlermeldung: Operation ist in einem Job mit mehreren Threads nicht zulässig.
Objekt nicht kopiert. Das Objekt ist
/qsys.lib/qtemp.lib/tempcsv.FILE/tempcsv.MBR .
Hat jemand eine Idee? Viele Grüsse
Günter Majewski
Schau mal über DSPJOB, Auswahl 20, ob nicht noch Threads aktiv sind.
Es deutet darauf hin, dass noch irgendwas im Hintergrund (Thread, nicht Batch) läuft.
Der Befehl CPYTOSTMF ist nicht Thread-Save !
Im Zweifel abmelden und neu anmelden !
Günter Majewski
06-07-04, 07:04
Hallo Fuerchau,
vielen Dank für den Tipp. Das war's. Jetzt muss ich nur noch herausfinden, wo der Thread her kommt. Da muss ich mich auf meine alten Tage noch mit Threads befassen :-).
Vielen Dank und viele Grüsse
Günter Majewski
Hallo Günter,
Java Aufrufe sind ein Kandidat, Qshell ein anderer, C++ ein dritter und dann fällt mir noch die C function spawn und deren API Ableger ein und Functions in der Datenbank gibt es ja auch noch
mfg
Dieter Bender
Hallo Fuerchau,
vielen Dank für den Tipp. Das war's. Jetzt muss ich nur noch herausfinden, wo der Thread her kommt. Da muss ich mich auf meine alten Tage noch mit Threads befassen :-).
Vielen Dank und viele Grüsse
Günter Majewski
Günter Majewski
06-07-04, 08:45
Hallo Dieter,
vielen Dank für die Hinweise. Da der Fehler erst auftrat, nachdem ich in das aufrufende Programm eine Datumsroutine eingebaut habe, die in einem SQLRPGLE-Programm läuft, habe ich dieses ganz stark in Verdacht.
Die Idee zur SQL-Lösung kam bei dem Common-Workshop im Februar d.J. Deshalb habe ich Birgitta auch direkt angeschrieben. Vielleicht hat Sie eine Idee.
Viele Grüsse
Günter Majewski
Hallo Günter,
ich habe mir nochmal die CPYxxxIMPF Commands angesehen, normalerweise, bei unverschraubtem OS müssten die sich mit einem Warning begnügen und dürften nicht abbrechen, es sei denn der SYSVAL QMLTTHDALN ist auf 3 verdrechselt worden, der sollte nämlich auf 2 stehen.
Dieter
Hallo Dieter,
vielen Dank für die Hinweise. Da der Fehler erst auftrat, nachdem ich in das aufrufende Programm eine Datumsroutine eingebaut habe, die in einem SQLRPGLE-Programm läuft, habe ich dieses ganz stark in Verdacht.
Die Idee zur SQL-Lösung kam bei dem Common-Workshop im Februar d.J. Deshalb habe ich Birgitta auch direkt angeschrieben. Vielleicht hat Sie eine Idee.
Viele Grüsse
Günter Majewski
Günter Majewski
06-07-04, 09:05
Hallo Dieter,
der QMLTTHDACN steht auf "2".
Der Befehl lautete: CPYTOSTMF
Günter
Hallo Günter,
dann sieht das nach einem Bug aus (=> PTF). Ein Workaround wäre auch noch das Multithreading von der Function abzustellen, das kann man beim CREATE einstellen. (Hat auch Nachteile, wenn so eine Function pro Satz mehrfach aufgerufen wird, fluppt das nicht.
mfg
Dieter Bender
Hallo Dieter,
der QMLTTHDACN steht auf "2".
Der Befehl lautete: CPYTOSTMF
Günter