Anmelden

View Full Version : CPF417C - Gemeinsame Öffnung der Teildatei XY



MGJ79
03-08-16, 14:16
Hallo Zusammen,

ich habe 2 Programme die nacheinander über Call aufgerufen werden:


<code>
Aus dem Programm KI99100R (=Controller) heraus:
0782.30 C CALL 'KI99110R'
</code>
Beide Programme benötigen im Grunde die gleiche Datei: FXXXXXL11.

Ich vermute das der Abbruch auch was mit der Definition (in FXXXXXL11) zu tun hat:

<code>
ID des codierten Zeichensatzes . . . . . : 65535
Daten Feld- Puffer Puffer Feld Spalten
Feld Art Länge Länge Position Verwend. Überschrift
TBSLKT CHAR 50 50 537 Beides Selektionsfeld
Feldtext . . . . . . . . . . . . . . . : SLKT Selektionsfeld
Standardwert . . . . . . . . . . . . . . :
' '
ID des codierten Zeichensatzes . . . . . : 1141 <-- Restlichen Felder
TBSSTS CHAR 1 1 587 Beides Satzstatus
Feldtext . . . . . . . . . . . . . . . : SSTS Satzstatus
Standardwert . . . . . . . . . . . . . . :
</code>

Leider führt der Batchaufruf. Läuft unter:

<code>
ID des codierten Zeichensatzes (CCSID) . . . . . : 1141
Standard-ID des codierten Zeichensatzes . . . . . : 1141
</code>
zu folgenden Fehler


<code>
Nachrichten-ID . . . . : CPF417C
Sendedatum . . . . . . : 03.08.16 Sendezeit . . . . . . : 12:00:00

Nachricht . . . : Gemeinsame Öffnung der Teildatei FXXXXXL11 fehlgeschlagen.

Ursache . . . . : Die gemeinsame Öffnung der Teildatei FXXXXXL11 der Datei
FXXXXXL11 in der Bibliothek CMDDTAR7_2 ist wegen Fehlercode 1 fehlgeschlagen.
Fehlercodes und ihre Bedeutung:
1 -- Die im Programm angegebene CCSID (Kennzeichnung für den codierten
Zeichensatz) stimmt nicht mit dem für die ursprüngliche Öffnung angegebenen
Wert überein.
2 -- Der im Programm für Sätze variabler Länge angegebene Zugriff stimmt
nicht mit dem für die ursprüngliche Öffnung angegebenen Zugriff überein.
3 -- Die im Programm angegebene Mindestsatzlänge stimmt nicht mit dem für
die erste Öffnung angegebenen Wert überein.
4 -- In einem Auslöserprogramm ist kein gemeinsames Öffnen zulässig.
Weitere ...
Eingabetaste --> Weiter

</code>

1. Ich habe das Problem dass ich nicht nachvollziehen kann unter welcher CCSID die Datei im ersten Programm eröffnet worden ist.
2. Wie kann ich das Unterbinden? Bzw. muss ich ggf. die CCSID des Jobs ändern?
3. Leider kann google mir nicht weiterhelfen..
4. Mir ist auch klar dass ein gemeinsames Modul/SRVPGM schöner wäre..was ich auch machen werde nur mich interessiert hier wie ich das vermeiden kann/analysieren kann.

Fuerchau
03-08-16, 14:34
Das Stichwort ist "gemeinsame" Öffnung.
D.h., die Datei steht auf SHARE(*YES), bzw. per OVRDBF, und das 1. Programm macht keinen CLose der Datei.
CCSID 65535 ist unkritisch, das sind immer Binärfelder und unterliegen keiner Codewandlung.
Seit ILE ist es nun ebenso entscheidend, welche CCSID der Job und die Quelle zur Umwandlungszeit hatten. Dies scheint bei beiden Programmen/Modulen unterschiedlich zu sein.
Schau dir per DSPPGM die CCSID der Module an.

MGJ79
04-08-16, 13:56
Super danke für die Antwort.
Ich hab einfach im steuernden CL Programm ein


CHGJOB CCSID(1141)

reingepfriemelt und gut ist...was mich aber nicht abhält das mal sauber als Modul zu lösen.

Danke für die Info

Fuerchau
04-08-16, 16:50
Das ist wohl mal wieder die Unterlassung, dass der Systemwert QCCSID immer noch auf 65535 steht. Dies führt immer wieder zu Problemen.