-
CPFA097 bei CPYTOSTMF
Wir kopieren mittels CPYTOSTMF Dateien auf den Folder. Der dazugehöhrige Job kann von verschiedenen Benutzern gleichzeitig benutzt werden, so das es vorkommen kann das zwei Dateien mit gleichen Namen und Inhalt geschrieben werden sollen. Sobald die zweite Datei geschrieben werden soll wird ein Fehler ausgegeben. Die Fehlernummer ist CPFA097. Der Grund hierfür ist mir klar, aber ich möchte den Fehler und nur den Fehler mittels Monitor im RPGLE-Programm abfangen.
Kann mir wer sagen auf welche ERROR-Kennung ich abfragen muss?
-
Hallo,
verwendest Du QCMDEXC um den Befehl auszuführen?
Wenn Ja müsstest Du bei Verwendung der Erweiterung (E) im CALLP, die CPF-Nachricht aus der Programm-Status-Datenstruktur Stelle 40-46 ermitteln und abfagen können.
PHP-Code:
D PGMDS SDS
D SDSMsgId 40 46
D SDSMsgTxt 91 140
/Free
CAllP(E) QCmdExc(.....)
If %Error and SDSMsgId = 'CPFA097';
// Source Code
ElseIf %Error;
// Sonstiges Fehlerhandling
EndIf;
Ob das auch mit Monitor klappt, müsstest Du ausprobieren, da MONITOR i.d.R. erst die nächste Fehlermeldung (die RPG-Meldung RNXirgendwas) abfangen kann.
Falls Du die RNX-Nachricht ermitteln kannst, hast Du auch den Status. (einfach die letzten 4 Stellen in der RNX-Message-Id ) Ich vermute allerdings, dass der Status mehr pauschal ist.
Birgitta
-
Also es ist so:
Der CPYTOSTMF wird über eine Prozedur in einem Serviceprogramm aufgerufen. Da diese Prozedur auch von anderen Programmen verwendet wird kann ich die Prozedurenschnittstelle nicht ohne weiteres geändert werden. Was ich allerding schon ausprobiert habe ist das ich um den Aufruf der Prozedur einen Monitor gemacht habe. Dies funktioniert auch, nur habe ich dabei jetzt generell alle Fehler die auftreten abgefangen.
-
Dann würde ich dir eine Sperrmimik drumrum empfehlen (z.B. DTAARA) um den parallelen Aufruf vorab zu verhindern.
-
Vielleicht habe ich nicht weit genug dafür ausgeholt. In die Datei auf dem IFS werden Daten geschrieben die dann zu einem späteren Zeitpunkt von einem PC-Programm abgegriffen werden. Dabei sind diese Dateien aber nur so was wie ein Flag der kennzeichnet das der Satz auf der AS bearbeitet wurde. Es währe auch denkbar dass bei einer zweiten Übertragung die erste Datei gelöscht wird, falls sie schon vorhanden ist.
Da aus der Prozedur aber nur die beiden Fehler CPFA097 und CPFA085 kommen können(sind die einzigen möglichen Fehlermeldungen des CPYTOSTMF) funktioniert das jetzt schon wenn ich einen Monitor um den Prozeduraufruf setze.
Similar Threads
-
By Joe in forum IBM i Hauptforum
Antworten: 24
Letzter Beitrag: 16-05-07, 13:05
-
By hell in forum IBM i Hauptforum
Antworten: 18
Letzter Beitrag: 19-01-06, 11:53
-
By KaFi in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 02-06-05, 13:34
-
By Günter Majewski in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 06-07-04, 10:02
-
By Frank Wagner in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 26-04-04, 17:05
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks