shopfreephoenix.com

  

Beste Artikel:

  
Main / Wie man den soc4-Fehler in Cobol behebt

So beheben Sie soc4-Fehler in Cobol

Lösung für S0C4 abbrechen. Vorheriges Thema anzeigen :: Nächstes Thema anzeigen. Montag, 23. April 2012 1: Ich bekomme manchmal einen S0C4-Abbruch. Das gleiche passiert auch, wenn eine leere Eingabedatei vorhanden ist. Mein Job verwendet zwei Programme. Der erste erstellt die sortierte Ausgabe für das nächste Programm. Der S0C4-Abbruch tritt immer nur im zweiten Programm auf, das die sortierte Eingabe verwendet.

Ich habe versucht, den Speicherauszug zu lesen, und dort wird MVCL Long Move sowie unzugänglicher Speicher für eine große Anzahl von Datensätzen und unzugänglicher Speicher für leeres Dateilayout angezeigt. Ich habe auch meine Ausgabedatei initialisiert, bekomme aber immer noch den Abbruch. Zurück nach oben. Antwort an: S0C4 wird manchmal abgebrochen. Ungültige Parameter wurden durch den Verbindungsabschnitt geleitet. Verwendeter DD-Dummy mit Logik, die am Ende des Lesevorgangs hohe Werte auf FD verschiebt. Ich habe keine Tabellen im Programm.

Der S0C4 teilt Ihnen mit, dass Sie versucht haben, auf Speicher zuzugreifen, auf den Sie nicht zugreifen durften. Kein Wunder, dass im formatierten Speicherauszug Verweise darauf angezeigt werden. Eine MVCL ist sicherlich eine Möglichkeit für eine fehlerhafte Anweisung, sagt aber nichts an sich aus. In welcher Sprache ist das zweite Programm in Ihrem Job geschrieben? Haben Sie herausgefunden, welcher vermutlich hochsprachige Unterricht den Abbruch verursacht hat?

Das S0C4 für eine "leere" Datei ist möglicherweise dasselbe und möglicherweise nicht. Wenn Sie bei der Verarbeitung am Ende der Datei auf etwas aus dem Eingabedatensatzbereich zugreifen, erhalten Sie wahrscheinlich einen S0C4 für eine "leere" Datei. Der "andere" S0C4 hängt von der Verarbeitung ab, die Sie ausführen, wenn Daten in der Datei vorhanden sind. Sie müssen uns mehr darüber erzählen, einschließlich der Beantwortung der Frage von enrico. Montag, 23. April 2012 2: Bill, das zweite Programm liest die Ausgabedatei, die aus Seite 1 erstellt wurde.

Die 2. pgm wird von keinem Programm aufgerufen, noch ruft sie andere auf. Es verwendet die Ausgabe, die aus dem vorherigen pgm im Job erstellt wurde, und formatiert die Dateien entsprechend. Der Code ist in Cobol geschrieben. Und es scheitert immer beim ersten Schreiben von i. Ich überprüfe die niedrigen Werte im ersten Datensatz im Falle einer leeren Datei vor der Ausführung der WRITE-Anweisung. Wenn es sich um niedrige Werte handelt, verlasse diesen Absatz und schließe alle Dateien.

Montag, 23. April 2012 3: Wenn Sie eine Datei öffnen, lesen, das Dateiende abrufen und dann versuchen, die Datensatzbereichsprüfung auf niedrige Werte zu verwenden, erhalten Sie S0C4. Versuchen Sie niemals, einen Bereich für Eingabedatensätze zu verwenden, sobald das Dateiende erreicht ist. Ihre "leere" Datei wird identifiziert, indem Sie die Datensätze zählen, während Sie sie erfolgreich gelesen haben. Sobald das Dateiende erreicht ist und Sie keine Datensätze gezählt haben, haben Sie eine leere Datei.

Der "andere" S0C4 ist zwar das gleiche Problem, kann aber unterschiedlich sein. Ich sehe ohne Überschreiben von Code nicht, wie eine Schreibausgabe von ws einen S0C4 ergeben könnte - oder ist Ihre Ausgabedatei zu diesem Zeitpunkt nicht geöffnet?

Montag, 23. April 2012 6: Bill, ich kann den S0C4 für eine leere Datei auflösen. Es bleibt jedoch als solches für Dateien mit einer großen Anzahl von Datensätzen. Muss ich den Regionsparameter für diesen Schritt mit 0M einstellen, wenn möglicherweise ein Speicherproblem vorliegt? Die Datei wird vor dem Schreiben offen ausgegeben. Montag, 23. April 2012 7: Robert Sample Global Moderator Mitglied seit: Dubuque, Iowa, USA.

Montag, 23. April 2012 9: Möchten Sie bitte bestätigen, wie Sie dieses S0C4 gelöst haben? Es wird nichts damit zu tun haben. Wenn Sie es noch nicht haben, kompilieren Sie es mit dem generierten Pseudo-Assembler.

Stellen Sie sicher, dass die Anweisung, die Sie am Offset im Programm sehen, die ist, die Sie am Offset im formatierten Dump sehen, und überprüfen Sie, ob das Material im Dump in der Nähe wie Ihr Programmcode aussieht. Wir prüfen dies normalerweise nicht speziell. Sie bemerken lediglich, dass etwas "falsch" aussieht, wenn dies der Fall ist, und bestätigen dies mit der Kompilierungsliste. Überprüfen Sie im Speicherauszug entweder direkt oder von Ihrem W-S aus, ob die Ausgabedatei geöffnet ist. Sie haben mindestens einen Fehler in Ihrem Programm.

Auch wenn Sie glauben, dass Ihre Datei geöffnet ist, ist dies möglicherweise nicht der Fall. Um welche Art von Datei handelt es sich? Sie sagen, es ist eine MVCL. Der schnellste Weg, dies zu erreichen, besteht darin, die Datei nicht erfolgreich zu öffnen oder vor dem Schreiben erfolgreich zu schließen. Das sind die wahrscheinlichsten Szenarien.

Wenn nichts davon ist, müssen Sie uns einige Ausschnitte des relevanten Codes zeigen. Di 24.04.2012 1: Möchten Sie bestätigen, wie Sie dieses S0C4 gelöst haben, bitte.

Wie kommt es, dass die Datei vor der Write-Anweisung geschlossen wird? Di 24.04.2012 2: Wenn Sie Ihre Ausgabedatei geöffnet haben, diese jedoch geschlossen ist, wenn Sie zu einem bestimmten SCHREIBEN kommen und dies nicht erwartet haben, liegt ein logischer Fehler in Ihrem Programm vor.

Bei der geringeren Anzahl von Datensätzen ist wahrscheinlich der Inhalt der Datensätze und nicht die Anzahl der Datensätze das Problem. Dann hat es einfach nicht die Situation geschaffen, in der der Logikfehler dazu führt, dass die Datei von Ihrem Programm geschlossen wird. In der Matrix. Di 24.04.2012 8: Hallo, Zitat: Durchsuchen Sie unser Forum: Ähnliche Themen.

S0C7 wird abgebrochen, während ein Cobol-Programm ausgeführt wird. S0C4 Ursachencode 10. Ist eine Einzelschrittlösung möglich? Rohit Umarjikar. Zusätzliche Leiterplatte verweigert abend. CICS-Verfügbarkeitslösung.

(с) 2019 shopfreephoenix.com