2009-03-29 11 views
2

Ich bin neu in Fujitsu COBOL 3.0 Software. Ich habe versucht, ein einfaches Programm auszuführen. Der Code und die Fehler sind wie folgt. Alles im Programm scheint korrekt zu sein. Kann mir jemand helfen? Irgendwelche Vornormen sind in dieser Software zu beachten?Fujitsu COBOL 3.0

Die Probe COBOL-Programm ist:

IDENTIFICATION DIVISION. 
PROGRAM-ID. ShortestProgram. 

PROCEDURE DIVISION. 
DisplayPrompt. 
    DISPLAY "I did it". 
    STOP RUN. 
-------------------------------------------------------------------------------------- 
** DIAGNOSTIC MESSAGE ** (NOPRGMID) 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 0: JMN1102I-S IDENTIFICATION DIVISION HEADER IS MISSING. HEADER ASSUMED TO BE CODED. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1019I-W INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1005I-W CHARACTER STRING 'DENTIFICATION' MUST START IN AREA B. ASSUMED TO START IN AREA B. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1356I-W INVALID WORD 'DENTIFICATION' IS SPECIFIED IN IDENTIFICATION DIVISION. IGNORED UNTIL NEXT PARAGRAPH OR DIVISION. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 2: JMN1019I-W INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 2: JMN1005I-W CHARACTER STRING 'ROGRAM-ID' MUST START IN AREA B. ASSUMED TO START IN AREA B. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 4: JMN1019I-W INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 4: JMN1005I-W CHARACTER STRING 'ROCEDURE' MUST START IN AREA B. ASSUMED TO START IN AREA B. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 6: JMN1004I-W RESERVED WORD 'DISPLAY' MUST START IN AREA B. ASSUMED TO START IN AREA B. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 7: JMN1104I-S PROGRAM-ID PARAGRAPH IS MISSING. PROGRAM-NAME GENERATED BY SYSTEM. 
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 7: JMN1004I-W RESERVED WORD 'STOP' MUST START IN AREA B. ASSUMED TO START IN AREA B. 
STATISTICS: HIGHEST SEVERITY CODE=S, PROGRAM UNIT=1 

Antwort

0

eine WAG (Wild ass guess) Unter hier. Habe seit meinem letzten College-Jahr nicht mehr gehorcht.

Ihre Fehlermeldung sagt, an der Unterseite,

STATISTICS: HIGHEST SEVERITY CODE=S, PROGRAM UNIT=1 

Okay, also ich meine, Sie einige Warnungen haben (möglicherweise CODE = W) und einen oder mehrere Fehler, die tatsächlich verursacht Ihr Programm zum Scheitern verurteilt sind.

also Scannen die Fehlermeldung, sehe ich eine Menge Ws, und eine Zeile mit einem S:

C: \ FSC \ PCOBOL32 \ samples \ SAMPLE6 \ SAMPLE7.COB 7: JMN1104I-S PROGRAM-ID-PARAGRAPH IST FEHLT. PROGRAMM-NAME GENERIERT VON SYSTEM.

So scheint es, dass Sie Ihren Programm-ID-Absatz fehlt. Wenn ich Ihr Programm betrachte, sehe ich eine Identifikationsabteilung mit einer Programm-ID.

ich vier Dinge daraus schließen kann:
1) Ihre identification division Absatz ist falsch formatiert
2) Wie Neil sagte, Sie Ihre Schnipsel nicht ausgeführt wird, sondern eine Probe, die keine ID Absatz hat. Öffnen sample7.cob und sehen
3) Einige andere Problem verursacht den Fehler, aber es versteckt wird oder als ID-Nummer Fehler falsch interpretiert

2

Die Warnungen (in Bezug auf Fläche B) scheinen Code vorschlagen sollte durch Starten in der zweiten Spalte jeder Zeile. Deshalb finden wir z.B. "DENTIFICATION" anstelle von "IDENTIFICATION".

Ich habe nie in COBOL entwickelt, aber ich erinnere mich vage, dass die erste Spalte leer sein muss, oder * für einen Kommentar: die Warnmeldungen scheinen anzuzeigen, dass/- und D auch gültige Werte sind.

UPDATE: Google schlägt vor, dass der COBOL-Compiler die ersten 6 Spalten ignoriert und dass Spalte 7 eine besondere Bedeutung hat (D für das Debugging, * für den Kommentar, ...). Obwohl das Verhalten Compiler-spezifisch ist. Also ich vermute, Ihr Problem ist, dass Ihr Code in Spalte 7 beginnt, wo es sollte col 8.

2

Shift alles über 7 Spalten, so dass IDENTIFICATION DIVISION beginnt in Spalte 8 und alle folgenden Zeilen begann in Spalte 8 oder höher.

Es gibt auch einen Compiler-Schalter (kann mich nicht von ganz oben erinnern), mit dem Sie in Spalte 1

starten können
Verwandte Themen