PDA

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

Fuerchau
05-07-04, 14:26
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

BenderD
06-07-04, 08:14
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

BenderD
06-07-04, 08:52
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

BenderD
06-07-04, 10:02
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