CONVERTS STUDENT NAME, SALUTATION, & NICKNAME TO UPPER CASE.
DCL command procedure :
$ DEFINE FOC$DIR1 SI$DATA
$ SET DEFAULT SI$FOCUS
$ FOCUS
EXEC (FOCEXEC name #1)
FIN
$  RENAME FILETOCK.FTM *.DAT
$  ASSIGN/NOLOG FILETOCK.DAT FILETOCK
$  RUN (COBOL program)
$ FOCUS
EXEC (FOCEXEC name #2)
FIN
$ EXIT
FOCUS program #1 :
DEFINE FILE AAFILE
OUT_FIELD/A44=('$$$'|STU_NAME_AA|SID_AA);
END
TABLE FILE AAFILE
PRINT OUT_FIELD BY SID_AA NOPRINT
ON TABLE SAVE AS FILETOCK
END
COBOL program :
IDENTIFICATION DIVISION.
PROGRAM-ID.    (COBOL program).
AUTHOR.        ME.
DATE-COMPILED.
***************************************************************************
*                                                                         *
*  THIS PROGRAM READS A FILE, CHECKS TO SEE IF ANY FIELD HAS LOWER CASE   *
*  LETTERS, AND THEN MARKS THOSE THAT DO.                                 *
*                                                                         *
***************************************************************************
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
*
*
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT FILE-TO-CHECK
        ASSIGN TO FILETOCK.
DATA DIVISION.
FILE SECTION.
FD  FILE-TO-CHECK.
*
01  RECORD-TO-CHECK.
    03  RECORD-TO-CHECK-CONTENTS.
        05  RECORD-TO-CHECK-KEY                  PIC X(03).
        05  RECORD-TO-CHECK-REST                 PIC X(32).
        05  FILLER                               PIC X(09).
*
WORKING-STORAGE SECTION.
*
01  WS-FIELD-TO-CHECK                            PIC X(32).
01  WS-FIELD-TO-CHECK-ARRAY REDEFINES WS-FIELD-TO-CHECK.
    03  WS-FIELD-TO-CHECK-CHAR OCCURS 32 TIMES INDEXED BY IX.
        05  WS-CHECK-CHAR                        PIC X(01).
01  FILE-STAT                                    PIC X(03).
01  ANY-LOWER                                    PIC X(01).
*
PROCEDURE DIVISION.
0000-MAINLINE.
    OPEN 
        I-O     FILE-TO-CHECK.
    MOVE SPACES TO FILE-STAT.
    READ FILE-TO-CHECK
        AT END MOVE 'END' TO FILE-STAT.
    PERFORM 0010-READ-RECORD UNTIL FILE-STAT IS EQUAL TO 'END'.
    CLOSE       FILE-TO-CHECK.
    STOP RUN.
0010-READ-RECORD.
    MOVE 'N' TO ANY-LOWER.
    MOVE RECORD-TO-CHECK-REST TO WS-FIELD-TO-CHECK.
    PERFORM 0015-PROCESS-CHAR VARYING IX FROM 1 BY 1 UNTIL
        IX GREATER THAN 32 OR ANY-LOWER IS EQUAL TO 'Y'.
    IF ANY-LOWER IS EQUAL TO 'Y' THEN
        MOVE '***' TO RECORD-TO-CHECK-KEY
        REWRITE RECORD-TO-CHECK.
    READ FILE-TO-CHECK
        AT END MOVE 'END' TO FILE-STAT.
0015-PROCESS-CHAR.
    IF WS-CHECK-CHAR (IX) EQUAL TO 'a' OR 'b' OR 'c' OR 'd' OR 
       'e' OR 'f' OR 'g' OR 'h' OR 'i' OR 'j' OR 'k' OR 
       'l' OR 'm' OR 'n' OR 'o' OR 'p' OR 'q' OR 'r' OR 
       's' OR 't' OR 'u' OR 'v' OR 'w' OR 'x' OR 'y' OR 
       'z' THEN
               MOVE 'Y' TO ANY-LOWER.
FOCUS program #2 :
-SET &HDRKEY = '$$$MSC104      UPPER STU NAME YRE';
-INCLUDE (SIS Batch Header).SEG
JOIN CLEAR *
FILEDEF FILETOCK DISK FILETOCK.DAT
TABLE FILE FILETOCK
ON TABLE HOLD AS AATEMP1
PRINT D2 BY D3
IF D1 EQ '***'
END
JOIN TEMP_KEY WITH D3 IN AATEMP1 TO KEY IN AAFILE AS J1
FILEDEF PLAY DISK PLAY.FTM APPEND
DEFINE FILE AATEMP1
TEMP_KEY/A11=('XX'|D3);
UPCASE_STU_NAME/A32=UPCASE(32, STU_NAME_AA, UPCASE_STU_NAME);
UPCASE_NICKNAME/A15=UPCASE(15, NICKNAME_AA, UPCASE_NICKNAME);
OUT_RECORD/A74=('02B'|D3|'        '|UPCASE_STU_NAME|'  '|SALU_AA|
UPCASE_NICKNAME);
END
TABLE FILE AATEMP1
PRINT OUT_RECORD AS '' BY D3 NOPRINT
ON TABLE SAVE AS PLAY
END
JOIN CLEAR *
Master File Description {MFD} :
FILE=FILETOCK,SUFFIX=FIX
SEGNAME=ROOT
  FIELD=D1, ,A3,A3,$
  FIELD=D2, ,A32,A32,$
  FIELD=D3, ,A9,A9,$

 

CONVERTS STREET 1, CITY, STATE, ZIP CODE INFO TO UPPER CASE.
DCL command procedure :
$ DEFINE FOC$DIR1 SI$DATA
$ SET DEFAULT SI$FOCUS
$ FOCUS
EXEC (FOCEXEC name #1)
FIN
$  RENAME FILETOCK.FTM *.DAT
$  ASSIGN/NOLOG FILETOCK.DAT FILETOCK
$  RUN (COBOL program)
$ FOCUS
EXEC (FOCEXEC name #2)
FIN
$ EXIT
FOCUS program #1 :
DEFINE FILE AAFILE
ALPHA_ADDR_NUM/A2=EDIT(ADDR_NUM_AA);
OUT_FIELD/A78=('$$$'|SID_AA|ALPHA_ADDR_NUM|ADDR_TYP1_AA|
ADDR_TYP2_AA|ADDR_TYP3_AA|ADDR_TYP4_AA|ADDR_TYP5_AA|
STREET1_AA|CITY_AA|ZIP_AA|STATE_AA|'$$$');
END
TABLE FILE AAFILE
PRINT OUT_FIELD BY SID_AA NOPRINT
ON TABLE SAVE AS FILETOCK
END
COBOL program :
IDENTIFICATION DIVISION.
PROGRAM-ID.    (COBOL program).
AUTHOR.        ME.
DATE-COMPILED.
***************************************************************************
*                                                                         *
*  THIS PROGRAM READS A FILE, CHECKS TO SEE IF ANY FIELD HAS LOWER CASE   *
*  LETTERS, AND THEN MARKS THOSE THAT DO.                                 *
*                                                                         *
***************************************************************************
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
*
*
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT FILE-TO-CHECK
        ASSIGN TO FILETOCK.
DATA DIVISION.
FILE SECTION.
FD  FILE-TO-CHECK.
*
01  RECORD-TO-CHECK.
    03  RECORD-TO-CHECK-CONTENTS.
        05  RECORD-TO-CHECK-KEY                  PIC X(03).
        05  RECORD-TO-CHECK-REST                 PIC X(72).
        05  FILLER                               PIC X(03).
*
WORKING-STORAGE SECTION.
*
01  WS-FIELD-TO-CHECK                            PIC X(72).
01  WS-FIELD-TO-CHECK-ARRAY REDEFINES WS-FIELD-TO-CHECK.
    03  WS-FIELD-TO-CHECK-CHAR OCCURS 72 TIMES INDEXED BY IX.
        05  WS-CHECK-CHAR                        PIC X(01).
01  FILE-STAT                                    PIC X(03).
01  ANY-LOWER                                    PIC X(01).
*
PROCEDURE DIVISION.
0000-MAINLINE.
    OPEN 
        I-O     FILE-TO-CHECK.
    MOVE SPACES TO FILE-STAT.
    READ FILE-TO-CHECK
        AT END MOVE 'END' TO FILE-STAT.
    PERFORM 0010-READ-RECORD UNTIL FILE-STAT IS EQUAL TO 'END'.
    CLOSE       FILE-TO-CHECK.
    STOP RUN.
0010-READ-RECORD.
    MOVE 'N' TO ANY-LOWER.
    MOVE RECORD-TO-CHECK-REST TO WS-FIELD-TO-CHECK.
    PERFORM 0015-PROCESS-CHAR VARYING IX FROM 1 BY 1 UNTIL
        IX GREATER THAN 72 OR ANY-LOWER IS EQUAL TO 'Y'.
    IF ANY-LOWER IS EQUAL TO 'Y' THEN
        MOVE '***' TO RECORD-TO-CHECK-KEY
        REWRITE RECORD-TO-CHECK.
    READ FILE-TO-CHECK
        AT END MOVE 'END' TO FILE-STAT.
0015-PROCESS-CHAR.
    IF WS-CHECK-CHAR (IX) EQUAL TO 'a' OR 'b' OR 'c' OR 'd' OR 
       'e' OR 'f' OR 'g' OR 'h' OR 'i' OR 'j' OR 'k' OR 
       'l' OR 'm' OR 'n' OR 'o' OR 'p' OR 'q' OR 'r' OR 
       's' OR 't' OR 'u' OR 'v' OR 'w' OR 'x' OR 'y' OR 
       'z' THEN
               MOVE 'Y' TO ANY-LOWER.
FOCUS program #2 :
-SET &HDRKEY = '$$$MSC105      UPPER ADDR 1   YRE';
-INCLUDE (SIS Batch Header).SEG
JOIN CLEAR *
FILEDEF FILETOCK DISK FILETOCK.DAT
TABLE FILE FILETOCK
ON TABLE HOLD AS AATEMP1
PRINT D3 BY D2
IF D1 EQ '***'
END
JOIN TEMP_KEY WITH D2 IN AATEMP1 TO KEY IN AAFILE AS J1
FILEDEF PLAY DISK PLAY.FTM APPEND
DEFINE FILE AATEMP1
TEMP_KEY/A11=('XX'|D2);
UPCASE_STREET1/A32=UPCASE(32, STREET1_AA, UPCASE_STREET1);
UPCASE_CITY/A13=UPCASE(13, CITY_AA, UPCASE_CITY);
UPCASE_STATE/A2=UPCASE(2, STATE_AA, UPCASE_STATE);
UPCASE_ZIP/A9=UPCASE(9, ZIP_AA, UPCASE_ZIP);
ALPHA_ADDR_NUM/A2=EDIT(ADDR_NUM_AA);
OUT_RECORD/A81=('06B'|D2|'     '|ALPHA_ADDR_NUM|ADDR_TYP1_AA|
ADDR_TYP2_AA|ADDR_TYP3_AA|ADDR_TYP4_AA|ADDR_TYP5_AA|
UPCASE_STREET1|UPCASE_CITY|UPCASE_STATE|UPCASE_ZIP);
END
TABLE FILE AATEMP1
PRINT OUT_RECORD AS '' BY D2 NOPRINT
ON TABLE SAVE AS PLAY
END
JOIN CLEAR *
Master File Description {MFD} :
FILE=FILETOCK,SUFFIX=FIX
SEGNAME=ROOT
  FIELD=D1, ,A3,A3,$
  FIELD=D2, ,A9,A9,$
  FIELD=D3, ,A63,A63,$

 

CONVERTS STREET 2 & COUNTRY INFO TO UPPER CASE.
DCL command procedure :
$ DEFINE FOC$DIR1 SI$DATA
$ SET DEFAULT SI$FOCUS
$ FOCUS
EXEC (FOCEXEC name #1)
FIN
$  RENAME FILETOCK.FTM *.DAT
$  ASSIGN/NOLOG FILETOCK.DAT FILETOCK
$  RUN (COBOL program)
$ FOCUS
EXEC (FOCEXEC name #1)
FIN
$ EXIT
FOCUS program #1 :
DEFINE FILE AAFILE
ALPHA_ADDR_NUM/A2=EDIT(ADDR_NUM_AA);
OUT_FIELD/A78=('$$$'|SID_AA|ALPHA_ADDR_NUM|ADDR_TYP1_AA|
ADDR_TYP2_AA|ADDR_TYP3_AA|ADDR_TYP4_AA|ADDR_TYP5_AA|
STREET2_AA|CNTRY_AA|'$$$');
END
TABLE FILE AAFILE
PRINT OUT_FIELD BY SID_AA NOPRINT
ON TABLE SAVE AS FILETOCK
IF STREET2_AA NE ' '
END
COBOL program :
IDENTIFICATION DIVISION.
PROGRAM-ID.    (COBOL program).
AUTHOR.        ME.
DATE-COMPILED.
***************************************************************************
*                                                                         *
*  THIS PROGRAM READS A FILE, CHECKS TO SEE IF ANY FIELD HAS LOWER CASE   *
*  LETTERS, AND THEN MARKS THOSE THAT DO.                                 *
*                                                                         *
***************************************************************************
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
*
*
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT FILE-TO-CHECK
        ASSIGN TO FILETOCK.
DATA DIVISION.
FILE SECTION.
FD  FILE-TO-CHECK.
*
01  RECORD-TO-CHECK.
    03  RECORD-TO-CHECK-CONTENTS.
        05  RECORD-TO-CHECK-KEY                  PIC X(03).
        05  RECORD-TO-CHECK-REST                 PIC X(50).
        05  FILLER                               PIC X(03).
*
WORKING-STORAGE SECTION.
*
01  WS-FIELD-TO-CHECK                            PIC X(34).
01  WS-FIELD-TO-CHECK-ARRAY REDEFINES WS-FIELD-TO-CHECK.
    03  WS-FIELD-TO-CHECK-CHAR OCCURS 34 TIMES INDEXED BY IX.
        05  WS-CHECK-CHAR                        PIC X(01).
01  FILE-STAT                                    PIC X(03).
01  ANY-LOWER                                    PIC X(01).
*
PROCEDURE DIVISION.
0000-MAINLINE.
    OPEN 
        I-O     FILE-TO-CHECK.
    MOVE SPACES TO FILE-STAT.
    READ FILE-TO-CHECK
        AT END MOVE 'END' TO FILE-STAT.
    PERFORM 0010-READ-RECORD UNTIL FILE-STAT IS EQUAL TO 'END'.
    CLOSE       FILE-TO-CHECK.
    STOP RUN.
0010-READ-RECORD.
    MOVE 'N' TO ANY-LOWER.
    MOVE RECORD-TO-CHECK-REST TO WS-FIELD-TO-CHECK.
    PERFORM 0015-PROCESS-CHAR VARYING IX FROM 1 BY 1 UNTIL
        IX GREATER THAN 34 OR ANY-LOWER IS EQUAL TO 'Y'.
    IF ANY-LOWER IS EQUAL TO 'Y' THEN
        MOVE '***' TO RECORD-TO-CHECK-KEY
        REWRITE RECORD-TO-CHECK.
    READ FILE-TO-CHECK
        AT END MOVE 'END' TO FILE-STAT.
0015-PROCESS-CHAR.
    IF WS-CHECK-CHAR (IX) EQUAL TO 'a' OR 'b' OR 'c' OR 'd' OR 
       'e' OR 'f' OR 'g' OR 'h' OR 'i' OR 'j' OR 'k' OR 
       'l' OR 'm' OR 'n' OR 'o' OR 'p' OR 'q' OR 'r' OR 
       's' OR 't' OR 'u' OR 'v' OR 'w' OR 'x' OR 'y' OR 
       'z' THEN
               MOVE 'Y' TO ANY-LOWER.
FOCUS program #2 :
-SET &HDRKEY = '$$$MSC105      UPPER ADDR 1   YRE';
-INCLUDE (SIS Batch Header).SEG
JOIN CLEAR *
FILEDEF FILETOCK DISK FILETOCK.DAT
TABLE FILE FILETOCK
ON TABLE HOLD AS AATEMP1
PRINT D3 BY D2
IF D1 EQ '***'
END
JOIN TEMP_KEY WITH D2 IN AATEMP1 TO KEY IN AAFILE AS J1
FILEDEF PLAY DISK PLAY.FTM APPEND
DEFINE FILE AATEMP1
TEMP_KEY/A11=('XX'|D2);
UPCASE_STREET2/A32=UPCASE(32, STREET2_AA, UPCASE_STREET2);
UPCASE_COUNTRY/A2=UPCASE(2, CNTRY_AA, UPCASE_COUNTRY);
ALPHA_ADDR_NUM/A2=EDIT(ADDR_NUM_AA);
OUT_RECORD/A69=('06C'|D2|'     '|ALPHA_ADDR_NUM|ADDR_TYP1_AA|
ADDR_TYP2_AA|ADDR_TYP3_AA|ADDR_TYP4_AA|ADDR_TYP5_AA|
'          '|UPCASE_STREET2|UPCASE_COUNTRY);
END
TABLE FILE AATEMP1
PRINT OUT_RECORD AS '' BY D2 NOPRINT
ON TABLE SAVE AS PLAY
END
JOIN CLEAR *
Master File Description {MFD} :
FILE=FILETOCK,SUFFIX=FIX
SEGNAME=ROOT
  FIELD=D1, ,A3,A3,$
  FIELD=D2, ,A9,A9,$
  FIELD=D3, ,A44,A44,$

 

This page hosted by Get your own Free Homepage

Hosted by www.Geocities.ws

1