      * Debug Program for Edit Input Unsigned Integer Number Subroutine
      * ----------------------------------------------------------------

      *-----------------------------------------------------------------
       IDENTIFICATION DIVISION.
      *-----------------------------------------------------------------

       PROGRAM-ID.     ZEDITINT.
       AUTHOR.         Vladimir Veytsel.
       DATE-WRITTEN.   09/23/1990.
       DATE-COMPILED.  10/15/1997.

      *-----------------------------------------------------------------
       DATA DIVISION.
      *-----------------------------------------------------------------

       WORKING-STORAGE SECTION.

       01  Test-Field.
           02  FILLER           PIC X(1) VALUE QUOTE.
           02  Test-Number      PIC X(5).
           02  FILLER           PIC X(1) VALUE QUOTE.

       77  Test-Number-Length   PIC 99 COMP.

       01  Validity-Flag        PIC X.
           88    Valid-Number   VALUE 'Y'.
           88  InValid-Number   VALUE 'N'.

       01  Test-Table.
           02  FILLER  PIC X(5) VALUE '1    '.
           02  FILLER  PIC X(5) VALUE '12   '.
           02  FILLER  PIC X(5) VALUE '123  '.
           02  FILLER  PIC X(5) VALUE '1234 '.
           02  FILLER  PIC X(5) VALUE '12345'.
           02  FILLER  PIC X(5) VALUE ' 2345'.
           02  FILLER  PIC X(5) VALUE '  345'.
           02  FILLER  PIC X(5) VALUE '   45'.
           02  FILLER  PIC X(5) VALUE '    5'.
           02  FILLER  PIC X(5) VALUE '  3  '.
           02  FILLER  PIC X(5) VALUE ' 2 4 '.
           02  FILLER  PIC X(5) VALUE '1 3 5'.
           02  FILLER  PIC X(5) VALUE ' 234 '.
           02  FILLER  PIC X(5) VALUE '+2345'.
           02  FILLER  PIC X(5) VALUE '-2345'.
           02  FILLER  PIC X(5) VALUE '*2345'.
           02  FILLER  PIC X(5) VALUE '/2345'.
           02  FILLER  PIC X(5) VALUE ' 2 4 '.
           02  FILLER  PIC X(5) VALUE ' 2,4 '.
           02  FILLER  PIC X(5) VALUE ' 2.4 '.
           02  FILLER  PIC X(5) VALUE '     '.
           02  FILLER  PIC X(5) VALUE '     '.
           02  FILLER  PIC X(5) VALUE '0    '.
           02  FILLER  PIC X(5) VALUE '00   '.
           02  FILLER  PIC X(5) VALUE '000  '.
           02  FILLER  PIC X(5) VALUE '0000 '.
           02  FILLER  PIC X(5) VALUE '00000'.
           02  FILLER  PIC X(5) VALUE ' 0000'.
           02  FILLER  PIC X(5) VALUE '  000'.
           02  FILLER  PIC X(5) VALUE '   00'.
           02  FILLER  PIC X(5) VALUE '    0'.
           02  FILLER  PIC X(5) VALUE '  0  '.
           02  FILLER  PIC X(5) VALUE ' 0 0 '.
           02  FILLER  PIC X(5) VALUE '0 0 0'.
           02  FILLER  PIC X(5) VALUE ' 000 '.
           02  FILLER  PIC X(5) VALUE '+0000'.
           02  FILLER  PIC X(5) VALUE '-0000'.
           02  FILLER  PIC X(5) VALUE '*0000'.
           02  FILLER  PIC X(5) VALUE '/0000'.
           02  FILLER  PIC X(5) VALUE ' 0 0 '.
           02  FILLER  PIC X(5) VALUE ' 0,0 '.
           02  FILLER  PIC X(5) VALUE ' 0.0 '.
       01  FILLER REDEFINES  Test-Table.
           02  Test-Value    PIC X(5) OCCURS 42 TIMES.

       77  Counter           PIC 99 COMP.
       77  Counter-Out       PIC Z9.
       77  Div-Count         PIC 99 COMP.
       77  Rem-Count         PIC 9  COMP.

       77  Comment           PIC X(15).

       01  Compile-Date-Time.
           02  Compile-Date  PIC X(8).
           02  Compile-Time  PIC X(5).

      *-----------------------------------------------------------------
       PROCEDURE DIVISION.
      *-----------------------------------------------------------------

           MOVE WHEN-COMPILED TO Compile-Date-Time.
           MOVE ':' TO Compile-Time(3:1).

           DISPLAY 'EDITINT  Edit Input Unsigned Integer Number     '
                   Compile-Date ' ' Compile-Time.
           DISPLAY '------------------------------------------------'
                   '--------------'.

           MOVE LENGTH OF Test-Number TO Test-Number-Length.

           PERFORM Test-Next-Number
                   VARYING Counter FROM 1 BY 1
                   UNTIL   Counter > 42.

           STOP RUN.

      * Test Next Number from the Test Table ---------------------------

       Test-Next-Number.

           MOVE Test-Value(Counter) TO Test-Number.

           DIVIDE Counter BY 2 GIVING    Div-Count
                               REMAINDER Rem-Count.
           IF (Rem-Count = 0)
              INSPECT Test-Number
                      REPLACING ALL SPACES BY '_'.

           MOVE Counter TO Counter-Out.
           DISPLAY ' '.
           DISPLAY Counter-Out '. Number before: ' Test-Field.

           INSPECT Test-Number
                   REPLACING ALL '_' BY LOW-VALUES.

           CALL 'EDITINT' USING Test-Number
                                Test-Number-Length
                                Validity-Flag.
           INSPECT Test-Number
                   REPLACING ALL LOW-VALUES BY '_'.

           IF (Valid-Number)
              MOVE '- Number edited' TO Comment
           ELSE
              MOVE SPACES            TO Comment.

           DISPLAY '    Number after : ' Test-Field
                   '   Validity flag: '  Validity-Flag
                   '  ' Comment.
