COBOL "Файл не найден" при открытии файла - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь ознакомиться с COBOL. Я пытаюсь запустить следующую программу:

   identification division.
   program-id. Bestand.
   date-written. 08.05.2020

   environment division.
   input-output section.
   file-control.
       select bestand-datei-ein assign to
       "C:\Users\Michael\Desktop\Microfocus\Programme\aus.txt".
       select bestand-datei-aus assign to
       "C:\Users\Michael\Desktop\Microfocus\Programme\aus.txt".

   data division.
   file section.
   fd  bestand-datei-ein label records are omitted.

   01 bestand-satz-ein.
     05 e-teile-nr               PIC X(6).
     05 e-bestand-menge          PIC 9(5).
     05 e-eingang-menge          PIC 9(4).
     05 e-stueck-preis           PIC 999V99.

   fd bestand-datei-aus label records are omitted.

   01 bestand-satz-aus.
     05 a-teile-nr                 PIC X(6).
     05 filler                     PIC X(4).
     05 a-bestand-menge            PIC 9(5).
     05 filler                     PIC X(3).
     05 a-eingang-menge            PIC 9(4).
     05 filler                     PIC X(3).
     05 a-stueck-preis             PIC 999.99.
     05 filler                     PIC X(3).
     05 a-bestand-menge-neu        PIC 9(5).
     05 filler                     PIC X(3).
     05 a-kosten                   PIC 9(6).99.

   01 a PIC X.

   working-storage section.

   01 bestand-datei-ein-ende       PIC X.

   procedure division.

   a000-haupt-steuerung-routine.
       open input      bestand-datei-ein
            output     bestand-datei-aus.

       move 'N' to bestand-datei-ein-ende.

       read bestand-datei-ein
           at end move 'J' to bestand-datei-ein-ende.

       perform b010-listen-bestandsdaten
         until bestand-datei-ein-ende = 'J'.

       close bestand-datei-aus
             bestand-datei-ein.

       accept a.

       stop run.


   b010-listen-bestandsdaten.
       move spaces to bestand-satz-aus.
       move e-teile-nr to a-teile-nr.
       move e-bestand-menge to a-bestand-menge.
       move e-eingang-menge to a-eingang-menge.
       move e-stueck-preis to a-stueck-preis.
       add e-bestand-menge, e-eingang-menge
         giving a-bestand-menge-neu.

       multiply a-bestand-menge-neu by e-stueck-preis
         giving a-kosten.

       read bestand-datei-ein
           at end
               move 'J' to bestand-datei-ein-ende.

Я всегда получаю сообщение об ошибке «Файл не найден: C: \ Users \ Michael \ Desktop \ Microfocus \ Program \ aus.txt» при запуске программа должна быть открыта.

Я работаю с Micro Focus Visual Cobol для Visual Studio

Есть идеи?

1 Ответ

1 голос
/ 09 мая 2020

Из комментария:

Проблема решена. Имена файлов некорректно отображались в коде (ошибки вырезания и вставки). Он должен читать "ein.txt" и aus.txt. Проблема заключалась в том, что имена файлов в файловой системе были установлены так, что расширение не отображалось. Я назвал входной файл «ein.txt» и в основном создал файл с именем «ein.txt.txt». Следовательно, файл не найден.

...