×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
I have racking my brain yesterday on how to use the WRITE statement with
getting the Status 22 Write Error. What I am trying to do is to read a
record. Do a small calculation on it and then use the results of that
calculation to write a brand new record in the same file. When I run the
program it gives me the Status 22 error that I am trying to write a
duplicate record. If anyone can help, that would be great.
Thanks!
Diane
Here is part of my code:
This is what I have in the Input-Output Section:
SELECT STUDENT-HISTORY-FILE
ASSIGN TO DATABASE-STCHSL0
ORGANIZATION INDEXED
ACCESS IS DYNAMIC
RECORD KEY IS EXTERNALLY-DESCRIBED-KEY
FILE STATUS IS DBSTATUS.
Data Section:
OPEN I-O STUDENT-HISTORY-FILE.
IF DBSTATUS NOT = ZERO,
DISPLAY 'UNABLE TO ACCESS STCHSLT-FILE; '
'STATUS IS ' DBSTATUS
PERFORM 999-STOP-RUN.
Starting the file:
MOVE 0 TO R9NMID
MOVE 'COMP' TO R9CQAA.
MOVE 'XX' TO R9CMAA.
MOVE 2 TO R9KHAA.
MOVE 'MPRQ' TO R9B1AA.
MOVE '171' TO R9B2AA.
START STUDENT-HISTORY-FILE KEY NOT LESS THAN
EXTERNALLY-DESCRIBED-KEY
INVALID KEY
CONTINUE.
IF DBSTATUS NOT = ZERO,
DISPLAY 'UNABLE TO ACCESS STCHSLT-FILE; '
'STATUS IS ' DBSTATUS
PERFORM 999-STOP-RUN.
Procedure Division:
622-CREATE-031-RECORD.
MOVE R9NMID TO WS-ID.
PERFORM 630-CREATE-RECORD.
DISPLAY R9CQAA ' ' R9CMAA ' ' R9KHAA ' ' R9B1AA
' ' R9B2AA.
WRITE STUDENT-HISTORY-REC
INVALID KEY
DISPLAY 'DBSTATUS IS ' DBSTATUS.
CONTINUE.
EVALUATE DBSTATUS
WHEN "22"
DISPLAY "DUPLICATE PRI KEY: ", STUDENT-HISTORY-REC
ADD 1 TO WS-COUNT-3.
630-CREATE-RECORD.
MOVE SPACES TO STUDENT-HISTORY-REC.
MOVE WS-ID TO R9NMID.
MOVE 'COMP' TO R9CQAA.
MOVE spaces TO R9KUAA.
MOVE 'XX' TO R9CMAA.
MOVE spaces TO R9KVAA.
MOVE 3 TO R9KHAA.
MOVE 'MPRQ' TO R9B1AA.
MOVE RPT-COURSE-NUMBER TO R9B2AA.
MOVE SPACES TO R9BWAA.
MOVE 'E' TO R9B3AA.
MOVE SPACES TO R9K2AA.
MOVE SPACES TO R9KIAA.
MOVE SPACES TO R9KJAA.
MOVE SPACES TO R9KKAA.
MOVE SPACES TO R9CIAA.
MOVE SPACES TO R9CAAA.
MOVE SPACES TO R9CEAA.
MOVE ZERO TO R9J2AA.
MOVE SPACES TO R9I8AA.
MOVE SPACES TO R9I9AA.
MOVE SPACES to R9MLAA.
MOVE SPACES TO R9K5AA.
MOVE SPACES TO R9MWAG.
MOVE SPACES TO R9PTAA.
MOVE 'DIANE' TO R9LRAZ.
MOVE ZERO TO R9KLAA.
MOVE ZEROES TO R9ZZAD.
MOVE ZERO TO R9KWAA.
MOVE ZERO TO R9LXAA.
MOVE ZEROES TO R9KQAA.
MOVE ZEROES TO R9KRAA.
MOVE ZEROES TO R9KXAA.
MOVE ZEROES TO R9KYAA.
MOVE ZERO TO R9KSAA.
MOVE ZERO TO R9KTAA.
MOVE ZERO TO R9NTAA.
MOVE ZERO TO R9JIAB.
MOVE ZERO TO R9LIAG.
MOVE ZERO TO R9LKAG.
MOVE ZERO TO R9LLAG.
MOVE ZERO TO R9LJAG.
MOVE ZERO TO R9XPAK.
MOVE ZERO TO R9XMAK.
MOVE ZERO TO R9V5AP.
MOVE ZERO TO R9V6AP.
MOVE ZERO TO R9V7AP.
MOVE ZERO TO R9V8AP.
MOVE ZERO TO R9JYAU.
MOVE ZERO TO R9NNAZ.
MOVE ZERO TO R9NOAZ.
MOVE ZERO TO R9NPAZ.
MOVE ZERO TO R9NQAZ.
MOVE ZERO TO R9N0AZ.
MOVE ZERO TO R9N1AZ.
MOVE ZERO TO R9QQAK.
MOVE ZERO TO R9QMAK.
MOVE ZERO TO R9QNAK.
MOVE ZERO TO R9QOAK.
MOVE ZERO TO R9QPAK.
MOVE ZERO TO R9Q3AD.
MOVE ZERO TO R9Q7AD.
MOVE 'INM009 ' TO R9USR.
MOVE 'COMPASS3 ' TO R9JOB.
ACCEPT RUN-DATE FROM DATE.
MOVE RUN-DATE TO DATE-CCYYMMDD.
IF DATE-YY-1 > 90
MOVE 00 TO DATE-CC
ELSE
MOVE 01 TO DATE-CC.
MOVE DATE-CCYYMMDD TO R9JDT.
ACCEPT RUN-TIME FROM TIME.
COMPUTE TIME-HHMMSS = RUN-TIME / 100.
MOVE TIME-HHMMSS TO FORMATTED-TIME.
INSPECT FORMATTED-TIME
REPLACING ALL '/' BY ':'.
MOVE FORMATTED-TIME TO R9JTM.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact
[javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.