У меня есть программа COBOL, для которой требуется номер транзакции для каждого запуска программы. Я планирую получить последний номер транзакции из файла и добавить 1 к нему. Проблема в том, что я не знаю, как получить последнее записанное значение.Чтение последней записи файла
IDENTIFICATION DIVISION.
PROGRAM-ID. INVENTORY-SYS.
AUTHOR. LINSEY.
DATE-WRITTEN. 2/22/2015.
DATE-COMPILED. 2/22/2015.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT MASTER-FILE ASSIGN TO "inventory-file.txt"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD MASTER-FILE.
01 IN-RECORDS.
02 IN-CODE PIC 9(7).
02 IN-NAME PIC X(30).
02 IN-PRICE PIC 9(3).
02 IN-STOCK PIC 9(4).
WORKING-STORAGE SECTION.
01 WS-EOF PIC A(1).
PROCEDURE DIVISION.
100-READ-FILE.
OPEN I-O MASTER-FILE.
PERFORM UNTIL WS-EOF = "Y"
READ MASTER-FILE
AT END
MOVE 'Y' TO WS-EOF
NOT AT END
DISPLAY IN-RECORDS
END-READ
END-PERFORM
CLOSE MASTER-FILE.
STOP RUN.
Это пример программы. Проблема заключается в том, что извлекает все записи из файла я только последняя запись из «инвентарного-file.txt»
Я уже сделал это. сэр мой вопрос, как я могу получить последнюю запись из файла. используя ОРГАНИЗАЦИЮ ПОСЛЕДОВАТЕЛЬНО. –
Когда вы закончите с номерами транзакций за день, вы обновите файл управления. Вы не читаете файл специально для этого, вы делаете это одновременно с обработкой функций. Как, в противном случае, вы обеспечили бы, чтобы вы читали правильный файл, в правильной среде, в нужное время и т. Д.? –
нет сэр, эта сделка не является повседневной. каждый раз, когда программа запускает номер транзакции, необходимо обновить. example sir 00001 - это первое число транзакций после запуска программы, которое будет сохранено в другом файле. когда пользователь снова запускает программу, номер транзакции должен быть 00002. Я могу сделать это только в том случае, если я могу получить последнюю транзакцию и добавить 1 к ней, когда я запускаю программу во второй раз –