IDENTIFICATION DIVISION.
PROGRAM-ID. PRTAN081.
*--------------------------------------------------------------*
*               PROGETTO RETTIFICHE                            *
*               -------------------                            *
* AUTORE       : FRANCO D'AMICO  C.O.DI MARSALA                *
*                                                              *
* FUNZIONE     : SCELTA MATRICOLA E PERIODO                    *
* PGM CHIAMANTI : PRTAN01                                      *
* PGM CHIAMATI  : PRTUT02-PRTUT03-PRTAN09                      *
* MAPPE         : MRTAN081                                     *
* AREA DI INPUT : CRTMN01 -                                    *
*--------------------------------------------------------------*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.

INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT VIDEO   ASSIGN  TO WORKSTATION-MRTAN08
ORGANIZATION     IS TRANSACTION
ACCESS           IS SEQUENTIAL
FILE STATUS      IS F-STATUS.

DATA DIVISION.

FILE SECTION.
FD   VIDEO
LABEL RECORD IS omitted.
01   REC-VIDEO.
COPY DDS-ALL-FORMAT OF MRTAN08.
*****************************************************************
WORKING-STORAGE SECTION.
*****************************************************************
77 F-STATUS       PIC XX.
01  IND-ON          PIC 1 VALUE B"1".
01  IND-OFF         PIC 1 VALUE B"0".
01 AREA-VIDEO.
03 WMATR          PIC 9(10).
03 WMESE          PIC 99.
03 WANNO          PIC 9(4).
03 WMSG           PIC X(76).
01 AREA-INDIC.
COPY DDS-ALL-FORMATS-INDIC OF MRTAN08.
01  WMPERI.
03 WMANNO  PIC 9(4).
03 WMMESE  PIC 99.
LINKAGE SECTION.
COPY CRTMN01 OF DCBCPY.
*****************************************************************
PROCEDURE DIVISION USING AREA-MN01.
MAIN.
MOVE 0 TO CM1-MATRICOLA CM1-D10PER CM1-PROPER WMPERI.
MOVE SPACES TO CM1-MSG.
MOVE LOW-VALUE TO AREA-VIDEO.
OPEN I-O VIDEO.
IF F-STATUS NOT EQUAL "00"
MOVE F-STATUS TO CM1-FSTATUS
MOVE "MRTAN08" TO CM1-ERRFILE
MOVE "PRTAN08" TO CM1-ERRPGM
MOVE 1         TO CM1-RETCOD
CALL "PRTUT02" USING AREA-MN01
END-IF.
WRITE REC-VIDEO FORMAT "NERO".
MOVE IND-OFF TO IN12 OF MV011-I-INDIC.
PERFORM SEQUENZA THRU EX-SEQUENZA
UNTIL IN12 OF MV011-I-INDIC = IND-ON.
FINE.
CLOSE VIDEO.
GOBACK.

SEQUENZA.
MOVE WMSG TO CM1-MSG.
CALL "PRTUT03" USING AREA-MN01.
MOVE CM1-MSG TO WMSG.
MOVE AREA-VIDEO TO REC-VIDEO.
WRITE REC-VIDEO FORMAT "MV011".
READ VIDEO FORMAT "MV011"
INDICATORS ARE AREA-INDIC.
IF IN12  OF MV011-I-INDIC = IND-ON
MOVE SPACES TO CM1-MSG
GO TO EX-SEQUENZA
END-IF.
IF MV01MATR OF MV011-I IS NOT NUMERIC
OR MV01MATR OF MV011-I  IS = 0
MOVE "DIGITA LA MATRICOLA " TO MV01MSG WMSG
GO TO EX-SEQUENZA
END-IF.
IF MV01MATR OF MV011-I IS > 0
MOVE MV01MATR OF MV011-I TO CM1-MATRICOLA WMATR
END-IF.
IF MV01ANNO OF MV011-I IS NUMERIC AND MV01ANNO OF MV011-I
IS > 0
AND (MV01MESE OF MV011-I IS NOT NUMERIC OR MV01MESE
OF MV011-I IS < 1 OR MV01MESE OF MV011-I IS > 12)
MOVE "MESE DEL PERIODO NON VALIDO!" TO MV01MSG WMSG
CALL "PRTUT03" USING AREA-MN01
GO TO EX-SEQUENZA
END-IF.
IF MV01MESE OF MV011-I IS NUMERIC
AND MV01ANNO OF MV011-I IS NUMERIC
IF MV01MESE OF MV011-I IS > 0
AND MV01ANNO OF MV011-I IS > 0
MOVE MV01MESE OF MV011-I TO WMMESE WMESE
MOVE MV01ANNO OF MV011-I TO WMANNO WANNO
ELSE
MOVE 0 TO WMMESE WMANNO WANNO
END-IF
ELSE
MOVE 0 TO WMMESE WMANNO WANNO
END-IF.
MOVE WMPERI TO CM1-D10PER.
MOVE 0 TO CM1-PROPER.
MOVE SPACES TO CM1-MSG MV01MSG.
MOVE 0 TO CM1-OK.
INSPECT CM1-GUIDA TALLYING CM1-OK FOR ALL CM1-END.
IF CM1-OK > 0
CALL "PRTAN09" USING AREA-MN01
ELSE
MOVE "MATRICOLA INCOMPATIBILE CON GRUPPO" TO MV01MSG WMSG
GO TO EX-SEQUENZA
END-IF.
MOVE CM1-MSG TO WMSG.
EX-SEQUENZA. EXIT.